JTAG (англ. Joint Test Action Group; произносится «джей-таг») — это название рабочей группы по разработке стандарта IEEE 1149. Позднее это сокращение стало ассоциироваться с разработанным этой группой специализированным аппаратным интерфейсом на базе стандарта IEEE 1149.1. Интерфейс предназначен для подключения сложных цифровых микросхем или устройств уровня печатной платы к стандартной аппаратуре тестирования и отладки.

 На текущий момент интерфейс стал промышленным стандартом. Практически все сколько-нибудь сложные цифровые микросхемы оснащаются этим интерфейсом для:

  • выходного контроля микросхем при производстве
  • тестирования собранных печатных плат
  • прошивки микросхем с памятью
  • отладочных работ при проектировании аппаратуры и программного обеспечения

Стандарт предусматривает возможность подключения большого количества устройств через один физический порт.

Порт тестирования (TAP — Test Access Port) представляет собой четыре или пять выделенных выводов микросхемы: ТСК, TMS, TDI, TDO и (опционально) TRST.

Функциональное назначение этих линий:

  • TDI (test data input — «вход тестовых данных») — вход последовательных данных периферийного сканирования. Команды и данные вводятся в микросхему с этого вывода по переднему фронту сигнала TCK;
  • TDO (test data output — «выход тестовых данных») — выход последовательных данных. Команды и данные выводятся из микросхемы с этого вывода по заднему фронту сигнала TCK;
  • TCK (test clock — «тестовое тактирование») — тактирует работу встроенного автомата управления периферийным сканированием. Максимальная частота сканирования периферийных ячеек зависит от используемой аппаратной части и на данный момент ограничена 25…40 МГц;
  • TMS (test mode select — «выбор режима тестирования») — обеспечивает переход схемы в/из режима тестирования и переключение между разными режимами тестирования.

В некоторых случаях к перечисленным сигналам добавляется сигнал TRST для инициализации порта тестирования, что необязательно, так как инициализация возможна путем подачи определённой последовательности сигналов на вход TMS.

 Работа средств обеспечения интерфейса JTAG подчиняется сигналам автомата управления, встроенного в микросхему. Состояния автомата определяются сигналами TDI и TMS порта тестирования. Определённое сочетание сигналов TMS и TCK обеспечивает ввод команды для автомата и её исполнение.

Тестирование целостности цепи

Тестирование JTAG может быть как довольно простым, так и очень углубленным. Наиболее базовая форма тестирования - тестирование целостности цепи, т.е. тестирование, того что устройства JTAG, которые участвуют в цепи JTAG, фактически существуют.

Большинство JTAG-совместимых устройств содержит идентификационный код, который может использоваться, чтобы проверить что, устройства существуют и что цепь JTAG правильно связана. Устройства, которые не содержат идентификационные коды, будут всегда возвращать единственный бит с ценностью 0; таким образом цепь JTAG может быть проверена на правильную последовательность как для устройств с идентификационным кодом, так и без него.