10.11.2009, 23:08 | #1 |
Новичок Online: Регистрация: 10.11.2009 Адрес: РФ, Белгородская обл.
Сообщений: 46
Репутация: 104 (Вес: 17) Поблагодарили 6 раз(а) | Jtag - основы и немного теории
1. Что такое JTAG Когда речь идет о JTAG, прежде всего, подразумевается стандарт: IEEE 1149.1-2001 Test Access Port and Boundary-Scan Architecture (Стандарт IEEE 1149.1-2001 Порт тестового доступа и Архитектура Граничного сканирования ). С ростом степени интеграции БИС, плотности монтажа и появлением многослойных печатных плат, методы диагностики, основанные на подключении к контрольным точкам платы и выводам микросхем, становятся все более сложными в использовании и неэффективными. Основные недостатки альтернативных способов диагностики были связаны, прежде всего, с отсутствием соответствующих общепринятых стандартов—и, как следствие, широкой поддержки проектировщиков и производителей. В начале 1985 года объединенными усилиями нескольких европейских компаний была создана группа для разработки решения проблем тестирования интегральных схем, цифровых устройств и систем. Эта группа получила имя: Joint European Test Action Group (JETAG). Позднее, в 1988 году к ней присоединились представители североамериканских компаний, и название было изменено на Joint Test Action Group (JTAG). Результатом работы этой группы явился принятый в 1990 году стандарт IEEE Std.1149.1 и его усовершенствованная версия: стандарт IEEE Std.1149.1a (1993 год). В основу стандарта положена идея внедрение в компоненты цифрового устройства средств, обеспечивающих унифицированный подход к решению следующих задач: * Тестирование связей между интегральными схемами, после того, как они были смонтированы на печатной плате или другой основе; * Наблюдение за работой компонент без вмешательства в их нормальную работу, или непосредственное управление одним или более компонентом; * Обеспечение стандартизованного доступа к произвольным средствам самотестирования, встраиваемым в БИС; При этом в общем виде сам процесс тестирования выглядит следующим образом: Тестируемая плата с расположенными на ней БИС подключается, через последовательный канал передачи данных (JTAG интерфейс), к некоторому ведущему устройству. Ведущее устройство, используя возможности предоставляемые JTAG, решает задачи связанные с диагностикой тестируемого устройства, локализации неисправностей, загрузкой конфигураций PLD и т.п. Как правило, ведущим устройством является персональный компьютер, оснащенный соответствующим программным обеспечением. Подключение к ведомому устройству осуществляется через параллельный или последовательный порт, или через плату расширения. Впрочем, если задачи решаемые через JTAG достаточно просты, как загрузка начальной конфигурации в PLD, или тестирование общей работоспособности устройства после включения питания, то роль ведущего устройства может играть простейший микропрограммный автомат постоенный на базе ПЗУ и счетчика. Таким образом, стандарт JTAG определяет: * Интерфейс, через который осуществляется обмен тестовыми инструкциями и данными между ведущим устройством и встроенными средствами тестирования (TAP — Test Access Port) ; * Минимальный набор средств тестирования, встраиваемых в БИС (средства поддержки метода Граничного Сканирования); 2. Порт тестового доступа: TAP (Test Access Port). Когда мы говорим о передаче информации через JTAG, то мы подразумеваем обмен между ведущим устройством и встроенными в БИС средствами тестирования. Для этой цели был разработан TAP (Test Access Port)—Порт Тестового Доступа. Аппаратная поддержка поддержки JTAG реализуется достаточно простыми схемами. TAP требует 4-х внешних контактов: * TDI (Test Data Input)—контакт для получения последовательных данных. На этот контакт последовательно, бит-за-битом податься данные, которые затем интерпретируются схемой управления; * TDO (Test Data Output)—контакт вывода последовательных данных. С этого контакта ведущее устройство последовательно считывает данные из БИС (например результат тестовых операций); * TCK (Test Clock Input)—контакт сигнала синхронизации обмена; * TMS (Test Mode Select)—этот контакт управляет состоянием внутреннего автомата TAP. В частности с помощью этого контакта определяется что грузиться: команда или данные, а также определяться начало и конец загрузки; Следующий контакт не является обязательным для реализации: * TRST (Test ReSeT)—сброс в начальное состояние контроллера внутреннего автомата TAP Ниже схематически показана ИС со встроенной схемой поддержки JTAG. Рис. 2. ИС со встроенной схемой поддержки JTAG В процессе обмена информацией через TAP, ведущее устройство воспринимает такую БИС как сдвиговый регистр. При этом * TDI—вход сдвигового регистра; * TDO—выход сдвигового регистра; * TCK—сигнал сдвига; В зависимости от состояния автомата TAP в канал может быть включен либо регистр данных либо регистр команды. Регистр команды в JTAG контроллере всегда один. Регистров данных в JTAG контроллере может быть сколько угодно. Какой именно регистр данных будет выбран для подключения, как правило, определяется загруженной командой. Стандарт JTAG требует наличия в контроллере одноразрядного регистра данных, называемого BYPASS. Его назначение будет пояснено ниже. Рассмотрим более подробно схему управления JTAG интерфейсом, встраиваемую в БИС: Рис. 3. Сехема управления JTAG иннтерфейсом В состав схемы входят: * Три сдвиговых регистра (регистр команд (IR), регистр пропуска (Bypass) и регистр данных (DR); * Выходной мультиплексор (MUX); * Контроллер управления (TAP Controller). Основным регистром является регистр данных, он служит источником и приемником данных при выполнении в JTAG цепочках любых команд. С точки зрения устройства управления, регистр данных является одним из трех сдвигающих регистров, включаемых между контактом для подачи входной информации (контакт TDI) и контактом для получения выходной информации (контакт TDO). 3. Автомат управления TAP (TAP-controller) Можно выделить два важных режима или состояния TAP: * Состояние загрузки команд; * Состояние загрузки данных; Режим работы определяется текущим состоянием встроенного в TAP конечного автомата. Граф включает в себя 16 состояний. Переход от состояния к состоянию осуществляется по каждому переднему фронту TCK. Ветвь перехода зависит от текущего состояния сигнала TMS. Начальным состоянием автомата является Test Logic Reset. После включения питания, ведущее устройство "не знает", в каком состоянии окажется автомат TAP тестируемого устройства. Необходим способ гарантированного перевода TAP в начальное состояние. Таких способов два: * Установить на TMS высокий уровень и подать 5 или более импульсов TCK . В этом услучае автомат окажеться в состоянии Test Logic Reset; * Если реализован контакт TRST то автомат можно сбросить импульсом на этом выводе; Загрузки команды в регистра команды происходит в состоянии Shift-IR. Загрузка данных происходит в заданный регистр данных происходит в состоянии Shift-DR. Какой именно регистр данных будет выбран для обмена, определяется текущим содержимым регистра команды. Ниже приведен более подробное описание каждого состояния: * Test-Logic-Reset—сброс логики тестирования. В этом состоянии тестирующая логика отключается, регистр команды инициализируеться кодом команды BYPASS или кодом команды вывода идентификационного кода интегральной схемы (IDCODE); * Run Test\Idle—состояние ожидания или выполнения внутренних тестов. Это состояние используеться как промежуточное между операциями. Например, если загрузкой некоторой команды и данных, была инициализирована продолжительная тестовая процедура, то на время ее выполнения TAP следует перевести в это состояние; * Select-DR-Scan—промежуточное состояние автомата, позволяет попасть в ветвь автомата, связанную с загрузкой данных; * Select-IR-Scan—промежуточное состояние автомата, позволяет попасть в ветвь автомата, связанную с загрузкой команды; * Capture-DR—это состояние подготовки данных к обмену. Данные, которые должны быть переданы ведущему устройству, загружаются в соответствующий регистр данных контроллера JTAG; * Shift-DR—в этом состоянии регистр данных включаеться между выводами TDI и TDO. Данные, подготовленные для ведущего утройства (результат текущей команды загрущенной в командный регистр) последовательно выдвигаються наружу, замещаясь данными, которые передаються ведущим устройством; * Exit1-DR, Exit2-DR, Exit1-IR, Exit2-IR—промежуточные состояния, не оказывают никакого влияния на состояние тестовой логики, предназначены для быстрого перехода в начальное состояние; * Pause-DR, Pause-IR —эти состояния, позволяют приостанавливать продвижение информации на произвольное количество тактов синхронизации (например, для выполнения каких либо действий в БИС с внешним тактированием); * Update-DR—это состояние, в котором вдвинутые данные "защелкиваються", в момент выхода из этого состояния тестовая логика приступает к соотвествующей операции с использованием загруженных данных; * Capture-IR—фактически промежуточное состояние, не оказывает никакого влияния на состояние тестовой логики; * Shift-IR—в этом состоянии регистр команды включаеться между выводами TDI и TDO. Текущее содержмое регистра последовательно выдвигаеться наружу, замещаясь командой, которые передаваемой ведущим устройством; * Update-IR—cостояние фиксации и активизации вдвинутой команды; 4. JTAG-цепочка. Если на плате смонтировано несколько ИС, поддерживающих JTAG, то они объединяються в так называемую JTAG цепочку: Рис 4. Схема JTAG-цепочки. Стандарт не вводит никаких ограничений на количество устройств в цепочке. В процессе обмена вся цепочка представляет собой один сдвиговый регистр, каждой ИС будет соответствовать определенное количество разрядов в этом регистре. Ведущее устройство должно "знать" количество разрядов для каждой БИС. 5. Что такое Граничное Сканирование (Boundary Scan Testing) Стандарт JTAG определяет минимально-необходимый набор средств, который должен быть включен в состав БИС для того чтобы ее можно было вовлечь в процесс тестирования методом Граничного Сканирования. Главная идея метода—получение ведущим устройством доступа к внешним выводам БИС через JTAG, включая: * Возможность наблюдения за выводами, без вмешательства в нормальную работу тестируемого устройства, * Прямое управление выводами БИС. 6. Архитектура поддержки Граничного Сканирования Рассмотрим подробнее структуру БИС, построенными в соответствии с требованиями JTAG. Основу архитектурной поддержки метода состоявляют ячейки граничного сканирования (BSC—Boundary Scan Cell). Последовательность из этих ячеек разделяет внутреннюю логику БИС и ее внешние выводы. С точки зрения обмена эта последоваетельность представляет собой один регистр данных, который включаться в канал JTAG. Такой регистр называеться Регистром Граничного Сканирования (Boundary Scan Register). Можно выделить несколько режимов в работе ячейкиЖ * Режим сдвига, когда в триггера Т1 по сигналу "захват" сохраняеться состояние аналогичного триггера предыдущей ячейки. В этом режиме ведущее устройство последовательно выдвигает текущее состояние ячеек и вдвигает новое; * Режим наблюдения ("Sample") В этом режиме по импульсу текущее состояние вывода фиксируется в триггере, и может быть потом считано ведущим устройством. При этом, в процессе обмена данные получаемая от ведущего устройства фиксируются в триггере. При необходимости, в режиме тестирования (EXTEST) эти данные могут быть выведены на внешний вывод; * Режим тестирования ( EXTEST—Executing Test ). В этом режиме на выход подается логическое значение, которое находиться в триггере Т2; В приведенной схеме на каждый вывод БИС приходиться один бит регистра граничного сканирования (его роль играет триггер Т1). Однако очень часто встречаються схемы, в которых на каждый вывод приходиться 3 бита: бит для вывода значения в тестовом режиме, бит, сохраняющий фактический логический уровень, находящийся на выводе, и бит управляющий переводом вывода в высоко-импедансное состояние. 7. Возможности Граничного Сканирования Таким образом ведущее устройство может получить доступ к любому выводу любой БИС, включенной в JTAG-цепочку. Рис. 7. Плата с поддержкой JTAG. * Выставляя на одних выводах логические уровни и проверяя состояния других ведущее устройство может делать заключение о наличии или отсутствии связей между выводами различных БИС; * Перехватывая управление выводами можно формировать на выводах областей не охвеченных цепочкой тестовые комбинации и проверять корректность реакций. Например, управляя выводами центрального процессора произвести тестирование работоспособности ОЗУ; * Делать "снимки" состояний контактов интегральных схем цифрового устройства, и на основе их анализа делать заключение о правильности его работы; Источник:... Найдено на просторах интернета
__________________ FERGUSON ARIVA 100 HD/Openbox X800/Openbox X730PVR 0,9м 4W - 5E - 13E 0,9м 75Е(Радуга-ТВ)-80Е(Орион-Экспресс)-90Е 0,6м 36Е(НТВ+) Жизнь коротка, поэтому прожить её нужно так, чтобы наверху обалдели и сказали: НУ-КА, Повтори!!! [SIGPIC][/SIGPIC] |
1 раз(а) сказали "Спасибо": | sng_21590
(01.11.2011)
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
Опции темы | |
Опции просмотра | |
| |