♦ TCK (Test Clock) — сигнал синхронизации последовательных данных; генерируется контроллером. Частота синхронизации может достигать 16 МГц.
♦ TMS (Test Mode Select) — сигнал выбора тестового режима. Генерируется контроллером.
♦ TDI (Test Data Input) — входные данные, принимаемые устройством в последовательном двоичном коде (младшим битом вперед).
♦ TDO (Test Data Output) — выходные данные, передаваемые устройством в последовательном двоичном коде.
♦ TRST (Test Logic Reset) — необязательный сигнал сброса логики интерфейсного порта, генерируемый контроллером.
Эти сигналы (все однонаправленные), имеющие обычные логические уровни, образуют тестовый порт
Рис. 11.6. Цепочка устройств с интерфейсом JTAG
Идею тестирования любой цифровой схемы иллюстрирует рис. 11.7, на котором показана условная цифровая система, имеющая входные, выходные (возможно, с третьим состоянием) и двунаправленные сигналы. Ячейки тестирования
Рис. 11.7. Включение ячеек сканирования
Тестовая логика, встраиваемая в устройство, поддерживающее JTAG, состоит из следующих элементов:
♦ тестовый порт TAP (четыре интерфейсных сигнала);
♦ TAP-контроллер, управляющий тестовыми регистрами;
♦ регистр инструкций IR (Instruction Register), который принимает последовательный код со входа TDI (код инструкции используется для выбора исполняемой тестовой операции или регистра тестовых данных, к которым производится обращение);
♦ регистры тестовых данных, из которых любое устройство должно иметь три обязательных регистра: ВPR (Bypass Register), DID (Device Identification Register) и BSR (Boundary Scan Register).
Регистры инструкций и данных представляют собой независимые сдвиговые регистры, соединенные параллельно. На их входы (старшие биты) приходит сигнал TDI, с выходов (младшие биты) снимается сигнал TDO. По каждому положительному перепаду данные продвигаются на один бит.
Регистр ВРR имеет длину в один бит. Он используется как кратчайший обходной путь для последовательных данных, когда остальные регистры не участвуют в обмене.
Регистр BSR представляет собой длинный сдвигающий регистр, каждым битом которого являются пограничные ячейки, установленные на всех входных и выходных сигналах процессора. Для двунаправленных сигналов (или их групп), кроме собственно информационных ячеек регистра, соответствующих внешним сигналам, имеются и управляющие ячейки, задающие режим работы информационных ячеек. К примеру, у процессоров P6 длина BSR составляет 159 бит.
Регистр DID длиной 32 бита содержит идентификатор производителя, код устройства и номер версии, по которым TAP-контроллер может распознать, с каким устройством он имеет дело.
Регистр IR служит для хранения исполняемой тестовой инструкции. Его длина зависит от тестируемого устройства. Для всех устройств обязательными являются инструкции BYPASS, IDCODE, SAMPLE и EXTEST.
Инструкция BYPASS (все биты кода — единичные) предназначена для подключения однобитного обходного регистра, обеспечивая скорейшее прохождение данных через устройство; при этом оно никак не реагирует на проходящий поток. Вход TDI обычно «подтягивают» резистором к высокому уровню, при этом разрыв цепочки JTAG приведет к подключению обходных регистров во всех устройствах после точки обрыва. Это исключает возможные непредсказуемые действия устройств в случае обрыва.
Инструкция идентификации IDCODE (младшие биты кода — 10) подключает к интерфейсу регистр DID, позволяя считать его содержимое (поступающие входные данные не могут изменить его значение).
Инструкция SAMPLE/PRELOAD (младшие биты кода — 01) имеет два назначения. Когда TAP-контроллер находится в состоянии TCK. В состоянии EXTEST. Данные загружаются по спаду сигнала TCK.
Инструкция EXTEST (младшие биты кода — 00) предназначена для проверки внешних цепей (по отношению к тестируемому устройству). При этом на выходные выводы подаются сигналы, предварительно записанные в регистр BSR, а состояние входных сигналов фиксируется в этих регистрах. Двунаправленные сигналы предварительно конфигурируются соответствующими им управляющими битами ячеек BSR.
Стандарт 1149.1 предусматривает и инструкцию тестирования внутренней логики устройства INTEST, но ее поддерживают не все устройства.
TCK и по включению питания. Сменой состояний управляет сигнал TMS (Test Mode State), воспринимаемый по положительному перепаду TCK. Граф состояний и переходов управляющего автомата представлен на рис. 11.8. Около стрелок переходов указаны значения сигнала TMS во время фронта TCK.
Рис. 11.8. Граф состояний и переходов контроллера TAP
В исходное состояние TMS, удерживаемым не менее пяти тактов TCK. Для перевода в состояние TRST. В этом состоянии тестовая логика запрещена, и устройство работает в нормальном режиме.
