USB-Blaster

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

Простенькую платку уже описали, я расскажу про программатор.
Есть 2 способа программирование этих ПЛИС (точнее оно называется конфигурирование) – через ByteBlaster или USB-Blaster.
ByteBlaster (5 проводков которыми AVR шьется) очень простой, но он подключается через LPT порт, вот информация по нему http://marsohod.org/index.php/howtostart/programmer. USB-Blaster будет интересней, но информации по нему очень мало, а готовые дороги.

После долгих поисков я таки нашел подходящую реализацию. http://sa89a.net/mp.cgi/ele/ub.htm статья японского автора, конструкцию которого я повторил.

USB-Blaster



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

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

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


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

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

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

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

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

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


После прошивки отпаиваем лишние провода, подключаем наш USB-Blaster. Компьютер находит новое устройство и просит драйвер. Установка немного отличается от традиционной, но ничего сложного нет. Немного забыл, для программирования ПЛИС надо установить IDE, у Альтеры это Quartus II. Заходите на https://www.altera.com/download/dnl-index.jsp вам нужно Quartus II Web Edition (он бесплатен). За новыми версиями гнаться не стоит, они больше весят и мало чем отличаются (у меня 8 версия), а в 10 нет симуляции и поддержку старых чипов отключили. Про Квартус писать не буду, это сделали уже за меня http://marsohod.org/index.php/aquartus2.

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

Так об этом написано на сайте Альтеры
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В все прошло гладко и без запинок.

Файлы в топике: USB-Blaster.zip

Комментарии (87)

RSS свернуть / развернуть
а он совместим с xilinx?
0
К сожалению нет, хотя про xilinx я совсем ничего не знаю.
0
и почему производители не договорятся о стандарте на программаторы и жтаг адаптеры?

в принципе, можно попробовать заюзать
0
Шоб срубить бабла еще и на средствах отладки.
0
В Альтеры прошивки можно конвертировать в jam и svf файлы
0
А из MAX II будет работать?
0
В смысле из Max+Plus II? не пробовал, но должен.
0
У меня оригинальный Altera USB Blaster и под Max+Plus II его невидно… Может быть как тоего можно туда придать?
0
Я с Альтерой мало встречался, так что на истину не претендую, но по-моему, Max это очень древняя штука. Возможно в его время просто ещё не существовало USB Blaster'a, и он не знает как с ним обращаться? )
Поставьте лучше Quartus.
0
Quartus у меня стоит :) просто есть ещё много вещей сделаных в Max+Plus II и на чипах (EPF8452A например) которые уже не поддерживаются. Только из за этого имею Max+Plus II на старом ноуту. А было бы здорово не носить с собой два бука :)
0
В новых версиях убрали поддержку старых чипов, к примеру в 8 acex есть, а в 9 уже нет
-1
кстати, а почему ссылки не видны?
0
уже работают?
0
ща проверим
0
не, нифига(

а так
jtagtools.sourceforge.net/index.html
0
ваша работает, само странное что у меня все работает. смотрел на другом компе
0
Ох… Не люблю я ПИКи…
Посмотрел прайс в чудо-чипсе, 1050 рублей. Офигеть.
Нашел в мегаэлектронике за 310рэ.
Завтра прокачусь за чипом и отутюжу платку.
Спасибо большое за статейку! Опробую бластер — отпишусь тута.
0
у автора есть прошивка под PIC18F14k50 он в 2 раза дешевле, но чем его прошивать я без понятия.
0
На форуме мне кидали ссылку на blaster собранный на 48 меге. Пока не пробовал. Найду ссылку, продублирую тут
0
http://njnmnp.narod.ru/usbblaster/usbblaster.html
http://www.mcu-cpld.narod.ru/Altera/USB-blaster.html

Они посложнее и дороже будут.
Пока искал кучу инфы по них пересмотрел
0
Есть LPT-шные кабели — схема простая (буфер 74HC125 и кондюки/резюки) и одинаковая и для Альтеры и для Xilinx, отличается только распиновкой LPT-порта (то есть лечится переходником). Есть вроде и беспереходниковые схемы. Самому пользоваться не приходилось, но народ вроде не жалуется.

Вот тут официальная схема для Xilinx, раздел «Download Cable Schematic»
www.xilinx.com/support/sw_manuals/2_1i/download/huguide.pdf
0
Если ПЛИС пятивольтовая, то вообще можно одними проводками обойтись, насколько я понимаю. Но это чревато.
0
чет файл scheme.sch с архива в PCAD2006 не открывается, в какой версии/программе сделан файл?
0
в 5-ом Игле, там тоже самое что и на картинке
0
спасибо, попробую в нем
0
Второй день бодания с PIC18F2550. Полет смоленский, ни хрена не шьется. Вот за что я больше всего ненавижу ПИКи, так это за дубовое прошивание…
Пробовал и схему топикстартера, и вариант с низковольтным программатором (в теории должен был сработать), теперь ЛУТю-паяю JDM-программатор. Убиться ап стену…
0
Кстати, просьба к hellraiser — пдфку с печатной платкой сделайте пожалуйста «зеркальной», прямо под ЛУТ. А то мне пришлось в Спринт_Лайоуте перерисовывать чтобы напечатать :)
Платка получилась зачотная, собрал ее позавчера. С тех пор вешаюсь с прошиванием ПИКа :(
0
Изменил
0
Низковольтовый программатор не подойдет, там используется вывод который нужен для этого режима, и чтобы прошить через низковольтовый надо один бит конфигурации изменят.
Сам долго с ним мучился, но своей схемой программатора несколько штук прошил.
0
В чистом чипе низковольтный бит включен, поэтому теоретически можно шить без 12в.
Но, блин…
0
Я сам с ПИКами почти не работал. Биты настройки есть в прошивке, и там этот быт не выставлен. Как оно работать не сможет (у меня таки не работало я сначала низковольтовым прошить пытался), поскольку тот вывод используется в программе.
0
Етить-колотикь, ренгидрид твою перекиси марганца!!! Прошил. :)
Прошилось winpicpgm + недособранный JDM без стабилитронов + usb2com адаптер. Напруга программирования этой связкой выдавалась 6,5в. Шилось больше часа, я рядом с компом ходил на цыпочках. В общем, полный экстрим.
О бластере — работает шикарно. Файлы .sof залетают в ПЛИС моментально, как-будто ничего и не заливал :) С .jic тоже полный порядок. Это упоминую затем, что на другой версии бластера с FT245+MAXII джики заливаться у меня не хотели. Спасибо топикстартеру, хорошая железяка :)
+1
Хорошо конечно что на доступных деталях(да и по стоимости примерно как на ebay вышло).
Но у меня что-то не завелось — определяется, квартус его находит(кстати не всегда — раза 4 из 5 подключений).
А epm3064 не определяется :-(
0
У меня всегда определяется, бывает отваливается из-за скачков напряжения но после переподлючения все в порядке.

Может это поможет http://www.alteraforum.com/forum/showthread.php?t=20441 еще может быть проблема в делителе напряжения, у меня изначально резисторы были на 470 и 1к Ом, пришлось уменьшать.
0
Эх… Там про pull-up и pull-down. Толку от этого, когда здесь 200 Ом на землю стоит. Попробовал пин данных к земле/питанию поподтягивать. Ничего не изменилось.
Попробую другой кристал.
0
А ты его сам разводил? Если не всегда определяется — возможно, ты неправильно развел USB. Или использовал плохой кабель.
0
Большое спасибо за участие. Проблема, которая была на данный момент решена.
Как бы помягче сказать… Я неправильно сделал макетку.
Программатор собрал такой как hellraiser описывает, плату по его пдф делал.
0
Гм. Ну, у него хотя USB и не печатной дифпарой проведен, но расстояние малое и скорость низкая, так что приемлемо.
0
Здравствуйте. Можете мне помочь? Вообщем собрал я программатор для ПИК который описан в статье. после танцев с бубном он начал определять контроллер. Дальше начал шить. Прошил но в конце на 98 проценте он выдал ошибку. Ну думаю давай заново. И возникла проблема. Он не стирает ПИК. Что мне сделать? Не хочет стирать нивкакую. Пишет типа что всё ОК но когда читаю опять читается то что уже было ранее записано. Записать новую не могу потому что не стирает… Помогите пожалуйста.
0
+12 В присутствует в программаторе?
0
Да… и больше подавал… и меньше. (ну меньше тогда даже не определяется...)
0
Я долго с ним мучался, но в итоге заработал как надо, может у вас провода длинные? у меня были по 5-10 см
0
Провода около 10 см у меня. Может какой другой программатор собрать следует…
0
Больше?) в датшите указано до +13,25В
первое: проверьте настройки самого программатора в WinPic.

