У многих радиолюбителей, захотевших повторить ту или иную конструкцию, напроч отпадает желание и мысли о сборке, когда они видят в составе устройства микроконтроллер. Для них непреодолимой стеной встаёт вопрос прошивки микроконтроллера. Чем, как, что для этого нужно и т.п.? Смотрят на него как на диковенный предмет.
На самом деле, тут нет ничего сложного. Устройства, собранные с применением микроконтроллеров как правило просты, не нуждаются в наладке и подборе элементов. Весь функционал устройства реализован програмно.
Самое широкое распространение среди радиолюбителей получили две линейки микроконтроллеров, PIC и AVR. Для их программирования разработано большое количество программаторов и программ. Для начала необходимо определится, на каком микроконтроллере выполнено устройство и в соответствии с этим выбрать программатор. С PIC микроконтроллерами понятно, у них название начинается именно с этих трёх букв, а AVR серии микроконтроллеры разделены на группы ATtiny, ATmega, ATxmega.
Своё знакомство с микроконтроллерами я начал с линей ки PIC. Для прошивки микроконтроллера, им оказался PIC16F84, я собрал простейший JDM программатор.
Детали программматора разместил в подходящем корпусе от переходника.
Дальнейшее знакомство с микроконтроллерами заставило меня постоянно вносить изменения, модернизировать программатор под тот или иной микроконтроллер. В один прекрасный момент я решил соблрать универсальный программатор под всю линейку PIC микроконтроллеров.
Очень хороший программатор, программирует всю линейку PIC. Не требует дополнительного питания.
Для прошивки PIC контроллеров я пользуюсь программой IC-Prog. Сам процесс прошивки очень простой:
Запускаем программу
заходим в настройки и выбираем свой программатор
Пробуем читать память микроконтроллера.
Если всё настроено правильно, программа прочитает микроконтроллер и выведет код, прошитый в памяти. Если микроконтроллер никогда не прошивался, Вся память будет заполнена кодом 3FFF и FF в области данных.
Следующий шаг, это открытие HEX файла, предназначенного для прошивки микроконтроллера, после открытия её код отобразится в соответствующих окнах.
Нажимаем кнопку записи, праграмм спросит, уверены, что хотите программировать, нажимаем утвердительно ДА. Пойдёт процесс программирование.
После программирования программа автоматически считывает только что зашитый код и сверяет с тем, что программировала. В случае удачной прошивки программа выдаст об этом соответсвующее сообщение.
Если прошивка прошла со сбоями или область программы защищена от чтения, как в моём случае, программа выдаст сообщение об ошыбке.
С PIC микроконтроллерами всё понятно. Для AVR микроконтроллеров требуются другие программаторы и программы.
Самый простой - это так называемый "5 проводков". Весь программатор состоит из всего четырёх резисторов.
Собрал я его минут за десять, но воспользоваться не смог, ввиду того, что на моём компьютере отсутствует принтерный порт LPT, к которому этот программатор подключается.
Тогда я собрал для самых ходовых у радиолюбителей микроконтроллеров семейства AVR программаторы. Первый для ATMEGA8, второй для ATtiny2313.
Схема программатора очень проста, для питания микроконтроллера требуется дополнительный источник питания. Для себя я спаял небольшой длинны провод, подключающий программатор к порту USB.
Номера выводов для подключения линий программатора отображены на рисунке
Собранный программатор позволил мне собрать программатор для AVR, подключаемый к USB порту
Удобство применения программатора с USB интерфейсом омрачается поиском драйверов на различные системы, в частности на win7 и 8. Для программаторов, использующих COM-порт таких проблем не возникает. Они прекрасно работают во всей линейке windows, да и в unix системах проблем не возникает. Впрочем unix система очень дружелюбна ко всем программаторам, адаптерам и прочей периферии.
Вот мой весь арсенал для прошивки микроконтроллеров
Небольшой видеообзор, который наглядно покажет весь процесс прошивки микроконтроллера