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

USB программатор на ft2232h "Digilent JTAG-HS2" для Xilinx и программатор "MBFTDI" для Altera

По мотивам http://electronix.ru/forum/index.php?showtopic=114633 (ADA007)...

Высокоскоростной Программатор для Xilinx ISE и Программатор для Altera Quartus по одной схеме.
В архиве схема, плата, прошивка для еепром к ft2232h.
В каталоге "Программатор MBFTDI в среде Altera Quartus"
плагин для Quartus jtag_hw_mbftdi_blaster32.dll
с сайта Марсоход (marsohod.org).
Всё проверено лично и работает в Quartus 7 и выше
и в Xilinx ISE 14.6.

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


Ссылка на сообщение
Поделиться на другие сайты
Он еще и для Lattice подойдет, если EEPROM не ставить/не шить.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(SM @ Mar 30 2015, 10:45) <{POST_SNAPBACK}>
Он еще и для Lattice подойдет, если EEPROM не ставить/не шить.

Отлично!
Тогда "3in1 PLD programmer" для начинающих.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(dima2640 @ Mar 29 2015, 21:43) <{POST_SNAPBACK}>
плагин для Quartus jtag_hw_mbftdi_blaster32.dll


А где нибудь есть дока по написанию таких плагинов?

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


Ссылка на сообщение
Поделиться на другие сайты
Слегка недоработали. FT2232H c может 2 независимых интерфейса поднимать. А UART в хозяйстве лишним не бывает. Предлагаю на порте "B" поднять UART. Но чтобы это заработало сначала надо в FTproge сконфигать порт A как FIFO245 c драйвером D2XX, а порт B как RS232 UART с драйвером VCM. И только потом с помощью FTDI_User_Area_Writer.exe прописать данные в user space. И да (для пользователей винды), проверить в диспетчере устройств USB serial converter B - свойства - дополнительно - галка Загрузить VCP. Проверял лично для программатора digilent SMT1 - работает.

Цитата(SM @ Mar 30 2015, 09:45) <{POST_SNAPBACK}>
Он еще и для Lattice подойдет, если EEPROM не ставить/не шить.


Если это правда, но CS-ом вопрос решится.
Изменено пользователем Inanity

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Inanity @ Mar 30 2015, 21:19) <{POST_SNAPBACK}>
Если это правда, но CS-ом вопрос решится.

Абсолютная правда - http://www.latticesemi.com/~/media/Documen...cument_id=35203

Я уже давно пользуюсь прошивкой через FTDI, ставя ее прямо на платы, если она по стоимости не особо заметна. И совершенно все равно, через какой канал из двух - в среде выбирается. Шьет все, и MachXO всех версий, и XP, XP2, ECP3 - это то, что я проверял. Также шьет и загрузочные флеши, шьет AES-ключи, и вообще, все шьет. Еепромку не ставлю вобще, ибо лишняя деталь.

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(SM @ Mar 30 2015, 21:57) <{POST_SNAPBACK}>
А где нибудь есть дока по написанию таких плагинов?

имхо это reverse engineering товарищей с сайта МАРСОХОД marsohod.org,
так что все вопросы к ним.

Цитата(Inanity @ Mar 30 2015, 22:19) <{POST_SNAPBACK}>
Слегка недоработали. FT2232H c может 2 независимых интерфейса поднимать. А UART в хозяйстве лишним не бывает. Предлагаю на порте "B" поднять UART. Но чтобы это заработало сначала надо в FTproge сконфигать порт A как FIFO245 c драйвером D2XX, а порт B как RS232 UART с драйвером VCM. И только потом с помощью FTDI_User_Area_Writer.exe прописать данные в user space. И да (для пользователей винды), проверить в диспетчере устройств USB serial converter B - свойства - дополнительно - галка Загрузить VCP. Проверял лично для программатора digilent SMT1 - работает.



Если это правда, но CS-ом вопрос решится.


