Программатор MBFTDI в среде Altera Quartus II

Мы можем предложить полноценную поддержку нашего программатора MBFTDI прямо из среды Altera Quartus II.

Примечание: описанное ниже немного устарело! Последние версии DLL для Altera Quartus II или Intel Quartus Prime - это 1.8b:

Для Quartus в среде Linux берите версию 1.7b. 

Как вы знаете, наш программатор MBFTDI построен на другой элементной базе, не так, как оригинальный UsbBlaster компании Altera. Из-за этого, поддержки средой Quartus II долгое время не было.

Хорошим решением служит использование нашей специальной утилиты - это одноименная программа mbftdi (с открытыми исходниками). Эта программа позволяет задавать в командной строке имя образа прошивки, SVF файла, генерируемого квартусом. Так можно было прошивать плату Марсоход или загружать иную ПЛИС. Скачать программу с исходниками Windows/Linux можно на нашем сайте в разделе загрузки

Тем не менее, конечно хотелось бы и родной поддержки программатора средой Quartus II. И теперь есть для этого драйвера.

Чтобы установить драйвера для Quartus II нужно выполнить следующее:

  1. Подключить программатор MBFTDI кабелем USB к компьютеру с ОС Windows.
  2. Убедиться, что устройство обнаружено и драйвера FTDI уже установлены. Для этого, посмотрите в диспетчер устройств WIndows, в разделе порты COM и LPT должны появиться два COM порта. Если вместо этого вы найдете два желтых вопросительных знака, то нужно установить драйвера FTDI. Их можно взять у нас на сайте , либо с сайта FTDI.
  3. Определите тип jtagserver, который работает у вас на компьютере. Эта служба входит в состав Altera Quartus II, но нужно точно понять, у вас Win32 или x64 версия jtagserver. Если установлена 32-битная ОС Windows XP или Windows 7, то думать нечего - конечно и jtagserver будет 32-битный. А вот если ОС 64-битная, то сразу точно трудно сказать. Самый надежный способ определить тип jtagserver -  посмотреть его свойства в диалоге "Управление компьютером - Службы":

    Altera Quartus II JTAGSERVER
    Вот на этой картинке видно, что используемый jtagserver лежит в папке bin64, значит используется 64-битная версия сервера. Запомните путь к нему.
  4. Возьмите с нашего сайта драйвер:  В этом архиве два файла, соответственно для win32 и win_x64. Драйвер называется jtag_hw_mbftdi_blaster32.dll или jtag_hw_mbftdi_blaster64.dll Если у Вас 32-битный jtagserver, то возьмите первый файл. Если у Вас он 64-битный, то возьмите второй DLL. Перепишите jtag_hw_mbftdi_blasterXX.dll в папку, где лежит jtagserver (смотри картинку выше). Обычно имя папки выглядит как-то вот так: c:\altera\13.0\quartus\bin или c:\altera\13.0\quartus\bin64 (зависит от номера версии квартуса).
  5. Туда же, где лежит jtagserver перепишите еще одну DLL из комплекта драйверов FTDI (см. пункт 2 этой инструкции). Название файла: ftd2xx.dll или ftd2xx64.dll соответственно для win32 или x64 (возможно этот шаг необязателен).

Вот пожалуй и вся установка.

Запустите Altera Quartus II и запустите Programmer из меню Tools. В левом верхнем углу диалога есть кнопка Hardware Setup. Там произведите поиск подключенных программаторов и Вы должны обнаружить программатор с именем MBFTDI-Blaster v1.5b (64)  [MBUSB-0]. Выбирайте его и используйте.

С нашим программатором вы можете не только зашивать плату Марсоход, но и использовать его для загрузки образов в FPGA и даже для тестирования сигналов FPGA с помощью средства Altera SignalTap:

Altera SignalTap с программатором MBFTDI

