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

Программатор 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
Просмотров: 210303 | Комментарии: 310 | Теги: Ponyprog, программатор, USBasp | Рейтинг: 4.6/28
Всего комментариев: 310« 1 2 3 4 5 6 7 ... 10 11 »
190 kyzma   (23.10.2012 10:24) [Материал]
проблему решил подпояв последовательно со стабелитронами по одному диоду
после чего комп увидел программатор

+3   Спам
189 kip96   (22.10.2012 15:30) [Материал]
Всем привет! Тут озвучивалась проблема програматора с Баском. Вообщем всё оказалось просто, перед записью, кристал нужно стирать, и всё ОК! Если поставить галочку в настройках- прошивать при открытии программатора, баском всё делает сам- стирает, прошивает, проверяет. Вообщем всё стало просто- пишем программу, F7,F4 и наслаждаемся.(а можно поставить галочку- прошивать после компиляции ;-) )

188 kyzma   (20.10.2012 23:16) [Материал]
фото платы положил на depositfiles.com/files/80w0lsww8 надеюсь
это поможет решить мои проблемы
_________________________
перезалил фото на более дружественный хостинг http://rghost.ru/private....age.png

187 Valera18   (20.10.2012 14:49) [Материал]
Да, не усмотрел, проблема из-за неспособности просадить к земле.

+1   Спам
186 exersizze   (20.10.2012 12:34) [Материал]
Значит на линиях программирования помеха (они задействованы в схеме?) или же программатор не может придавить к земле вывод ресет.

185 Valera18   (20.10.2012 12:17) [Материал]
Есть проблема при программирование внутрисхемных микросхем (не обнаруживает).
Кто знает в чём дело, как исправить?

184 exersizze   (20.10.2012 09:12) [Материал]
Архив верный, прошивки рабочие, так как сам постоянно прошивки беру с этого архива.
Плата разведена не в Proteus, вот и ругается. Скачай SprintLayout, плата нарисована в нем.
Можешь также скачать эти файлы с официальной страницы программатора
драйвер для windows http://www.fischl.de/usbasp/usbasp-windriver.2011-05-28.zip
прошивки http://www.fischl.de/usbasp/usbasp.2011-05-28.tar.gz
Схема там простая, обычно проблем никаких не возникает. Выложи куда нибудь фото своей платы, посмотрим и может чего увидим.

183 kyzma   (20.10.2012 07:44) [Материал]
появились сомнения в правельности архива с прошивками т.к.при попытки открыть в аресе
платы, арес пишит что файл испорчен или не схема платы,поетому большая просьба скинуть на мыло прошивку для мега8 и драйвер для xp
заранее благодарен

182 kyzma   (20.10.2012 05:51) [Материал]
фьюзы проверил,выставлены правельно
такт есть,заливал проверочную программу светодиоды мигают с заданной частотой
питание от usb 5.1 вольт
коротышей вроде нет,смотрел плату на свет,по омметру все ноги меги без коротышей
как сам чип проверить не знаю,но наверное если былбы мертвый то и светодиоды не мигали,как мне каажется,хотя могу и ошибаться
ресет нормально,приподаче земли светодиод тухнет

голова уже пухнет ,а куда дальше копать не знаю

181 AlekS   (20.10.2012 01:16) [Материал]
kyzma начни с фюзов (нет генирации)
питание (запитай от внеш)
каратыши на плате
сам чип

еще ресет висит.

180 exersizze   (19.10.2012 23:35) [Материал]
Да на D+ и D- у меня такое же напряжение. Мощность стабилитронов ни на что не влияет. А замыкать я бы ничего не советовал, ненароком еще спалишь выход тактового генератора на XTAIL2 и тогда всё - приплыли smile

179 kyzma   (19.10.2012 20:38) [Материал]
здравствуйте.собрал данный программатор и уже неделю не могу запустить
ноут с xp пишет что устройство не определенно.много раз перепроверял схему
ничего не нашел.может кто ответит на мои вопросы:
1 какой сигнал должен быть на D+ D- у меня на D+ ноль вольт на D-2.5
2 подходят ли стабелитроны на 1ватт
3 при замыкании кварца должен ли гаснуть светодиод (у меня не гаснет)

178 exersizze   (10.10.2012 00:31) [Материал]
Да этот момент поднимался в комментариях несколько раз) Кто знает тот поймет, кто не знает - объясним))

177 niko-lay   (09.10.2012 23:20) [Материал]
Опять новичкам голову морочишь с конденсатором С1?)))))))))) Добавь ты его уже на схему))

+1   Спам
176 exersizze   (08.10.2012 22:53) [Материал]
Все там сходится и печатка рабочая, как распечатывать слои я вам уже подсказал. Конденсатор С1 которого нет на схеме 0,1 мкф, его можно ставить а можно нет, работать будет и без него. По поводу резистора на первой ноге (на фото), да он должен стоять на 29-й (в печатке исправлено)
В любом случае есть схема, можете развести плату сами smile

