JTAG-технологии
580 subscribers
124 photos
7 videos
7 files
138 links
Всё о тестировании электроники с помощью периферийного сканирования JTAG. Тестопригодная разработка, производственный электроконтроль, оснастка.
Download Telegram
Микроконтроллер Geehy APM32F103.

На прошлой неделе наши друзья из компании Эпсилон предоставили нам для изучения демо-плату с микроконтроллером APM32F103 от Geehy Semiconductor.
Мы создали под неё BSDL-файлы, верифицировали их. Соорудили нетлист, чтобы можно было продолжить работу в JTAG ProVision и получать диагностику дефектов в удобном виде. Итоговый проект содержит как автоматически сгенерированные приложения, так и скрипты, написанные вручную.
В части идентификации помимо стандартного Инфратеста мы запускаем тест BSREG, который проверяет целостность регистра периферийного сканирования и его длину. Кроме этого ARM-ядро Cortex-M3 позволяет считать идентификаторы ядра из внутренних регистров, а также уникальный 96-битный номер, запрограммированный в кристалл на фабрике.
Ну и чтобы не оставлять периферию без внимания, тестируем светодиоды, кнопки, RS232, резисторы подтяжки, часть разъёмов. А на сладкое - работаем с прошивкой внутренней флэш (куда кроме программы входят System Memory Area и Option Bytes).
Разрешите представить наших друзей, партнеров и вообще хорошую, отзывчивую компанию "Эпсилон" и их телеграм-канал. Это единственный поставщик ЭКБ из КНР, который дает нам возможность заглянуть, а как дела JTAG-ом у Китая, и дарить эту информацию вам.

Компания «Эпсилон» - надежный поставщик электронных компонентов производства Китайской Народной Республики. Имея богатый опыт работы (более 10 лет), «Эпсилон» также предоставляет проверенную и достоверную информацию о китайской ЭКБ и обеспечивает качественную техническую поддержку при содействии инженеров заводов-изготовителей.

Подписывайтесь на канал и следите за новостями о китайских ЭКБ. А в боте-помощнике можно ознакомиться с каталогами товаров наших поставщиков.
Channel photo updated
Заметьте, какое стандартизированное количество ошибок!
This media is not supported in your browser
VIEW IN TELEGRAM
Дорогие подписчики,
уходящий год принёс нам немало потрясений, что даже сложно подводить итоги. Однако мы по-прежнему с вами и очень надеемся, что наступающий год подарит только хорошие изменения в вашей профессиональной деятельности.
Как и год назад поздравление от системы JTAG ProVision и демоплаты JT2156.
Команда JTAG Technologies Russia
Добрый день, коллеги! Приближается выставка Экспоэлектроника/Электронтехэкспо. Если у вас есть желание встретиться на выставке, обсудить вопросы JTAG-тестирования, пишите в личку @AlexeyJtagovich
Channel name was changed to «JTAG-технологии»
Добрый день, уважаемые подписчики!

Давно здесь не было записей, думаю, все прекрасно понимают, почему. Ситуация в мире не становится, скажем так, проще. Поэтому настал момент немного изменить формат нашей работы, работы этого канала (который, к слову сказать, всегда был авторским, не официальным) и вообще взгляда на модели нашего взаимодействия.

В связи с вышесказанным сообщаю вам, что теперь мы готовы предложить вам серию услуг.

Разработка приложений для тестирования ваших плат «под ключ» в средах JTAG ProVision и JTAG Live. Не секрет, что на российских предприятиях поставлено за многие годы довольно большое количество станций периферийного сканирования, некоторым из них может оказаться лет 10-15. Уже не всегда есть в наличии специалисты, готовые создать тестовые приложения для выпускаемых сейчас изделий, а тестирование, возможно очень требуется.

Обучение вашего персонала работе с JTAG ProVision и JTAG Live, контроллерами и модулями DIOS и MIOS. Этот пункт также может быть интересен тем, у кого уже имеется станция периферийного сканирования JTAG Technologies, а специалистов, знающих как это работает, – нет.

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

Также, обращайтесь и с нестандартными задачами, которых может быть великое множество. Это и помощь с BSDL-файлами, модели на отечественную ЭКБ, и реверс-инжиниринг, и многое другое.

