JTAG программатор

Радиотехника, платы, схемы, оборудование, фото- видео- приборы, компьютеры
Ответить
Аватара пользователя
kapusta1986
assistant
assistant
Сообщения: 103
Зарегистрирован: 14 июн 2014, 13:56
Версия LabVIEW: 2014, 2015
Откуда: Караганда
Контактная информация:

JTAG программатор

Сообщение kapusta1986 »

Товарищи! :drink:

Я думаю что это редкость.... Но задам вопрос: кто нить реализовал JTAG программатор? Задача заключается в программировании ПЛИС устройства, через sbRIO или любой другой системы. В качестве прошивальщика используется LabView...

Документация JTAG Programming http://www.xilinx.com/support/documenta ... app058.pdf

Похожая ветка форума: http://labviewportal.org/viewtopic.php?f=21&t=8657

JTAG LIB National Instrumets: http://www.ni.com/example/31157/en/

Я не прошу чтоб за меня сделали, просто задать вопросы, договоримся думаю... )
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: JTAG программатор

Сообщение Vitekkz88 »

Программировать любую ПЛИС из под LabVIEW не получится. Разработчик поставляет собственные средства для программирования и прошивки ПЛИС(у Altera,Xilinx они разные. Более того, для разных семейств разный САПР). Другое дело железо от NI. Там так же стоят ПЛИС от Xilinx и Altera, но сам процесс программирования и прошивки абсолютно не схож с классическими САПР. Всё сделано за Вас и для текущего чипа.
Если хотите прошивать сторонние устройства, то мой Вам совет: берёте оригинальный программатор, подключаете его и прошиваете с помощью родного САПР-а.
Второй вариант - использовать скрипты от Xilinx. После установки ISE получите доступ к Xilinx-командной строке, с помощью которой можно прошивать ПЛИС от Xilinx. Вызывать исполнение скрипта можно через LabVIEW. Я делал подобное.
Но вот так вот взять и подключить программатор, опознать его в LabVIEW и начать заливать прошивку в ПЛИС - не получится. Не всё так просто устроено.
В своих проектах мы пошли таким путём: используем Software-контроллер(чип SP6), в нём реализовываем файловую систему. Подключение к устройству по COM-порту. Заливаем файл с прошивкой в файловую систему контроллера и даём команду контроллеру на перепрошивку ПЛИС.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
kapusta1986
assistant
assistant
Сообщения: 103
Зарегистрирован: 14 июн 2014, 13:56
Версия LabVIEW: 2014, 2015
Откуда: Караганда
Контактная информация:

Re: JTAG программатор

Сообщение kapusta1986 »

Ясно! Спасибо за ценную информацию!

Я думал, что используя цифровые входы/выходы можно программировать JTAG. Для этого есть описанная машина состоянии, описание протокола и т.д.

Я нашел только что ресурс http://www.fpga4fun.com/JTAG.html, там прилагается сишные коды, вот читаю, может там что то интересное будет...

А мое видение в следующем: с помощью родного программатора при прошивке FPGA/CPLD отследить осциллом (или анализатором) что где дрыгается, и постараться повторить такое на sbRIO.

А что Software-контроллер(чип SP6) ? Я в инете не могу найти....
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: JTAG программатор

Сообщение Vitekkz88 »

kapusta1986, JTAG - это интерфейс передачи данных. Если Вы хотите его реализовать на базе SbRIO, то Вам следует использовать стандарт на этот интерфейс. Но этого, к сожалению, очень мало. Всё лежит гораздо глубже, начиная от структуры файла прошивки и заканчивая выходными данными, которые гоняются по интерфейсам.
SP6 - это сокращение от Spartan-6 . Есть такая ПЛИС у Xilinx.
Software-контроллер на базе чипа именуется Microblaze. Как он реализован: в рамках одной ПЛИС задействовано часть ресурсов на реализацию программного контроллера.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
kapusta1986
assistant
assistant
Сообщения: 103
Зарегистрирован: 14 июн 2014, 13:56
Версия LabVIEW: 2014, 2015
Откуда: Караганда
Контактная информация:

Re: JTAG программатор

Сообщение kapusta1986 »

Вообщем продолжаю раскуривать JTAG.

По сути выяснилась интересная вещь (спасибо сайту Марсоход (гуглится)):
1. Берем и компилим файл Serial Vector Format svf описывающие последовательность команд для TAP контроллера - Xilinx, Lattice, Altera - без разницы, т.к. файл команд стандартный.

2. Далее с помощью сигналов JTAG: TDI, TMS, TCK (отправка) и TDO (прием) в микросхему через ее TAP контроллер можно подавать различные команды c этого файла

По сути, есть http://www.ni.com/example/31200/en/ статья, как библиотеку в шапке JDM привязать к пинам DIO. К сожалению, для sbRIO такой возможности нет. Придется городить свой велосипед. Т.е. выделить пин на тактовый сигнал - TCK , пин на TDI - данные. TMS - управление TAP. TDO - ответ FPGA/CPLD.

Пока что так, эксперименты продолжаются.... Ищу добрых людей, которые работают с JTAGом и пользуются технологиями граничного сканирования или хотя бы узнать, используются ли вообще в СНГ такие системы...


На сайте марсоход есть исходники на С++ Visual Studio для камня серии FPGA Cyclone II. Удалось залить прошивку с помощью FTDI программатора, теперь вот сижу - парюсь перепиливанием кода С++ в Labview RT + FPGA
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: JTAG программатор

Сообщение Vitekkz88 »

kapusta1986 писал(а):Ищу добрых людей, которые работают с JTAGом и пользуются технологиями граничного сканирования
Зачем, если Вам:
kapusta1986 писал(а):Удалось залить прошивку с помощью FTDI программатора, теперь вот сижу - парюсь перепиливанием кода С++ в Labview RT + FPGA
Нужна компания чтоб код переписать?)
Расскажите по порядку:
1. Какую ПЛИС Вам удалось прошить?
2. Прошивка ложилась именно в ПЛИС или во Flesh?
3. Вы хотите прошивать любую ПЛИС или только одну конкретную из определенного семейства и производителя?
Прочел статьи(надеюсь, что те же самые). Итак, почему Вас не парит предложение(https://marsohod.org/prodmbftdi/menusvfplayer):
Список возможных команд для каждой микросхемы свой, но вот логика работы TAP контроллера всегда одинакова для всех цифровых микросхем поддерживающих стандарт IEEE Std. 1149.1.
Автор сделал акцент на том, что реализация TAP-контроллера соответствует стандарту, а не на том, что список команд различный для каждой микросхемы. Поэтому информация и воспринимается как манна небесная. Далее, я не понял для какого проекта генерировался этот файл? Проект мигания диодом небось, да? Естественно, поскольку файл SVF может содержать очень длинные многострочные команды для записи в регистр SDR.
Вы же видите, что .svf - файл создаётся с помощью программных инструментов производителя чипа путём компиляции проекта(для Altera). В Xilinx этот файл создаётся отдельно с помощью некоторых манипуляций в iMPACT. Я просто пытаюсь понять, зачем это надо...на программаторе экономия что ли? Среда разработки для ПЛИС понадобится в любом случае. "Родное" средство прошивки тоже потребуется(хотя бы для проверки, если самопал будет сбой давать).
kapusta1986 писал(а):или хотя бы узнать, используются ли вообще в СНГ такие системы.
Конечно используются.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Ответить

Вернуться в «Железо»