Программирование AVR в Linux. 1) Вступление, выбор программатоа

1
ГОТОВО: Ваш голос учтен!

Вступление

AVR linux logo Ну наконец-то у меня получилось помигать светодиодом на Attiny2313, радости полные штаны...
А радость не только от того, что написаная мною программа скомпилировалась и самодельный программатор прошил контроллер, а еще и от того что собраная по крупицам информация пригодилась и теперь я хочу делиться своим опытом. Ну тоесть информации в инете конечно полно, но это либо инструкции типа: "Возьмите {{ Любая windows программа }} ...", либо куцие советы от линуксоидов.
А здесь я напишу полноценную инструкцию.


Здесь я буду приводить примеры для микроконтроллера Attiny2313.
Для программирования вам нужно:

  • Программатор
  • Микроконтроллер и детальки
  • Софт

Итак, по порядку.

Программатор

Для того чтобы записать готовую программу в микроконтроллер обязательно нужен программатор. Многие не хотят покупать готовый программатор, а хотят спаять самостоятельно и тут возникает проблема с портами COM и LPT. Дело в том что самые простые программаторы такие как stk200, 5 проводков, desa, desa3 не работают через USB (хотя можно применить переходник USB -> RS232)

Расскажу немного об этих программаторах.

5 проводков - самый простой программатор, название которого говорит само за себя. Вы просто подключаете микроконтроллер к LPT порту
5 проводков
Но лучше заменить проводки резисторами 100 - 330 Ом, все кроме земли(GND)

STK-200 - улучшенный программатор 5 проводков, улучшение заключается в добавлении буфера вместо проводков.
stk-200

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

dasa - программатор работающий через COM порт, собственно его гораздо проще найти и даже если нету то можно применить переходник USB to RS232. Собственно программатор состоит из трех стабилизаторов на стабилитронах для обеспечения ТТЛ уровней на микроконтроллере (Дело в том что напряжение на COM порту не нормировано и может варировать от 5 до 12 вольт)
 dasa
Если используется переходник то там напряжение уже соответствует ТТЛ уровням и стабилизаторы можно исключить

dasa3 - это вариант dasa только с поменяными местами выходами sck и rst и инверсным сбросом(rst), для инверсии сброса введен каскад с общим эмитером.
 dasa3

USB программаторы - ну эти обычно покупают или делают но уже подготовленные радиолюбители т.е. у которых уже есть программатор чтобы прошить программатор :-)

А сам я пользуюсь программатором dasa3 .

Подключение программатора

Программатор подключить к микроконтроллеру очень просто. Нужно соответствующие выводы программатора, MOSI(MO), MISO(MI), SCK, RESET(RST), GND, VCC, подключить к таким-же выходам микроконтроллера. VCC нужно подключать только для программаторов которые требуют питания (dasa3, stk-200), т.к. программаторы питаются от платы с контроллером.

На рисунке ниже указаны выводы микроконтроллера для программирования, они обозначены оранжевым цветом, на примере ATtiny2313(дальше в статьях я буду приводить примеры именно для этого контроллера).
 ATtiny2313


В следующей статье я расскажу какие программы нужно установить для программирования AVR.


Пожалуйста войдите, что-бы оставить коментарий.
Нет акаунта? Регистрация