Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: BSLD модели
Форум разработчиков электроники ELECTRONIX.ru > Печатные платы (PCB) > Разрабатываем ПП в САПР - PCB development
Serg1976
что это за модели такие? И для чего их можно использовать. Просвятите пожалуйста.
falling_stone
Может, BSDL - Boundary scan description language?
Тогда эта модель должна описывать JTAG ресурсы микросхемы (модуля):
длину регистров,
типы ячеек,
их порядок и распределение по выводам,
поддерживаемые команды,
и т. д.
3.14
В добавок.
Когда писал свой программатор для CPLD и XC18v02, эти файлы оказались жизненно важными. Т.к. нигде, кроме них не нашел алгоритм программирования, чтения, стирания.
daiquiri
Цитата(Serg1976 @ Oct 29 2004, 19:56)
что это за модели такие? И для чего их можно использовать. Просвятите пожалуйста.
*

Их можно использовать для получения доступа к микросхемам, подключенным к ногам корпуса с BSDL моделью. Например прошить FLASH, подключенную к процессору, поддерживающему JTAG.
3.14
<Например прошить FLASH, подключенную к процессору, поддерживающему JTAG. >
Вы сами этим пользуетесь, если да, наведите пожалуйста на софт это позволяющий.
Кнкн
Можно посмотреть Scanworks

www.asset-intertech.com/scanworks.html
daiquiri
Цитата(3.14 @ Nov 26 2004, 15:14)
<Например прошить FLASH, подключенную к процессору, поддерживающему JTAG. >
Вы сами этим пользуетесь, если да, наведите пожалуйста на софт это позволяющий.
*

Мы этот софт сами писали.
3.14
Тогда пожалуй не стоит обнадеживать товарища.
Все эти JTAGовые штучки довольно коварные. Сам раза три сталкивался с задачками программирования, сканирования. И каждый раз как на грабли наступал.
daiquiri
Цитата(3.14 @ Nov 29 2004, 19:14)
Тогда пожалуй не стоит обнадеживать товарища.
Все эти JTAGовые штучки довольно коварные. Сам раза три сталкивался с задачками программирования, сканирования. И каждый раз как на грабли наступал.
*

Честно говоря, не помню никакого коварства :D Были мелкие траблы из-за недонимания интерфейса и протокола - у нас не было текста стандарта, пришлось все по совокупности разных публикаций восстанавливать. А после ликвидации всяких "шероховатостей" все работало как надо - и аппаратная часть и программная.
3.14
Вот повесть из трех частей.

Часть первая "Все мастдай!"
Наши блоки обычно представляют из себя PC104 и соответственно ISA модули к неей подключенные. Изначально задумывалось посредством PC-LPT-JTAG платы на лету перешивать. Дошло до софта, решил написать SVF плейер под QNX. Я в жизни столько не матерился, сколько за те две недели. Особенный трепет у меня вызывал такой глюк. ID плисок читается нормально, все остальное нагибается, ошибся в управлении JTAG машины состояний. В итоге заработала. Но вот незадача на одной плате с наводками напряженка оказалась и вся цепочка не работает. В итоге задвинули на время идею.

Чась вторая "Приятная"
В наших крейтах иногда до 1000 контактов доходит. В ручную две монтажницы один крейт тестируют дня два, и то "этот провод отсюда туда" а вот куда еще не важно. В общем задался я целью сделать некоторое устройство позволяющее проверить наличие контакта каждый с каждым на сколько нужно контактов да еще и при желании чтоб порядок сопротивления контакта можно было оценить (1 или 10 или 100). Решил сделать так. В XPLA3 разместить два сдвиговых регистра один на выход, другой на вход. На одном из выходов появляется лог. уровень, через регулируемый промежуток времени защелкиваю входной регистр, выдвигаю его и смотрю куда дошол сигнал, по интервалу времени между включением выхода и защелкиванием входа можно судить о сопротивлении (забыл сказать на каждый вход посадил по кондеру чтоб увеличить постоянную времени). Пришли плисы, стал делать, оказалось выходы с третьим состоянием не у всех буферов есть. Что делать, решил в качестве выходного регистра использовать JTAG регистр пограничного сканирования. Принялся за дело. Долго пялился как баран на свои исходники по SVF плейеру, стал переносить на ATmega128, опять нашел неточности управления JTAG машиной сотояний (почему работало?). Во время написания программы которая проверяет соответствия сигналов и ячеек регистра JTAG, чуть мозги не вывихнул. В итоге все отладил, проверил пару крейтов, поставил в угол (наверное там чегонибудь уже отпало) smile.gif

Часть третья "Чудовищная"
Решили мы снова вернуться к конфигурированию/верификации на лету. Предложил я следующее. На каждой плате поставить по AT90s8535, их в свою очередь объеденить в одну последовательную шину и подключить к LPT. Далее с PC можно творить все что хочеш. Недельку возился с протоколом "взаимопонимания" и "уважения" всех всеми. Далее решил повторить SVF плейер только через эти "удлиннители". Вдруг оказывается что произошли изменения в формате SVF, стали спользовать комманды позиционирования устройства в цепи. Далее опускаю эволюцию мысли, в итоге по соображениям быстродействия пришел к оперированию с бинарниками прошивок. Реализую нужные JTAG комманды, вроде все железно, подпрограммы проверены. Испытываю на двух разных платах с одиночными чипами. Читаю ID xc18v02 - все ок, читаю содержимое xc18v02 - все ок, читаю ID xc95216 - все ок, читаю содержимое xc95216 - нифига. Ну тут долго ставил эксперименты в результате которых сжег (причем по непонятной причине, после цикла прграммирования кристалл перестает опознаваться по JTAG) 5 CPLDшек sad.gif После такого, забил на CPLD, сфокусировался на PROM и FPGA. Стал экспериментировать с цепью из двух xc18v02 и двух Spartan2, тоже происходили странности, оказалось ОПЯТЬ ошибки в управлении машиной состояния JTAG.

Так что я бы не стал сильно обольщаться по поводу работоспособности wink.gif
daiquiri
Все верно, работа с JTAG - хорошее упражнение в паранойе, начиная от проектирования цепочек на уровне схем, потом трассировка, и, наконец, работа с реальными платами... Но, с другой стороны, кто-то уже говорил: "нормальные люди в проектировщики не идут..." :D
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.