Скоростная передача данных с платой Марсоход3

И на плате Марсоход2 и на плате Марсоход3 стоит программатор MBFTDI построенный на базе USB чипа FT2232H. Микросхема двухканальная, поэтому программатор позволяет одновременно загружать проекты в ПЛИС через JTAG по одному каналу передачи и по второму каналу организовавать связь с ПЛИС через последовательный COM-порт (до 12Мбит/сек).

В отличии от платы Марсоход2, программатор платы Марсоход3 можно переключить в режим синхронного ФИФО. В этом случае скорость передачи данных через USB между ПЛИС и компьютером может быть существенно выше.

Микросхема FT2232H в режиме синхронного ФИФО требует внешнего чипа 93C46 EEPROM, который должен быть специальным образом запрограммирован. На плате Марсоход3 этот чип есть:

93c46 serial eprom

Для программирования чипа EEPROM воспользуемся утилитами компании FTDI: их две, хоть делают они, в общем, одно и то же - это программы MProg и FT_Prog. Первая утилита - более старая. Компания FTDI рекомендует использовать программу FT_PROG. Скачать программы можно бесплатно на сайте FTDI по ссылкам:

Итак, подключаем плату Марсоход3 к компьютеру / ноутбуку. Перемычки платы, как обычно, в среднем положении:

jumpers mid

Запускаем программу FT_PROG и сканируем UBS шину выбирая пункты меню программы Devices => Scan And Parse. Программа должна обнаружить микросхему памяти FT EEPROM и предлагает записать в нее разные данные и параметры. Обратите внимание, что записывать в микросхему случаные данные нельзя. Если, например, записать в микросхему другие USB Product ID (а по умолчанию здесь стоит 0x6010) или USB Vendor ID (по умолчанию 0x0403), то компьютер просто перестанет распознавать ваше устройство и будет требовать новых драйверов, которых у вас скорее всего нет.

Поэтому, Product ID и Vendor ID не трогаем! Оставляем как есть 0x6010 и 0x403!

Меняем только Hardware Specific опции для канала А и канала В.
Устанавливаем режим "245 FIFO":

ft prog1

Устанавливаем режим драйвера "D2XX Direct":

ft prog2

Теперь заходим в меню Devices => Program и нажимаем в появившемся диалоговом окне кнопку "Program". EEPROM будет прошита с новыми параметрами и теперь программатор MBFTDI может быть использован для передачи данных в режиме синхронного FIFO.

ft prog3

Обратите внимание, что теперь, если выдернуть из платы Марсоход3 USB кабель, а затем вставить, то компьютер уже не обнаружит на USB шине последовательных портов. А ведь раньше их было два... Так и должно быть. Последовательных портов платы Марсоход3 больше нет в диспетчере устройств Windows. Их можно вернуть на место, если опять перепрограммировать EEPROM в исходное состояние, если вернуть опции RS232 UART / Virtual COM port.

Итак, микросхема FT2232H готова к работе в режиме FIFO. В принципе среда Altera Quartus II все еще видит плату и программатор MBFTDI. То есть мы все еще можем загружать проект в ПЛИС.

К сожалению, в режиме FIFO оба канала микросхемы FT2232H оказываются занятыми, поэтому нет простого способа одновременной загрузки / отладки проекта в ПЛИС и передачи данных в ПЛИС.

Теперь, если вам нужен режим синхронного FIFO микросхемы FTDI мы предлагаем другой способ разработки проектов - использование второго дополнительного программатора.

Просто переставим перемычки платы Марсоход3 в крайнее к краю платы положение:

jumpers edge

В освободившийся разъем ставим второй программатор MBFTDI:

connect

Теперь плата Марсоход3 подключена двумя кабелями USB к компьютеру или ноутбуку. Компьютер обнаружит два программатора MBFTDI. Один программатор, тот, что встроен на плату, будет использоваться программой передачи данных в ПЛИС или из ПЛИС в режиме синхронного FIFO. А второй, дополнительный, программатор будет использоваться для загрузки проектов и отладки ПЛИС с помощью Altera SignalTap.

Еще ссылки по режиму синхронного ФИФО в микросхемах FTDI:

Чуть позже я приведу примеры проектов для платы Марсоход3 использующие режим синхронного FIFO.

 

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