Эта возможность недоступна для платы Марсоход, так как там используется CPLD MAX II, но зато эта функция очень важна и работает с платой Марсоход2. На плате Марсоход2 установлена FPGA Cyclone III и поэтому здесь использование SignalTap возможно. Еще нужно заметить, что программатор MBFTDI уже установлен прямо на плату Марсоход2.

Драйвера были протестированны с Windows7 x64, Windows7 32bit, Windows XP 32bit. Проекты для тестирования были выполнены для микросхем CPLD серии MAX II EPM240T100C5 и FPGA Cyclone II EP2C15F672, PGA Cyclone III EP3C10E144C8. Тестировались Quartus II v13.0, Quartus II v12.1, Quartus II v11.1SP2 и Quartus II v10.1SP1.

 


Комментарии  
0 #59 nckm 18.09.2024 08:15
Цитирую Влад:
Просьба пояснить для чего в схеме программатора предусмотрена энергонезависимая память.

Перешивая её можно перевести FTDI в альтернативный режим работы, например, параллельное FIFO. Или можно назначить свой VID/PID
0 #58 Влад 28.08.2024 14:35
Просьба пояснить для чего в схеме программатора предусмотрена энергонезависим ая память.
0 #57 viktorK 01.07.2021 19:59
Данный драйвер поддерживает ft232h?
0 #56 Ed N 21.05.2020 09:24
Программатор не распознает JTAG-команды для Lattice FPGA
0 #55 路永磊 17.04.2020 05:48
Hello,I'm a student from University Of Shanghai Science And Technology in China, very glad to talk with you about Altera Quartus II DLL.
I have an project which aims to combine JTAG SMT3 for Xlinx with Altera USB Blaster in one JTAG tool.I have seen your project ,it's very powerful ,but the DLL doesn't match my schematic,I need to adjust the dll for my schematic.Could you give me a source copy of the DLL(jtag_hw_mbf tdi_blaster32.d ll and jtag_hw_mbftdi_ blaster64.dll) or Linux Dynamic library.The schematic is attached.
Thanks for your help.
0 #54 AAP 11.09.2019 13:23
nckm, с уровнями не должно быть проблем. Подключался через преобразователь на 1.8В.
0 #53 nckm 09.09.2019 12:41
Цитирую AAP:
Здравствуйте. Собрал ваш программатор на FT4232HL. Отладка на суслоне 3 шьется без проблем. Спасибо огромное!!! Недавно удалось подержать в руках плату с аррией 10. Ее квартус не видит. На осцилле видно, что на запросы со стороны программатора ПЛИС что-то отвечает. Возник вопрос: а в чем различие программирования различных ПЛИС с точки зрения драйвера? В нем должны быть прописаны ID микросхем, получив которые, драйвер выбирает тактовую частоту или какие-то другие характеристики? Или на ID вообще нет никакой завязки? А если есть, то какие ID прописаны в драйвере?

Драйвер не знает никаких ID. Он исполняет команды JTAG которые ему передает JtagServer. Может проблема с уровнями сигналов или что-то такое?
0 #52 AAP 09.09.2019 12:23
Здравствуйте. Собрал ваш программатор на FT4232HL. Отладка на суслоне 3 шьется без проблем. Спасибо огромное!!! Недавно удалось подержать в руках плату с аррией 10. Ее квартус не видит. На осцилле видно, что на запросы со стороны программатора ПЛИС что-то отвечает. Возник вопрос: а в чем различие программировани я различных ПЛИС с точки зрения драйвера? В нем должны быть прописаны ID микросхем, получив которые, драйвер выбирает тактовую частоту или какие-то другие характеристики? Или на ID вообще нет никакой завязки? А если есть, то какие ID прописаны в драйвере?
0 #51 Uri62 12.08.2018 17:26
Цитирую nckm:
А он прямо учень нужен? Чего-то решили, что таких ОС уже не бывает и не стали делать.
Не знаю, "учень" или нет, но нужен. Не только 32-битную Windows XP продолжаем активно использовать, но и 16-битный DOS (теперь чаще FreeDOS, а не MS-DOS). Было бы, кстати, неплохо и под DOS иметь возможность прошивать .svf, но в теме про Quartus это уже офтопик.
0 #50 nckm 18.06.2018 08:16
Цитирую Uri62:
Здравствуйте. Драйвер программатора 1.8b почему-то только 64-битной версии. А 32-битной не существует или забыли положить в архив для скачивания?