175 Троян   (08.10.2012 22:16) [Материал]
Либо я что-то не понимаю, либо тут полное не соответствие схемы и печатной платы
Я вот сравнил .lay файл, схему, фото готового образца и голова идёт кругом....
Где не схеме конденсатор С1? ; в схеме к земле идёт 5 контакт контроллера - на печатке этот-же контакт ещё и с 3-им соединён.
Ещё на третьей картинке, где готовое устройство, на перво ноге контроллера висит R6, который на печатке и на схеме вообще на 29 должен висеть
И таких моментом куча, я тут всё и перечислить не смогу
В чём вообще дело-то, помогите разобраться

И на сколько я знаю программу SL - верхний слой К1 нужно рисовать так как мы его должны видеть на плате, а не зеркально как тут

174 exersizze   (08.10.2012 16:26) [Материал]
Плата нарисована для изготовлением ЛУТом, поэтому надо зеркалить при распечатке на принтере.
Верхний слой (тот что красным) зеркалить не надо, а нижний надо

173 Троян   (08.10.2012 15:36) [Материал]
У меня вопрос по поводу печатной платы.
В .lay файле слои нарисованы как-то отзервалено, не так как на фото готового программатора.
С какой целью это сделано и как теперь правильно распечатать я не разберусь))

172 At0m   (09.09.2012 19:57) [Материал]
Спасибо всем за ответы, нашел резонатор на 12Мгц и припаял сразу. Все заработало, спасибо автору, отличный программатор!

171 niko-lay   (09.09.2012 16:26) [Материал]
At0m, припаивать не обязательно, фьюзы изменятся но микроконтроллер перестанет определяться программатором, да и вообще работать, пока не поставишь кварц.

170 amv2000   (07.09.2012 19:41) [Материал]
На программирование кварц не влияет, на работе скажется однозначно.

169 At0m   (07.09.2012 19:15) [Материал]
Сбрал себе такойже, и возник вопрос с прошивкой. Нужно ли припаивать кварц при первом прогрммировании меги?

168 exersizze   (19.08.2012 09:28) [Материал]
вроде пока поддержки нет, но есть способы подружить вот например так

167 maxteam   (15.08.2012 14:11) [Материал]
а программатор работает с CodeVisionAVR и AVRStudio?

166 exersizze   (27.07.2012 09:25) [Материал]
О тоже попробую такое провернуть, а то лежит 32-я мега по ошибке прошитая на тактирование от внешних импульсов, а генератор все никак руки не доходят собрать.
Еще недавно обнаружил что из программатора можно получить конвертер USB-UART, ребята из Extremeelectronics постарались. Вот подробнее http://extremeelectronics.co.in/softwar....ta-test

+1   Спам
165 ya-zp   (27.07.2012 00:43) [Материал]
...вчера обнаружил еще одно полезное свойство данного програматора: по спешке прошивая Атмегу 8535 случайно залочил ее (выставил во фьюзах тактирование от внешнего генератора) От безъисходности решился подать на мегу 8535 такт с кварца програматора. (Жить захочешь - не так раскорячишься :-) ) К моей безграничной радости все ожило и контроллер снова на ходу! Так что програматор можно смело назвать устройством "2 в 1". При таком включении советую не менять выводы xtal1 и xtal2 ибо ничего не получиться. провод использовал длинной порядка 70см. Еще раз спасибо сайту и автору за чудесное устройство!

164 exersizze   (19.07.2012 11:19) [Материал]
Помоему все это лишнее, контроллер и так работает стабильно при напряжении 3,3В и отдельно запитывать его пятью вольтами смысла нет

163 Valera18   (18.07.2012 19:10) [Материал]
Ещё бы диод добавить на "+ питания".

Как я уже говорил раньше, я с USB (5V) питание пускал через стабилизатор (LM1117) 3,3V после эти 3,3V идут на Atmega8 и на выход для подключения дополнительных устройств, у Вас так-же.
Я где-то видел, что питание с USB (5V) подключали к Atmega8 и к стабилизатору (LM1117). В итоге получается Atmega8 питается 5V, а на подключения дополнительных устройств идёт 3,3V с "LM1117".
Следовательно, напряжение SPI канала = 5V, поэтому на SPI канал ставят резисторы (от 100 до 470 Ом). Там говорилось, что так программатор работает стабильнее.
Что вы думаете?

162 Valera18   (17.07.2012 13:09) [Материал]
Установил "диоды стабилитроны" на 3,6V на сигналы USB.
Теперь всё работает на 3,3V или на 5V, сигналы USB стабилизированы.
Оказывается, если используешь "диоды стабилитроны" на 3,3V тогда микросхему нужно питать только на 3,3V (от 5V работать не будет), но если использовать "диоды стабилитроны" на 3,6V тогда микросхему можно питать 3,3V или 5V.

161 exersizze   (12.07.2012 13:48) [Материал]
У USB стандартные логические уровни на шине данных 3,3 вольта. Выше-уже можно попалить порт. Но похоже что у вас usb-порт не знает об этом стандарте )

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






авторизация
Логин:
Пароль: