Altera usb blaster загрузочный кабель для программирования плис типа cpld и fpga компании altera

Обновлено: 05.07.2024

Программатор - загрузочный кабель USB Blaster V2 предназначен для програмирования и отладки устройств ALTERA FPGA, CPLD, устройств с активной последовательной конфигурацией и устройств с расширенной конфигурацией, подключения USB 2.0 к ПК и JTAG, AS, PS к целевому устройству.

ОПИСАНИЕ
Загрузочный USB-кабель Blaster соединяет USB-порт хост-компьютера с Altera® FPGA, установленной на печатной плате. Кабель передает данные конфигурации с ПК на стандартный 10-контактный разъем, подключенный к FPGA. Вы можете использовать кабель USB Blaster для многократной загрузки данных конфигурации в систему во время создания прототипа или для программирования данных в систему во время производства.

Он поддерживает устройства ALTERA серий FPGA / CPLD, устройства с активной последовательной конфигурацией, устройства с расширенной конфигурацией и поддерживает три режима загрузки AS, PS, JTAG.

ХАРАКТЕРИСТИКИ


Производительность:

  • Поддерживает устройства серии ALTERA FPGA / CPLD.
  • Поддерживает устройства ALTERA с активной последовательной конфигурацией.
  • Поддерживает устройства расширенной конфигурации серии ALTERA.
  • Поддерживает 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 и т. д.
  • Устройства активной последовательной конфигурации, в том числе: EPCS1, EPCS4, EPCS16 и т. д.
  • Усовершенствованные устройства конфигурации, включая: EPC1, EPC4 и т. д.

Другие свойства:

  • Высокая скорость загрузки: FT245 + CPLD + 244, близкая к оригинальной ALTERA USB Blaster.
  • Скорость загрузки в 1-3 раза выше, чем у других схем, например 68013 или C8051F.
  • Подключение к компьютеру через интерфейс USB 2.0.
  • Подключение целевой платы через интерфейсы JTAG, AS, PS. На рисунках 1, 2 и 3 ниже показаны схемы расположения заголовков различных интерфейсов:

Рисунок 1. Распиновка разъема JTAG



Рисунок 2. Распиновка разъема AS


Рисунок 3. Распиновка разъема PS


Статус светодиодов:

  • Красный светодиод: индикатор питания
  • Зеленый светодиод: индикатор сигнала, светодиод горит во время загрузки / программирования

Информация для разработчиков: демонстрационные коды, схемы, таблицы данных и т. д.


Обзор программатора для ПЛИС фирмы Altera. Кому интересно — прощу под кат.
ПРЕДУПРЕЖДЕНИЕ: данный обзор написан для тех, кто «в теме». Если об электронике и ПЛИСах Вы имеете смутное представление, то, судя по комментариям, этот обзор будет врятли Вам полезен.


USB-Blaster — программатор, разработанный фирмой Altera для своих ПЛИС. Имеет три интерфейса программирования: JTAG, Active Serial и Passive Serial. Предназначен для программирования и отладки ПЛИС этой фирмы.
По просьбам привожу некоторые расшифровки:
— ПЛИС(FPGA или CPLD) — Программируемая логическая интегральная схема.
— Altera — американская компания, один из ведущих и крупнейших производителей ПЛИС
— Cyclone II — семейство FPGA этой фирмы.
— Altera Quartus II — САПР, разработанная Альтерой для проектирования и отладки своих ПЛИС.
— JTAG — грубо говоря, интерфейс для программирования и отладки сложных цифровых микросхем и устройств. На данный момент — промышленный стандарт.
— AS и PS — интерфейсы программирования последовательных конфигурационных ПЗУ.





Сделан он на четверочку — внешний вид сразу выдает китайскую подделку. Но мы ведь им не любоваться будем, а работать. И в плане работы он хорош. ПО Quartus II принял его как





Плюсы:
+ Цена
+ Цена
+ ЦЕНА!
+ Полная совместимость с оригинальным устройством. Прошивание и отладка через jtag работают отлично.

Минусы:
— «Китайский» внешний вид.
— Некорректно работает интерфейс AS, НО тут неизвестно кто виноват — USB-Blaster или моя отладочная плата.

Мир цапостроя не заканчивается на РСМ63 или AD1862 , а новые форматы и поддерживающие их чипы уже доступны.
Это интересно. И не так уж сложно. Достаточно иметь нужный набор инструментов, который стал доступен практически каждому, и желание пробовать и экспериментировать.

↑ Небольшое вступление: CPLD она же ПЛИС