Плата сделана на основе FT2232H Breakout Board.
все ножки выведены на 22 пин IDC штырьки, что хочешь, то и подключай(3.3в уровень).
А в конфиг файле digilent-jtaghs2-2232h-ok.xml, в архиве, так и есть: порт A - FIFO245 , порт "B" - UART.

Цитата(SM @ Mar 30 2015, 22:26) <{POST_SNAPBACK}>
Абсолютная правда - http://www.latticesemi.com/~/media/Documen...cument_id=35203

Я уже давно пользуюсь прошивкой через FTDI, ставя ее прямо на платы, если она по стоимости не особо заметна. И совершенно все равно, через какой канал из двух - в среде выбирается. Шьет все, и MachXO всех версий, и XP, XP2, ECP3 - это то, что я проверял. Также шьет и загрузочные флеши, шьет AES-ключи, и вообще, все шьет. Еепромку не ставлю вобще, ибо лишняя деталь.


Отличная наводка! Спасибо.

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


Ссылка на сообщение
Поделиться на другие сайты
Пытаюсь с помощью здешнего архива из платки с FT2232H получить Digilent Jtag HS2.
1. FT_Prog-om конфигурирую фт2232.
2. Запускаю FTDI_User_Area_Writer.exe , он переписывает 14 байт.
3. Передергиваю ЮСБ - показываю драйвера Digilent Jtag - в системе USB Serial converter A и B плюс COM XX в портах.

НО! Ни Аdept ни iMPACT платку как дигилент не опознает!

GUI --- Auto connect to cable...
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4
INFO:iMPACT - Digilent Plugin: no JTAG device was found.
AutoDetecting cable. Please wait.
*** WARNING ***: When port is set to auto detect mode, cable speed is set to default 6 MHz regardless of explicit arguments supplied for setting the baud rates
PROGRESS_START - Starting Operation.
Connecting to cable (Usb Port - USB21).
Checking cable driver.
Source driver files not found.
The Platform Cable USB is not detected. Please connect a cable.If a cable is connected, please disconnect
and reconnect to the usb port, follow the instructions in the 'Found New Hardware Wizard', then retry
the Cable Setup operation.

Платка рабочая. Я ею заливаю через Papilio loader.
может дело в еепроме 93с46, нужно может 93с55 ?

Может есть у кого полный дамп (с контр. суммой)из заведомо рабочего HS2 ? Я 93с46 попробую в прграммыторе зашить.

