15 октября 2015
Автор и должность
Алексей Иванов
Издание
Вектор высоких технологий № 6(19) 2015
Посмотреть в формате pdf

В июне в Санкт-Петербурге прошла первая всероссийская конференция пользователей систем периферийного сканирования JTAG Technologies, собравшая инженеров более чем с 20 отечественных предприятий. География предприятий-участников включает Санкт-Петербург, Москву, Красноярск, Тулу, Саратов, Самару, Ульяновск, Уфу. Конференция проходила на комфортабельном теплоходе, который прошел путь от Дворцовой набережной до Кронштадта и обратно.

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

Приведем краткий обзор докладов конференции.

В докладе Виктора Ли, инженера ООО НПП «НТТ», Санкт-Петербург, были представлены достоинства применения в сложных цифровых изделиях коммутационных микросхем JTAG-интерфейса. При большом количестве цепочек из компонентов, поддерживающих периферийное сканирование, на плате возникают неудобства при размещении множества отдельных JTAG-разъемов. К тому же количество TAP-портов контроллера может оказаться меньше, чем разъемов. А такие сложные платы все чаще производятся российскими производителями. Все эти трудности можно решить, используя в схеме специальные микросхемы, мультиплексирующие JTAG-интерфейс (англ. — scan bridge). Такие микросхемы, вполне доступные на рынке, имеют, как правило, один первичный TAP-порт, который и выходит на единственный внешний JTAG-разъем платы, и несколько вторичных, предназначенных для коммутации внутренних JTAG-цепочек платы РИС 1. Применение таких микросхем на платах позволяет также тестировать их в составе сборки, где они объединяются в систему с помощью той или иной кросс-платы. Часто мультиплексирующие JTAG-микросхемы имеют адресацию, что открывает путь к тестированию целых блоков с произвольным выбором плат, которые требуется проверять или программировать в рамках текущей задачи РИС 2. В докладе было рассказано о критериях выбора таких микросхем, нюансах работы с ними, использовании в JTAG ProVision. Выпускаются JTAG-мультиплексоры различными компаниями, однако не все они удобны в применении, и не у каждого производителя открыта документация.

Второй доклад Виктора Ли был посвящен опыту использования при тестировании плат стандарта IEEE 1149.6. Это расширение стандарта IEEE 1149.1, позволяющее тестировать высокоскоростные соединения, представляющие собой дифференциальные пары и часто развязанные конденсаторами РИС 3. Классический стандарт периферийного сканирования 1149.1 в этом случае не справится с тестированием, выдав ложные сообщения о дефектах, расценив емкость как обрыв, или не обнаружив дефект, если обрыв произошел на одной из двух линий дифпары. Стандарт IEEE 1149.6 добавляет поддерживающей его микросхеме дополнительные структуры к обычным ячейкам периферийного сканирования, позволяющие генерировать и детектировать импульсы, а также отдельно тестировать линии дифпар. До недавнего времени этот стандарт воспринимался как нечто экзотическое, так как немногие микросхемы его поддерживали, даже имея высокоскоростные интерфейсы. Теперь количество таких микросхем растет, и они появляются и на отечественных изделиях. Было отмечено, что JTAG ProVision поддерживает выполнение тестов и диагностику дефектов на линиях с 1149.6. В процессе работы были обнаружены обрывы, короткие замыкания, замыкания на землю и питание.

Существует метод, альтернативный тестированию высокоскоростных линий с помощью IEEE 1149.6 — это технология BERT (Bit Error Rate Testing). Ее суть в том, что на рабочей скорости передается большое количество тестовых пакетов, затем анализируется количество корректно принятых данных. Эта возможность должна поддерживаться процессором и не имеет отношения к периферийному сканированию, будучи реализована в ядре. Недостаток заключается в том, что технология не стандартизирована как IEEE 1149.6 или 1149.1, поэтому создание таких тестов представляет собой долгий и кропотливый труд, а также требует квалификации разработчика цифровой электроники. Преимущество BERT — еще более высокочастотная реализация тестирования, позволяющая диагностировать не только грубые дефекты монтажа, но и скрытые, например, холодную пайку, некачественное изготовление ПП и т. п.

Алексей Бутько, инженер Самарского государственного Аэрокосмического Университета им. академика С. П. Королева (СГАУ), рассказал о первой в России образовательной программе дополнительного профессионального образования (повышения квалификации) по JTAG-технологиям. Несмотря на значительную потребность предприятий в специалистах, владеющих методами тестопригодного проектирования и производственной диагностики, подготовку или переподготовку специалистов в данной области практически не проводит ни один отечественный ВУЗ. СГАУ давно сотрудничает с российским представительством JTAG Technologies и имеет лабораторию, оснащенную учебными платами, контроллерами периферийного сканирования и ПО JTAG ProVision.