По всем вопросам, пожалуйста, пишите личные сообщения @AlexeyJtagovich. Все вопросы по поводу работы/не работы известной компании в РФ - также в личку.
Итак, после небольшого перерыва начинаем опять разбираться, а как же тестировать электронику в новых условиях, когда на руках российская и китайская ЭКБ. Что с периферийным сканированием, товарищи? Первый пациент, попавший под нож boundary-scan-хирурга - это китайский Fudan JFMK50T4. Спойлер: регистр BSCAN там есть. Уже нашли.

Плату нам дали в ООО Эпсилон.
По просьбам трудящихся, выкладываем в YouTube недостающие записи вебинаров, которые проводились в 21-22 годах. На ресурсе GoToWebinar теперь их не посмотреть, ну и ладно, не очень-то и жалко, тормозило там все страшно.

Вот вебинар-демонстрация, показывающий разработку приложений в JTAG ProVision.
https://youtu.be/46hKf5h_hq4?si=KFAWDTGTTntysW6_
Ну и еще одно видео вебинара, посвященного JTAG Live Studio теперь в Ютубе. Этот вебинар мы проводили до начала переломных событий в российской электронике, но уже каким-то внутренним чутьем поняли, что хорошо бы рассказать и о реверс-инжиниринге тоже (где-то начиная с 1 ч 43 мин. видео). С тех пор был приобретен некий опыт, и, конечно, сейчас можно было бы рассказать больше о методах реверс-инжиниринга с помощью инструментов boundary-scan, чем в данном вебинаре. Наверное, нужно будет еще раз консолидировать опыт и записать какое-то видео.

https://youtu.be/KzHV1UWol2A?si=eIkQNrIUMaSr415a
Итак, спустя, можно сказать, годы, дотянулись руки до Элвиса (1892ВМ14Я). Коллега разбирается пока что. Ну, вот никак раньше не попадал к нам сей зверь. Уж и китайцы были, и наши все были… Промежуточный результат: стандарт IEEE1149.1std там выполнен и работает. Со странностями, конечно. И требуется выполнить энное количество Compliance Patterns (вообще в BSDL их 25, учтите это, разработчики плат, изучайте BSDL). Но это все поправимо.

Вот что странно и ведет к значительной потере тестового покрытия – так это то, что линии процессора, которые идут к оперативной памяти хоть многие и имеют атрибут “inout bit”, но в регистре сканирования они - только входные, выходных или bidir-ячеек нет. Кстати, это нарушение правил BSDL. Зачем тогда, в принципе, реализованы там ячейки периферийного сканирования? С однонаправленностью не создашь тест памяти с помощью регистра boundary-scan: для многих линий нужно и чтение и запись.
Продолжение предыдущего поста 👆

Опытные пользователи систем периферийного сканирования знают, что за счет автоматического теста микросхем ОЗУ порой иногда обеспечивается чуть ли не половина тестового покрытия плат. Если бы память не напаивалась, была бы в планках, то проблем бы (почти) не возникло бы. А с таким раскладом, чтобы протестировать, скажем, пайку процессора, нужно размещать контактные площадки и использовать ICT-адаптер. А пайку микросхем памяти – ну если мы, например, используем адаптер ICT на этих линиях, то там где-то в недрах, значит, подключен DIOS, его можно и использовать для генерации и запуска тестов ОЗУ. Но для этого-то тест ОЗУ с помощью периферийного сканирования и нужен, чтобы не ставить контактных площадок: на чувствительных линиях памяти им совсем не место!
Что ж, будем смотреть дальше!
Что ж, с FPGA JFMK50T4 от Shanghai Fudan Microelectronics оказалось все не так-то просто, как хотелось бы. Если раньше, в случае с BMTI у нас один в один подходили BSDL-файлы от Xilinx, то здесь пришлось поковыряться. И более того, если возникнет необходимость, видимо придется разбираться с BSDL и далее. Сейчас BSDL вполне рабочий, но есть нюансы. Приличная часть ячеек может только выставлять данные, а считывать данные не хочет. Но есть и «нормальные» ячейки, которые корректно делают и «drive» и «sense».

Вкратце, что пришлось сделать. Китайская сторона на самом деле предоставила даже BSDL. Но открыв этот BSDL, увидел, что соответствующей чипу Fudan является только часть, описывающая регистр Boundary-Scan. Пинмап и порты оставлены от Xilinx. Это было и болью и удачей одновременно. Боль в том, что нужно было переделывать, а радость в том, что Fudan в описании регистра дал подсказку о физическом расположении пинов и соответствии им ячеек, благо в названиях многих IO имелся номер шарика BGA. Почему так? Подозреваю, что BSDL был сделан не для периферийного сканирования, где нужны физические пины, а для корректной работы в Vivado.