Мой дамп
0000: 0801 0403 6010 0200 FA80 0008 0000 129A ....`...........
0008: 28AC 1AD4 0000 0000 0046 0312 0044 0069 (........F...D.i
0010: 0067 0069 006C 0065 006E 0074 0328 0044 .g.i.l.e.n.t.(.D
0018: 0069 0067 0069 006C 0065 006E 0074 0020 .i.g.i.l.e.n.t.
0020: 0055 0053 0042 0020 0044 0065 0076 0069 .U.S.B. .D.e.v.i
0028: 0063 0065 031A 0032 0031 0030 0032 0034 .c.e...2.1.0.2.4
0030: 0039 0038 0035 0034 0036 0030 0036 0000 .9.8.5.4.6.0.6..
0038: 0001 92C7 356A 0152 3090 744A 6761 5A15 ....5j.R0.tJgaZ.
Изменено пользователем ololol

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(ololol @ Jul 10 2015, 18:01) <{POST_SNAPBACK}>
Пытаюсь с помощью здешнего архива из платки с FT2232H получить Digilent Jtag HS2.


Вы уверены, что вам нужен именно HS2? Могу подсказать только по HS1, он немного проще. Хотя скорее всего разницы в подходе программирования нет.
Возможно с eeprom проблема. Для HS1 использовал 93LC56BT.
Изменено пользователем Inanity

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Inanity @ Jul 12 2015, 22:26) <{POST_SNAPBACK}>
Вы уверены, что вам нужен именно HS2? Могу подсказать только по HS1, он немного проще. Хотя скорее всего разницы в подходе программирования нет.
Возможно с eeprom проблема. Для HS1 использовал 93LC56BT.

Да, я тоже склоняюсь к 93с56, но сейчас нет в наличии, подожду с Китая, и потом попробую...

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(ololol @ Jul 13 2015, 09:04) <{POST_SNAPBACK}>
Да, я тоже склоняюсь к 93с56, но сейчас нет в наличии, подожду с Китая, и потом попробую...

Цитата
Adding an external 93C46 (93C56 or 93C66) EEPROM allows each of the chip‟s channels to be independently configured as a serial UART (RS232 mode), parallel FIFO (245) mode or fast serial (opto isolation).
The EEPROM should be a 16 bit wide configuration such as a Microchip 93LC46B or equivalent


Это условие выполняется?

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(DmitryM @ Jul 13 2015, 08:30) <{POST_SNAPBACK}>
Это условие выполняется?


Ну как бы микруха 93С46 и ORG в единице, то условие выполняется...

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(ololol @ Jul 13 2015, 14:05) <{POST_SNAPBACK}>
Ну как бы микруха 93С46 и ORG в единице, то условие выполняется...

Цитата
The EEPROM should be a 16 bit wide configuration such as a Microchip 93LC46B or equivalent capable of a 1Mbit/s clock rate at VCC = +3.00V to 3.6V.

Microchip 93C46 4.5-5.5V

Не в этом ли дело?

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


Ссылка на сообщение
Поделиться на другие сайты
Цитата(DmitryM @ Jul 13 2015, 14:17) <{POST_SNAPBACK}>
Не в этом ли дело?

У меня не Микрочип, 2.5-5 в, она пишется и читается...

Мой дамп
0000: 0801 0403 6010 0200 FA80 0008 0000 129A ....`...........
0008: 28AC 1AD4 0000 0000 0046 0312 0044 0069 (........F...D.i
0010: 0067 0069 006C 0065 006E 0074 0328 0044 .g.i.l.e.n.t.(.D
0018: 0069 0067 0069 006C 0065 006E 0074 0020 .i.g.i.l.e.n.t.
0020: 0055 0053 0042 0020 0044 0065 0076 0069 .U.S.B. .D.e.v.i
0028: 0063 0065 031A 0032 0031 0030 0032 0034 .c.e...2.1.0.2.4
0030: 0039 0038 0035 0034 0036 0030 0036 0000 .9.8.5.4.6.0.6..
0038: 0001 92C7 356A 0152 3090 744A 6761 5A15 ....5j.R0.tJgaZ.
Изменено пользователем ololol

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


Ссылка на сообщение
Поделиться на другие сайты
Отпишусь по итогам, как говорится практика - критерий истины.
Данная перешивка не актуальна при использовании 94С46 , хоть она и указана на схеме в архиве.
Применять 93С56 (ну и я думаю выше-93с66, хотя я НЕ ПРОВЕРЯЛ!)

Всем спасибо за советы...

NFO:iMPACT - Digilent Plugin: found 1 device(s).
INFO:iMPACT - Digilent Plugin: opening device: "JtagHs2", SN:210249854606
INFO:iMPACT - Digilent Plugin: User Name: JtagHs2
INFO:iMPACT - Digilent Plugin: Product Name: Digilent JTAG-HS2
INFO:iMPACT - Digilent Plugin: Serial Number: 210249854606
INFO:iMPACT - Digilent Plugin: Product ID: 30900152
INFO:iMPACT - Digilent Plugin: Firmware Version: 010A
INFO:iMPACT - Digilent Plugin: JTAG Port Number: 0
INFO:iMPACT - Digilent Plugin: JTAG Clock Frequency: 10000000 Hz

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


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

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

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

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

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

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

Войти

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

Войти