Перейти к содержанию

Xilinx JTAG на базе FTDI

Современные киты от Xilinx и Digilent имеют встроенный USB JTAG на базе микросхемы FTDI FT*32H. Хочется в своей плате сделать такое же решение. Идея понятна, повторить схему, скопировать настройки FTDI. Больше вроде ничего не надо. Но есть ряд непонятных моментов:

1) FTDI чипы в этих платах имеют стандартный VID/PID. Как Vivado опознает, что это именно программатор, по полю Manufacturer Description?2) На схемах трех китов, что я смотрел, подключение сигналов JTAG (TCK, TDI, TDO, TMS + доп. управление) к шине данных FTDI везде разное. Как драйвер или кто там разбирает где что?3) Я вообще плохо понимаю, как они эмулируют работу JTAG в режиме FT245 FIFO (выбран в настройках FTDI), но это уже вопрос теоретический.

Может быть кто-то уже делал подобное?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вы пробовали читать конфигурационную EEPROM чипа FTDI от от Xilinx и Digilent? Mprog.exe может это сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

самому любопытно как это работает,

детально не разбирался, но у trenz-electronic в описании аналогичного продукта есть строчки:

user EEPROM content stored Xilinx JTAG license

Without this license the on-board JTAG will not be accessible any more with any Xilinx tools

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А вы пробовали читать конфигурационную EEPROM чипа FTDI от от Xilinx и Digilent? Mprog.exe может это сделать?

 

Да. Читает (FT_Prog). Собственнно оттуда я и выяснил, что VID/PID оригинальные, а отличаются. Manuf.Desc. Но ответа на второй вопрос это не дает. У Digilent хотя бы используется универсальный модуль (SMT2) и там все неизменно. Но вот с платами Xilinx... Правда есть предположение, что первые цифры серийного номера могут определять аппаратную конфигурацию. Было бы интересно считать EEPROM у VCU1525, ZCU104. Ни у кого в столе не валяются? :)

 

самому любопытно как это работает,

детально не разбирался, но у trenz-electronic в описании аналогичного продукта есть строчки:

 

Очень интересно. Нашел еще https://forums.xilinx.com/t5/Configuration/...ado/td-p/817466

M_PROG writes only VISIBLE part of EEPROM and ERASES the user EEPROM without warning .. so if you use M_PROG on anything with Digilent Serial included, then it would render that device useless.

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

 

Поделиться сообщением


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

 

Покурив доки обнаружил что область User area в eeprom, можно читать/писать функциями d2xx драйвера. Похоже так вивада и делает. Ну либо можно работать с бинарным дампом, полностью копируя образ eeprom без участия ft_prog.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Современные киты от Xilinx и Digilent имеют встроенный USB JTAG на базе микросхемы FTDI FT*32H. Хочется в своей плате сделать такое же решение. Идея понятна, повторить схему, скопировать настройки FTDI. Больше вроде ничего не надо. Но есть ряд непонятных моментов:

1) FTDI чипы в этих платах имеют стандартный VID/PID. Как Vivado опознает, что это именно программатор, по полю Manufacturer Description?2) На схемах трех китов, что я смотрел, подключение сигналов JTAG (TCK, TDI, TDO, TMS + доп. управление) к шине данных FTDI везде разное. Как драйвер или кто там разбирает где что?3) Я вообще плохо понимаю, как они эмулируют работу JTAG в режиме FT245 FIFO (выбран в настройках FTDI), но это уже вопрос теоретический.

Может быть кто-то уже делал подобное?

Вставлю свои пять копеек.

Есть модули с микросхемами FT. Паяешь на свою плату разводишь jtag и программируешь плис прямо из вивадо. Как то по ошибке на таком модуле стер пзу (FT_PROG). Опечалился. Потом взял новый такой же модуль слил с него прошивку, и залил ее в стертый модуль. НО восстановленный модуль работать так и не стал!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вставлю свои пять копеек.

Есть модули с микросхемами FT. Паяешь на свою плату разводишь jtag и программируешь плис прямо из вивадо. Как то по ошибке на таком модуле стер пзу (FT_PROG). Опечалился. Потом взял новый такой же модуль слил с него прошивку, и залил ее в стертый модуль. НО восстановленный модуль работать так и не стал!

Чем шили? User area через FT_prog не шьётся, нужны дополнительные танцы с бубном. Посмотрите те две темы на которые я дал ссылки, там вся информация уже есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти