Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

Программирование микроконтроллеров AVR программатором USBASP — Меандр — занимательная электроника
Site icon Меандр — занимательная электроника

Программирование микроконтроллеров AVR программатором USBASP

Рассмотрим легкий и неразорительный способ записать программу в любой микроконтроллер (МК) серии AVR от Atmel. Нам понадобятся программатор USBASP и программное обеспечение для прошивания, также если на вашей плате установлен 6-пиновый разъём, вам потребуется переходник с 10 выводов на 6. Программатор USBASP, созданный немцем Томасом Фишлем, является очень распространённым, наиболее дешёвым и простым среди других программаторов для МК AVR. Купить его можно в каком-нибудь радиомагазине вашего города (стоимость — 1,5-3$).

Рисунок 1 — подключённый программатор (красная плата)

Программатор USBASP
Данный программатор соединяется через USB штекер к компьютеру и через шлейф к прошиваемому микроконтроллеру или к конструкции, в которой находится микроконтроллер. Если в первом случае связь устанавливается через последовательный интерфейс USB для обмена информацией, то во втором — через SPI-интерфейс последовательного программирования. Стоит сказать, что SPI-интерфейс последовательного программирования, имеющийся во всех МК AVR, и аппаратный SPI для обмена информации, — это разные составные микроконтроллера, что можно наглядно увидеть на рисунке 2. В некоторых МК у них даже могут не совпадать выводы. К тому же, полнофункциональный SPI-интерфейс может вообще отсутствовать, как, к примеру, в ATtiny13.

Рисунок 2 — общая структурная схема микроконтроллеров AVR

Существует множество версий программатора USBASP. Его можно собрать и самому.
Распространены две версии программатора: USBASP 2.0 и USBASP 3.0
Рассмотрим USBASP на примере версии 3.0, как наиболее продвинутой (Рис. 3).

Особенности программатора USBASP

Особенности:

Рисунок 3 —программатора USBASP 3.0

Организация USBASP 3.0

На плате программатора присутствует не много радиокомпонентов, перечислим основные:

Однако при использовании AVRDUDE_PROG перемычку можем не трогать.

Программатор поддерживается следующим программным обеспечением:

Подключение и распиновка USBASP

Подключить программатор USBASP ничего не стоит, надо лишь правильными сторонами вставить шлейф в разъём программатора и в разъём на вашей конструкции. Подсоедините шлейф в разъём USBASP точно так же, как показано на рисунке 4, обратите внимание на красный провод.

Рисунок 4 — пример соединения шлейфа с программатором и распиновка

Рисунок 5 — обозначения проводов

Назначение выводов:

Установка драйверов для программатора USBASP

Установим драйвера, чтобы можно было пользоваться программатором. Раньше драйвер для USBASP был основан на библиотеке libusb-win32. Затем, после истечения срока сертификата, перевели на новую библиотеку libusbK. Поэтому при установке драйвера из нашего архива не придётся использовать программу Zadig или прибегать к другим манипуляциям с сертификатом. Драйвер тестировался на Windows XP, 7, 8, 10 (32-х и 64-х разрядных версиях).

Процесс установки драйверов:

Программатор готов к работе.

Прошивание программы и FUSE-битов в микроконтроллер

Рисунок 6 — стартовое окно программы AVRDUDE_PROG 3.3

Цепочка действий для записи программы в МК:

Рисунок 7 — сообщение об успешной прошивки

Рисунок 8 — вкладка Fuses программы AVRDUDE_PROG 3.3

У каждого МК AVR свой набор FUSE-битов. Настройка FUSE-битов, или, по-русски, конфигурационных битов, обладает извращенской логикой: “1” — это “0”, а “0” — это “1”. Поэтому при прямых FUSE-битах “0” будет означать запрограммированное состояние, а “1” — незапрограммированное.

В программе AVRDUDE_PROG можно без волнения прошивать МК, не трогая FUSE-биты, т.к. программа выставляет их заводские значения.

Кнопка “Программирование” на вкладке Fuses служит для прошивки FUSE-битов в МК. Если нажать “Чтение”, то узнаем какие значения установлены в FUSE-битах микроконтроллера в данный момент.

Автор: Лепешкин Алексей, г. Москва

Exit mobile version