Товарищи!
Я думаю что это редкость.... Но задам вопрос: кто нить реализовал 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/
Я не прошу чтоб за меня сделали, просто задать вопросы, договоримся думаю... )
JTAG программатор
- kapusta1986
- assistant
- Сообщения: 103
- Зарегистрирован: 14 июн 2014, 13:56
- Версия LabVIEW: 2014, 2015
- Откуда: Караганда
- Контактная информация:
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: JTAG программатор
Программировать любую ПЛИС из под LabVIEW не получится. Разработчик поставляет собственные средства для программирования и прошивки ПЛИС(у Altera,Xilinx они разные. Более того, для разных семейств разный САПР). Другое дело железо от NI. Там так же стоят ПЛИС от Xilinx и Altera, но сам процесс программирования и прошивки абсолютно не схож с классическими САПР. Всё сделано за Вас и для текущего чипа.
Если хотите прошивать сторонние устройства, то мой Вам совет: берёте оригинальный программатор, подключаете его и прошиваете с помощью родного САПР-а.
Второй вариант - использовать скрипты от Xilinx. После установки ISE получите доступ к Xilinx-командной строке, с помощью которой можно прошивать ПЛИС от Xilinx. Вызывать исполнение скрипта можно через LabVIEW. Я делал подобное.
Но вот так вот взять и подключить программатор, опознать его в LabVIEW и начать заливать прошивку в ПЛИС - не получится. Не всё так просто устроено.
В своих проектах мы пошли таким путём: используем Software-контроллер(чип SP6), в нём реализовываем файловую систему. Подключение к устройству по COM-порту. Заливаем файл с прошивкой в файловую систему контроллера и даём команду контроллеру на перепрошивку ПЛИС.
Если хотите прошивать сторонние устройства, то мой Вам совет: берёте оригинальный программатор, подключаете его и прошиваете с помощью родного САПР-а.
Второй вариант - использовать скрипты от Xilinx. После установки ISE получите доступ к Xilinx-командной строке, с помощью которой можно прошивать ПЛИС от Xilinx. Вызывать исполнение скрипта можно через LabVIEW. Я делал подобное.
Но вот так вот взять и подключить программатор, опознать его в LabVIEW и начать заливать прошивку в ПЛИС - не получится. Не всё так просто устроено.
В своих проектах мы пошли таким путём: используем Software-контроллер(чип SP6), в нём реализовываем файловую систему. Подключение к устройству по COM-порту. Заливаем файл с прошивкой в файловую систему контроллера и даём команду контроллеру на перепрошивку ПЛИС.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
- kapusta1986
- assistant
- Сообщения: 103
- Зарегистрирован: 14 июн 2014, 13:56
- Версия LabVIEW: 2014, 2015
- Откуда: Караганда
- Контактная информация:
Re: JTAG программатор
Ясно! Спасибо за ценную информацию!
Я думал, что используя цифровые входы/выходы можно программировать JTAG. Для этого есть описанная машина состоянии, описание протокола и т.д.
Я нашел только что ресурс http://www.fpga4fun.com/JTAG.html, там прилагается сишные коды, вот читаю, может там что то интересное будет...
А мое видение в следующем: с помощью родного программатора при прошивке FPGA/CPLD отследить осциллом (или анализатором) что где дрыгается, и постараться повторить такое на sbRIO.
А что Software-контроллер(чип SP6) ? Я в инете не могу найти....
Я думал, что используя цифровые входы/выходы можно программировать JTAG. Для этого есть описанная машина состоянии, описание протокола и т.д.
Я нашел только что ресурс http://www.fpga4fun.com/JTAG.html, там прилагается сишные коды, вот читаю, может там что то интересное будет...
А мое видение в следующем: с помощью родного программатора при прошивке FPGA/CPLD отследить осциллом (или анализатором) что где дрыгается, и постараться повторить такое на sbRIO.
А что Software-контроллер(чип SP6) ? Я в инете не могу найти....
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: JTAG программатор
kapusta1986, JTAG - это интерфейс передачи данных. Если Вы хотите его реализовать на базе SbRIO, то Вам следует использовать стандарт на этот интерфейс. Но этого, к сожалению, очень мало. Всё лежит гораздо глубже, начиная от структуры файла прошивки и заканчивая выходными данными, которые гоняются по интерфейсам.
SP6 - это сокращение от Spartan-6 . Есть такая ПЛИС у Xilinx.
Software-контроллер на базе чипа именуется Microblaze. Как он реализован: в рамках одной ПЛИС задействовано часть ресурсов на реализацию программного контроллера.
SP6 - это сокращение от Spartan-6 . Есть такая ПЛИС у Xilinx.
Software-контроллер на базе чипа именуется Microblaze. Как он реализован: в рамках одной ПЛИС задействовано часть ресурсов на реализацию программного контроллера.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
- kapusta1986
- assistant
- Сообщения: 103
- Зарегистрирован: 14 июн 2014, 13:56
- Версия LabVIEW: 2014, 2015
- Откуда: Караганда
- Контактная информация:
Re: JTAG программатор
Вообщем продолжаю раскуривать 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
По сути выяснилась интересная вещь (спасибо сайту Марсоход (гуглится)):
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
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: JTAG программатор
Зачем, если Вам:kapusta1986 писал(а):Ищу добрых людей, которые работают с JTAGом и пользуются технологиями граничного сканирования
Нужна компания чтоб код переписать?)kapusta1986 писал(а):Удалось залить прошивку с помощью FTDI программатора, теперь вот сижу - парюсь перепиливанием кода С++ в Labview RT + FPGA
Расскажите по порядку:
1. Какую ПЛИС Вам удалось прошить?
2. Прошивка ложилась именно в ПЛИС или во Flesh?
3. Вы хотите прошивать любую ПЛИС или только одну конкретную из определенного семейства и производителя?
Прочел статьи(надеюсь, что те же самые). Итак, почему Вас не парит предложение(https://marsohod.org/prodmbftdi/menusvfplayer):
Автор сделал акцент на том, что реализация TAP-контроллера соответствует стандарту, а не на том, что список команд различный для каждой микросхемы. Поэтому информация и воспринимается как манна небесная. Далее, я не понял для какого проекта генерировался этот файл? Проект мигания диодом небось, да? Естественно, поскольку файл SVF может содержать очень длинные многострочные команды для записи в регистр SDR.Список возможных команд для каждой микросхемы свой, но вот логика работы TAP контроллера всегда одинакова для всех цифровых микросхем поддерживающих стандарт IEEE Std. 1149.1.
Вы же видите, что .svf - файл создаётся с помощью программных инструментов производителя чипа путём компиляции проекта(для Altera). В Xilinx этот файл создаётся отдельно с помощью некоторых манипуляций в iMPACT. Я просто пытаюсь понять, зачем это надо...на программаторе экономия что ли? Среда разработки для ПЛИС понадобится в любом случае. "Родное" средство прошивки тоже потребуется(хотя бы для проверки, если самопал будет сбой давать).
Конечно используются.kapusta1986 писал(а):или хотя бы узнать, используются ли вообще в СНГ такие системы.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын