Меню

Как прошить микроконтроллер AVR?

Как прошить микроконтроллер AVR? Именно этим мы и займемся в этой статье.

Что такое «прошить» и «прошивка»?

Давайте первым делом определимся, что означает слово «прошить»?  Думаю, вы часто слышали такие словосочетания, как «прошить телефон», «слетела прошивка», «кривая прошивка» и тд.  А что такое «прошивка»?

Прошивка — это грубо говоря, операционная система для маленьких устройств, таких как мобильный телефон, MP3-плеер, цифровой фотоаппарат и тд. То есть это  небольшая программка, которая управляет этим устройством. Также часто можно услышать и такое:» У меня «глючит» сотовый телефон, его надо срочно «перепрошить«.

В данном случае это означает, что надо заново установить операционную систему на мобильный телефон. Значит, «прошить МК»  означает закачать во внутрь него программу, которая бы управляла этим МК, а МК уже управлял бы каким-нибудь устройством.  То есть по идее, МК — это посредник между программой и каким-либо устройством, которым надо управлять ;-)

как прошить avr

 

Оборудование для прошивки МК

Итак, что нам потребуется, чтобы прошить МК?

  1. Cам микроконтроллер.
  2. Компьютер, с заранее установленным программным обеспечением (ПО).
  3. Программатор.
  4. Несколько джамперов.
  5. Макетная плата. Я бы порекомендовал сразу купить набор для начинающего AVRщика. Этот набор питается от USB.
  6. Прямые руки, растущие из нужного места.

 

Мы с вами договорились использовать МК Atiny2313 в корпусе DIP-20:

attiny2313

Подготовка МК к прошивке

В прошлых статьях мы с вами рассматривали программатор Громова.  Главный его минус в том, что нам требуется COM-порт, который с трудом можно сейчас найти в компьютере, а разъем USB зато есть на каждом компьютере. Поэтому, было принято решение о покупке самого дешевого USB программатора для AVR МК. Называется такой программатор USBASP и выглядит он примерно вот так

USBASP

 Если хорошенько порыться на Али, то можно найти очень сладкую цену на такой программатор. Например, здесь. Может быть найдете даже дешевле. Если будете брать у другого продавца, то внимательно смотрите, чтобы его надписи и радиоэлементы располагались именно так, как  у меня на фото. В среднем его цена на момент написания статьи около 120 рублей. Такой программатор в корпусе обойдется чуток подороже.

Вот его вид сзади:

USBASP программатор

Его  рабочий разъем выглядит примерно вот так:

разъем USBASP

С программатором также в придачу идет шлейф

шлейф на программатор

который одним концом цепляется к рабочему разъему программатора:

USBASP со шлейфом

Другой конец шлейфа мы будем цеплять к МК.


Если внимательно присмотреться, то можно узнать, какой вывод в разъеме является первым. Стрелка укажет на первый вывод разъема:

Как прошить микроконтроллер AVR?

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

Как прошить микроконтроллер AVR?

распиновка USBASP

Дальше берем макетную плату с установленным на ней МК Tiny2313:

Как прошить микроконтроллер AVR?

Итак, наша задача — соединить выводы МК с выводами программатора.

Для этого в разъем шлейфа втыкаем провода в гнезда MOSI, RST, SCK, MISO, VTG (VCC), GND. GND я взял 10 гнездо, можно и другое, где написано GND.  Итого 6 проводков-джамперов:

Как прошить микроконтроллер AVR?

Далее качаем даташит на наш МК. В данном случае у нас Tiny2313. Ищем в даташите лист с его цоколевкой:

распиновка Attiny2313

VTG (он же VCC) цепляем к 20 ножке МК

SCK(UCSK) цепляем на 19 ножку МК

MISO цепляем к 18 ножке МК

MOSI на 17 ножку

GND на 10 ножку

RST на первую ножку

Должно получиться как-то вот так:

прошиваем мк avr

После первого включения программатора в разъем USB ПК, Диспетчер устройств нам выдаст новое устройство:

Как прошить микроконтроллер AVR?

Не пугаемся, качаем  вот этот архивчик, распаковываем его и указываем путь на него при установке «дров». Когда «дровишки» на программатор установятся, то мы увидим что-то типа этого:

usbasp драйвера

Все ОК, программатор готов к бою.

В этом же архиве находим папку «avrdudeprog», открываем ее, находим там исполняемый файл AVRDUDEPROG и запускаем. Это и есть программная оболочка для прошивки МК с помощью нашего программатора.

Она выглядит  вот так. Не забываем выбрать наш МК в списке.

программа avrdude

Для того, чтобы прошить МК, нам надо выбрать файл с расширением HEX. Итак,  вот  мой файлик. Первым делом я нажимаю кнопочку «Стереть все».  А вдруг кто-то уже использовал МК и там залита уже какая-нибудь программа? Поэтому, перед прошивкой стираем память МК. Если «стирка» прошла удачно,  то программка выдаст нам примерно такое сообщение:

Как прошить микроконтроллер AVR?

Прошиваем МК AVR

Нажимаем на кнопку выбора файла:

Как прошить микроконтроллер AVR?

А теперь выбираем наш файл «Lesson 1.hex» . Это и есть наша программа.

Как прошить микроконтроллер AVR?

А теперь жмем кнопочку «Программирование»

Как прошить микроконтроллер AVR?

После того, как все прошло удачно, высветится что-то типа этого:

Как прошить микроконтроллер AVR?

Но это еще не все! Как вы помните, в прошлой статье мы выставили частоту кварца 8 Мегагерц. Чтобы не было неразберихи, нам эту частоту теперь надо поделить на 8. Для этого существует фьюз, который делит тактовую частоту именно на 8. Ставим маркер на «прямые фьюзы», потом ставим галочку на CKDIV.

выставление фьюзов avrdude

После того, как сделали эти два шага, нажимаем на кнопку «Программирование»:

Как прошить микроконтроллер AVR?

Проверяем МК в железе

Теперь собираем нашу схемку, о которой говорилось еще в прошлой статье:

Схема подключения светодиодов к Avr

и наслаждаемся результатом:

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

Ваш e-mail не будет опубликован.