А он прямо учень нужен? Чего-то решили, что таких ОС уже не бывает и не стали делать.
0 #49 Uri62 13.06.2018 10:25
Здравствуйте. Драйвер программатора 1.8b почему-то только 64-битной версии. А 32-битной не существует или забыли положить в архив для скачивания?
0 #48 nckm 16.11.2017 05:34
Цитирую moisej:
у меня не появляется служба Altera jtag server(( не знаю что делать. Драйвера установил, com-порты определились

Вообще-то служба jtagserver (если еще не запущена) стартует всегда при запуске программатора из среды квартуса и она стартует не зависимо есть ли реально подключенные программаторы или нет. Странно если она не запускается.
0 #47 moisej 15.11.2017 14:58
у меня не появляется служба Altera jtag server(( не знаю что делать. Драйвера установил, com-порты определились
+2 #46 shire 12.03.2017 14:18
Плагин можно пропатчить и для FT2232D, и для поддержки канала B.
Лучше, конечно же, если это сделают сами разработчики.
+1 #45 Павел 26.10.2016 18:57
>да, экспортируется одна функция, которая потом возвращает структуру в специальном формате с указателем на другие важные функции.

а не подскажете откуда взяли описание данной функции и формат структуры?
+1 #44 Георгий 04.07.2016 17:44
Понял, спасибо.
+1 #43 nckm 03.07.2016 18:53
Цитирую Георгий:
Здравствуйте, расскажите как создается jtag_hw_mbftdi_blasterXX.dll,
хочу перенести jtag на канал B.
Не знаю как подступиться.
Насколько понимаю в DLL-ке есть только одна функция get_support_hardware и все ?

да, экспортируется одна функция, которая потом возвращает структуру в специальном формате с указателем на другие важные функции. Переделать вам на другой канал будет не просто.
+1 #42 Георгий 01.07.2016 14:30
Здравствуйте, расскажите как создается jtag_hw_mbftdi_blasterXX.dll,
хочу перенести jtag на канал B.
Не знаю как подступиться.
Насколько понимаю в DLL-ке есть только одна функция get_support_har dware и все ?
+1 #41 Ю р и й 20.06.2016 05:51
Прочтите пожалуйста в последней статье - marsohod.org/.../333-qprime16
самое последнее слово ;-)
+1 #40 Алексей З. 19.06.2016 18:07
Добрый день! Подскажите, есть ли поддержка средой Quartus Prime 16.0 ?
+2 #39 Geert Jan 05.04.2016 20:43
Is the source of the Altera mbftdi plugin available for improvement ?

w.r.

GJ
+1 #38 nckm 14.03.2016 17:48
Цитирую Robert Brights:
Добавьте пожалуйcта бинарные версии для работы с программатором в Linux, а то не удается никак собрать: на обоих системах пробовал - везде ошибка в сборке ....

для работы в Linux у нас нет драйвера к Quartus. У нас есть только SVF плеер - это программа, которая из командной строки может брат SVF файл и загружать его в ПЛИС. Этот бинарник сделать можно, только будет ли работать? Зачастую работа программы зависит от сборки ядра.. с этим могут быть проблемы. Скорее всего у вас при сборке ругается на отсутствие библиотек ftdi - их нужно брать с сайта ftdichip.com
+2 #37 frantony 11.03.2016 11:35
Цитирую Robert Brights:
Добавьте пожалуйcта бинарные версии для работы с программатором в Linux, а то не удается никак собрать: на обоих системах пробовал - везде ошибка в сборке ....


Под Linux для заливки битовых потоков в платы Марсоход можно использовать openocd, вот пример для Марсоход2:

openocd.zylin.com/#/c/2890/1

Этот же пример работает и для Марсоход2bis.

При этом пересобирать типовой openocd с поддержкой libftdi надобности нет --- все настройки делаются через tcl файлы.
+1 #36 Robert Brights 09.03.2016 20:55
Добавьте пожалуйcта бинарные версии для работы с программатором в Linux, а то не удается никак собрать: на обоих системах пробовал - везде ошибка в сборке ....
+1 #35 dima040891 13.07.2015 16:42
Всем Привет!

На днях пришла плата: ebay.com/.../... (ep4ce10f17c8n)

USB Blaster придти не успел, поэтому решил попробовать загрузить проект через FT232D.
При попытке загрузить проект выдает ошибку:

Error (209040): Can't access JTAG chain
module Q00_FirstLoad(c lk, led);

В окне Programmer Quartus MBFTDI-Blaster видит. Соединение проверил, драйвера установил.Испол ьзую Quartus II 64 bit 15.0. При подаче питания на плату, начинает бегать огонёк
(демо программа).

Надеюсь на ваши советы и помощь...
+1 #34 щфтещтл 20.04.2015 07:02
Всем доброго времени суток. Вот такой вопрос. Микроконтроллер ы поддерживающие JTAG можно прошивать с помощью этих дров и скажем вот этого дивайса:

USB JTAG программатор MBFTDIhttps://m arsohod.org/how tostart/progmbf tdi
+3 #33 kelmir 31.03.2015 12:13
Программатор, в частности встроенный в плату Марсоход2bis, дружит с версией Quartus 14.1? Если да, то может быть подскажете, как быть, если после осуществления требуемой последовательно сти с драйверами, программатор не виден в Quartus?
+1 #32 ВасилийZ 06.08.2014 10:32
Как запрограммирова ть сразу две одинаковых (или разных) ПЛИС с помощью этого программатора при возможности альтернативного программировани я с внешнего JTAG? Можно ли просто в цепочку соединить ПЛИС, или можно сделать два независимых программатора на одной микросхеме FDTI (так лучше будет в ней- же 2 канала)?
+2 #31 Владимир Хлуденьков 05.03.2014 11:43
Здравствуйте. Вопрос по программировани ю (заливке).

Когда мы хотим залить программу в плату, мы подсоединяем программатор к ПК и плате.

Скажите, должно ли быть подано питание на плату в этот момент?
+1 #30 lnikon 14.02.2014 10:38
Совместимость с FT2232D не появилась ?
+1 #29 enbkuwfxax 01.02.2014 19:16
gwxrunbstpipe, fkqhewqwes , bsgbhetkzl: www.tddtoygbwu.com/, www.ahyevjrqeo.com/ fkqhewqwes
+1 #28 KYU 02.01.2014 12:20
I Thank you very much. Provided programs and circuit diagrams.
Please support FT232H in MBFTDI Driver (for Quartus)
:D
+4 #27 Андрей Ш 19.12.2013 13:02
Хотел спросить, откуда брали информацию по API драйверов для jtag_hw Quartus. Информации в Интернете не нашел. Вы ковырялись в оригинальном jtag_hw_usb-bla ster.dll ?
+1 #26 Arsen Asmandiyarov 04.06.2013 02:23
Цитирую Arsen Asmandiyarov:
у меня не появляется папка altera и служба Altera jtag server(( не знаю что делать. Драйвера установил, com-порты определились

все, понял свое упущение)
+1 #25 Arsen Asmandiyarov 03.06.2013 20:20
у меня не появляется папка altera и служба Altera jtag server(( не знаю что делать. Драйвера установил, com-порты определились
+1 #24 nckma 15.05.2013 11:26
Цитирую basil:
А с совсем уже простым Вашим программатором прям из com порта так можно? У меня пара старых компьютеров с com портами, и поэтому велик соблазн обойтись вообще без ничего)))

Попробуйте вот такой метод; marsohod.org/.../...
Только из Quartus не получится, спец. программа SVF плеера нужна (она там есть).
+1 #23 basil 15.05.2013 11:00
А с совсем уже простым Вашим программатором прям из com порта так можно? У меня пара старых компьютеров с com портами, и поэтому велик соблазн обойтись вообще без ничего)))
+1 #22 Руслан Садыков 01.02.2013 11:13
Цитирую Руслан Садыков:
Добрый день! Плата Марсоход 2. Дома всё установил - работает (Win7 x32). Поставил на работе (Win7 x64), установил всё, как написано - в Quartus II 64-bit. Распознал программатор, на плате горит красный и синий светодиод. Нажимаю Start, что бы зашить программу - появляется надпись Failed и синий светодиод на плате погасает. Что бы снова опредилился программатор - надо вытащить провод из порта USB. В чем может быть проблема?

