МАРСОХОД

Open Source Hardware Project

Программатор USB

Некоторое время назад я анонсировал выпуск нашего простого USB программатора для платы Марсоход. Была даже опубликована его фотография (смотрите в предыдущих постах).

Действительно, необходимость в простом программаторе назрела уже давно. Родные программаторы компании Альтера или совместимые с ними Terasic довольно дороги. Обычно мы рекомендуем делать программатор ByteBlaster, но ему нужен параллельный порт, который в современных компьютерах часто отсутствует. Собственно поэтому мы и решили сделать свой программатор.

Главное требование - он должен быть простым и дешевым. Совместимости с драйверами компании Альтера нет. Мы решили, что на первом этапе сделаем свою программу-утилиту для программирования, а уже на втором этапе сделаем драйвера для интеграции нашего программатора в среду Altera Quartus II. Первый этап мы уже почти прошли. Мы можем программировать нашу плату Марсоход через наш программатор с помощью нашей программы.

Итак, вот схема нашего программатора:

Схема программатора mbftdi

Так же, ее можно скачать в виде PDF файла: icon Схема программатора mbftdi (36.07 Кбайт)

Программатор собран на микросхеме FTDI FT2232HL.
Описание на эту микросхему есть на сайте производителя: http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT2232H.pdf
Эта микросхема уже имеет встроенный высокоскоростной интерфейс USB2 и может использоваться для реализации различных методов передачи: последовательной, параллельной, SPI, I2S, JTAG.

Нас интересует встроенное в микросхему устройство MPSSE - это Dual Multi-Protocol Synchronous Serial Engine. Именно это устройство позволяет организовать передачу и прием через JTAG интерфейс, а JTAG мы уже изучали. Через JTAG идет программирование микросхемы MAX-II на плате Марсоход.

Устройство MPSSE - это такой "процессор" внутри микросхемы FT2232, который принимает разные команды, приходящие через USB интерфейс, и исполняет их. Команд у этого "процессора" много, все они описаны компанией производителем (Future Technology Devices International Ltd) в специальном документе AN_108 "Command Processor for MPSSE and MCU Host Bus Emulation Modes". 

Кроме того, на сайте FTDI даже есть короткий пример как программировать JTAG через MPSSE: AN_129 "FTDI Hi Speed USB To JTAG Example".

Эти два документа стали нашими отправными точками для написания своей программы-утилиты для программирования ПЛИС платы Марсоход через микросхему FT2232.

Естественно, исходные тексты программы-утилиты программатора можно взять на нашем сайте: icon Программа для USB-JTAG программатора mbftdi (206.06 Кбайт)

Мы сделали специальный раздел, где будут храниться все версии утилиты. Программа написана так, что ее можно использовать и с ОС Windows и с ОС Linux.

Программа-утилита принимает в командной строке имя SVF файла и исполняет его от начала до конца (как SVF Player) и, таким образом, зашивает подключенную к программатору микросхему ПЛИС. SVF файл - это файл, содержащий всю последовательность команд интерфейса JTAG, необходимую для прошивки микросхемы. Среда проектирования Altera Quartus II может создавать SVF файлы в процессе компиляции ваших проектов ПЛИС.

Для использования программатора в Windows нужно:

  • Подключить программатор к ПК кабелем USB.
  • Установить драйвера FTDI (их взять с сайта http://www.ftdichip.com/Drivers/D2XX.htm)
  • Убедиться, что драйвера установлены и в диспетчере устройств появились два последовательных порта:

mbftdi видимый из диспетчера устройств Windows

  • Запустить программу mbftdi.exe с параметром в командной строке - имя SVF файла. 
  • Через несколько секунд чип прошит!

Если вы хотите сами откомпилировать программу программатора, то вам потребуется среда программирования Microsoft Visual Studio 2010. Программа написана на C/C++.

Использование программатора в Linux так же возможно, однако требует предварительной компиляции программы. Для этого сделайте следующее:

  • Выкачайте драйвера для Linux (http://www.ftdichip.com/Drivers/D2XX.htm
  • Распакуйте их в какой нибудь папке, например, в своем домашнем каталоге.
  • Возьмите наши исходники и тоже распакуйте где-то рядом.
  • В папке mBlasterFtdi\linux отредактируйте Makefile. Вам нужно правильно указать пути LIBPATH и INCPATH.  У меня  они вот такие:

LIBPATH = /home/nick/myftdi/libftd2xx1.0.4/build/i386

INCPATH = /home/nick/myftdi/libftd2xx1.0.4

Они должны указывать внутрь папки драйверов FTDI для Linux.

  • Компилируйте исходники, набрав в терминале команду make (возможно вам понадобится дополнительная установка gcc или еще чего-то)
  • Подключайте программатор к компьютеру и запускайте программу mbftdi с параметром в командной строке - имя SVF файла
  • Если программатор не запускается (пишет об ошибке), то скорее всего вам нужно выгрузить из ядра Linux драйвер ftdi_sio. Выполните как пользователь root в терминале команду "rmmod ftdi_sio" и тогда запускайте mbftdi. Это не моя прихоть. Так написано в readme.dat файле в комплекте с драйверами FTDI для Linux.

Поскольку исходные тексты программы и для Windows и для Linux фактически одинаковы, то в консоли Windows и в терминале Linux вы увидите примерно одинаковый вывод:


C:\Altera\marsohod\mBlasterFtdi\windows\Release>mbftdi.exe ..\..\common\test1.svf
mbftdi - burn MAX2 CPLD from Altera Vector Programming File *.svf
FTDI port to JTAG is used for programming
Usage example: mbftdi myfile.svf

Checking for FTDI devices...
2 FTDI devices found - the count includes individual ports on a single chip
Assume first device has the MPSSE and open it...
Configuring port for MPSSE use...
-----------------------------------
!CHECKING SILICON ID
-----------------------------------
!BULK ERASE
-----------------------------------
!PROGRAM
-----------------------------------
!VERIFY

JTAG program executed successfully.


Вот пока все.
Программатор и программа позволяют успешно за 3-4 секунды программировать микросхемы ПЛИС серии MAX-II через JTAG и может успешно применяться для программирования платы Марсоход.

Известная проблема у программы одна - не все SVF файлы она может исполнять. Пока программа слишком примитивно интерпретирует строки SVF файлов. Сейчас наша программа предполагает, что одна строка SVF файла - это фактически одна команда для записи SIR или SDR регистра интерфейса JTAG. Однако, в некоторых SVF файлах, в частности для FPGA Cyclone разных серий, это не так. Файл SVF может содержать очень длинные многострочные команды для записи в регистр SDR.

Это значит, что пока не все типы микросхем мы можем программировать. Я думаю, мы это скоро починим.

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

 

Комментарии  

0 #74 nckm 13.10.2016 08:37
Цитирую nimnim:
А вот вы пишете, что есть проблема у программы - не все SVF файлы она может исполнять.

А поддерживаются svf fpga семейства Arria2?

К сожалению у нас нет такой микросхемы, чтобы проверить..
0 #73 nimnim 12.10.2016 14:42
А вот вы пишете, что есть проблема у программы - не все SVF файлы она может исполнять.

А поддерживаются svf fpga семейства Arria2?
0 #72 mih 18.05.2015 18:58
При попытке скомпилировать ваш SVF-плеер под Ubuntu 14.04 32bit пишет:

mih@mihbook:~/f tdi$ make
make: *** Нет правила для сборки цели `../common/mbla stercore.c', требуемой для `mbftdi'. Останов.

Пути на драйвер прописал. Как дальше жить? (:
0 #71 ahopextr 20.03.2015 21:15
Всё, разобрался. тут всё расписано было http://marsohod.org/11-blog/78-newproject
0 #70 Семён 20.03.2015 19:19
Подскажите, пожалуйста!! я нажимаю на файл mbftdi.exe, чтобы запустить программу, файл открывается и сразу же сам закрывается. я пробовал запустить на других компьютерах, но там всё то же самое. что мне делать??? что я делаю не так?
0 #69 Владимир Хлуденьков 11.03.2014 10:30
Несколько удивил разъём USB B-типа. Пришлось побегать поискать кабель. Mini-USB по току не проходит?
0 #68 Alex 11.07.2013 11:49
по совету Юрия
пустил между TCK и TDO землю все заработало как часы, осцил "слабенький" в хозяйстве, наводки не показывал.
0 #67 Ю р и й 03.07.2013 13:24
На сам процесс программировани я (Когда программатор подключен к чипу) эти резисторы влиять не могут, поскольку их сопротивление на два порядка больше, чем
сопротивление выходного буфера.
Они , возможно, нужны, если программатор отсоединить,
и то, чисто гипотетически.
0 #66 Alex 03.07.2013 08:33
а подскажите пожалуйста, подтяжка всех пинов JTAG к питанию как на платке Марсоход, работает со стандартным программатором, например USB-Blaster, где то видел вроде на вашем сайте . . .
почитал DS на MAX2, в нем рекомендовано CLK подтягивать к земле 1k . . .
спасибо
0 #65 Alex 01.07.2013 08:09
Цитирую wowa:
Что используется как питание? Уменя стояля в схеме LM33 тольуко с керамикой - ПЛИС грелась как собака и только когда на ней держал палец работала. Почитал - поставил к керамике ещё электролит и заработало. И вообще - конденсаторы нужно ставить по питанию обязательно.


да нее, с питанием все норм. смотрел осцилом во время попыток прошивки
на отладочной платке, ниже ссылка на схему, на каждый пин питания емкость по 0,1uF установлена плюс основная после LDO, на тестовой только для прошивки в принципе можно без емкостей, работает только TAP контроллер . . .
0 #64 wowa 01.07.2013 07:17
Что используется как питание? Уменя стояля в схеме LM33 тольуко с керамикой - ПЛИС грелась как собака и только когда на ней держал палец работала. Почитал - поставил к керамике ещё электролит и заработало. И вообще - конденсаторы нужно ставить по питанию обязательно.
0 #63 Alex 01.07.2013 06:10
в общем сделал платку специально что бы проверить
http://s11.postimg.org/70x52yiub/JTAG_board.jpg
чип новый
питание и земля от программатора
ошибки аналогичные
уже и на знаю куда копать :sigh:
чипы мертвыми быть не могут, брал в терреэлектроник е, паяльник антистатический , второй чип паял в антистатич. браслете . . .
0 #62 Ю р и й 29.06.2013 13:37
Цитирую Alex:
а FT2232HL должна "слегка" греться?

Может.
0 #61 Alex 29.06.2013 12:25
а FT2232HL должна "слегка" греться?
0 #60 Alex 29.06.2013 09:42
программатор работает, TDO TDI эхо, TDO TMS 0x8000, уже хорошо, значит будем пытать отладочную платку
проводочки 20см, частоту изначально уменьшил до 180kHz, данный пункт тоже исключается
спасибо
0 #59 Alex 29.06.2013 09:30
"проводочки" я имел ввиду что платка и программатор соединены :-)
за тему про JTAG Chain Debugger спасибо, а то уже было начал курить хелп квартуса по данному пункуту, с инглишем туго правда :-)
будем дебажить . . .
0 #58 Ю р и й 29.06.2013 09:08
Проводки это плохо. укорачивайте, насколько можно.
Дебужить не пробовали? - http://marsohod.org/index.php/forum/7----mbftdi/1165-loopback--
0 #57 Alex 29.06.2013 05:34
спасибо

чип EPM240T100C5N
тактовую уменьшил
Frequency is set to 1.8MHz (FTDI clk divider 0010), requred 1.8MHz
консоль выдает теже данные, ну только за изменением указанной строки
проводки есть :lol:
прозвонил все важные пины неоднократно, 3 день танцы :oops:
JTAG прозвонил между пинами чипов, FTDI и EMP240
питание/земля на положенных пинах EMP240 присутствует
осцилом проверил, сигналы на пины плис приходят, но TDO молчит, я так понимаю плис не отвечает? отличие от вашей платы, притянул к питанию JTAG плис 5k
вот схемки программатора и отладки
http://postimg.org/image/lajyxn5zv/
http://postimg.org/image/xe2w3vua1/
скорей всего где то ошибка, но сам не вижу "глаз замылился" за 3 дня :oops:
0 #56 Ю р и й 29.06.2013 04:08
Цитирую Alex:
подскажите куда копать?
спасибо

Какой чип вы программируете, есть ли проводки между программатором и чипом?
Попробуйте уменьшить тактовую частоту (в *.svf файле)
Поставьте вместо 15, например, 1.5
0 #55 Alex 28.06.2013 21:39
подскажите куда копать?
спасибо

mbftdi v1.4 - burn MAX2 CPLD from Altera Vector Programming File *.svf
FTDI port to JTAG is used for programming
Usage example: mbftdi myfile.svf

Checking for FTDI devices...
2 FTDI devices found - the count includes individual ports on a single chip
Assume first device has the MPSSE and open it...
Device: Dual RS232-HS A
Serial: A
Hi-speed device (FT232H, FT2232H or FT4232H) detected
Configuring port for MPSSE use...
Frequency is set to 15MHz (FTDI clk divider 0001), requred 18MHz
-----------------------------------
!CHECKING SILICON ID
compare TDO failed at 0
Expect buffer:
32 04 80 A2 54 00 82 94 00 2C 18 00 00 00 00
Compare buffer:
FE FF FF FE FF FF FE FF FF FE FF FF FE FF FF
Mask buffer:
FF FE 80 FF FE 80 FF FE 80 FF FE 80 FF FE 80
error on check TDO answer
0 #54 Ю р и й 01.03.2013 05:01
Цитирую Андрей:
Цитирую nckma:
Цитирую Андрей:
Можно ли штатными средствами Quartus через данный программатор шить микросхемы конфигурации для FPGA с последовательным интерфейсом (режим AS) напрямую?

Active Serial пока не работает.
Надеюсь скоро будет

Пока не работает с программной стороны или сам FTDI не поддерживает связь с микросхемами конфигурации? Нужно ли будет менять схему прграмматора?

Драйвер уже есть, платку переразвели, через неделю-две будет новый программатор с поддержкой "PS" и"AS" режимов.
0 #53 Андрей 28.02.2013 11:00
Цитирую nckma:
Цитирую Андрей:
Можно ли штатными средствами Quartus через данный программатор шить микросхемы конфигурации для FPGA с последовательным интерфейсом (режим AS) напрямую?

Active Serial пока не работает.
Надеюсь скоро будет

Пока не работает с программной стороны или сам FTDI не поддерживает связь с микросхемами конфигурации? Нужно ли будет менять схему прграмматора?
0 #52 nckma 12.02.2013 14:15
Цитирую Андрей:
Можно ли штатными средствами Quartus через данный программатор шить микросхемы конфигурации для FPGA с последовательным интерфейсом (режим AS) напрямую?

Active Serial пока не работает.
Надеюсь скоро будет
0 #51 Андрей 12.02.2013 11:23
Можно ли штатными средствами Quartus через данный программатор шить микросхемы конфигурации для FPGA с последовательны м интерфейсом (режим AS) напрямую?
0 #50 killing_machine 05.02.2013 16:49
OpenOCD 0.6.1 понимает SVF
пробовалась Mega32 и Altera(EPM3064ATC44)
прошились без проблем
железо FT2232HL
interface: flossjtag-noeeprom
target :adapter_khz 4500
0 #49 Toxa 22.01.2013 19:35
программатор на конец то приехал. сегодня забрал, подпаял шлейф и зашил пробную прошивку в EPM3064 из квартуса, все работает без претензий.
но вот пытаюсь залить прошивку в xc3s50an с помощью mbftdi.exe, и он сразу выдает вот такой еррор:

//Loading device with 'idcode' instruction.
error SIR parameters

вот кусок
//Loading device with 'idcode' instruction.
SIR 6 TDI (09) SMASK (3f) ;
SDR 32 TDI (00000000) SMASK (ffffffff) TDO (f2610093) MASK (0fffffff) ;
TIR 0 ;
HIR 0 ;
TDR 0 ;
HDR 0 ;
TIR 0 ;
HIR 0 ;
HDR 0 ;
TDR 0 ;

это нормально?
вы на каком то сайте размещали статью о программаторе, где написали, что вам удалось прошить им FPGA от Xilinx вроде бы серии virtex 5.
0 #48 Astloman 08.01.2013 23:03
Спасибо, помогло, провода LPT-программато ра длинной 20 см.

Начал прошивать первый проект выдало ошибку на ~75%.
Очистил без проблем.
И прошил по очереди UFM затем CFM - заработало.

Подскажите в какой последовательно сти правильно прошивать?
Сначала конфигурационну ю память (CFM) или пользовательску ю (UFM). И нужно-ли каждый раз перед прошивкой нового проекта делать очистку памяти (Erase)?

Спасибо.
0 #47 Ю р и й 03.01.2013 06:00
Цитирую Astloman:
Хочу сделать ByteBlaster на первое время.
Подскажите пожалуйста допустимую длину проводов для кабеля от LPT до JTAG-разъема.
Насколько мне известно в данном случае: чем короче - тем лучше.
А вы что скажете ? 1м это не много ?
Спасибо.

Вы, для начала, сделайте короткий - http://marsohod.org/index.php/howtostart/programmer
чтобы убедится , что у вас все заботает.
Затем уже можно пробовать подлиннее. Я думаю, что
1м многовато, возможно прийдется заморачиваться с согласованием. :-|
0 #46 Astloman 02.01.2013 22:02
Хочу сделать ByteBlaster на первое время.
Подскажите пожалуйста допустимую длину проводов для кабеля от LPT до JTAG-разъема.
Насколько мне известно в данном случае: чем короче - тем лучше.
А вы что скажете ? 1м это не много ?
Спасибо.
0 #45 Вадим 11.10.2012 18:23
Спасибо, помогло
0 #44 nckma 11.10.2012 13:23
Цитирую Вадим:
Выкачал последнюю версию программы, не получается шить ей файлы для Марсоход2.

$ fpga_flash cyclone3.svf
Error: Module ftdi_sio is not currently loaded
mbftdi v1.2 - execute Altera Vector Programming File *.svf
FTDI port to JTAG is used for programming
Usage example: >mbftdi myfile.svf

Checking for FTDI devices...
2 FTDI devices found - the count includes individual ports on a single chip
Assume first device has the MPSSE and open it...
Device: Dual RS232-HS A
Serial:
Hi-speed device (FT232H, FT2232H or FT4232H) detected
Configuring port for MPSSE use...
Frequency is set to 15MHz (FTDI clk divider 0001), requred 25MHz

Что делать? Хочется шить под линуксом.

Попробуйте версию v1.3 - если не поможет опишите подробнее что происходит
0 #43 Вадим 11.10.2012 05:32
Выкачал последнюю версию программы, не получается шить ей файлы для Марсоход2.

$ fpga_flash cyclone3.svf
Error: Module ftdi_sio is not currently loaded
mbftdi v1.2 - execute Altera Vector Programming File *.svf
FTDI port to JTAG is used for programming
Usage example: >mbftdi myfile.svf

Checking for FTDI devices...
2 FTDI devices found - the count includes individual ports on a single chip
Assume first device has the MPSSE and open it...
Device: Dual RS232-HS A
Serial:
Hi-speed device (FT232H, FT2232H or FT4232H) detected
Configuring port for MPSSE use...
Frequency is set to 15MHz (FTDI clk divider 0001), requred 25MHz

Что делать? Хочется шить под линуксом.
0 #42 nckma 20.08.2012 07:42
Цитирую Александр:
Здравствуйте. В проекте mBlasterFtdi есть файлы test1.svf, test2.svf. Зашил test1 в марсоход , показало JTAG program executed successfully. Скажите плз, должен ли как-то марсоход реагировать (например, помигать светодиодом) после зашивания этих файлов ? Спасибо.

насколько я помню эти образы прошивки должны как-то мигать светодиодами :-)
0 #41 Александр 16.08.2012 09:40
Здравствуйте. В проекте mBlasterFtdi есть файлы test1.svf, test2.svf. Зашил test1 в марсоход , показало JTAG program executed successfully. Скажите плз, должен ли как-то марсоход реагировать (например, помигать светодиодом) после зашивания этих файлов ? Спасибо.
0 #40 Sergiy 02.08.2012 16:05
Цитирую nckma:
вот здесь разводка для P-CAD v8.5 http://marsohod.org/downloads/doc_download/119---mbftdi--p-cad-v85

Большое спасибо :roll:
0 #39 nckma 30.07.2012 11:54
Цитирую Sergiy:
Нужна разводка печатной платы программатора!!!
если у кого-то есть пришлите на мыло:Alias-06@meta.ua

вот здесь разводка для P-CAD v8.5 http://marsohod.org/downloads/doc_download/119---mbftdi--p-cad-v85
0 #38 Sergiy 25.07.2012 21:44
Нужна разводка печатной платы програматора!!!
если у кого-то есть пришлите на мыло:Alias-06@meta.ua
0 #37 Danil 19.04.2012 10:17
ЧТОЖ ВЫ МОЛЧАЛИ про новую версию!?!?

Полдня хардварного дебагинга с осцилографом и тестером - это жестоко!

Такие вещи надо на главной странице объявлять.

Кстати кто знает как в Квартусе настроить частоту для svf файла? По умолчанию ставится 18 МГц - реально мой программатор смог только 2 МГц.

Как результат - FT2232D(L) работает с версией mbftdi v1.2 - проверено!
0 #36 Ю р и й 19.04.2012 08:01
Цитирую Danil:
Причем вывод программы одинаковый и в Linux и в Windows :(

Куда копать-то?

Можно попробовать более свежую версию - http://marsohod.org/11-blog/186-ver12
Но она проверялась с чипом "D" , на счет "L" у нас информации нет.
0 #35 Danil 19.04.2012 06:01
Причем вывод программы одинаковый и в Linux и в Windows :(

Куда копать-то?
0 #34 Danil 19.04.2012 05:41
Собрал программатор, скомпилировал простой проект и никак :(


user@user-u10:~/Quartus_projects$ ./mbftdi ./MAXII_devboard/devboard.svf
mbftdi v1.0 - burn MAX2 CPLD from Altera Vector Programming File *.svf
FTDI port to JTAG is used for programming
Usage example: >mbftdi myfile.svf

Checking for FTDI devices...
2 FTDI devices found - the count includes individual ports on a single chip
Assume first device has the MPSSE and open it...
Configuring port for MPSSE use...
Frequency is set to 1.500000e+07Hz (FTDI clk divider 0001), requred 1.800000e+07Hz
-----------------------------------
!CHECKING SILICON ID
oops.. expect 15 bytes read but got 51
error on check TDO answer

Что делать-то?
0 #33 Danil 19.04.2012 04:38
Исправьте инструкцию для компиляции под Linux.
Нужно делать так:
а) распаковываем архив с исходниками (качаем и распаковываем драйвера ftd2xx если забыли);
б) идем в папку /mBlasterFtdi/l inux и правим Makefile на предмет путей к драйверам ftd2XX (не забываем правильно указать версию для систем х64 если нужно)
в) запускаем консоль и идем в папку /mBlasterFtdi/l inux
г) выполняем следующие команды:
1)> make clean
2)> make all