ПЛИС, что расшифровывается как Программируемая Логическая Интегральная Схема, по буржуйски — CPLD, что означает Complex Programmable Logic Device, в цапостроении применяется уже давно. А в мире цифровых устройств еще раньше.
Один из моих самосборных компьютеров «Орион-128» имел в стартовом комплекте печатную плату и прошитую ПЛИС, без которой плата бы никогда не запустилась бы. А это было… Ох, уже и не вспомню.
Но давно.

ПЛИС бывают разные. Основные производители на данный момент — это Xilinx и Altera, ну может кто-то еще — не вдавался. Бывают они разной структуры, назначения, ёмкости. Всего не перечислить. Технологии-то уже более 20 лет… Не беда, лампы вон до сих пор в цене:)

↑ Однако, приступим!

Когда я искал материал по ПЛИС, наткнулся на статью моего тёзки с ником Lexus. Называется она « Использование ПЛИС в DAC ». За статью автору огромное спасибо! Возможно это единственный материал, где подробно разжёвано всё от начала и почти до конца. Всёе остальное, включая документацию от производителей, довольно тяжело осваивать «в лоб». Вот на базе этого материала я и расскажу о своём опыте работы с ПЛИС. Я конечно постараюсь покороче, ну, а вы готовьте помидоры и изучайте.

Для начала нужно определиться, для чего и как будем использовать этот самый ПЛИС. Задача конвертации RJ в I2S, описанная в вышеуказанной статье — это просто, и как то меня она минула за ненадобностью, а вот коммутация входов, деление частоты на костыле из 3 корпусов 74НС74, переключение генераторов — вот минимальная задача, ради которой стоит начать знакомство с этой технологией.
Поэтому за основу был взят готовый ЦАП на AK4137, описанный в моей предыдущей статье.

Следующий шаг — обеспечить себя необходимым окружением. Для этого качаем из сети рекомендованный Лексусом Quartus II 9.1 SP 2. Я для интереса скачал самый новый. Не знаю, на любителя. Например, в новой версии отсутствует поддержка устаревших версий ПЛИС (а именно — нужной нам ЕРМ3064), обилие наворотов и обязательная регистрация перед скачиванием (и так спам девать некуда) мне не понравились.

Далее покупаем программатор. Или собираем на коленке.
Мне оказалось проще купить: USB Blaster (Altera CPLD/FPGA programmer)
Можно сначала купить — потом качать Quartus, не важно. У меня например было время немного освоить этот Quartus, пока мой программатор пинали ногами на транзитных пунктах китайской почты.


Ну и естественно — сам ПЛИС. Как же без него? Для своего проекта выбираем EPM3064ATC44-10N . Это ПЛИС с питанием 3,3 В, на 64 логических ячейки, с возможностью программирования через JTAG, в корпусе TQFP44 (аккурат как у АК4399, паять несложно) и с грейдом 10. Половина этой странной инфы нам не нужна. Важно лишь питание и рабочая частота.
Для этой микросхемы она равна 150 МГц, что в принципе хватит за глаза и выше. Другие подробности есть в даташите, там же есть масса инфы, которую я еще не переварил, да и, как выяснилось, эта инфа избыточна для наших задач.


↑ Задача в подробностях

Теперь более подробно расскажу о поставленной перед нами задаче.
Итак: простая схема взаимодействия блоков и модулей в среднестатистическом ЦАП показана на рисунке:


Художник из меня просто шедевральный, поэтому прокомментирую это чудо.
Самое интересное в красном квадрате в центре.
Сигнал со входов I2S или SPDIF/I2S в формате I2S через мультиплексор подается на вход ЦАП.
После мультиплексора выдергивается сигнал MCLK и идет на модуль CLOCK, в котором находится два генератора для сетки частот 44х и 48х и несколько буферных элементов.
Задача модуля — если ЦАП работает в режиме MASTER, поглядеть какая сетка частот используется и отдать ЦАП клок с нужного генератора, а также отдать этот клок источнику.
Если ЦАП в режиме SLAVE, то просто пропустить через себя тот клок, что пришел к нему от мультиплексора. Сигнал сетки просто игнорируется.
А еще выдать для измерения частоту LRCK для PCM или DSDCLK для DSD.
За всем этим бдительно следит контроллер.
Естественно все это мной уже реализованно на рассыпной логике.
Так вот задача в принципе проста — все функции красного квадрата возложить на ПЛИС, и адаптировать схему под работу с проверенным мной AK4137 .


↑ Теперь можно ставить софт и готовить проект

Особенностей установки нет никаких, просто после установки нужно выбрать тип Quartus II для внешнего вида программы. Пути установки по умолчанию.
Далее заходим в меню File→New-Project-Wizard.

Аудио ЦАП DAC. Поделки начинающего цапостроителя. Часть 20. ПЛИС в ЦАП. Quartus II + Altera USB Blaster



Здесь задаем имя проекта и рабочие каталоги. Желательно сильно не самодельничать, хотя софт умный, если накосячим — подскажет где.





Пока не подходим к самому интересному! Тут обязательно выбрать именно тот тип ПЛИС, с которым будем работать. Их там шибко много, но нужный найти можно.





Проверяем, если накосячили, еще можно уехать назад.
И вот оно. Маленькое наше счастье. Все создалось и загрузилось.


Но не спешите радоваться — нам нужна схема! Для этого идем далее в меню File→New.
Откроется это окно:




Схемный редактор конечно не фонтан, особенно если привык к Splan, но работать можно.
Теперь нужно сохранить файл внутри нашего проекта.



С названием не мудрствую, чтоб не путаться.
Получится так:


↑ Все готово. Теперь можно творить!

Для того чтобы сделать мелкую пакость поместить компонент в схему нужно два раза клацнуть на пустом поле редактора где сетка.


В составе набора готовых компонентов есть почти вся логика серии 74, а также масса виртуальных компонентов. Для обычного проекта этого хватает с головой, но если нужно что-то серьезнее, нужно качать дополнительные компоненты. Но помните, даже из имеющихся, не все компоненты смогут работать в составе выбранной серии ПЛИС.
Но об этом нам сообщит компилятор в процессе.

В поле «Name» набираем 74257. Это мультиплексор 2×4. Далее, обязательно нужно накидать входы и выходы. Для входа набираем input, для выхода — output.
По даташиту смотрим логику работы ног (например здесь для разрешения работы надо на OE (или GN) подать лог 0), и подключаем куда надо vcc или gnd. Все это также набирается в поле «Name».
Ну и рисуем соединения согласно выбранной схемы. Обязательно нужно дать уникальные имена входам и выходам, чтоб потом не запутаться. Я их назвал по имени сигнала с которым они работают.

Должно получиться примерно так:


Я сделал проще — я сначала нарисовал схему,


и по ней именовал ноги.
Так получилось более наглядно.

После этого нужно скомпилить проект. Для этого вверху в меню есть треугольный значок с названием «Start compilation».
Результат получается примерно такой:


Это нормально, главное чтоб не было ошибок и проект скомпилировался.
Предупреждения можно игнорировать, они, как правило, связаны с невозможностью провести моделирование поведения схемы. А если полезло красненькое — то косяк серьезный, работать не будет. Здесь же видна суммарная информация — сколько занято ячеек и сколько использовано ног.

После этого надо назначить ноги, точнее привязать ноги к конкретным пинам ПЛИС. Для этого лучше использовать рисунок платы:


Следует иметь в виду, что ноги для программатора нужно развести на разъем программатора, специальные и неиспользованные ноги нужно оставить висеть в воздухе. Во избежании казусов. В даташите на выбранный тип ПЛИС ноги описаны.

Для привязке физических ног к виртуальным используется функция Pin Planner. Это самое шикарное во всем процессе. Не надо думать как и куда развести ноги на плате, просто накидал при разводке платы и назначил в процессе!
Pin Planner находится левее кнопки компилятора (чип с карандашом и символом пина).
Вот такое окошко:



Тут видно наш выбранный в начале проекта чип и его доступные для назначения ноги. Они обозначены кружочками.
Внизу список наших имеющихся виртуальных ног.
Просто берем node name из левой колонки и назначаем ему location. При этом назначенный пин станет темно красным на рисунке.
Вот так.



После привязки всех ног окончательная схема выглядит так:


Возле входов и выходов появились номера физических ног микросхемы.
Тут я поигрался немного с разными типами делителей. И отдельно вывел выход мониторинга шины DATA или DSDL. По ней стоит делитель с нереальным коэффициентом деления аж 262144 на пяти счетчиках 7493. Теперь у меня весело мигает светодиод при передаче данных. Оно конечно нафиг не нужно, но получилось наглядно.

Все, готово. Еще раз компилим проект. Если все хорошо — можно пробовать шить, или прошивать нашу плис. Естественно она должна быть припаяна в схему.




Сам программатор можно поставить в систему заранее, драйвера есть в папке с программой %\altera\91sp2\quartus\drivers\usb-blaster, но питание его выходного буфера производится от платы с ПЛИС, поэтому без питания работать он не будет.

Теперь, когда все готово, идем в меню с программатором. Оно тоже вверху.
Вот такое окно:


Кнопкой Hardware Setup выбираем USB Blaster, тип загрузки — JTAG.
Внизу наш проект. Галочками отмечаем нужные опции.
Включаем питание ПЛИС и дрожащей рукой нажимаем Start…

Процесс идет очень быстро, я даже испугаться не успел. Если что-то прошилось, то внизу в логе будет такое:


Можно выдохнуть.
Девайс умный. Сам читает тип ПЛИС, так что другой проект просто не зашьется.
Также в случае перепутанных/не припаяных ногах программатора будет грязная ругань, что девайс не опознан или проблема программатора.

Но это не значит что все заработало как надо. Возможно потребуются коррективы схемы, изменение логики и повторная прошивка.
Производителем заявлено 100 циклов перезаписи ПЛИС, мой личный рекорд в этом проекте — 6!
А все потому, что я считал например, что у буфера с именем btri, что я использовал как логический аналог 74lvc1g125, вход разрешения работы OE имеет активное состояние лог 1, а оказалось, что это полный аналог 125 го буфера, и OE у него активно при лог 0.
Прошивать можно в любой момент, даже в процессе работы ЦАП. Ничего страшного не происходит.

Возможное количество прошивок больше 100, но производитель не гарантирует работоспособность ПЛИС при превышении этого порога. Реально можно шить больше и чаще, специалисты проверяли.
Но о сотне всегда помнишь и много раз подумаешь, прежде жать кнопку «Старт».

При назначении выводов ПЛИС не предусмотрено подключение «подпорок», или подтягивающих резисторов на плюс или минус питания, как это сделано в микроконтроллерах.
Также не предусмотрены прочие «аналоговые» заморочки для подключения к стандартной логике. Поэтому все времязадающие конденсаторы, подтягивающие резисторы, и любые другие «аналоговые» компоненты в логике ПЛИС отсутствуют. Все это необходимо предусмотреть заранее — подключить внешние «подтяжки» на нужные ноги ПЛИС или вывести конденсаторы времязадающих цепей на внешние ноги.
Иначе никак.

Настоящие разработчики делают еще одну «фишку» — формирование SPI для управления ЦАП с помощью ПЛИС.
Я, как неспециалист, конечно попытался реализовать подобное на макетной плате на базе EPM240, но получилось немного не так, как хотелось. Точнее получилось г*, и я сразу потерял интерес к этому процессу.

Но оно и понятно, тут уже нужно использовать не логические элементы, а описание логики работы на hardware description language (HDL). Он чем то напоминает старый добрый Basic, но моих знаний пока недостаточно для его освоения. К тому же формировать SPI управление на том же STM32/Arduino оказалось проще с точки зрения количества задействованных ног у контроллера и количества проводов в связке ЦАП-МК.
То есть выигрыш в формировании SPI в ПЛИС оказался лично для меня пока сомнительным удовольствием. Может потом и освою, а пока по старинке используем контроллер.


Ну, а если, к примеру, наш проект окажется большего размера, и не хватит нам ног или ёмкости ПЛИС, можно использовать что-нибудь из серии MAX-II, например EPM240T100C5 .
Шаг ног там конечно поменьше, зато ног побольше и емкость уже 240 ячеек. Я их зачем-то заказал, но смог нагрузить только на 20%, поэтому, чтоб не валялись, пришлось применять. Вон она, слева от генераторов притаилась.


↑ Итого

Как вы понимаете, применение ПЛИС не ограничивается ЦАП. Наоборот, эту технологию активно применяют там, где нужно сэкономить место и заменить десятки корпусов обычной логики на один корпус ПЛИС.
Любой конечный автомат, вроде блока управления вертушкой, механикой, или какие-нибудь электронные часы — это само простое, что пришло в голову.

Думаю, данный материал будет полезен многим.
Ну, а у меня на сегодня все.
Продолжение следует!

С уважением, Алексей.



Картина Дудикова «Утро над ЦАПом», 2017 год.
Холст, масло, сыр, чай с сахаром

Здесь уже начали разбирать ПЛИС, так что принимайте мой вклад.

USB-Blaster



(картинка не влезла по ширине, кликните и все увидите)