Вот бестолковый :D Простите, разобрался. :-) Оказывается драйвер вышел новый, специально под квартус 12.1!
+1 #21 Руслан Садыков 01.02.2013 10:03
Добрый день! Плата Марсоход 2. Дома всё установил - работает (Win7 x32). Поставил на работе (Win7 x64), установил всё, как написано - в Quartus II 64-bit. Распознал программатор, на плате горит красный и синий светодиод. Нажимаю Start, что бы зашить программу - появляется надпись Failed и синий светодиод на плате погасает. Что бы снова опредилился программатор - надо вытащить провод из порта USB. В чем может быть проблема?
+1 #20 Alex 13.11.2012 13:40
Цитирую nckm:
мы думаем в эту сторону, но конкретных планов пока нет

Возможно это поможет. ixo-jtag.sourceforge.net/
+1 #19 nckm 12.11.2012 09:02
Цитирую svod:
под линукс планируется работа программатора так же, ка их под виндов? Что бы квартус его видел.

мы думаем в эту сторону, но конкретных планов пока нет
+2 #18 svod 11.11.2012 19:28
под линукс планируется работа программатора так же, ка их под виндов? Что бы квартус его видел.
+2 #17 dcoder_mm 11.08.2012 21:15
Совместимость с фт2232д планируется? А то консольной программкой шить не очень удобно
0 #16 Aurel 03.08.2012 10:42
Цитирую nckma:
Цитирую Aurel:
Цитирую nckma:
[quote name="Aurel"]
ну, как-то так. Из командной строки с одним параметром - имя файла SVF