Если просто написать "make" - не скомпилируется т.к. в архиве уже лежит собранный исполняемый файл mbftd.

ЗЫ. Собралось все вроде нормально, но пока не запускал - программатор еще паяется (кстати собран на FT2232L).
0 #32 Иван 06.04.2012 01:44
А может кто-то нарисовать схему для FT2232D? :roll:
+1 #31 Stu 11.01.2012 13:01
Цитирую dcoder:
C:\>d:\marsohod\mbftdi.exe d:\marsohod\test\test1.svf
mbftdi - burn MAX2 CPLD from Altera Vector Programming File *.svf
FTDI port to JTAG is used for programming
Usage example: mbftdi myfile.svf

Checking for FTDI devices...
2 FTDI devices found - the count includes individual ports on a single chip
Assume first device has the MPSSE and open it...
Configuring port for MPSSE use...
-----------------------------------
!CHECKING SILICON ID
oops.. expect 15 bytes read but got 51
error on check TDO answer

Такие дела...
В чем может быть дело?

та же ситуация, но пару раз написала, что прошила.
+1 #30 lesha birukov 09.01.2012 13:35
имхо следует здесь описать, или хотя бы дать ссылку на описание создания svf в Quartus-е, причем через
"Programming Files page of the Device and Pin Options dialog box", а не через
"Open programmer -> Create/Update > Create Jam, JBC, SVF, or ISC File command (File menu)".
Чтобы раз и навсегда. И в "почти пустом проекте" надо бы поставить галку соответствующую .
0 #29 lexaInz 12.12.2011 10:53
Решил попробовать Вашу прогу v1 (у меня есть платка с FT2232H и Cyclone III ) прошилась без проблем.
Спасибо!!! Что делитесь опытом и знаниями.
В коде разобрался, одно не понятно ОТКУДА такие Instruction Code в файле .SVF
SIR 10 TDI (002);
SIR 10 TDI (004);
SIR 10 TDI (003);
В доках на Alter-у ничего подобного нет!
0 #28 TheBits 27.11.2011 07:55
На схеме программатора красный и синий светодиоды нужно поменять местами. На самом программаторе они стоят в другом порядке.
0 #27 Ю р и й 26.11.2011 05:48
Цитирую dcoder:

Такие дела...
В чем может быть дело?

На самом деле причин может быть много, и чтобы разобраться, нужно
больше информации. Насколько я понимаю, у вас свой программатор,
поэтому, если можно, пришлите на наш адрес (info@marsohod.org) схемки, фотографии,
более подробное описание экспериментов, в общем, все что сможете.
Очень постараемся помочь.
+2 #26 dcoder 25.11.2011 18:10
C:\>d:\marsohod \mbftdi.exe d:\marsohod\test\test1.svf
mbftdi - burn MAX2 CPLD from Altera Vector Programming File *.svf
FTDI port to JTAG is used for programming
Usage example: mbftdi myfile.svf

Checking for FTDI devices...
2 FTDI devices found - the count includes individual ports on a single chip
Assume first device has the MPSSE and open it...
Configuring port for MPSSE use...
-----------------------------------
!CHECKING SILICON ID
oops.. expect 15 bytes read but got 51
error on check TDO answer

Такие дела...
В чем может быть дело?
0 #25 Xeon 23.11.2011 04:31
Цитирую nckm_:
Цитирую Xeon:
[quote name="Сергей"]
Может ктонить знает проблему в сложившейся ситуации и подскажет решение?!

Давайте я сделаю спец версию программы для mbftdi чтоб выводила побольше дебаг сообщений. Тогда появится возможность хоть что-то сказать конкретное. Я думаю проблема может быть даже и в программе, если SVF файл интерпретируется не совсем корректно. PS: К сожалению в округе мы не можем найти таких микросхем. А на заказ их только партиями, что нам не очень интересно...

