Главная » Статьи » Инструменты

Программатор USBASP
  Решил заменить свою рабочую лошадку STK200+PonyProg, на нечто более современное, легко собираемое и обязательно поддерживающее подключение по USB. Выбор пал на хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48) . Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку. Еще одним плюсом программатора является то, что благодаря большой популярности он приобрел поддержку во многих средствах разработки, в том числе и в Bascom-AVR начиная с версии 1.11.9.6. И поэтому консольность программы, с которой он работал первоначально, перестала быть отпугивающим моментом для начинающих.
 
  Схема программатора USBASP под микроконтроллер Atmega8 в корпусе TQFP32 приведена ниже (обратите внимание, что распиновка микроконтроллера отличается от распиновки в корпусе DIP):


  Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дергую а постоянно шью с ней.
  Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования.
Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-и пинового ISP разъема:

 

  На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз.
Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки.
Плата получилась двухсторонняя, размерами 45х18 мм.
 




  Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это учень удобно




Прошивка управляющего микроконтроллера
 

Прошивать, как я писал выше, можно с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку под свой тип контроллера можно скачать ниже:


Для работы устройства необходимо настроить фьюзы на внешний кварц 12МГц. В PonyProg настройка фьюзов будет выглядеть следующим образом:

  

После прошивки должен загореться светодиод подключенный к 23 ноге микроконтроллера. В случае если программа в память микроконтроллера зашита, а фьюзы не выставлены светодиод также загориться, поэтому 
незабываем
 прошивать фуз-биты.

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

Установка велась на машину с системой Windows 7 и никаких проблем не возникло.
При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:
 



  Выбираем папку где лежат дрова и жмем Далее



  Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:



  Забиваем на предупреждение и продолжаем установку, после небольшой паузы появится окно, сообщающее об успешном окончании операции установки драйвера


 
  Все, теперь программатор готов к работе. Осталось выбрать программу, посредством которой будем работать с программатором.



USBASP и Bascom

  Как писал ранее, полную поддержку USBASP в Bascom-AVR сделали начиная с версии 1.11.9.6. Попалась тут мне страничка, иллюстрирующая, как можно подружить USBASP с более ранней версией компилятора, но тогда придется ставить avrdude.
  Настройка программатора для совместной работы с Bascom-AVR происходит в пункте меню Options-Programmer, в списке программаторов выбираем USBASP




Строка конфигурации Clock Frequency служит для выбора частоты работы программатора. Помнишь про джампер который необходимо замыкать когда нужно прошить микроконтроллер с частотой тактирования меньше 1,5 МГц? Так вот, в новой версии прошивки программатора реализавана возможность программно изменять частоту работы, эту фишку и использует Bascom. Можно выбрать частоту работы в диапазоне от 500Гц до 1,5МГц, по рекомендациям частота должна быть вчетверо меньше частоты работы прошиваемого микроконтроллера. Например, если требуется прошить контроллер с тактовой частотой 1МГц, нужно ставить частоту работы не более 250кГц или, для надежной работы, еще меньше. Я оставил в этом пункте автоопределение частоты.

Khazama AVR Programmer

Еще одна небольшая программа для работы с программатором USBASP. Мне она понравилась минимальным интерфейсом и кнопочками, срисованными с PonyProg =)
 



  Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор.
Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.




 Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All.
Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную.
 Эта фича помогает в случаях когда нужно прошить большое количество микроконтроллеров, не нужно будет каждый раз вручную выставлять галки при каждой прошивке МК.
 Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
 !!!! Важно !!!! Как выяснилось, если использовать эту функцию биты Lock Bits необходимо выставлять вручную.
 
 В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.

  Ниже можно скачать архив с прошивками и печатной платой, а так же программу Khazama:


    






 Раз народ активно интересуется данным программатором и спрашивает меня о возможности изготовления, решил изготовить печатные платы на производстве и сделать инструмент, которым приятно пользоваться. Пока в наличии имеются готовые печатные платы для этого программатора или можете приобрести уже готовый к работе программатор. 
Предложение ограничено, спешите ;)
 
Все программаторы успешно обрели своих владельцев, а тем временем обдумываю о необходимость заново сделать заказ на производство печатных плат. Надо ли?


UPD 26.01.13

Если появятся желающие приобрести программатор USBASP на заводской плате, записывайтесь в очередь;) и делайте предзаказ! Условия на форуме http://avrproject.ru/forum/11-69-1#1307

 
UPD 5.03.13

Программатор снова стал доступен для покупки! Условия и цена приобретения выложены здесь http://avrproject.ru/index/usbasp/0-41


 







Категория: Инструменты | Добавлено: 11.07.2011
Просмотров: 213633 | Комментарии: 310 | Теги: Ponyprog, программатор, USBasp | Рейтинг: 4.6/28
Всего комментариев: 310« 1 2 3 4 ... 10 11 »
280 zombien-5   (13.02.2014 16:11) [Материал]
P.S. контроллер в этот раз Atmega8A - AU 1332, кварц новый, на 12 МГц