Нет, не получается, выходит ошибка открытия файла. Оба файла находились в корне диска Д.
s019.radikal.ru/.../...

а зачем у Вас перед именем SVF файла стоит "/"?


Я не умею пользоваться командной строкой, а в интернете вычитал что параметры передаются после "/", теперь уже буду знать, и надолго запомню.
Спасибо вам за терпение, после того как убрал "/" у меня всё заработало, прекрасно конфигурируется на всё уходит примерно 3-5 сек.
+2 #15 nckma 03.08.2012 07:48
Цитирую Aurel:
Цитирую nckma:
[quote name="Aurel"]
ну, как-то так. Из командной строки с одним параметром - имя файла SVF


Нет, не получается, выходит ошибка открытия файла. Оба файла находились в корне диска Д.
s019.radikal.ru/.../...

а зачем у Вас перед именем SVF файла стоит "/"?
0 #14 Aurel 02.08.2012 11:31
Цитирую nckma:
[quote name="Aurel"]
ну, как-то так. Из командной строки с одним параметром - имя файла SVF


Нет, не получается, выходит ошибка открытия файла. Оба файла находились в корне диска Д.
s019.radikal.ru/.../...
0 #13 nckma 02.08.2012 05:25
Цитирую Aurel:
Цитирую nckma:
[quote name="Aurel"]Попробуйте нашу консольную программу MBFTDI, которая зашивает SVF файл. Подробнее об использовании здесь: marsohod.org/.../170-mbfdti