Еще - пришлите ваш эл. адрес. Так будет проще помогать.


Эл. почта: elaxcc@gmail.com

С удовольствием помогу в решении проблемы.
0 #24 nckm_ 22.11.2011 11:44
Цитирую Xeon:
[quote name="Сергей"]
Может ктонить знает проблему в сложившейся ситуации и подскажет решение?!

Давайте я сделаю спец версию программы для mbftdi чтоб выводила побольше дебаг сообщений. Тогда появится возможность хоть что-то сказать конкретное. Я думаю проблема может быть даже и в программе, если SVF файл интерпретируетс я не совсем корректно. PS: К сожалению в округе мы не можем найти таких микросхем. А на заказ их только партиями, что нам не очень интересно...

Еще - пришлите ваш эл. адрес. Так будет проще помогать.
0 #23 Xeon 22.11.2011 10:39
Цитирую Сергей:
Цитирую Xeon:
Тоже не хочет прошивать... плис - MAX 7000s EPM7064STC100. Есть вопрос: нашёл pdf компании альтера об ихнем usb-blaster...там есть следующее...в режиме jtag пин 4 на разъёме называется VCC(target power supply). Я как понил на этой ноге питание целевой микросхемы это так, и зачем онное? И еще вопрос...ваш программатор(а точнее микруха ftdi) питается от 3.3 вольт, а моя целевая микруха от 5 вольт...нужно ли делать согласавание уровней? У меня предположение что просто программатор и плис друг друга не понимают1

