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

Современные киты от 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 не шьётся, нужны дополнительные танцы с бубном. Посмотрите те две темы на которые я дал ссылки, там вся информация уже есть.

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


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

Здравствуйте. Пытаюсь решить такую же пробему как и у TC (т.е. на кастомную плату поставить FT2232H, чтобы сделать мост USB-JTAG для программирования Zynq-7000. Почитав эту и другие темы, так и не понял, каково же решение.

Может кто подсказать, какого набора достаточно/необходимо, чтобы можно было из Vivado/ISE программировать/дебажить FPGA через FTDI. Мои предположения:

1) Только FTDI FT*32H (у которой JTAG подсоединен к FPGA). Никаких драйверов, доп софта, всё подхватывается Vivado/ISE?

2) FTDI FT*32 и какие-то стандартные/самодельные драйвера, доп софт, танцы с бубном?

3) FTDI FT*32 к которой подсоединена какая-то EEPROM с "Xilinx JTAG license". Если этот вариант, то не совсем понимаю, как конфигурировать EEPROM? Она ставится на плату уже с готовой предпрошитой лицензией, или подразумевается, что разработчик сам должен её прошить каким-то лицензионным файлом? Где все эти лицензии искать (у Xilinx, или Digilent, или FTDI, или...)?

 

P.S. к сожалению предложенные ссылки не работают (видно слетели после обновления сайта?)

В 13.07.2018 в 12:19, Dimidrol сказал:

 

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


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

1 hour ago, Vengin said:

P.S. к сожалению предложенные ссылки не работают (видно слетели после обновления сайта?)

одна из тем в соседнем разделе "Работаем с ПЛИС", закрепил её в шапке как "пользующуюся спросом":

 

вот вторая:

 

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


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

Правильно 3 :     FTDI FT2232H к которой подсоединена какая-то EEPROM 

EEPROM проще зашить отдельно. Вот содержимое:

https://electronix.ru/forum/applications/core/interface/file/attachment.php?id=103248

Но можно и :

 FT_Prog-om конфигурируется ft2232h   xml файл https://electronix.ru/forum/applications/core/interface/file/attachment.php?id=103249

 Затем запускается FTDI_User_Area_Writer.exe , он переписывает 14 байт.

Подробности в темах по ссылкам из предыдущего поста.

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


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

10 часов назад, gk2 сказал:

Правильно 3 :     FTDI FT2232H к которой подсоединена какая-то EEPROM 

EEPROM проще зашить отдельно. Вот содержимое:

https://electronix.ru/forum/applications/core/interface/file/attachment.php?id=103248

Но можно и :

 FT_Prog-om конфигурируется ft2232h   xml файл https://electronix.ru/forum/applications/core/interface/file/attachment.php?id=103249

 Затем запускается FTDI_User_Area_Writer.exe , он переписывает 14 байт.

Подробности в темах по ссылкам из предыдущего поста.

Спасибо! Надо понимать, что содержимое зашиваемое в EEPROM это "пиратчина". Но если нужно сделать всё официально нужно искать лицензиею? Может кому приходилось идти официальным путём - насколько это сложно/дорого/геморно?

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


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

1 час назад, Vengin сказал:

Спасибо! Надо понимать, что содержимое зашиваемое в EEPROM это "пиратчина". Но если нужно сделать всё официально нужно искать лицензиею? Может кому приходилось идти официальным путём - насколько это сложно/дорого/геморно?

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

Однако, например, на плате VCU1525 такого модуля нет. Не знаю, какое там решение. Прошивка EEPROM от Digilent или уже нет?

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


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

11 hours ago, Vengin said:

Спасибо! Надо понимать, что содержимое зашиваемое в EEPROM это "пиратчина". Но если нужно сделать всё официально нужно искать лицензиею? Может кому приходилось идти официальным путём - насколько это сложно/дорого/геморно?

Впервые вижу такое утверждение. Что значит "пиратчина"? Кто из потребителей готового продукта (если таковы имеются вообще) будет спрашивать как вы залили данные в EEPROM? Может вы на заводе или субподрядчика сразу заказали с подготовленной прошивкой и потом просто впаяли? Где параметр "честности" прошивки? Понимаю ПО, если у вас на конторе только пиратские лицензии на неподдерживаемые чипы или что-то подобное.

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


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

Ну, если изделие планируется пускать в серию, и официально продаваться в тех же штатах, то вопросов не избежать. Мне как инженеру гораздо проще просто использовать "честно стыренное", но обычно у буржуинов всё сложнее. И критерием "честности" будет являться собственно покупка лицензии у дистрибьютера. А этот переговорный процесс не так-то прост.

 

Вдогонку про честность, на форуме xilinx:

" if you clone the Digilent EEPROM (which lets the FT2232 identify as a Digilent product, and is necessary to make it talk to the Xilinx tools) and the USB PID/VID then you're almost certainly committing copyright infringement - with all the usual penalties. "

Изменено пользователем Vengin

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


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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...