Только берите версию 1.2
marsohod.org/11-blog/186-ver12

Если заработает, то подумаем, как включить поддержку 2232D в драйвер для Quartus II


Совсем глупый вопрос, я правильно понимаю, что если к примеру MBFTDI.exe 123.SVF находятся в корде диска D, то для программирования я должен проделать следующее:
1.-Win+R (вызываю командную строку).
2. - Для прошивки пишу следующий текст:
D:\MBFTDI.exe / D:\123.SVF
Спасибо.

ну, как-то так. Из командной строки с одним параметром - имя файла SVF
0 #12 Aurel 01.08.2012 15:49
Цитирую nckma:
[quote name="Aurel"]Попробуйте нашу консольную программу MBFTDI, которая зашивает SVF файл. Подробнее об использовании здесь: marsohod.org/.../170-mbfdti

Только берите версию 1.2
marsohod.org/11-blog/186-ver12

Если заработает, то подумаем, как включить поддержку 2232D в драйвер для Quartus II


Совсем глупый вопрос, я правильно понимаю, что если к примеру MBFTDI.exe 123.SVF находятся в корде диска D, то для программировани я я должен проделать следующее:
1.-Win+R (вызываю командную строку).
2. - Для прошивки пишу следующий текст:
D:\MBFTDI.exe / D:\123.SVF
Спасибо.
0 #11 nckma 01.08.2012 07:11
Цитирую Aurel:
Добрый день.
Попробовал запрограммировать(сконфигурировать) EPM3064ATC100-10 не получилось, хотя LPT программатором (схема первая сверху со страницы marsohod.org/.../programmer) всё получилось.
Данный программатор поддерживает семейство MAX3000?
По ссылке (www.dropbox.com/.../BOARD.zip) скрин ошибки и схема моей отладочной платы. Буду рад помочь устранить проблемы. Для программатора использовалась микросхема FT2232D.


Попробуйте нашу консольную программу MBFTDI, которая зашивает SVF файл. Подробнее об использовании здесь: marsohod.org/.../170-mbfdti

Только берите версию 1.2
marsohod.org/11-blog/186-ver12

Если заработает, то подумаем, как включить поддержку 2232D в драйвер для Quartus II
0 #10 Aurel 31.07.2012 22:26
Добрый день.
Попробовал запрограммирова ть(сконфигуриро вать) EPM3064ATC100-1 0 не получилось, хотя LPT программатором (схема первая сверху со страницы marsohod.org/.../programmer) всё получилось.
Данный программатор поддерживает семейство MAX3000?
По ссылке (www.dropbox.com/.../BOARD.zip) скрин ошибки и схема моей отладочной платы. Буду рад помочь устранить проблемы. Для программатора использовалась микросхема FT2232D.
+1 #9 stu 02.04.2012 05:15
Цитирую nckm_:
Цитирую stu:
Циклон 3
доходит до Erasing ASP configuration device(s) и на этом все

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


EP3C5E144C8N
0 #8 nckm_ 31.03.2012 12:02
Цитирую stu:
Циклон 3
доходит до Erasing ASP configuration device(s) и на этом все

я уверен это будет скоро исправлено. Сообщите название микросхемы.
+1 #7 stu 30.03.2012 13:06
Циклон 3
доходит до Erasing ASP configuration device(s) и на этом все
0 #6 Алексей 24.03.2012 03:15
Проверил программатор с EPM7128SLC84. Работает!!!
0 #5 Алексей 22.03.2012 08:48
Спасибо огромное !
+1 #4 Роман 21.03.2012 18:14
От всей души благодарность.. ..
0 #3 Nicolay 21.03.2012 11:11
Отличная новость, спасибо!
+5 #2 Вячеслав 20.03.2012 22:13
Еще бы и под linux версию Alterы и желательно в исходниках такие же драйвера
0 #1 lesha birukov 20.03.2012 20:01
Работает.
Добавить комментарий