Когда я прошивал микросхему, о чем писал ниже по коментариям про EPM7128SLC84-15, то на ПЛИС подавал своё напряжение +5 вольт. Согласование уровней между FTDI и плис не делал.
На счет разьема jtag - напряжение с 4 ноги не использовал, хотя на моей схеме, где ПЛИС, туда есть возможность подключиться установив джампер.


Может ктонить знает проблему в сложившейся ситуации и подскажет решение?!
0 #22 Сергей 22.11.2011 05:40
Цитирую Xeon:
Тоже не хочет прошивать... плис - MAX 7000s EPM7064STC100. Есть вопрос: нашёл pdf компании альтера об ихнем usb-blaster...там есть следующее...в режиме jtag пин 4 на разъёме называется VCC(target power supply). Я как понил на этой ноге питание целевой микросхемы это так, и зачем онное? И еще вопрос...ваш программатор(а точнее микруха ftdi) питается от 3.3 вольт, а моя целевая микруха от 5 вольт...нужно ли делать согласавание уровней? У меня предположение что просто программатор и плис друг друга не понимают1

Когда я прошивал микросхему, о чем писал ниже по коментариям про EPM7128SLC84-15 , то на ПЛИС подавал своё напряжение +5 вольт. Согласование уровней между FTDI и плис не делал.
На счет разьема jtag - напряжение с 4 ноги не использовал, хотя на моей схеме, где ПЛИС, туда есть возможность подключиться установив джампер.
0 #21 Xeon 21.11.2011 08:34
Тоже не хочет прошивать... плис - MAX 7000s EPM7064STC100. Есть вопрос: нашёл pdf компании альтера об ихнем usb-blaster...т ам есть следующее...в режиме jtag пин 4 на разъёме называется VCC(target power supply). Я как понил на этой ноге питание целевой микросхемы это так, и зачем онное? И еще вопрос...ваш программатор(а точнее микруха ftdi) питается от 3.3 вольт, а моя целевая микруха от 5 вольт...нужно ли делать согласавание уровней? У меня предположение что просто программатор и плис друг друга не понимают1
0 #20 Сергей 26.10.2011 09:42
Цитирую nckm_:

info@marsohod.org - попробуем посмотреть файл, может там есть какие особенности. Может найдем похожую микросхему..
Еще несколько вопросов. 1) Вы используете покупной девелопер кит или делаете свою плату? Могут ли быть проблемы платы? 2) подаете питание на свою плату (извините за глупый вопрос)? 3) пробовали ли шить другие микросхемы?

Файл отправил.
Ответы: 1) не понял вопроса: если про программатора, то куплен у вас, если про плату в которой стоит ПЛИС - своя. 2) действительно глупый вопрос. 3) Эту же плату с этой же ПЛИС (MAX7000S) прошивал через ByteBlaster - без проблем.
Этот программатор ПЛИС MAX2 прошивает нормально.
0 #19 nckm_ 26.10.2011 05:10
Цитирую Сергей:

Куда файл выслать?

info@marsohod.org - попробуем посмотреть файл, может там есть какие особенности. Может найдем похожую микросхему..
Еще несколько вопросов. 1) Вы используете покупной девелопер кит или делаете свою плату? Могут ли быть проблемы платы? 2) подаете питание на свою плату (извините за глупый вопрос)? 3) пробовали ли шить другие микросхемы?
0 #18 Сергей 26.10.2011 05:04
Цитата:

Скажите, а какую версию программы вы используете? В разделе для скачивания сейчас их две. Та что версия 1.0 новее и по идее лучше.
Еще - пришлите пожалуйста Ваш SVF файл
Пробовал обе.
В первой (которая V0.5) пишет:
-----------------------------------
!CHECKING SILICON ID
Unexpected number of bits for SDR (64)

Во второй (которая V1.0) как писал.

Куда файл выслать?
0 #17 nckm_ 26.10.2011 04:39
Цитирую Сергей:
Цитирую nckm_:
Цитирую Xeon:
Привет Всем! Ток начинаю заниматься плисами...есть вопросик этим программатором можно прошить EPM7064SLC44-10?

скорее всего можно

Пробовал прошивать этим программатором EPM7128SLC84-15 не получилось.
Пишет:
-----------------------------------
!CHECKING SILICON ID
error on check answer
-----------------------------------
!BULK ERASE
error processing RUNTEST
error processing RUNTEST
-----------------------------------
!PROGRAM
error processing RUNTEST
error processing RUNTEST
и т.д.

Скажите, а какую версию программы вы используете? В разделе для скачивания сейчас их две. Та что версия 1.0 новее и по идее лучше.
Еще - пришлите пожалуйста Ваш SVF файл
0 #16 Сергей 25.10.2011 17:36
Цитирую nckm_:
Цитирую Xeon:
Привет Всем! Ток начинаю заниматься плисами...есть вопросик этим программатором можно прошить EPM7064SLC44-10?

