Вступление
Ну наконец-то у меня получилось помигать светодиодом на Attiny2313, радости полные штаны...
А радость не только от того, что написаная мною программа скомпилировалась и самодельный программатор прошил контроллер, а еще и от того что собраная по крупицам информация пригодилась и теперь я хочу делиться своим опытом. Ну тоесть информации в инете конечно полно, но это либо инструкции типа: "Возьмите {{ Любая windows программа }} ...", либо куцие советы от линуксоидов.
А здесь я напишу полноценную инструкцию.
Здесь я буду приводить примеры для микроконтроллера Attiny2313.
Для программирования вам нужно:
- Программатор
- Микроконтроллер и детальки
- Софт
Итак, по порядку.
Программатор
Для того чтобы записать готовую программу в микроконтроллер обязательно нужен программатор. Многие не хотят покупать готовый программатор, а хотят спаять самостоятельно и тут возникает проблема с портами COM и LPT. Дело в том что самые простые программаторы такие как stk200, 5 проводков, desa, desa3 не работают через USB (хотя можно применить переходник USB -> RS232)
Расскажу немного об этих программаторах.
5 проводков - самый простой программатор, название которого говорит само за себя. Вы просто подключаете микроконтроллер к LPT порту
Но лучше заменить проводки резисторами 100 - 330 Ом, все кроме земли(GND)
STK-200 - улучшенный программатор 5 проводков, улучшение заключается в добавлении буфера вместо проводков.
dasa - программатор работающий через COM порт, собственно его гораздо проще найти и даже если нету то можно применить переходник USB to RS232. Собственно программатор состоит из трех стабилизаторов на стабилитронах для обеспечения ТТЛ уровней на микроконтроллере (Дело в том что напряжение на COM порту не нормировано и может варировать от 5 до 12 вольт)
Если используется переходник то там напряжение уже соответствует ТТЛ уровням и стабилизаторы можно исключить
dasa3 - это вариант dasa только с поменяными местами выходами sck и rst и инверсным сбросом(rst), для инверсии сброса введен каскад с общим эмитером.
USB программаторы - ну эти обычно покупают или делают но уже подготовленные радиолюбители т.е. у которых уже есть программатор чтобы прошить программатор :-)
А сам я пользуюсь программатором dasa3 .
Подключение программатора
Программатор подключить к микроконтроллеру очень просто. Нужно соответствующие выводы программатора, MOSI(MO), MISO(MI), SCK, RESET(RST), GND, VCC, подключить к таким-же выходам микроконтроллера. VCC нужно подключать только для программаторов которые требуют питания (dasa3, stk-200), т.к. программаторы питаются от платы с контроллером.
На рисунке ниже указаны выводы микроконтроллера для программирования, они обозначены оранжевым цветом, на примере ATtiny2313(дальше в статьях я буду приводить примеры именно для этого контроллера).
В следующей статье я расскажу какие программы нужно установить для программирования AVR.