Можно попробывать использовать IC_Prog 1.06. В списке программаторов выбрать «AN589 Programmer». В списке МК нет именно PIC18F2550, но есть F4550 — по объему памяти они одинаковы.
0
ну я до 13 поднимал. Сейчас попробую с помощью IC_Prog.
0
ничего не дало…
0
попробуйте собрать программатор по схеме из Радио 2007/10, с.31. Этот точно работает — проверял, работала на макетке (вместо DA2 7812+ключ на полевике, выкинул обвязку для AVR).
или вот такой:
Схема, плата в .lay

но лучше первый)
0
попробую. спасибо
0
может я убил уже ПИК? да вродь не грелся он даже xD
0
есть успехи? могу скинуть свою настроенную программу на почту (почту в личку)
0
Вопрос: А можно запитать контроллер от 3-х вольтового стабилизатора? Тогда и согласующие резисторы не понадобятся.
0
Может кому поможет, тоже собирал. <=«nick17.ru/radiotehnika/micro-usb-blaster/»>
0
Каламбур: Так как нет LPT порта, делаем USB-программатор. Чтобы прошить сам USB-программатор надо для него сделать LPT-программатор.
0
Какой кварц заработал? У вас на схеме 20МГц, а у японца в списке деталей — 12.
Пик оказался настолько эзотерическим девайсом, что я начал сомневаться даже в самых очевидных вещах.
0
для варианта на 18F14k50 кварц 12 МГц, а для варианта на 18F2550 – 20 МГц…
+1
все верно. у меня 18F2250 и кварц на 20 МГц.
Программатор проверен на MAXII. Работает.

Прошивал контроллер на работе программером ChipProg.
Дома самопальным прошить так и не удалось.
0
я сделал давно USB-Blaster на 18F2250 работу проверял на Quartus II
вы писали
все верно. у меня 18F2250 и кварц на 20 МГц.
Программатор проверен на MAXII. Работает.

как вы подключили к MAXII у меня MAX+plus II его не видет очень надо
Quartus II не поддерживает EPM9320 а MAX+plus II поддерживает
пишу байт бластером но надо писать на выездах по USB
0
А с какой либо другой частотой подойдет? Например, 24 МГц?
0
Кварц только такой как на схеме. С другой частотой поплывут времянки и, наверняка, ничего не будет работать.
+1
Спасибо.
Будем покупать. Стал собирать — обнаружил, что забыл кварц купить :)
0
Можно ставить на 24MHz, но при программировании PICa поменять ConfigL c 0x0024 на 0x0025 (Divide by 5 Input 20MHz на Divide by 6 Input 24MHZ).
+1
Config1L c 0x0024 на 0x0025. Для 18F14k50 только 12MHz, у него нет входного делителя PLL.
0
Спасибо. А коротко о порядке программирования МК не расскажете? С PIC сталкиваюсь впервые.
Вот тут надо что-то менять кроме коэффициента деления частоты?

0
Прошу прощения — слепой, ниже это уже обсуждалось.
0
Программатор у меня в процессе сборки… да вот вопрос возник к тем кто собрал и использует его, он поддерживает отладку в ПЛИСине через SignalTAP, или только заливает прошивки в ПЛИС и все?
0
на марсоходе пишут что поддерживает.
0
имееться ввмду тот что на FTDI
0
сорри статьи перепутал!
0
Это поддерживать, только там глюк небольшой, небольшой блок данных в произвольном месте имеет произвольный характер. Проявляется не всегда, но может ввести в заблуждение. Возможно стоит попробовать прошить как можно новее версией с сайта автора.
0
Спасибо автору!!! как раз прикупил штук 5 14k50. Шью pickit 3им. попробуем воплотить сей проект =)
0
  • avatar
  • Dmi
  • 07 апреля 2012, 14:17
Собрал на pic18f14k50 программатор, а он не шьет almera flex 10k, других под рукой небыло. М.б. Кто-то собирал аналогичный программатор, а то в интернете все проекты на 2550 пике.
0
Все работает, просто надо было выставить не JTAG режим программирования а последовательный режим программирования.
0
Спасибо автору, заработало сразу. Но Есть известная тема о том, что на WIN 7/64 не идут дрова для бластера с официального сайта альтеры и из папки в квартусе. Есть какой-то модифицированный драйвер, нашёл тут www.alteraforum.com/forum/showthread.php?t=19233. Но по какой-то причине регистрация закрыта((
Если у кого есть — помогите решить проблему. Спасибо
0
tigerwang202.blogbus.com/logs/35981280.html — вот этот более правильный. Есть буфер, что позволяет использовать его с VDDIO меньше 3.3V У меня есть чесный альтеровский — сделан почти также, добавлены только «противостатические» буферы. Устройство было собрано с мыслью размножить для друзей. Проверено мной с MaxII, Cyclone I,II,III,IV — в режиме JTAG и программирование EPCS — режим Active serial. Вобщем косяков пока не обнаружено. Единственная проблема курицы и яйца — нужно чем-то прошить MAX. Те нужен байтбластер для байтбластера :) Решений 2 — попросить у друга на время, или найти комп с LPT и слепить на коленке Byteblaster MV.
+1
Этот дешевле. Пользуюсь. Доволен как слон.
0
Нет что бы подобные девайсы на STM32 делать, переставил перемычку, зашил без всякого программатора и порядок, отладчик готов :) Нет, берут пакостные ПИК-и и мучают народ :)
0
Всем привет! Собрал этот программатор, прошил камень, вставляю в комп, а комп его, как новое устройство, не видит. Винда ХР SP3. Питание на камне 5в. Кварц завелся и что дальше, где копать. Может кто подскажет. Может проблема в SP3
0
У меня XP SP3 все работает.
На VUSB питание есть? Возможно конфигурация контроллера не правильно выставлена.
0
Добрый день! Питание 5в на процессоре есть, на кварце осцил, что то показывает. При прошивке проверка показала Ок! Программировал WinPik800. Осмелюсь спросить, что нужно ставить в конфигурации, если можно скрин выложить.
0
Питание не контроллера, а на выводе 14 — VUSB, должно быть 3.3В.
WinPICа нет, могу показать только config.
Config1 — 0E24
Config2 — 1E3F
Config3 — 0100
Config4 — 0081
0
Спасибо, проверю.
0
Померил на VUSB, там 0. Это что значит, нужно смотреть конфигурацию?
0
Поставил WinPIC800.
0
Поправил конфигурацию, тоже самое. Прозвонил кондер на VUSB, короткое. Под линзой нашел соплю. Все определилось и стали драйвера. Большое спасибо, теперь начну мучить ПЛИСку. Удачи!
0
Ну, собственно, вот моя реализация:




Windows 7 x64. Система поставила драйвера автоматически, но пока не установил драйвера с форума Altera (тут выше давали ссылку) Quartus не опознавал устройство.
0
Красиво. А PCB-файлы выложишь?
0
Почему бы и нет: скачать бесплатно без регистрации и без СМС.
Также остались пустые платы — могу разослать за недорого, подробности в ЛС.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.