USB Blaster V2, Загрузочный кабель для ALTERA FPGA, CPLD, Active Serial Configuration и Enhanced Configuration устро
Описание
USB Blaster V2 – это USB-совместимый загрузочный кабель для внутрисхемного конфигурирования и программирования микросхем ALTERA (FPGA, CPLD, Active Serial Configuration Devices и Enhanced Configuration Devices). Он совместим с оригинальным PL-USB-BLASTER-RCN.
Производительность:
— Поддержка ALTERA основных FPGA/CPLD устройств;
— Поддержка ALTERA основных Active Serial Configuration устройств;
— Поддержка ALTERA основных Enhanced Configuration устройств;
— Поддержка 3-х режимов загрузки AS, PS, JTAG;
— Высокоскоростной, стабильный, встроенное FT245R+CPLD решение;
— Поддержка 1.2-5В напряжение программирования;
— Поддержка SignalTap II;
— Поддержка Nios II.
Поддерживаемое ПО:
— Quartus II;
— NIOS II IDE;
— NIOS II EDS.
Поддержка устройств:
— CPLD: MAX3000, MAX7000A/B/S, MAX9000, MAX II и др.;
— FPGA: Stratix, Stratix II, Cyclone, Cyclone II, CycloneIII, ACEX 1K, APEX 20K, FLEX 10K и др.;
— Active Serial Configuration Devices including: EPCS1, EPCS4, EPCS16 и др.
— Enhanced Configuration Devices including: EPC1, EPC4 и др.
Комплектация:
1 х Загрузочный кабель (USB Blaster V2);
1 х Кабель (USB cable);
1 х Кабель (10-pin cable).
Источник
Загрузочный кабель для конфигурирования что это
[Существующие загрузочные кабели Lattice]
В настоящее время фирма Lattice Semiconductor для конфигурирования своих устройств предлагает два вида загрузочных кабелей [1]:
Наименование | PC интерфейс | Цена в Digikey | Цена в России |
HW-USBN-2A | USB 2.0 | 162$ [2] | 9000 .. 22000р. |
HW-DLN-3C | LPT | 71$ [3] | 3500 .. 7500р. |
При этом LPT кабель неудобен, загрузка по нему медленная, он не поддерживается последними версиями MICO32 System, и разъём к нему обычно отсутствует на новых компьютерах. В силу малой распространённости китайцы не особо спешат клонировать кабели для FPGA Lattice.
Основу схемы HW-USBN-2A [2] составляют чип FT2232H, отвечающий за USB соединение, и трансляторы уровней, которые обеспечивают работу при уровнях напряжения питания JTAG в диапазоне 1.2V .. 5V. Простота схемы и отсутствие специальной защиты позволяют клонировать HW-USBN-2A на основе готовых плат типа FT2232H Board [4] или FT2232H Mini Module, просто присоединив JTAG разъём к соответствующим ножкам FT2232H.
Такое решение имеет следующие преимущества:
- Очень низкая стоимость и легкодоступность.
- Возможность полноценно работать тем же устройством и с FPGA Xilinx.
- Меньшее время задержки сигнала за счёт отсутствия трансляторов уровня в загрузочном кабеле, что позволяет достичь большей скорости передачи данных (до 30 мегабит), если использовать кабель в качестве отладочного интерфейса.
Есть и недостатки:
- Напряжение питания JTAG может быть только 3.3V.
- Невозможно штатными средствами переводить выходы загрузочного кабеля в состояние высокого импеданса (отключать, проще говоря).
[Изготовление самодельного загрузочного кабеля]
В инструкции к загрузочным кабелям Lattice [5] описываются несколько вариантов цоколевки JTAG. Я использую стандартную цоколевку с разъёмом 5×2. Этот разъём следует присоединить к FT2232H Board следующим образом:
JTAG | FT2232H Board | ||
Сигнал JTAG | Контакт коннектора | Контакт на плате | |
TCK | 1 | ADBUS0 | |
GND | 2 | GND | |
TMS | 3 | ADBUS3 | |
GND | 4 | GND | |
TDI | 5 | ADBUS1 | |
VCC | 6 | не подключать | |
TDO | 7 | ADBUS2 | |
GND | 8 | GND | |
TRST | 9 | ADBUS7 | |
ISPEN | 10 | ADBUS4 |
Данная схема обладает следующим недостатком: напряжение 3.3 вольта на выходных ножках FT2232H будет появляться при работающем USB сразу после запуска программатора, независимо от наличия питания на программируемой плате. Для некоторых микросхем такой режим недопустим и может привести к постоянному току короткого замыкания через выходной драйвер FT2232H и защитный диод на входе, и даже к тиристорному защёлкиванию. Хотя я и не знаком с FPGA или логическими буферами, таящими подобную опасность(а вот SPI ADC, например, такие встречаются), но всё же предпочёл развести питание так, чтобы исключить эту ситуацию. Потребовалось перерезать две дорожки на FT2232H Board и подавать 3.3V не с USB, а с контакта VCC на разъёме JTAG. На схеме красным показана модификация цепей питания платы FT2232H Board. На фото красным показано, где перерезаны дорожки. Помимо питания, отрезаны от ACBUS5-ACBUS6 боковые выводы разъёма, чтобы не коротили. В питании выводы IC3.VOUT и JP3.2 отрезаны от шины 3.3V, и объединены в VCCINT, вместе с C2. JTAG контакт VCC подключается к отрезанной шине 3.3V.
Чтобы получить возможность легко подключать к FT2232H Board кабели с разной цоколевкой, я установил на боковом поле с отверстиями угловой разъём 2×5, который проводками подпаял к соответствующим боковым выводам на плате. В этот разъём вставляется плоский десятижильный кабель с двумя одинаковыми разъёмами 2×5 на концах, с другой стороны кабель вставляется в разъём на программируемой плате, соответствующий стандартной цоколевке, описанной выше в таблице 1.
UPD1405117. Для согласования уровней сигналов можно также применить защитные токоограничивающие резисторы. Последовательно в каждый сигнал JTAG ставятся резисторы 50..100 ом. Тогда напряжение питания программируемой схемы может быть любым, а напряжение портов FT2232H можно сделать 3.3V. Тогда переделывать схему питания на плате FT2232H Board не потребуется, и не придется резать дорожки.
Тут ещё интереснее получилось: я вначале порезал питание, а потом внимательно просмотрел даташиты и выяснилось, что питание можно и не резать, а просто не подключать JTAG VCC. Для всех микросхем, которые мы используем через JTAG, 3.3 вольта по входу — это допустимое номинальное напряжение. Даже резисторы не нужны. Сейчас я бы не стал переделывать питание. Проблема в том, что на фотках у меня вариант с порезанным:). Хотя с порезанным всё-таки безопаснее.
И ещё, что касается резисторов, в отличие от некоторых, FT2232 — это цивилизованная микросхема и имеет программную регулировку тока выходных драйверов, по умолчанию ток настроен на 4 мА, сопротивление выходов при этом порядка 50 Ом, что обеспечивает хорошую Signal Integrity и без резисторов.
[Установка программного обеспечения]
Установка драйвера и использование самодельного загрузочного кабеля ничем не отличается от родного фирменного. Драйвер установится вместе с IDE Lattice Diamond [5], либо с Lattice Diamond Programmer [7], если при установке не снимать установленную по умолчанию галочку «Programmer Drivers».
После подключения устройства к USB драйверы инициализируются автоматически. При помощи утилиты FT_Prog можно изменить название устройства, которое будет высвечиваться в программаторе, и серийный номер, однако всё может работать и с чистой конфигурацией по-умолчанию.
[Пример программирования FPGA]
Здесь показан пример загрузки прошивки FPGA LFE2M50E с помощью Lattice Standalone Programmer через кабель на FT2232 Board.
После запуска Diamond Programmer появится диалоговое окно с предложением выбрать или продетектировать загрузочный кабель:
После нажатия на кнопку «Detect Cable», выберите первое устройство из выпадающего списка:
Далее нажмите «OK».
После пары секунд сканирования откроется главное окно со списком устройств (оно у меня одно) в цепочке JTAG. Теперь теперь нужно уточнить тип программируемого устройства FPGA (выделено желтым) на LFE2M50E, и выбрать операцию Fast Program и файл с прошивкой.
Окно выбора операции, режима программирования и файла прошивки:
Файл прошивки и операция выбраны:
Нажмите на кнопку «Program», после этого начнется заливка прошивки в конфигурационное ОЗУ FPGA.
Примечание: в FPGA (за исключением некоторых моделей Actel) конфигурация всегда хранилась в ОЗУ, и должна загружаться из ПЗУ после сброса. ПЗУ иногда бывает в том же кристалле, но обычно внешнее. Также можно загрузить ОЗУ прямо через JTAG.
Примерно через 4 секунды операция завершится:
[Debug Mode]
Отладочный режим активируется нажатием на кнопку «Debug mode. » (справа под панелью IO settings). В этом режиме можно вручную управлять уровнями всех сигналов JTAG, что полезно для проверки правильности сборки. Для управления уровнями необходимо галочками(в колонках Hold High или Hold Low) выставить уровни всех сигналов и нажать на кнопку «Test». Примерно через 2 секунды после нажатия на Test новые уровни будут установлены на всех выходах. При этом на линии TRST постоянный низкий уровень не установить, он опускается вниз лишь на долю секунды, что, однако, заметно даже на цифровом мультиметре.
Источник
Загрузочный кабель HW-USBN-2B для внутрисхемного конфигурирования и программирования микросхем Lattice
HW-USBN-2B – загрузочный кабель для внутрисхемного конфигурирования и программирования микросхем компании Lattice. Компания выпускает небольшую линейку программаторов, которые позволяют работать со всем спектром микросхем Lattice. Технология работы с загрузочным кабелем выглядит следующим образом: после завершения вашего проекта в среде разработки Lattice Diamond, iCEcube2 или PAC-Designer, вы можете создать файл для программирования в разных форматах. После этого, используя софт Diamond Programmer, вы можете программировать микросхемы, установленные на PCB. Загрузочные кабели также используются для двухканальной связи с такими программными инструментами как Reveal Logic Analyzer и MicoSystem Debugger.
Загрузочный кабель HW-USBN-2B подключается к PC через USB порт. Это изделие относится к средствам нового поколения Lattice. Кроме этого, компания Lattice предлагает USB загрузочный кабель первого поколения HW-USBN-2A, а также кабель с параллельным интерфейсом HW-DLN-3C.
Новейший загрузочный кабель HW-USBN-2B – это увеличенная в 3–10 раз производительность, поддержка интерфейса I2C и многое другое.
HW-USBN-2B поддерживает программирование микросхем Lattice с напряжение ядра до 3.3 В. Программирование микросхем с питанием ядра 5 В требует применения загрузочного кабеля HW-USBN-2A или HW-DLN-3C. Микросхемы с ядром с питанием 5 В включены в семейства ispLSI 2000E, MACH 4 и MACH4A5.
Рис. 1. Загрузочный кабель HW-USBN-2B
Рис. 2. Сигналы загрузочного кабеля HW-USBN-2B
Отличительные особенности:
- Поддержка всех программируемых микросхем Lattice с напряжением ядра 1.2 V-3.3 V;
- Отличный инструмент для прототипирования и отладки;
- USB (v.1.0, v.2.0) интерфейс со стороны PC;
- Удобные для применения соединители;
- Соответствие RoHS.
Подробное Руководство пользователя см. в разделе Документация ниже.
Источник