Все основано на PIC18F2550 (недавно автор создал еще одну версию программатора основанную на PIC18F14k50, можете попробовать собрать его). На схеме ничего сложного нет. СМД компоненты типоразмера 1206. На выходе стоят резисторные делители для согласования уровней до 3.3 В, конечно лучше поставить микросхему, к примеру SN74LVC2T45.

Программатор для PIC

Программатор для PIC

С ПИКами я раньше не возился, и у меня возникли проблемы при прошивке контроллера. Здесь надо высоковольтный программатор. После долгих поисков подходящего простого и работающего программатора я где-то наткнулся на такое чудо

Транзистор любой n-p-n, у меня кт315.

Настройки программатора

Прошиваться через WinPic800 с немного измененными настройками одного программатора

Как подключить программатор

Как программой пользоваться разберетесь, а вот про программатор расскажу.
МК прошивается уже в устройстве. К пятачкам на плате подпаиваем выводы программатора.

Еще надо блок питания на 12 В, я подключался к компьютерному, куда плюс питания на схеме видно, главное про землю не забыть. Во время прошивки будет питаться от USB.

Установка драйвера

После установки Квартуса можно приступать к установке драйверов (они в папке с программой).

Так об этом написано на сайте Альтеры
Driver Installation
1. Plug the USB-Blaster download cable into the PC. The Found New Hardware Wizard appears.
2. If you are prompted to answer a question about Windows XP Update, choose No, not this time and click Next.
3. Select Install from a list or specific location (Advanced) and click Next.
4. Select Don't search. I will choose the driver to install and click Next.
5. If you are prompted to Select a hardware type, keep the default selection Show All Devices, and click Next.
6. Select Altera USB-Blaster from the wizard list of hardware devices, then click Have Disk… If the device is not available in the list, click Have Disk… without selecting any device from the wizard list.
7. Click Browse… and browse to the \drivers\usb-blaster directory.
8. Choose the appropriate location or file using the following steps:
o All versions of Quartus II software (except versions 6.1 to 7.2):
1. Select the file usbblst.inf.
2. Click Open.
o Quartus II software versions 6.1 to 7.2:
1. Browse to the \x32 directory (Windows 2000/XP standard 32-bit) or \x64 directory (Windows XP 64-bit).
2. Click Open. The wizard automatically chooses the required file.
9. If the hardware Altera USB-Blaster appears in the Model list, select the device.
10. Click Next in the wizard.
11. Click Continue Anyway in the warning dialog box.
12. Click Finish.
13. To complete your installation, set up programming hardware in the Quartus II software

По-русски это выглядит так:
Нет, не в этот раз -> Установка из указанного места -> Не выполнять поиск. Я сам выберу нужный драйвер -> (выбираете “Altera USB-Blaster”) Установить с диска -> Обзор (выбираете \drivers\usb-blaster в папке с установленным Квартусом) -> Готово.
На программаторе должен засветиться светодиод.

Прошивка контроллера, печатная плата и схема
USB-Blaster.rar

Ждите описание того для чего он вам надо :)

UPD, некоторые неучтенные моменты
Здесь выведено питание на JTAG разъем, мне показалось удобным питать отладочную плату от программатора через USB — я так и сделал. В других программаторах на пин питания в разъеме подключено питание выходного каскада буфера (которого здесь нет) для привидения уровня сигналов JTAG к уровням на плате а плата питается отдельно. Стоит добавить джампер для отключения питания через JTAG.

Когда я пытался прошить еще один программатор, ПИК не хотел прошиваться, доходило до 15-20% и все. После увеличения питания высоковольтной части (на схеме 12В) до 12.5-13В все прошло гладко и без запинок.

Подготовим и загрузим в ПЛИС фирмы Altera проект из среды разработки Quartus II.

Для работы нам понадобится:

  • ПЛИС фирмы Altera; ;
  • компьютер со средой разработки Quartus II.

1 Назначение выводов в проекте Quartus II

Первым делом необходимо назначить используемые выводы ПЛИС. В меню Assignements Device… выбираем ПЛИС, в которую вы собираетесь «залить» проект. В группе Device Family нужно выбрать семейство, к которому относится ваша ПЛИС. В поле Available devices выберите модель вашей ПЛИС. У меня, например, это Cyclone II, модель EP2C5T144C8.

Выбираем семейство и модель ПЛИС в окне Device

Выбираем семейство и модель ПЛИС в окне Device

В группе Show in "Available devices" list можно отсортировать устройства по типу корпуса (Package) или по количеству выводов (Pin count), чтобы быстрее найти вашу модель ПЛИС.