Какие-то пины все же пришлось додумывать самому, не все были в подсказке. Особенно такие, как PROGRAM_B, который у Xilinx всегда должен быть в «1», чтобы работало периферийное сканирование, а здесь все работает только при «0». Тоже загадка.

Судя по всему, требуется тонкая настройка BSDL, которая является довольно кропотливым делом. Однако следует заметить, что даже с таким BSDL удалось протестировать и стереть конфигурационную флэшку FM25Q128A (тоже Fudan Micro), воспользовавшись моделью от западного аналога.

Скоро опишем все мытарства в статье, ссылку обязательно дадим. А пока, ниже предоставляем видео со светодиодами!
Работа светодиодов на отладочной плате разработки Сергея Беззубова, произведенной российской компанией Аркос-Дизайн по заказу АО Эпсилон. Создано приложение ActiveTest, весь банкет только за счет регистра сканирования. Конфигурация, как я писал в посте выше, стерта совсем. Но на этих же светодиодных линиях регистр не хочет пока что читать себя ((
Итак, подведем небольшой итог проверки отладочной платы Салют ЭЛ-24ОМ1 с процессором 1892ВМ14Я на предмет периферийного сканирования.

Из позитивного:
💡Имеется корректный рабочий BSDL-файл на процессор (что уже является великой ценностью в сегодняшнем мире).
💡Можно добиться работающего теста межсоединений, причем, с довольно большим количеством тестовых векторов и цепей в тестовой таблице истинности.

Из негативного:
🗜Вышеупомянутый тест стабильно работает только на частотах TCK от 1 до 5 кГц. В BSDL от ЭЛВИСа заявлена максимальная частота TCK: 10 МГц. Требуется дальнейшая отладка.
🗜Уже описанная в посте ранее проблема однонаправленности ячеек bscan на линиях оперативной памяти. Судя по всему, эту проблему «отладить» как первую не удастся. По BSDL «железно» видно то, что ячейки у линий ОЗУ идут одна за другой, никаких спрятанных «internal», как это бывает, не наблюдается.

Напишите в комментариях, удалось ли вам поработать с периферийным сканированием 1892ВМ14Я, и были ли проблемы?
Решил написать немного более подробно относительно вчерашнего поста про ЭЛВИС.

Все-таки не думаю, что такое ограничение рабочей частоты TCK до 5 кГц – это не проблема самого процессора 1892ВМ14Я. Чтобы не подумали, что я все валю именно на него.

Практика показывает, что процентов 95% нестабильности работы тестов периферийного сканирования вызвана схематикой платы, а не несовершенствами компонентов в части JTAG. Каким бы совершенным не был САПР разработки тестов, видящий все Enable, Disable и тому подобное, всегда найдется какой-то косвенный сигнал, который «через что-то» случайно может все обвалить. И в зависимости от частоты, количества векторов, цепей и драйверов, это событие может произойти, а может не произойти. Такое я наблюдал много раз, сидя с осциллографом на линиях сброса и питания исследуемых плат. А у 1892ВМ14Я еще и 25 Compliance Patterns… И, кстати, пара Compliance не выполнена. Там, где должен быть ноль для обеспечения периферийного сканирования, идет частота с генератора.

В пользу того, что дело не в частоте, как таковой, говорит и то, что тест инфраструктуры (Capture, ID-code и TRST) проходит у 1892ВМ14Я при любой частоте, а значит целостность сигналов JTAG не страдает особо сильно при повышении TCK.

По поводу второй проблемы, как я уже написал вчера, скорее всего, именно так все и реализовано на уровне кристалла, и тут ничего не изменишь. Это я по поводу линий под ОЗУ. Нам раньше встречались «сырые» BSDL, где разработчик, опасаясь некорректной работы «закрывал» те или иные ячейки для работы. Сделать это, не уменьшив длину регистра периферийного сканирования (которую, конечно же, нельзя уменьшать ни в коем случае), иногда бывает просто: ячейки просто объявляются внутренними. Так вот, здесь видно, что нет никаких «закрытых» ячеек.