Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка программно-аппаратного комплекса для JTAG тестирования (магистерская диссертация) / Разработка программно-аппаратного комплекса для JTAG тестирования. Алексан П.А. А-13-08.doc
Скачиваний:
192
Добавлен:
28.06.2014
Размер:
2.86 Mб
Скачать

Глава 1. Исследование методов jtag тестирования сбис

    1. Описание интерфейса JTAG

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

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

  • выходного контроля микросхем при производстве;

  • тестирования собранных печатных плат;

  • прошивки микросхем с памятью;

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

Метод тестирования, реализованный в стандарте, получил название Boundary Scan (граничное сканирование) [2]. Название отражает первоначальную идею процесса: в микросхеме выделяются функциональные блоки, входы которых можно отсоединить от остальной схемы, подать заданные комбинации сигналов и оценить состояние выходов каждого блока. Весь процесс производится специальными командами по интерфейсу JTAG, при этом никакого физического вмешательства не требуется. Разработан стандартный язык управления данным процессом — Boundary Scan Description Language (BSDL).

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

Порт тестирования (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 (test reset - «тестовый сброс») - данный сигнал добавляется в некоторых случаях для инициализации порта тестирования, что необязательно, так как инициализация возможна путем подачи определённой последовательности сигналов на вход TMS [5].

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

Рис.1 Объединение нескольких СБИС в одну JTAG цепочку

Если на плате установлено несколько устройств, поддерживающих JTAG, они могут быть объединены в общую цепочку (рисунок 1). Уникальной особенностью JTAG является возможность программирования не только самого микроконтроллера (или ПЛИС), но и подключённой к его выводам микросхемы флэш-памяти [1],[3].

Циклограмма работы интерфейса JTAG (рисунок 2).

Далее будет рассмотрен управляющий работой интерфейса JTAG автомат. Автомат имеет 16 состояний. Управление интерфейсом осуществляется путем воздействия на автомат посредством сигнала TMS. Переходы происходят по переднему фронту сигнала TCK. Чтение и запись данных происходят одновременно, так же по фронту TCK.

Состояния диаграммы переходов:

  • Test-Logic-Reset – исходное состояние;

  • Run-Test/Idle – переходное состояние контроллера при выполнении тестов или ожидании следующей команды;

  • Select-IR, Select-DR – состояние, после которого будет производиться тестирование команд, данных;

  • Capture-IR, Capture-DR – состояние приёма команд, данных;

  • Shift-IR, Shift-DR – состояние сдвига команд, данных;

  • Exit1-IR, Exit2-IR – выход из режима работы с командами;

  • Exit1-DR, Exit2-DR – выход из режима работы с данными;

  • Pause-IR, Pause-DR – состояние паузы;

  • Update-IR, Update-DR – состояние перезаписи данных в выходные регистры.

DR — действия происходят над данными, IR — соответственно над инструкциями [4].

Рис.2 Циклограмма работы интерфейса JTAG

Исходное состояние, в котором находится автомат после включения, это Test-Logic Reset. В этом состоянии, по умолчанию, выбрана инструкция IDCODE или BYPASS. Сигнал сброса TRST не является обязательным, поэтому для сброса автомата в исходное состояние применяют следующую процедуру. Необходимо подать на вход TMS сигнал высокого уровня и удерживать его не менее 5 тактов частоты TCK. Если сигнал TMS будет установлен хостом в низкий уровень, то автомат перейдёт к состоянию Run-Test/Idle (активное состояние, в котором ничего не происходит). Обычно из этого состояния можно перейти в состояние Select-IR, для того чтобы загрузить в контроллер новую инструкцию. Но если на вход сигнала TMS подействует не сигнал, подаваемый от хоста, а помеха низкого уровня, то, как и в предыдущем случае, автомат перейдёт в состояние Run-Test/Idle. Если же кратковременная помеха (длительностью не более одного периода синхрочастоты) прекратится, то автомат через три такта снова вернётся в исходное состояние – Test-Logic Reset.

Чтобы загрузить в контроллер новую команду, надо из состояния Run-Test/Idle перевести автомат в состояние Select-IR, Capture-IR, Shift-IR. Затем необходимо «продвинуть» в цепочку данных новую команду, а потом перевести автомат через состояния Exit1-IR, Update-IR и снова в Run-Test/Idle. Логика работы с данными такая же. Нужно учитывать, что сигнал высокого уровня при переходе из состояний Shift-IR\DR подается вместе с последним битом информации [2], [3].

На рисунке 3 представлена диаграмма сигналов при выполнении переходов для загрузки команды.

Рис.3 Диаграмма сигналов при выполнении переходов для загрузки команды

Рис.4 Структурная схема внутреннего устройства типичного JTAG контроллера

На рисунке 4 представлена структурная схема внутреннего устройства типичного JTAG контроллера.

    1. Существующие разработки

Ниже предоставлен обзор существующих систем функционального JTAG тестирования СБИС.

  1. JTAG Live Studio – это новый программно-аппаратный пакет, созданный для отладки изделий в процессе производства или ремонта, поиска и локализации дефектов квалифицированными инженерами, знающими цифровые архитектуры своих изделий и их схемотехнику. Система уже получила распространение в лабораториях предприятий радиоэлектронной промышленности, а также в учебных и научно-исследовательских центрах [11].

  2. JTAG ProVision. Пакет программного обеспечения JTAG ProVision используется для генерации тестов периферийного сканирования и приложений для программирования собранных печатных плат и систем. Этот профессиональный инструмент разработки полностью автоматизирован, и поддерживает импорт данных из более чем 30 различных САПР схематики и топологии [12].

  3. XJTAG Professional

Инструментарий XJTAG Professional вобрал в себя все элементы технологии разработки и отладки. Он представляет собой "коробочный" продукт для создания систем на базе многовыводных BGA (ball grid array)-микросхем. В состав XJTAG Professional входят XJAnalyser, XJEase, XJRunner, XJLink, XJDemo и плата XJIO. XJAnalyser это система визуализации данных и отладки устройств в JTAG цепочке в режиме реального времени. Задавая и отслеживая значения сигналов, система позволяет быстро и наглядно отладить плату, даже содержащую элементы BGA. XJAnalyser это многофункциональный инструмент, позволяющий кроме всего прочего также проводить внутрисистемное программирование, используя файлы SVF / STAPL / JAM. XJEase это высокоуровневый язык описания тестов для системы XJTAG, который предоставляет функциональность, гибкость и полный контроль над вашими требованиями к тестированию. XJEase содержит библиотеки для тестирования и/или программирования целого ряда не- JTAG устройств, таких как FLASH, RAM (все разновидности), Ethernet, RTC, Video и т.д. Даже если вы до этого никогда не имели дело с JTAG устройствами, XJTAG всё равно позволит вам создать полнофункциональный тест, без дополнительного программирования. XJRunner это среда запуска XJEase тестов. XJRunner частично ориентирован на производителей печатных плат и/или инженеров по тестированию и для этого имеет дополнительные возможности, такие как расширенные возможности протоколирования работы (logging), поддержка серийных номеров, поддержка возможностей управления пользователями и правами пользователей. Средство отображения топологии может визуально обозначить места физического размещения любых неисправностей найденных во время тестирования. XJLink / XJLink2 это адаптер JTAG для USB 2.0, который обеспечивает высокоскоростной интерфейс (480Mbps) к JTAG цепочке устройств размещённой на печатной плате. Платы XJIO и XJIO-PCI позволяют улучшить тестовое покрытие устройства, анализируя сигналы с дополнительных коннекторов. Использование множества цифровых и аналоговых входов/выходов, размещённых на плате, повышает эффективность локализации неисправности, обеспечивает контроль уровня напряжения в шинах питания, устраняет необходимость использования дорогих заказных тестов даже для плат, не охваченных JTAG. [10]

  1. Блок БЗР 680. Модуль БЗР был разработан в НИИСИ РАН и предназначен для проверки работоспособности микросхем серии 1890 с интерфейсом RapidIO в режимах функциональных тестов и тестов сканирования внутренней логики. Обеспечивает подачу на испытуемую микросхему необходимых уровней напряжения питания, формирование тестовых воздействий и сравнение результата [7]. Упрощенная структурная схема модуля приведена на рис. 5.

Рис. 5. Структурная схема модуля БЗР

Модуль БЗР обеспечивает следующие возможности для тестирования микросхем:

  • формирование 3-х питающих напряжений в диапазоне от 0.75В до 5.5В, с нагрузочной способностью до 10А;

  • измерение потребляемого тока и по каждому из источников питания;

  • режим поддержания уровня питающего напряжения в точке нагрузки;

  • интерфейс Parallel RapidIO;

  • интерфейс Serial RapidIO;

  • интерфейс JTAG;

  • 8 дифференциальных выходов;

  • 2 дифференциальных входа;

  • 40 двунаправленных LVTTL-3.3V линий;

  • интерфейс SD-Memory card, поддержка ver 1.0 и 2.0 low capacity memory card объемом до 2Гб, с файловой системой FAT16, FAT32;

  • интерфейс RS232;

  • управление модулем запуск тестов и контроль, по RS232 с помощью стандартной программы текстового терминала;

  • встроенный интерпретатор функциональных тестов.

Далее произведем анализ рассмотренных решений. Результаты приведены в виде таблицы (таблица 1).

Таблица 1. Результаты анализа рассмотренных решений в области JTAG тестирования СБИС

Наименование

Возможность удаленной работы

Открытый исходный код

Поддержка стандартных языков программирования

JTAG Live Studio

-

-

+

JTAG ProVision

-

-

+

XJTAG Professional

-

-

+

Блок БЗР 680

+

-

-

1.3 Требования к комплексу JTАG тестирования

В результате исследования рынка, было рассмотрено несколько программно-аппаратных комплексов, предназначенных для отладки СБИС через интерфейс JTAG. Приведенные подходы имеют как ряд достоинств, так и недостатки, далее рассмотрим их более подробно.

В качестве неоспоримого достоинства таких систем является широкая функциональность и комплексный подход к решению задач отладки СБИС. Однако не все предприятия готовы платить такую сумму, не говоря уже о физических лицах. Тем более, что при малейших сбоях в системе или в связи с вопросами по изменению функциональности для особенностей той или иной СБИС, придется обращаться к разработчикам в компанию. Что также влечет за собой материальные затраты. Более того, в рассмотренных подходах невозможно разделить программную и аппаратную части. Иными словами, программная составляющая систем находится в жесткой привязке к аппаратуре.

Имеются и более дешевые варианты, однако их функциональность, к сожалению, недостаточна для решения поставленных в рамках функционального тестирования СБИС задач.

Итак, в результате анализа программно-аппаратных средств для отладки СБИС через интерфейс JTAG, были установлены следующие недостатки:

  • Узкая специализация. Большинство из программных комплексов, представленных на рынке представляют из себя узкоспециализированную систему, используемую в достаточно жесткой привязке к тестируемой аппаратной базе, то есть программный продукт предназначен для тестирования и отладки конкретного семейства СБИС.

  • Высокая стоимость. На данный момент большая часть специализированных программно-аппаратных продуктов для JTAG тестирования весьма дорогостоящая. Плюс требуется оплата пуско-наладочных работ от фирмы-производителя комплекса.

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

Далее приведем основные требования к разрабатываемому комплексу JTAG тестирования:

  • Удаленный доступ к комплексу.

  • Отладка СБИС через интерфейс JTAG.

  • Питание от 220В.

  • Поддержка стандартных языков программирования.

  • Открытый исходный код всех компонентов программного окружения.

Приведенные требования к системе базируются на необходимости поддержки таких свойств, как кросс-платформенность, открытость и легкость расширения системы. Благодаря подключению комплекса к локальной сети будет обеспечена возможность удаленной работы по функциональному тестированию СБИС. Обеспечение поддержки стандартных языков программирования и открытости исходного кода компонентов программного окружения позволит другим разработчикам вносить необходимые изменения в систему.

    1. Выводы к главе

В данной главе был произведен анализ предметной области, а именно:

  1. рассмотрен интерфейс JTAG, его особенности и определена его специфика;

  2. произведен анализ существующих программно-аппаратных решение в области JTAG тестирования, выявлены их достоинства и недостатки;

  3. сформулированы требования к разрабатываемому комплексу.

В результате выполнения данных задач была выявлена потребность в разработке нового подхода для функционального тестирования СБИС 1907КХ018 SRIO коммутатора разработки НИИСИ РАН.