Упоминание о наличии интерфейса JTAG можно все чаще найти в описаниях современных микропроцессоров для встроенных приложений. Аббревиатура JTAG – это сокращение от названия созданной IEEE (Institute of Electrical and Electronics Engineers, Институт инженеров по электротехнике и радиоэлектронике) рабочей группы Joint Test Action Group (Joint Test Action Group, Объединенная рабочая группа по автоматизации тестирования). Ею подготовлены стандарты семейства IEEE 1149.х Test Access Port and Boundary-Scan Architecture (порт тестового доступа и архитектура граничного сканирования) и разрабатываются новые спецификации в этой области.
Упоминание о наличии интерфейса JTAG можно все чаще найти в описаниях современных микропроцессоров для встроенных приложений. Аббревиатура JTAG – это сокращение от названия созданной IEEE (Institute of Electrical and Electronics Engineers, Институт инженеров по электротехнике и радиоэлектронике) рабочей группы Joint Test Action Group (Joint Test Action Group, Объединенная рабочая группа по автоматизации тестирования). Ею подготовлены стандарты семейства IEEE 1149.х Test Access Port and Boundary-Scan Architecture (порт тестового доступа и архитектура граничного сканирования) и разрабатываются новые спецификации в этой области.
Технология так называемого граничного сканирования была призвана дополнить методы проверки правильности разводки печатной платы и ее монтажа. Первоначально для этих целей применялись технологии и оборудование, основанные на подключении к контрольным точкам платы и выводам микросхем. Подобный "механистический" подход теряет свою эффективность или даже становится неприемлемым при использовании многослойных плат и плат с высокой плотностью монтажа, а также при использовании микросхем в современных корпусах (BGA, COB, QFP, SO и некоторых других): механические "игольчатые" щупы уже не могут "подобраться" к точкам тестирования. Кроме того, они могут искажать реальную картину сигналов. Например, прикосновение к точке непропаянного контакта может улучшить его работоспособность. Стандарты семейства IEEE 1149.х Test Access Port and Boundary-Scan Architecture реализуют идею использования дополнительно интегрированных в электронные компоненты схем для организации тестирования готовой печатной платы и систем на основе печатных плат. В состав дополнительной логики входят внутренние ячейки граничного сканирования и соответствующие регистры, а также обвязка для коммутации.
Для обращения к этой дополнительной логике используется интерфейс JTAG, имеющий четыре (иногда пять, стандарт предусматривает необязательный пятый внешний вывод TRST или асинхронный сброс) контакта (TAP-выводы): TDI (Test Data In, вход тестовых данных), TDO (Test Data Out, выход тестовых данных), TMS (Test Mode Select, выбор тестового режима) и TCK (Test Clock, тестовая синхронизация). Эти же четыре дополнительных вывода должны быть сформированы и у платы, поддерживающей тестирование на основе стандарта IEEE 1149.х. Используя выводы JTAG-интерфейса, из микросхем, "отягощенных" дополнительной логикой для поддержки технологии граничного сканирования, формируется JTAG-цепочка, которая подключается к дополнительно сформированным JTAG-выводам платы. Для организации JTAG-цепочки на плате выход TDO "предыдущей" микросхемы соединяется с входом TDI "следующей". Для организации тестирования многоплатной системы вывод TDO "предыдущей" печатной платы соединяется с выводом TDI "последующей". Выводы TMS и TCK подключаются параллельно к соответствующим шинам JTAG-цепочки. Проверяемая плата с расположенными на ней микросхемами, оснащенными дополнительной логикой для поддержки технологии граничного сканирования, подключается к рабочему месту оператора тестирования (на основе ПК, вычислительной PXI- или VXI-системы) через контроллер, обеспечивающий сопряжение данных между JTAG-интерфейсом и портом ввода/вывода рабочего места (это может быть шина PCI, порты Ethernet или USB или другие). Этот контроллер обеспечивает целостность сигналов, их передачу на значительные расстояния, которые могут разделять тестируемую систему и рабочее место оператора граничного сканирования в производственных условиях. На компьютерной системе рабочего места оператора запускается программа автоматического тестирования, в ходе которой по интерфейсу JTAG передаются сигналы управления/тестирования и регистрируются отклики микросхем на плате. На основании анализа этих откликов выносится "вердикт" о соответствии или несоответствии реальной работы платы запланированной и о возможных нарушениях контактов, отсутствии каких-либо микросхем или об их неправильной установке. Для создания программы тестирования для ПК (или в общем случае, хоста программно-аппаратного комплекса тестирования) нужно иметь исходные данные, в состав которых входят описание микросхем, поддерживающих технологию граничного сканирования, описание пути сканирования и описание тестируемой платы или системы в целом. Говоря об описании микросхем, мы имеем в виду наличие специального файла на языке BSDL (Boundary-Scan Description Language, язык описания граничного сканирования), содержащего информацию о том, какова структура логики, поддерживающей технологию граничного сканирования в микросхеме, как организован путь сканирования в элементе и какие функции, определенные стандартом IEEE 1149.х, поддерживаются. Этот файл предоставляется производителем микросхемы. Таким образом, технология граничного сканирования обеспечивает тестирование связей между микросхемами после того, как они были смонтированы на печатной плате, а также обеспечивает наблюдение за работой компонентов без вмешательства в их нормальную работу. На платах могут устанавливаться помимо цифровых микросхем еще и аналоговые микросхемы, и пассивные элементы. "Путь" граничного сканирования на плате обходит элементы, не поддерживающие технологию IEEE 1149.х. В этом случае придется подумать о дополнительных процедурах испытаний, которые позволят выявить возможные неисправности в работе пропущенных областей. При этом необходимо отметить, что сегодня JTAG-интерфейс можно встретить и в аналоговой элементной базе. Так, компания National Semiconductor разработала монитор аналогового напряжения SCANSTA476, управляемый через шину JTAG. Он способен измерять напряжение в выборках из восьми аналоговых каналов или каналов смешанного сигнала в диапазоне от 0 до 5,5 В, необходимых, например, для проверки работы источника питания или критичных опорных напряжений на печатных платах. С технологией IEEE 1149.х тесно связана методология BIST (Built-in Self Test, встроенное самотестирование). Она основана на дополнении интегральной микросхемы аппаратными ресурсами или программным обеспечением для проведения самотестирования. Аналогом BIST считается самотестирование, проводимое BIOS компьютера Power-On Self-Test (POST), в ходе которого проверяется память RAM и шины питания. Технология BIST может внедряться средствами на уровне платы, но чаще всего это "черта" микросхемы. И если говорить о тестировании плат, то технология IEEE 1149.х имеет ряд ограничений по обнаружению дефектов, преодолеть которые можно лишь с использованием дополнительных приемов диагностики (табл.1), включая технологию BIST. При использовании BIST интерфейс JTAG может играть роль инструмента для передачи команд тестирования и сбора данных. Для этого в качестве опциональной возможности в стандарте IEEE 1149.1 введена команда RUNBIST. Сегодня ряд микропроцессоров поддерживает технологию BIST, работа которой реализуется через порт JTAG. Результаты BIST-проверок хранятся в регистрах данных, откуда информация в последовательном формате загружается через линию TDO. Объединение возможностей технологий JTAG и BIST позволяет обеспечить больший охват неисправностей, так как BIST помогает выявлять внутренние дефекты работы кристаллов микросхем и дефекты работы платы, возникающие в динамическом режиме ее работы, что недоступно технологии граничного сканирования. При использовании технологии BIST удобна иерархическая модель испытаний: сначала на системном уровне выявляются дефектные платы, а потом на уровне платы выявляются дефектные компоненты. JTAG – история и компании
Сегодня на рынке сформировался пул поставщиков, которые производят и предлагают готовые программно-аппаратные комплексы на базе ПК, предназначенные для разработки и применения программ тестирования на базе технологии граничного сканирования. Через 10 лет после принятия первого стандарта в семействе IEEE 1149.х согласно отчету Electronic Trend Publications на рынке таких комплексов сформировалась группа лидеров (табл.2). Лидер рынка, компания ASSET InterTech, была рождена "из ребра" корпорации Texas Instruments (TI). История ASSET InterTech начинается с подразделения TI, образованного для развития работ в области технологии на базе стандарта IEEE 1149.1. В 1995 году, аккумулировав 6-летний опыт работы в "стенах" TI, команда этого подразделения образовала самостоятельную компанию ASSET InterTech, унаследовав и продуктовую линейку, и деловые связи. Нынешняя тройка лидеров состоит, по-видимому, из ASSET InterTech, GOPEL Electronic и JTAG Technologies. Две последние компании – из Европы, которая традиционно ближе к нашей стране, нежели Североамериканские штаты. На выставке ЭкспоЭлектроника-2008 компания JTAG Technologies официально объявила о своем повышенном интересе к российскому рынку. Руководство компании в лице г-на Питера ван ден Эйндена (Peter van den Eijnden) уверено в огромном потенциале российского рынка и хотело бы опередить здесь своих потенциальных конкурентов. Сегодня компания помимо "европейской" Европы работает в США и Китае. Говоря о "российских" амбициях компании, г-н Питер ван ден Эйнден отметил, что "...компания JTAG Technologies является технологическим лидером. Мы шли к этому успеху на протяжении 15 лет, предоставляя решения и поддержку нашим клиентам по всему миру. Теперь мы хотим расширить нашу деятельность и на российском рынке. Мы с нетерпением ждем этого. Ведь данный шаг позволит нам внести свой вклад в развитие электронной промышленности в России и получить ощутимые преимущества от его постоянного роста". Подтверждением технологического лидерства JTAG Technologies может быть тот факт, что компания первой (по заявлению ее руководства) предложила рынку такие важные решения, как автоматическая генерация тестов, автоматический анализ покрытия возможных неисправностей, автоматический процесс программирования флеш-памяти и микросхем программируемой логики. В комплект продукции JTAG Technologies для граничного сканирования входят решения для подготовки и выполнения тестирования, анализа результатов и приложения для внутрисистемного программирования. Более 5000 систем, установленных компанией JTAG Technologies, используются производителями коммуникационного оборудования, медицинской, потребительской и авиационной электроники, в автомобильной и оборонной промышленности по всему миру. Среди заказчиков JTAG Technologies такие компании, как Ericsson, Flextronics, Honeywell, Medtronic, Motorola, Nokia, Philips, Raytheon, Rockwell-Collins, Samsung и Sony. JTAG – что в имени твоем?
Говоря о JTAG-интерфейсе и о технологии граничного сканирования, следует различать ситуации, когда микросхема может полностью поддерживать стандарт IEEE 1149.х, имея стандартный JTAG-интерфейс и определенную стандартом логику поддержки метода граничного сканирования, и когда микросхема может включать лишь интерфейс JTAG, вероятно, с некоторыми, не включенными в стандарты IEEE 1149.х возможностями, и не поддерживать технологию граничного сканирования. В последнем случае JTAG-интерфейс используется для иных целей, нежели тестирование плат. Внимательно изучив только что перечисленные возможности решений от JTAG Technologies можно обнаружить, что за более чем 15-летнюю историю стандарта интерфейс JTAG обрел новые "профессии". Помимо корректной разводки печатной платы и ее монтажа сегодня компоненты технологии граничного сканирования используются для программирования и отладки приложений. Но корни этих возможностей уходят в "седую" историю, когда в начале 90 годов прошлого века инженеры компаний TI и ARM осознали возможность "проникновения" с помощью интерфейса JTAG в отладочные регистры, а корпорация Intel, "экспериментируя" с программируемой логикой, "достигла" с помощью интерфейса JTAG конфигурационных регистров. Таким образом, приблизительно через три года после анонса спецификации IEEE 1149.1 интерфейс JTAG стал использоваться для отладки приложений для RISC-процессоров, ЦСП и внутрисистемного программирования. Если в 1994 году JTAG-интерфейс применяли для конфигурирования микросхем программируемой логики класса CPLD компании AMD и Intel, то позже JTAG-порт был добавлен в микросхемы от Altera, Xilinx, Actel и Cypress & Xilinx. Для программирования же стал использоваться последовательный векторный формат (Serial Vector Format, SVF), стандарт которого совместно разработан компаниями TI, Tektronix и Teradyne. Фирма Xilinx для снижения объема SVF-файла предложила более компактный формат XSVF. Ну а открытым стандартом программирования ПЛИС (CPLD) стал IEEE 1532 Standard for Boundary-Scan-based In System Configuration of Programmable Devices (стандарт для внутрисистемного конфигурирования на основе технологии граничного сканирования). Работы по нему начаты в 1998 году, в ходе них язык BSDL был дополнен форматом ISC (In-System Configuration, формат внутрисистемного конфигурирования). В составе рабочей группы по стандарту IEEE 1532 вошли компании Xilinx, Asset InterTech, Agilent, Alcatel, Cisco Systems, JTAG Technologies. Сегодня микросхемы программируемой логики (PLD) с поддержкой технологии IEEE 1532 предлагают Actel, Altera, Atmel, Cypress, Lattice Semiconductor и Xilinx, а программировать их позволяет инструментарий от JTAG Technologies, GOPEL Electronic и др. В связи с популярностью использования интерфейсов I2C и SPI в конструкциях микроконтроллерных микросхем компания Corelis включила поддержку прямого программирования памяти по этим шинам в свою программно-аппаратную платформу ScanExpress для поддержки технологии граничного сканирования. Это существенно ускорило процесс программирования по сравнению с программированием через порт JTAG. Однако возможности JTAG вполне конкурентоспособны для программирования небольших (менее 1 Мбайта) или средних (1–32 Мбайта) блоков флеш-памяти микросхем ПЛИС или FPGA. При их программировании для ускорения процесса можно сформировать укороченную псевдоцепочку граничного сканирования. Технология граничного сканирования может быть использована для программирования дискретных компонентов памяти – флеш и SPROM. При их подключении к компонентам, поддерживающим стандарт IEEE 1149.х, можно симулировать запись и чтение памяти, используя регистр граничного сканирования. Этот же прием симуляции позволяет организовать и проверку памяти. Наряду со стандартной реализацией технологии IEEE 1149.х производители микроконтроллеров допускают отклонения от официальной спецификации для поддержки упомянутых выше новых возможностей использования интерфейса JTAG. Это можно обнаружить, например, в микроконтроллерах семейства |iPSD компании STMicroelectronics, где при соблюдении стандарта в части TAP-выводов конечный автомат (state machine) реализован с отходом от стандарта. 8-разрядные микроконтроллеры |iPSD разработаны с учетом опыта применения заказчиками PSD (Programmable System Device, архитектура программируемого Flash-устройства) и устойчивой популярности архитектуры 8051. Микроконтроллеры серий |iPSD32xx/|iPSD33xx представляют собой кристалл PSD-устройства с установленным поверх него кристаллом микроконтроллера 8032 и, по сути, являются однокристальной системой, заменяя до полутора десятка микросхем, с использованием которых строится стандартная микроконтроллерная система. Уникальные возможности микроконтроллеров |iPSD заключаются в преодолении ограничений стандартных 8051-микросхем. Стандартный микроконтроллер на основе архитектуры 8051 не способен производить запись в пространство кодов (память программ), что создает сложности при перепрограммировании в системе. В микроконтроллерах |iPSD при обновлении программы коды записываются в пространство данных и по завершении программирования возвращаются на прежнее место. Внутрисистемное программирование на основе интерфейса JTAG позволяет провести операцию в течение 10–25 с. Микроконтроллеры семейства MSP 430 корпорации TI официально имеют JTAG-интерфейс, но в их конструкцию не включен регистр граничного сканирования, поддерживающий классические операции тестирования, а также реализовано дополнительное мультиплексирование сигнала тактирования для вывода TDI. Что касается отладки, то в рамках стандартных режимов работы интерфейса JTAG отладка приложения реального времени не поддерживается. Однако конкретные компании реализуют поддержку отладки приложений реального времени с использованием интерфейса JTAG, "проприетарно", расширяя возможности технологии. В частности, такая возможность реализована корпорацией TI в технологии eXpressDSP для проектирования встроенных систем на базе ЦСП. Ее элементом помимо интерфейса JTAG, который имеется в каждом ЦСП Texas Instruments, является технология RTDX. Эта технология обмена данными интегрирует в JTAG-интерфейс возможности обмена данными в реальном времени (Real Time Data Exchange, RTDX) между ЦСП и хост-компьютером, на котором запускается отладочная среда.