скорее всего можно

Пробовал прошивать этим программатором EPM7128SLC84-15 не получилось.
Пишет:
-----------------------------------
!CHECKING SILICON ID
error on check answer
-----------------------------------
!BULK ERASE
error processing RUNTEST
error processing RUNTEST
-----------------------------------
!PROGRAM
error processing RUNTEST
error processing RUNTEST
и т.д.
0 #15 nckm_ 01.09.2011 04:59
Цитирую Xeon:
Микросхема 93c46 я как понил это EERPOM, или ошибаюсь? если так то зачем он и можно ли без него обойтись?

это если Вы захотите поменять для устройства VendorId или DeviceId, тогда нужна эта микросхема и ее нужно прошивать
0 #14 Ю р и й 01.09.2011 04:33
Цитирую Xeon:
Микросхема 93c46 я как понил это EERPOM, или ошибаюсь? если так то зачем он и можно ли без него обойтись?

Для работы нашей программки этот чип не нужен.
Но поскольку наш программатор является частью
нашего конструктора, то на платке мы его развели - может
кому/когда понадобится.
0 #13 Xeon 31.08.2011 09:13
Микросхема 93c46 я как понил это EERPOM, или ошибаюсь? если так то зачем он и можно ли без него обойтись?
0 #12 nckm_ 30.08.2011 13:44
Цитирую Xeon:
Привет Всем! Ток начинаю заниматься плисами...есть вопросик этим программатором можно прошить EPM7064SLC44-10?

скорее всего можно
0 #11 Xeon 30.08.2011 10:09
Привет Всем! Ток начинаю заниматься плисами...есть вопросик этим программатором можно прошить EPM7064SLC44-10 ?
0 #10 nckm_ 29.08.2011 12:19
Цитирую A.P.:
Это конечно здорово, но на ebay.com "фирменный" JTAG обошелся мне $19,99. Отлично работает SignalTap :P

я уверен, что на ebay можно купить много интересных и дешевых устройств. Если думать только о цене, то тогда лучше вообще ничего не делать. В великом Китае все равно сделают дешевле. Наша цель шире - показать, рассказать, заинтересовать, обменяться идеями и опытом..
0 #9 A.P. 29.08.2011 10:42
Это конечно здорово, но на ebay.com "фирменный" JTAG обошелся мне $19,99. Отлично работает SignalTap :P
0 #8 Ю р и й 13.08.2011 04:42
Цитирую Clark:
А на FT2232D или С можно сделать? А то H стоит негуманно и достается только в совершенно непаябельном корпусе :( MSPSE там вроде бы есть. Т.к. жтаг для STM32 я на ней делал.

Судя по даташиту и вот-этой табличке http://www.ftdichip.com/Products/ICs.htm
можно. но мы не пробовали.
+3 #7 Zilix 12.08.2011 19:54
Любопытный проект.

Вот только схема у вас это мрак полный. Ну хрен с ними с гостами, но равняться на ардуинщиков и рисовать схемы-дебилки "от ножке к ножке"... Ладно была бы шняга на какой нибудь тини или 555, где ножек всего ничего, а FT2232 с ее 64мя выводами.. Это же совсем за гранью добра и зла.

Сижу вот считаю ножки на картинке...
0 #6 Clark 12.08.2011 19:34
А на FT2232D или С можно сделать? А то H стоит негуманно и достается только в совершенно непаябельном корпусе :( MSPSE там вроде бы есть. Т.к. жтаг для STM32 я на ней делал.
0 #5 eclipsevl 05.08.2011 08:26
Цитата:
Эта микросхема уже имеет встроенный высокоскоростной интерфейс USB2 и может использоваться для реализации различных методов передачи: последовательной, параллельной, SPI, I2S, JTAG.
Не нужно путать I2C и I2S.
+1 #4 ReAl 26.07.2011 15:52
Отлично!
Ещё бы, действительно, драйвер под квартус (да еще линуксовый бы, да чтобы всё, включая signal tap), и будет одна и та же платка для работы с Altera, ARM и AVR.
0 #3 nckm_ 26.07.2011 09:28
Цитирую foxit:
A ft232rl подойдет?

подходят микросхемы с встроенным MPSSE.
У микросхемы ft232h он есть, а вот у более старой ft232r нет.
Более подробно о внутренних возможностях микросхем FTDI можно посмотреть на сводной таблице http://www.ftdichip.com/Products/ICs.htm
0 #2 maxxir 25.07.2011 17:28
ft232rl - Вряд-ли она bit-bang JTAG'a не потянет
0 #1 foxit 25.07.2011 14:19
A ft232rl подойдет?

Добавить комментарий


Защитный код
Обновить


GitHub YouTube Twitter
Вы здесь: Начало Статьи о разном Программатор USB