В интернете много схем USB программаторов для микроконтроллеров AVR. Все их можно разделить на три группы: программаторы на основе микроконтроллеров AVR, в которых USB интерфейс реализован программно, программаторы на основе микроконтроллеров AVR с аппаратной поддержкой USB, и программаторы на основе микросхем FT232, которые работают в режиме BitBang. 
   Один из наиболее простых для повторения AVR USB программаторов  – это USBasp. Он собран на микроконтроллере Atmega8 (или Atmega48), требует минимум внешних компонентов, имеет несколько готовых вариантов разводки печатной платы и оболочек для программирования, а также может работать под Linux и MacOS.    
   Правда есть одно НО! Для оживления этого программатора в микроконтроллер нужно записать прошивку, а значит, у вас уже должен быть какой-то работающий AVR программатор или хотя бы возможность  его взять.

Сборка USBasp

   Схема программатора USBasp представлена на рисунке ниже. Красный светодиод — сигнализирует о том, что программатор находится в рабочем состоянии. Зеленый загорается, когда идет процесс программирования. Джампер JP1-1 в замкнутом состоянии позволяет программировать микроконтроллер программатора, JP1-2 коммутирует на плату питание от USB порта. С помощью JP3 -  изменятся частота SCK сигнала. При разомкнутом джампере — частота SCK будет 375 кГц, при замкнутом — 8 кГц. Если я правильно понял, это сделано для программирования  микроконтроллеров с низкой частотой тактирования (меньше 1.5 МГц) 
схема USB AVR программатора USBasp

   Можно заморочиться и развести свою печатную плату, но я не стал изобретать велосипед и просто выбрал один из готовых вариантов представленных на странице http://www.fischl.de/usbasp/

печатная плата USB AVR программатора USBasp

  Если вы решитесь пойти по этому же пути, то для сборки программатора вам понадобятся следующие компоненты:

AVR микроконтроллер ATmega8-16PI     
Узкая 28 контактная панель SCS-28 DIP   
Розетка на плату USBB-1J                          
Вилка на плату IDC-10MS(BH-10)              
Кварцевый резонатор на 12 МГц       
Два стабилитрона на 3.6V          
Выводные резисторы мощностью 0,125 Ватт:  
   68 Ом        2 шт
   270 Ом      1 шт
   390 Ом      2 шт
   1.5 кОм     1 шт
   10 кОм      1 шт
Керамические конденсаторы K10-17Б: 
   20 пФ        2 шт
   0,1 мкФ     1 шт
Электролитический конденсатор 10 мкФ на 16 В 
Красный и зеленый светодиоды
Штыревая вилка типа PLD или PLS

Изготовление платы методом ЛУТа не представляет особых сложностей — плата односторонняя, дорожки широкие. 

USB AVR программатора USBasp в собранном виде

   После сборки платы, в микроконтроллер нужно записать прошивку и установить FUSE биты, чтобы он тактировался от внешнего кварцевого резонатора. Сделать это можно прямо в составе платы. Для этого нужно замкнуть джамперы JP1-1 и JP1-2, подключить USB кабель к USBasp`у и компьютеру (с него будет подаваться питание), а к разъему BH-10 подключить программатор. Дальше - в зависимости от того, чем будете шить.

FUSE биты устанавливаются так:

SCOPT – 0
CKSEL3 - 1
CKSEL2 - 1
CKSEL1 - 1
CKSEL0 – 0

А если в байтах то:

HIGH 0xС9
LOW 0xEF

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

  Для работы с программатором под Windows требуется уставновить драйвера. Это просто.  

 Подключаем USBasp к компьютеру (джамперы JP1-1 и JP1-2 должны быть разомкнуты). Операционная система оповестит нас о нахождении нового оборудовании и предложит установить драйвера. 

Выбираем опцию -  установить из указанного места

установка драйверов для программатора USBasp

Указываем папку в которой лежат драйвера для программатора.

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

Система немного потупит, а затем начнется процесс установки.

установка драйверов USBasp

Если все прошло удачно, мастер оборудования завершит работу. 

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

А Windows оповестит нас об установке нового оборудования


Теперь программатором можно пользоваться.

Оболочки для работы с USBasp

   Для работы с  USBasp`ом есть несколько программ — avrguge, eXtremeBurner, Khazama и.. какие то еще. Я не фанат командной строки и предпочитаю пользоваться оконными приложениями. На мой взгляд наиболее удобная в использование программа для USBaspa – это  Khazama.

Khazama AVR Programmer

   Пользоваться ей очень легко. Устанавливаем модель микроконтроллера.Загружаем в буфер файл прошивки Flash памяти

Khazama AVR Programmer

Стираем кристалл и записываем в него прошивку. 

Khazama AVR Programmer

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

окно установки FUSE и LOCK битов

Все операции можно выполнять как с помощью меню, так и с помощью меню бара. Также есть удобная опция AutoProgram.


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

 

Файлы

Схема и печатная плата USBasp в формате Eagle
Win драйвер и прошивка USBasp
KhazamaAVRProgrammer

 

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

При добавлении в комментарии Сишного кода заключайте его между тегами
[code] [/code]

Защитный код
Обновить