Кафедра света и электричества

Собираем программатор

Основная плата контроллера в программаторе не нуждается. Однако, загрузчик в нее придется как-то прошить. Можно купить программатор, можно его одолжить, а можно сделать самостоятельно из такой же платы, но уже прошитой и работающей. Так что при изготовлении нескольких плат придется прошивать только одну, остальные можно инициализировать от первой. Таким образом проблема "курица или яйцо" существенно упрощается. Возможны два варианта: можно по-быстрому соединить проводами две платы и прошить одну от другой, а можно собрать полноценный программатор со стандартным разъемом, и использовать его для программирования не только предлагаемых здесь плат, но и любых других на основе контроллеров AVR. Здесь будет рассказано в основном про второй вариант. Вот схема программатора, она очень проста, и для нее не требуется даже специальная печатная плата, все можно собрать на макетке.



В левой части схемы указаны выводы микроконтроллера, к которым следует подключить соответствующие контакты программатора. Разъем SV1 - вилка 5х2 - является стандартом для контроллеров AVR. Предполагается, что на программируемой плате находится такой же разъем. Данный программатор построен на основе программатора USBASP и использует программное обеспечение, разработанное для этого программатора. Все это работает под Linux, MacOS и Windows. После сборки схемы нужно загрузить в контроллер программу из этого архива (исходные коды прилагаются). В случае Linux или MacOS все просто: снимаем джампер, подключаем плату к компьютеру и пользуемся программатором AVRDUDE. В случае Win2000 или WinXP придется еще поставить библиотеку LibUSB. Далее при подключении программатора к компьютеру Windows запросит драйвер. Он находится в уже упомянутом архиве в подкаталоге win-driver. Windows ругнется на неподписанный драйвер, на что нужно сказать, чтоб ставила.

С Windows Vista нужно будет предпринять шаманские действия. А именно, правой кнопкой мыши щелкнуть по инсталлятору LibUSB, вкладке "Совместимость" и выбрать режим совместимости с Windows XP.

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

На плате программатора имеется два джампера. Первый (SUPPLY) предназначен для подачи питания от USB на программируемую плату. Второй (SLOW) замедляет работу программатора. Дело в том, что некоторые устройства, например, ATTiny2313 не программируются на полной скорости. Один из светодиодов предназначен для индикации готовности устройства к работе, второй включается на время передачи данных.

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

Программатор Программируемый
MOSI = PB3 = 17 MOSI
MISO = PB4 = 18 MISO
SCK = PB5 = 19 SCK
SS = PB2 = 16 RESET = PC6 = 1
+Питания +Питания
Общий Общий

Фотография платы контроллера и платы программатора.