В процессе обучения приобретаются навыки анализа тестопригодности проектируемых изделий с использованием программного пакета ProVision, создания диагностических проектов цифровых систем любой степени сложности, оптимального выбора элементной базы проектируемого изделия с учетом соотношения стоимостных затрат и степени тестового покрытия, подготовки исходных данных проекта, интерпретации результатов диагностики изделия. Также учащиеся получают знания о современных методах контроля электронных систем, принципе построения и функционирования JTAG-интерфейса и функциональных возможностях и особенностях использования программного пакета ProVision. Срок обучения — 72 часа, включающих как лабораторные, так и лекционные занятия.

Тест кластеров (компонентов без поддержки периферийного сканирования) в большинстве случаев обеспечивает самую весомую часть тестового покрытия цифрового изделия. Ведь на плате может быть всего один компонент, поддерживающий стандарт IEEE 1149.1, а все остальное — окружающая периферия, тестируемая за счет JTAG-логики основного компонента. Часто тесты кластеров создаются с помощью автоматической генерации на основе моделей, уже имеющихся в ПО для создания приложений периферийного сканирования. Но порой приходится создавать тесты с помощью сред программирования (когда, например, требуется более расширенное тестирование). Доклад инженера технической поддержки JTAG Technologies Гиви Чхутиашвили описал разработку и запуск скрипта в среде JFT (JTAG Functional Test) в режиме реального времени. Полученный тест был тут же запущен на тренировочной плате JT2156. Основное внимание уделялось тонкостям разработки скриптов многоразового использования (модулей Python). Единожды написанный тестовый скрипт можно не только использовать многократно в одном и том же или разных проектах, но и привязывать его к нетлисту автоматически. Как это сделать — было продемонстрировано в докладе.

Очень интересным и полезным с прикладной точки зрения был доклад Владислава Щербины из ВНИИА им. Н. Л. Духова, посвященный различным трудностям, с которыми столкнулись сотрудники предприятия в процессе программирования ПЗУ, микроконтроллеров и ПЛИС с использованием технологии периферийного сканирования.

Доклад состоял из нескольких частей. В первой части рассматривалось решение проблемы тестирования связей ПЗУ, установленных на плате. На участок тестирования поступали платы с уже запрограммированными микросхемами флэш, поэтому стандартное тестирование шин адреса и данных, реализованное на основе готовой модели флэш-памяти в JTAG ProVision, не подошло, так как такой метод может нарушить записанные данные. Но существует также и другой метод создания тестов кластеров, менее автоматизированный, позволяющий рассматривать электронный компонент как «черный ящик», подавая воздействия и считывая отклик. В случае с флэш-памятью метод сводится к установке определенных адресов и считыванию из них данных, которые заранее известны. Естественно, общая универсальная модель не может учитывать такие частные случаи с уже запрограммированными данными. Реализованный специалистами ВНИИА тест в JTAG ProVision требует входных файлов с описанием воздействий и откликов. Для простой логики такие файлы нетрудно создать вручную, а вот для флэш микросхем легче создать программу, конструирующую их на основе файлов данных ПЗУ, что и было реализовано. Такой подход, как оказалось, можно использовать и при программировании ПЗУ небольшого объема на платах в отсутствие опции автоматического создания приложений для прошивки флэш в JTAG ProVision. Также данный метод может быть полезен как инструментарий визуализации и быстрой локализации неисправности после неудачной прошивки ИМС.

Вторая часть доклада была посвящена программированию микроконтроллеров Microchip PIC32 через JTAG-интерфейс и нюансам процесса. В третьей части были представлены достоинства применения стандарта IEEE 1532 при программировании ПЛИС с помощью JTAG. Этот стандарт (который появился в 2000 году) является дополнением к IEEE 1149.1 и унифицирует программирование ПЛИС. Устройства, соответствующие данному стандарту (независимо от производителя), могут конфигурироваться, стираться и считываться и верифицироваться как в одиночку, так и одновременно (если они объединены в цепочку). Алгоритм программирования должен быть описан отдельным разделом в BSDL-файле, содержащем информацию о 1532. Стандарт поддерживается в JTAG ProVision. Специалисты из ВНИИА столкнулись с тем, что имелся только файл проекта формата POF (применяется программатором ByteBlaster), который не может использоваться автоматическим ПО для создания приложений для программирования. JTAG ProVision поддерживает только генерацию приложений на основе файлов SVF, JEDEC, STAPL и IEEE 1532. Тем не менее, именно стандарт IEEE 1532 позволяет решить проблему, клонировав конфигурацию из запрограммированной ПЛИС. Не обошлось и без трудностей по вине производителей ПЛИС, некорректно описывающих логику 1532 в своих моделях. Возможности решения этих трудностей также были рассмотрены в докладе. Отметим, что для применения операций стандарта IEEE 1532 его должна поддерживать соответствующая микросхема.

Доклад Натальи Ивченко из ЗАО СБТ, Зеленоград, был посвящен использованию среды JFT и языка Python для создания полноценных функциональных тестов законченных изделий. Интересен тот факт, что тестируемое изделие (пульт управления) не имеет в своем составе JTAG-компонентов, поэтому для его тестирования использовался доступ DIOS-модуля — цифрового модуля ввода-вывода, подключенного к контроллеру периферийного сканирования — к внешним разъемам. Тестируемый пульт управления РИС 4 имеет двухстрочный знакосинтезирующий индикатор и тактовые кнопки (8 штук). Тестирование проводится в два этапа: проверка индикатора и проверка кнопок. Весь тест полностью написан на языке Python. Для удобства пользователя создан графический интерфейс с помощью подключенной внешней библиотеки Tkinter (в свободном доступе) РИС 5. На первом этапе на индикаторе формируется бегущая строка, выполняя проверку всех знакомест. На втором этапе происходит проверка на залипание кнопок и анализ реакции на нажатие кнопок. При завершении тестирования кнопок в нижней строке высвечивается результат тестирования ПУ.

Доклад Натальи Ивченко показывает, что системы периферийного сканирования можно применять не только для проверки плат на наличие дефектов монтажа (структурное тестирование), но и для функциональной проверки блоков, даже без микросхем, поддерживающих периферийное сканирование. При этом JTAG ProVision позволяет объединить тесты, использующие периферийное сканирование по прямому назначению, и функциональные тесты в одну последовательность. Подобные функциональные тесты, созданные с помощью среды программирования JFT и языка Python, можно сделать не только в JTAG ProVision, но и в программном пакете JTAG Live Studio. Последний также имеет в своем составе среду программирования (Script), базирующуюся на Python.

Особый интерес представляет доклад Ивана Дергунова из АО «НИИ ТП», посвященный интеграции приложений, разработанных в JTAG ProVision, в среду LabVIEW. Данный вопрос волнует многих инженеров, занятых тестированием, так как на предприятиях радиоэлектронной промышленности широко используется оборудование и ПО National Instruments. Естественно возникает вопрос: можно ли тестовые приложения формата ProVision запускать с помощью данных средств, на базе которых на отечественных предприятиях часто построены универсальные стенды контроля. JTAG Technologies предлагает «Пакеты интеграции», позволяющие выполнить эту задачу, но без реальных примеров инженерам трудно понять, насколько просто или сложно их использовать. Доклад показал, что процесс создания тестовых алгоритмов в LabVIEW с использованием JTAG-тестов — вполне простой и технически несложный процесс. Можно не только запускать приложения, но и выводить результаты тестирования и диагностики. Весь процесс интеграции был показан по шагам, а также представлен пример тестовой программы в LabVIEW. Специалисты НИИ ТП организовали рабочее место не только с программной, но и с аппаратной интеграцией периферийного сканирования в функциональные тестеры на базе шасси PXI РИС 6. Контроллер периферийного сканирования имеет не привычный всем пользователям настольный вид, а выполнен в виде карты PXIe. Внешним является только разветвитель QuadPOD на четыре JTAG-порта.

Следующим стало выступление Константина Храмцова из ООО «МСД Холдинг», Санкт-Петербург, использующего для тестирования изделий ПО JTAG Live Script. Изделие представляет собой лазерную быстродействующую систему диагностики контактного провода «Износ». В отсутствие автоматических средств проектирования тестов, таких как ProVision или AutoBuzz, инженерам пришлось создать скрипт на языке Python, изучающий соединения «золотой платы», BSDL-модели JTAG-компонентов и создающий файлы с полученными связями. Эти файлы затем используются для тестирования других, потенциально неисправных, плат и сравнения их межсоединений с эталоном. Проделанная работа показывает, что при грамотном и творческом подходе можно реализовать автоматический тест и диагностику плат даже с минимальным набором программных средств.

Конференция прошла под девизом: «Нет ничего невозможного!». Хорошие средства проектирования тестов, помноженные на творческий потенциал и квалификацию инженеров, позволяют решать любые задачи, связанные с тестированием цифровой электроники.