Программатор USBasp для AVR контроллеров Arduino

Программатор USBasp для AVR контроллеров Arduino

USBasp S51&AVR — простой внутрисхемный USB-программатор для контроллеров серии S51 фирмы Atmel: AT89S51, AT89S52, AT89S53, AT89S8252.

 

У любителей Arduino приборчик USBasp тоже пользуется спросом, так как может загружать скетчи и прошивать ядро микроконтроллеров AVR серии: ATtiny, ATmega, AT90S, AT90CAN, AT90PWM, а также без проблем работает с программным обеспечением Arduino IDE.

 

Мозгом загрузчика USBasp служит микроконтроллер ATmega8. Так же есть варианты с ATmega88 или ATmega48. Собран он из минимума деталей, USB контроллер не нужен, поскольку имеется программный USB-драйвер.

Программатор USBasp для AVR контроллеров Arduino

Возможности программатора USBasp

 

  1. Совместим с Windows, Linux и Mac OS X.
  2. Поддержка контроллеров S51 и AVR.
  3. Питание от USB порта +5В, дополнительное не требуется.
  4. Прошивка контроллеров работающих от 5 или 3.3 В.
  5. Скорость передачи до 5 Кбайт/сек.
  6. Переключение SCK-джампером для прошивки низкоскоростных чипов < 1.5МГц.
  7. Сбрасываемый предохранитель от короткого замыкания.
  8. Стандартный IDC 10PIN интерфейс.

 

Драйвер к программатору USBasp

Windows USBasp-win-driver-x86-x64-ia64-v1.2.4

 

Программное обеспечение для USBasp

 

  • BASCOM-AVR — среда разработки, начиная с версии 1.11.9.6.поддерживает USBasp.
  • AVRDUDE 6.1 — консольная программа, начиная с версии 5.2 поддерживает USBasp.
  • Khazama AVR Programmer v1.7 — имеет графическую оболочку, совместима с Windows XP и Vista.
  • eXtreme Burner AVR 1.3 Beta — графическая оболочка.
  • Arduino IDE 1.0.6
Самодельный USBasp

 

Обвязка микроконтроллера в USBasp S51&AVR настолько проста, что достаточно легко собрать самому миниатюрный программатор, который можно будет везде носить с собой как флешку.

 

Для самоделки можно выбрать управляющий микроконтроллер ATmega8, ATmega48 или ATvega88, но только без всяких индексов L, PU. Так как нам потребуется рабочая частота свыше 8 Мгц.

 

Схема программатора

Схема программатора

Устройство, собранное по этой схеме предназначено только для программирования 5-вольтовых контроллеров!

 

Красный светодиод показывает, что устройство подключено к USB-питанию.

Зеленый светодиод мигает, когда идет обращение к прошиваемому микроконтроллеру.

 

Элементы для сборки USBasp:

  • R1, R2 — 68 Ом;
  • R3 — 2.2 кОм;
  • R4, R5, R7 — 1 кОм;
  • R6 — 10 кОм;
  • C1 — электролит на 4.7 мкФ;
  • С3 — керамический конденсатор 100 нФ;
  • C4, C5 — керамические, неполярные конденсаторы 22пФ;
  • LED1 — красный светодиод на 20мА;
  • LED2 — зеленый светодиод на 20мА;
  • D1, D2 — стабилитроны на 3,6В;
  • IC1 — микроконтроллер ATmega8, ATmega48, ATmega88, без индексов L, PU;
  • Q1 — кварц 12 МГц, корпус HC49-S;
  • X1 — разъем USB, тип B;
  • X2 — разъем IDC-10;

 

Уставки джамперов

 

J1 — питание от USB-гнезда, либо внешнего источника.

J2 — установленная перемычка позволяет перепрошивать программатор.

J3 — установленная перемычка снижает частоту SCK синхросигнала с 375 кГц до 8 кГц для прошивки низкоскоростных чипов < 1.5 МГц.

 

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

 

Использование перемычек, как в оригинальной схеме, не совсем удобно, поэтому рекомендуется замена всех их на один DIP переключатель.

 

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

 

Для работы программатора потребуется на Windows установить драйвер. Последнюю версию которого можно найти на сайте USBasp.

 

На операционные системы Linux и MacOS драйвер не требуется.

Схема программатора

Вставьте собранный программатор в гнездо USB. Операционная система найдет новое оборудование и предложит установить драйвер для него. Выберите пункт: «Установка из указанного места», найдите папку со скачанным драйвером. Начните установку драйвера на Windows.

 

Прошивка самодельного USBasp

 

Чтобы собранное устройство заработало, его микроконтроллер ATmega, необходимо предварительно прошить.

 

Запускайте программное обеспечение, например, AVRDUDE и не забудьте проверить правильность установки джампера J2.

Загружайте прошивку:
«bin/firmware/usbasp.atmega8.xxxx-xx-xx.hex»
«bin/firmware/usbasp.atmega88.xxxx-xx-xx.hex».

 

Для работы от внешнего кварца необходимо будет выставить фьюзы:

# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
# TARGET=atmega48 HFUSE=0xdd LFUSE=0xff
# TARGET=atmega88 HFUSE=0xdd LFUSE=0xff

 

Воспользуйтесь для вставки фьюзов прогой Makefile с функцией «make fuses».

 

Печатная плата

 

Печатных плат для самодельного USBasp разработано более 10 видов. Рекомендуем использовать оригинальную, с установкой стабилитронов.

трассировку печатной платы

Или сделайте свою трассировку печатной платы под установленный лично DIP переключатель вместо отдельных джамперов.

 

Программирование в Khazama

 

Стоит упомянуть об удобной графической программе Khazama. Все операции можно быстро выполнить как в меню, так и с помощью строки бара.

Программирование в Khazama
1 — загрузить в буфер прошивку для Flash памяти.
2 — загрузить в буфер прошивку для EPROM памяти.
3 — записать прошивку во Flash память.
4 — записать прошивку в EPROM память.
5 — прочитать Flash память.
6 — прочитать EPROM память.
7 — стереть микрочип.
8 — установить FUSE и LOCK биты.
9 — установить поверх всех окон.
В меню есть удобная кнопка Auto Program.

 

В Command > Program Options можно изменять настройки программки. В частности, можно задать набор операций, которые будут выполняться при нажатии на Auto Program. По умолчанию установлено стирание чипа и запись во флэш-память. Также можно выбрать запись в EEPROM, добавить верификацию (проверку записанных данных).

 

Программирование Flash памяти

Программирование Flash памяти

 

Программирование EEPROM памяти

Программирование EEPROM памяти

 

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

 

С помощью Khazama также удобно выставлять FUSE биты.

FUSE биты

 

Автор: Виталий Петрович. Украина Лисичанск.


 

 

 


Понравилась статья? Поделиться с друзьями:
Комментариев: 3
  1. Максим

    Вчера все установил. Заработало. Стоит десятая виндовс. Юнипроф не видит мк. Четыре штуки уже испытал. Подскажите куда залезть? Переключать ком порты пробовал.

    1. Admin (автор)

      Здравствуйте. Немного знаком с ПО Uniprof. Вот, что вам посоветую сделать:
      1. У современных ПК частота процессора слишком высока, а для работы с USB-программатором требуется намного меньшая скорость. Замедлите работу, установите галочку напротив надписи “Торомоз!”. Таким образом, вы также избежите ошибок в дальнейшем при прошивке МК.
      2. Неправильно выбрано во фьюзах время запуска тактового генератора МК.
      3. Выбирайте вручную в появляющемся меню тип подключенного МК.
      4. Программой Uniprof обычно используются COM порты под номерами 1 и 2. Открываете программу, ставите галочку возле одного из них в окошке выбора портов. Закрываете программу и переключаете кабель на порт внизу на тыльной стороне системника. Снова запускаете программу.
      5. Есть несколько версий Uniprof, некоторые из них менее функциональны и имеют чуть меньший список поддерживаемых микроконтроллеров. Обновите версию Uniprof.

  2. Евгений

    Добрый день. Уже пятая статья про то, как программировать at89s52, используя Arduino и не слова об Ардуино – везде только avrdude фигурирует. Ну подключил я USBasp проргамматор к контроллеру по шине SPI, обвязал кварцем и прочей мелочью, запустил Ардуино. А дальше что делать?! Что выбрать в платах, программаторах в меню среды? Как запустить элементарный блинк? Если по шагам?

Добавить комментарий

тринадцать + 7 =