279 zombien-5   (12.02.2014 17:30) [Материал]
Все, контроллер прошил! теперь другая трабла:при подключении светодиод то горит, то не горит, в дисп. устройств - unknown device, раз 15 подключить-отключить и может появится usbasp, потом все как обычно - unknown device.
использовал:
R1, R2 - (102), R3, R4 - (620, еще пробовал 560), R5 - (222), R6 - (103).
C1, C5, C4 - 0.1 uF, C2, C3 - 22 pF.
Стабилитроны пробовал 3.3V (1.3 W), 3.6V (0.5 W), также пробовал без них.
С контроллером все ок, фьюзы - High - 0xC9, Low - 0xEF.
помогите разобратся, может с номиналами что-то напутал или еще что то...

278 sany2   (10.02.2014 22:48) [Материал]
Ну если есть LPT порт - то уж проще некуда,пять проводков,можно даже не паять.
http://xtronix.in/start2.php
Один раз приспичило:проводки от LPT(они тоню-сенькие)запихал в панельку и сверху
мегу.Я конечно не рекомендую такой способ-но когда очень надо,а больше нечем-то вполне рабочий вариант

277 exersizze   (10.02.2014 21:42) [Материал]
Программатор громова пойдет, только я им не пользовался поэтому пошагово не подскажу. Насколько знаю его понипрог не поддерживает (может ошибаюсь?)
Можете собрать вот такой вот программатор http://www.embed.com.ua/program....sp-mkii
другой программатор для его сборки не нужен, главное найти микроконтроллер AT90USB162

276 zombien-5   (09.02.2014 00:41) [Материал]
подскажите пожалуйста как и чем прошить управляющий МК? P.S. обьясните для нуба, в какой последовательности и что делать, а то неохота сразу залочить МК, есть только программатор громова. ponyprog все время ругается - Unknown device.
МК - Atmega8A-16AU

275 centurion201   (27.10.2013 18:20) [Материал]
маркировка левых стабилитронов 1n4729a

+1   Спам
274 centurion201   (27.10.2013 18:15) [Материал]
и еще один пост. если последовательно со стабилитронами китайскими на 3.6 вольта запаять диоды 1n4148 (встречно), тоже все окей

273 centurion201   (27.10.2013 18:04) [Материал]
вообще ничего не понятно. запаял отечественные стабилитроны кс133а на 3.3 вольта, все работает без проблем.похоже, китайские компоненты "рулят"

272 centurion201   (27.10.2013 17:20) [Материал]
нашел причину.номинал оставил 1.8 кОм. отпаял стабилитроны 3.6 В.устройство опознано,дрова встали. вот такие дела.однако меня терзают смутные сомнения, не погорит ли порт без этих самых стабилитронов,хотя с ними не работает.проверил на 2 ноутах

271 Vitek1977   (27.10.2013 15:47) [Материал]
может быть что угодно, изначально сам порт очень привередливый. да и стабилитроны веселые бывают нынче. как мне попались. напряжение на D- падало до 2х вольт, а это usb не любит.

270 centurion201   (27.10.2013 14:09) [Материал]
братья по оружию, выручайте!))) спаял данный девайс, монтаж перепроверил трижды. установлены стабилитроны 3.6В. операционная система хр. красный светодиод горит, но ноут не опознает устройство(((.у меня такой вопрос, может ли быть критичен номинал резистора R5. запаял 1.8 кОм, т.к нет 2.2 кОм. в инете видел схемку данного программатора с номиналом 1.5 кОм http://easyelectronics.ru/usb-programmator-avr-usbasp.html

+1   Спам
269 Vitek1977   (09.10.2013 18:18) [Материал]
всё же я довел до ума программатор, для своих компов. пришлось немного вникнуть в стандарт usb. как говорил ниже без стабилитронов заработал стабтльно. но...проверка была на одном компе. воткнув в другой, таже надпись устройство не опознано. начал шаманить с сопротивлением 2.2к подобрал, определилось устройство, запись проходит, на проверке спотыкается. и идея использовать без стабилитронов меня не радовала. решил поставить стабилизатор по питанию на 3.3в заработал местами, на одном компе записывает хорошо, на другом проверяет. читая коменты ниже по этому вопрос, у меня начал глаз дергаться, у людей как у людей, работает хоть как.:)))) перелопатив в голове все мои танцы с бубном, пришел только к одному выводу, 3.6 воль питания и нахер стабилитроны, пусть общаются на равных. пустил питание через 2 диода, напряжение получилось как раз 3.6v. погонял на двух компах, 2005, 2010 годов, и на новом буке месяц назад купленный. ни одного сбоя. может кому пригодится эта информация.

268 Vitek1977   (09.10.2013 15:51) [Материал]
>max
не спорю на схеме прекрасно видно 3.6v я и устанавливал изначально DL4729A

267 sany2   (08.10.2013 18:29) [Материал]
Поколдуйте с R5(мне помогло при сборке джойстика)-стабильно работал при напряжении на D- от 2.8 до 3.5.

266 max   (08.10.2013 16:55) [Материал]
> Vitek1977
> я пробовал BZX55C3V3
Вот в этом и ошибка. Даже на схеме указаны 3,6В, USB чувствителен к уровням.

265 Vitek1977   (08.10.2013 15:51) [Материал]
без стабилитронов запустился на ура, работал стабильно. спасибо за совет. только возник другой вопрос, на сколько смертельно это для usb-порта? или какую марку стабов посоветуете. я пробовал BZX55C3V3 и DL4729A

264 exersizze   (06.10.2013 15:23) [Материал]
Заодно попробуйте без стабилитронов проверить.

263 sany2   (06.10.2013 09:23) [Материал]
Стабилитроны другой марки поставьте попробуйте.С некоторыми стабами вообще не хочет работать,c некоторыми отрубается через несколько секунд

262 Vitek1977   (05.10.2013 10:57) [Материал]
у меня такая же ерунда. комп не видит устройство. на разных компах пробовал. пробовал разные прошивки. одно устройство на плате. другое навесняком спаял. результат один, устройство usb не опознанно. я такого не помню, с паяльником дружу лет 20. и программированием тесно год. но тут вообще не пойму на какие грабли наткнулся.

261 diezel5320   (23.09.2013 01:49) [Материал]
У меня не высвечивает новое устройство при подключении к USB... А диод на 23 ноге горит... В чем может быть проблема???

260 sanek_713   (12.09.2013 16:56) [Материал]
Спасибо) Я забыл что у меня та тинька уже была в использовании. Сейчас начал собирать под прогер avr board dip. Только переделал с 10 пинового разъема под 6 пиновый.

259 exersizze   (09.09.2013 10:03) [Материал]
Если тинька тактируется от своего источника (если она новая то наверняка так и есть) то дополнительно ничего подключать к xtal не нужно. А вот если фьюзы в ней уже изменены на тактирования от другого источника (кварц, внешние импульсы) тогда да, нужно ее "заводить" отдельно.
фьюз SUT0 определяет время запуска программы в контроллере после подачи питания, я обычно программирую этот фьюз. Хотя пробовал и не программировать, разницы никакой не заметил.
http://avrproject.ru/usbasp/fuses_usbasp_12mhz.png

258 sanek_713   (08.09.2013 22:31) [Материал]
Ответьте плиз на 256 комент)

257 Tymcity   (08.09.2013 21:00) [Материал]
Добрый день! Может кто сталкивался с проблемой, Atmega64A не запускается после прошивки. Пару раз запустилась, но тут же вырубалась. Причем программатором все читается и прошивается. Фьюзы поставлены на использование кварца 16МГц.

256 sanek_713   (05.09.2013 01:07) [Материал]
Спасибо. Собрал,залил прошиву в атмегу. Поставил дрова. Комп увидел устройство Usbasp..но возникают вопросы. При подключении программатора к тиньке 2313 в дип корпусе ни в шазаме ни в дудке ее неопределяет. С обычным комовским программатором и читается и прошивается. Нужно ли отдельно кидать кварц на ноги тиньке? И на счет фузов-нужно ли выстовлять фуз SUTO 0?Потому что вот что пишут. http://forum.cxem.net/index.php?showtopic=114512

255 exersizze   (03.09.2013 16:11) [Материал]
Да, пойдут я пробовал ставить разные. От 50 до 70 Ом, всегда работало без проблем.

254 sanek_713   (03.09.2013 14:24) [Материал]
Вопрос: нет 66 омных резюков. Можно ли ставить на 62-63 ома?

+1   Спам
253 kolob55   (12.02.2013 21:30) [Материал]
Спасибо всем за помощь,и без перемычки все заработало. Доделал до завершающей стадии ,залил пластиком , впаял разъем юсб и одел в прозрачную термоусадку.



http://s006.radikal.ru/i214/1302/9b/d4e61f8e3d4e.jpg

252 kolob55   (12.02.2013 00:06) [Материал]
Отлично ,спасибо всем большое ,я как то и упустил ,что все микроконтроллеры то заводские настроены на внутренний генератор 1мгц! Все понял ,завтра продолжу опыты, как раз и термоусадку прозрачную прикуплю диаметр 25 мм и разъем на плату..

251 exersizze   (11.02.2013 19:18) [Материал]
Если прошиваемый микроконтроллер работает на частоте ниже 1,5 МГц, без перемычки программатор будет выкидывать ошибку. Это связано с тем что без перемычки частота программирования увеличена а "медленный" микроконтроллер не успевает нормально отрабатывать команды программатора. Если замкнуть перемычку скорость программатора понизится и он начинает работать медленней. Поэтому если нужно быстро залить хекс в микроконтроллер работающий на частоте 1МГц, можно сначала увеличить его работу настроив фьюзы, затем на нормальной скорости залить программу и затем снова выставить низкую частоту работы мк.

1-30 31-60 61-90 91-120 ... 271-300 301-310
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]






авторизация