Altera usb blaster прошивка

Обновлено: 04.07.2024

Когда начинаешь интересоваться ПЛИС, то в скором времени встает вопрос: А чем ее прошить?
Производители предлагают достаточно большой выбор устройств, но цена у них обычно кусачая. Так же попадаются простые схемы в даташитах, но их еще найти надо, а для этого надо знать что конкрено ищешь. Ну и в сети есть достаточное описание схем умельцев, например как программатор описанный в статье: USB-Blaster. Я хочу внести свои пять копеек и описать простой LPT-программатор, который собирается на коленке за один вечер и может шить как ПЛИС фирмы Altera, так и микроконтроллеры AVR.

Программатор достаточно простой и надежный, у меня он работает уже 10 лет с АВРками, никаких проблем не возникало. ПЛИСы в своих экспериментах я тоже шью им.
Схема программатора синтезирована мной из 2х схем: ALTERA ByteBlaster MV и одного из вариантов 5-ти проводкового программатора для AVR.
Посидев вечерок, я адаптировал схему для разводки по одной стороне, добавив в нее пофигисторов, ну и выполнил собственно саму разводку.
Мой собственный вариант имеет двухстороннюю разводку и заточен под производство. Зато он влазит в корпус от LPT-разъема.

Вроде как с теорией закончили, вот схема:


Чтобы рассмотреть подробней качайте PDF

Разводка выглядит так:


Вот фото моего программатора, переработанную плату которого я привел выше:

Теперь опишу как с данным программатором работать.

Программатор имеет с одной стороны разъем LPT, с другой стороны 2 шлейфа. 6ти проводной шлейф — для AVR-ISP и 10ти проводной — для Altera JTAG.

Выбор режима ByteBlaster / AVR выполняется перемычкой.

Питание программатора идет от целевой схемы.

Для работы с АВР можно использовать например avrdude, которой надо указать параметр

Для работы с Альтерой надо установить драйвер из папки Drivers, которая находится в папке с IDE.
Для установки драйвера надо открыть панель управления и зайти в раздел установки оборудования


Появится окно мастера:


Нажать <далее>. Мастер проведет поиск нового оборудования, и не найдя его спросит, подключеноо ли оно к компьютеру.



Отвечаете «Да, подключено» и жмете <далее>
Появится окно выбора устройства из списка. Листаете в самый низ и выбираете пункт «Добавление нового устройства»


Жмете <далее>.
Выбираете пункт «Установка оборудования выбранного из списка»


Жмете <далее>.
Появится список стандартного оборудования. Выбираете «Звуковые, видео, игровые устройства»:


жмете <далее>.
В появившемся окне жмете <установить с диска>, <Обзор>, указываете путь к вашей IDE и в папке Drivers находите файл драйвера:


Жмете «открыть» отвечаете на разные «умные» вопросы и в результате у вас в списке оборудования должно появиться новое устройство: «Altera ByteBlaster»

Подготовим и загрузим в ПЛИС фирмы 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….

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

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. Кому интересно — прощу под кат.
ПРЕДУПРЕЖДЕНИЕ: данный обзор написан для тех, кто «в теме». Если об электронике и ПЛИСах Вы имеете смутное представление, то, судя по комментариям, этот обзор будет врятли Вам полезен.


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 или моя отладочная плата.

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