Определение состояния незадействованных выводов

Определение состояния незадействованных выводов

После того как указали модель ПЛИС, закрываем окно Device, нажав кнопку OK.

Если вы хотите, чтобы синтезатор сам назначил функции выводам, то можно ничего больше не делать. А для того, чтобы вручную назначить выводы ПЛИС, идём в меню Assignements Pin Planner или нажимаем сочетание клавиш Ctrl+Shift+N .

Запуск инструмента назначения выводов Pin Planner

Запуск инструмента назначения выводов Pin Planner

Запустится инструмент назначения выводов Pin Planner. Внизу отображается список используемых в вашем проекте пинов ввода-вывода с соответствующими именами Node Name.

Инструмент Pin Planner и список вводов-выводов проекта ПЛИС

Инструмент Pin Planner и список вводов-выводов проекта ПЛИС

Теперь в столбце Location нужно задать номера выводов. Дважды кликаем на соответствующей ячейке и выбираем номер вывода, или же вводим с клавиатуры номер. Номера выводов будут зависеть от вашей макетной платы. Например, в моей плате тактовый импульс CLK, согласно мануалу, на 17 выводе, а выходам OUT1…OUT5 я назначу свободные выводы 94, 97, 100, 103 и 93.

Назначаем соответствие выводов ПЛИС сигналам проекта

Назначаем соответствие выводов ПЛИС сигналам проекта

После того, как все выводы были определены, окно планировщика пинов Pin Planner можно закрыть. Теперь скомпилируйте проект: Processing Start Compilation или Ctrl+L .

Запускаем полную перекомпиляцию проекта в Quartus II

Запускаем полную перекомпиляцию проекта в Quartus II

2 Установка драйвера для программатора USB Blaster

Подключим программатор USB Blaster к компьютеру (если у вас его нет, то можно приобрести на Али-Экспресс). При первом подключении необходимо установить драйвер. Он устанавливается стандартным образом, и находится в директории Квартуса, в папке drivers: C:\altera\13.0sp1\quartus\drivers

Установка драйвера для программатора USB Blaster

Установка драйвера для программатора USB Blaster

После установки драйвера, программатор будет отображаться в диспетчере устройств как Altera USB-Blaster.

3 Загрузка прошивки через интерфейс JTAG

ПЛИС фирмы Altera поддерживают несколько режимов программирования. Сначала рассмотрим загрузку прошивки в ПЛИС через интерфейс JTAG. Подключите программатор к разъёму JTAG на плате с ПЛИС.

Запустим инструмент для программирования: Tools Programmer.

Добавим программатор. Для этого нажмём кнопку Hardware Setup… и в выпадающем списке выберем подключённый USB Blaster. Закроем окно Hardware Setup.

Настройка программатора

Настройка программатора

В окне программатора Programmer нажмите кнопку Auto Detect, чтобы Quartus попытался автоматически определить подключённую ПЛИС и файл прошивки *.sof.

Файл прошивки создаётся Квартусом по умолчанию при компиляции и сохраняется в директории output_files, если не задано иное.

В окне Programmer выберите режим JTAG, установите галочку Program/Configure и нажмите кнопку Start. Прошивка будет записана в память ПЛИС.

Загрузка прошивки в ПЛИС через JTAG

Загрузка прошивки в ПЛИС через JTAG

4 Загрузка прошивки в режиме Active Serial

Чтобы прошивка сохранилась в ПЗУ, запишем прошивку в режиме Active Serial.

Подключите кабель программатора к разъёму AS или Active Serial. Запустите программу прошивки: Tools Programmer.

Выберите режим Mode Active Serial. Соглашайтесь при ответе на уточняющий вопрос.

Добавим файл прошивки, нажав кнопку Add File… В поддиректории проекта output_files найдите файл с расширением .pof.

Добавляем файл прошивки в режиме Active Serial

Добавляем файл прошивки в режиме Active Serial

После открытия файла прошивки, установите галочки Program/Configure и, по желанию,остальные.

Загрузка прошивки в ПЛИС в режиме Active Serial

Загрузка прошивки в ПЛИС в режиме Active Serial

Обратите внимание на тип конфигурационной памяти в столбце Device: он должен соответствовать типу памяти, которая установлена у вас на плате.

Проверка с помощью осциллографа результата прошивки ПЛИС

Проверка с помощью осциллографа результата прошивки ПЛИС

Для преобразования и настройки файлов прошивок существует инструмент, который доступен из меню File Convert Programming Files….

Читайте также: