Atmega48 как подключить для прошивки

alex-day › Блог › Arduino без Arduino: работаем с микроконтроллерами напрямую

Если вспомнить историю создания Arduino ( www.drive2.ru/b/2520138/ ), то Arduino стало популярно благодаря трем вещам, составляющим ее основу: Среды программирования Arduino IDE ( на самом деле это среда языка Processing), Языка программирования Wiring (На самом деле такого языка не существует — то что мы видим это самый обычный С, дополненный большим числом библиотек) и Плат Arduino.
Я уже писал ранее, что без каждой из этих трех составляющих можно обойтись и приводил пример того, как можно обойтись без знания С — www.drive2.ru/b/2729013/. Как отказаться от Arduino IDE написано здесь — www.visualmicro.com/page/…what_is_visual_micro.html, а сегодня я хотел бы написать о том, как отказаться от «плат Arduino».
Итак, что же собой представляет плата, получившая такой коммерческий успех?

2) Микроконтроллеры Attiny13 (А)
Библиотеки и файлы для поддержки «Тинек» можно скачать по ссылочке выше, а можно взять версию от разработчика — sourceforge.net/projects/ard-core13/files/
Скачанный файл также кладем в папку hardware

После всех скачиваний и распаковок получим папку hardware с таким содержимым

Подключение микроконтроллера
Прошить программы в МК можно 2 различными способами:
1) Классический вариант — прошивка при помощи программатора
Тут все просто: покупаем любой программатор из списка поддерживаемых

2) Прошивка при помощи заводской платы Arduino
Следует отметить, что далеко не все платы Arduino подходят для сего действия
Возьмите свою плату и проверьте перед тем как пытаться. Расположение выводов интерфейса SPI должно быть следующим:

Заливаем загрузчик. А нужно ли?
Итак сначало определимся что такое загрузчик и зачем это нужно.
Установка загрузчика дает возможность напрямую, через последовательный порт прошивать микроконтроллер (только имеющие аппаратный последовательный порт).Например так прошиваются пустые ATMEGA328P, которые потом можно использовать вместо установленной штатно микросхемы на Arduino UNO и устанавливать далее на самодельные платы.
Т.е. на ту же Attiny13 заливать загрузчик просто не имеет смысла — у нее нет аппаратного порта (выводов Тх, Dx), хотя некоторые «умельцы», пишущие обучающие статьи это делают (см UPD ниже). А вот для Atmega8 это можно сделать — она при этом потеряет 1кБайт из 8 своей памяти, но зато залить прошивку уже можно будет не через SPI, а подключив ее к адаптору СОМ порта (как это сделать рассказано здесь — www.drive2.ru/b/2642464/ на примере Arduino Pro Mini, смотрим раздел «Подключаемся»).

UPD. Добавка написаная много познее
С прошедшим временем понимаю, что на теме загрузчика стоит остановиться отдельно, заодно рассказать подробно, что такое фьюзы.
Но сейчас вкратце: В каждый микроконтроллер, помимо записи прошивки, необходимо записывать биты конфигурации — так называемые фьюзы и локбиты. С завода они идут записанные среднепотолочно и в реале скорее всего вам не подойдут — от этого и происходит неправильный расчет времени, например.
Но записью загрузчика можно обойти этот момент — как раз при записи загрузчика в микроконтроллере прописываются правильные фьюзы. Поэтому, даже если загрузчик не нужен, его можно прописать, чтобы прописались фьюзы, а потом при записи самой прошивки («скетча») поставить галочку, что он не нужен и его можно удалить.

Если считаете, что вам это нужно, то устанавливаем микроконтроллер в программатор (подключаем к плате-программатору) и нажимаем «Записать загрузчик»

READ  Как подключить двд к ноутбуку асус

Прошивка программ
а) Пишем программу. Тут все как обычно, нужно только учесть, что для Attiny поддерживаются не все возможности «языка Arduino», а только
pinMode()
digitalWrite()
digitalRead()
analogRead()
analogReference(INTERNAL) / (EXTERNAL)
shiftOut()
pulseIn()
analogWrite()
millis()
micros()
delay()
delayMicroseconds()

б) Прошиваем.
Если мы используем плату Ардуино, то выбираем в качестве программатора «Arduino as ISP», в разделе «платы» наш микроконтроллер и частоту на которой он будет в дальнейшем работать, в разделе «порт» виртуальный СОМ нашей платы-программатора и нажимаем «вгрузить».
Вариант записи через программатор описан здесь — О бедном AtMega замолвите слово

в) проверяем работоспособность. Тут есть некоторые разногласия что делать с ногой RESET. Кто-то считает, что в процессе работы ее можно оставлять в воздухе, кто-то, что ее нужно подтянуть через резистор 10 кОм к питанию. Работает и так и так, тут больше вопрос религии 🙂

Источник

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

Прошиваем микроконтроллер AVR.

Как и чем прошить avr микроконтроллер.

1)Прежде всего для прошивки микроконтроллеров Atmel AVR необходим программатор, например для прошивки через USB-порт такой — USB ASP Программатор микроконтроллеров ATmega AVR

2)Теперь нужно установить драйвера для вышеприведенного программатора

Для этого устанавливаем программу eXtreme Burner — AVR, в процессе установки она автоматически установит правильные драйвера

Скачать можно здесь eXtremeBurnerAV_LampCORE_ru

Если беспаечной платы и проводов-радуги нет — то можно напрямую припаяться к выводам разъема программатора и к ножкам микроконтроллера для прошивки.

Обратите внимание, что контакт 22 — GND находится напротив по другую сторону мс контакта 7 — VCC, исходя из этого не нужно отсчитывать ножки микросхемы, а просто соединить контакт напротив по другую сторону микросхемы соответственно.

Соединение без макетной платы и с помощью обычных проводов

Смотрим распиновку разъема программатора:

Паяем к микроконтроллеру в соответствии с распиновкой.

Удобнее паять таким паяльником — Паяльник GJ 907.

Или можно просто запихать в разъем шлейфа обычные провода, но при таком соединении возможен плохой контакт или его отсутствие.

(Если при запуске у вас выдается сообщение — «не удается продолжить выполнение кода поскольку система не обнаружила libusb0.dll» то необходимо скачать и установить эти драйвера

вручную, запустив файл InstallDriver.exe )

Затем выбираем вкладку Read и нажимаем Flash(считать прошивку(на многих коммерческих устройствах устанавливают бит защиты от считывания))

(Если выдается ошибка Power On Failed

Flash — это прошивка

EEPROM — энергонезависимая память

Fuse Bits and Lock Bits — это настройка фьюзов, защиты, параметров микроконтроллера(например работать микроконтроллеру от внутренней частоты или от внешнего кварцевого резонатора, откуда брать опорное напряжение для АЦП и т.д.)

Если драйвера установлены, подсоединено всё правильно то имеем такой результат:

Мы считывали еще не прошитый микроконтроллер ATMEGA8, поэтому у нас будут считаны только нули(FFFF):

Попробуем прошить микроконтроллер

Она мигает светодиодом на любом выводе D микроконтроллера ATmega, так как в прошивке задана установка всех портов D как выход.

Запускаем eXtreme Burner

Нажимаем Open и в файлах выбираем прошивку в формате HEX

Дальше должно быть так:

Для запуска прошивки выбираем вкладку Write(Запись) и нажимаем Flash, должен пойти процесс прошивки

Прошивка успешно завершилась:

Жмем Read — Flash, получаем:

Как видно нули заменились другими цифрами и видно оставшееся пустое мето в памяти для прошивки.

Теперь отсоединим микроконтроллер от программатора и проверим работу прошивки на практике.

READ  Как подключить пакет трафика велком

Собираем все по такой схеме:

Собрали, всё должно работать(светодиод мигает 2 раза в секунду):

Если светодиод не горит или наоборот горит постоянно — проверьте надежность контактов.

Внимание! Не вешайте напрямую нагрузку на ножки микросхемы с потреблением больше 25 мА!

Не подавайте на микросхему больше 5.5 Вольт.

Цикл перезаписи прошивки не бесконечен — есть определенный ресурс.Не стоит микроконтроллер использовать и перезаписывать как USB-флешку.

Источник

Atmega48 как подключить для прошивки

Всё о прошивке AVR микроконтроллеров AVR

Как загрузить программу в микроконтроллер.

Я советую прошивать микроконтроллер AVR из удобного интерфейса программирования встроенного в компилятор CVAVR CodeVisionAVR

Книги по электронике и микроконтроллерам скачать в библиотеке

Например 6 штырьков для ISP прошивания AVR

Вид сверху платы на штырьки.

в ATmega 128 ATmega64 сигналы ISP программатора

MISO подключают к ножке PE1

MOSI подключают к ножке PE0

2) Вывод PEN нужно подключить к питанию VCC резистором 1-10 кОм

Подробней о фьюзах ниже и на стр. 2 курса

. и так до окончательной отладки устройства.

Вариант 2. Если вы не устанавливали чек бокс «Program the chip» или

1) запустите программатор CVAVR кнопочкой «МИКРОСХЕМА» правее «красного
жучка» в верхней панели инструментов. Появится окно программирования AVR

После прошивания, если вы сделали все правильно, AVR начнет выполнять уже новую программу.

Иначе вы можете отключить режим ISP или внутренний RC-генератор и для следующего программирования вам понадобится ставить кварц с конденсаторами или даже искать:

Parallel Programming does not work
Parallel Programming is not functioning correctly. Because of this, reprogramming
of the device is impossible if one of the following modes are selected:
– In-System Programming disabled (SPIEN unprogrammed)
– Reset Disabled (RSTDISBL programmed)

в ATmega XXX с завода включен внутренний RC генератор
на частоте 1 МГц
( уточните это по ДШ и его возможные частоты )

НЕ запрограммированный фьюз 1

ЗАпрограммированный фьюз 0

В таблице 2 указаны комбинации фьюзов для разных источников тактового сигнала.
Далее написано что с завода МК поставляется с такой комбинацией фьюзов

CKSEL 0001 SUT 10 CKOPT 1

По таблице 4 находим : в ATmega 16 для кварца с частотой от 3 до 8 МГц нужны конденсаторы от 12 до 22 пФ и вот такая комбинация фьюзов :

CKSEL 111 1 SUT 11 CKOPT 1

Вот скриншот с такой установкой фьюзов в программаторе компилятора CVAVR

Реклама недорогих радиодеталей почтой:


Для прошивания МК используйте меню «Program»

Для использования ATmega16 (и других мег) с внешним кварцевым или керамическим резонатором на частотах выше 8 МГц вам нужно установить фьюзы как в примере выше, но запрограммировать CKOPT
значит сделать его «0».

Т.е. вам нужна такая комбинация:

CKSEL 111 1 SUT 11 CKOPT

Фьюзы ATt iny2313 описаны в конце следующей страницы курса.

Частоту тактирования сигнала SCK программатором при прошивании можно установить в диалоге программирования в CVAVR.

Вот как сделать простой генератор тактовой частоты :

П ять поводков соединяющих линии параллельного (LPT) порта ПК и AVR так же как на схеме STK200 выше, но без микросхемы буфера.

Адаптер «5-проводков» прекрасно работает с компилятором CVAVR CodeVision AVR.

Всё о прошивке AVR Прошивка AVR PIC прошивки Программирование PIC и AVR

Питать устройство при программировании можно :

— сетевым адаптеры от бытовых устройств понизив напряжение до 5 вольт.

+5 вольт можно взять с вывода 1 гейм порта компьютера или из провода включенного в гнездо USB.

READ  Автопродление интернет мегафон как подключить на телефон

Желательно питать устройство от ПК! В этом случае «земля» вашего устройства будет соединена с корпусом ПК и можно будет безопасно подключать и отключать разъем программирующего адаптера.

Удобно подпаять к проводнику GND устройства проводок с «крокодильчиком» который прицепите к металлу ПК у LPT или COM портов перед подключением разъемов или сигнальных линий, проводов.

Теперь БЕЗОПАСНО соединять разъемы
и затем подавать питание на устройство.


Программатор встроенный в CodeVisionAVR позволяет настроить эту частоту правильно. Выше было написано как.

Так рекомендовано в апноуте AVR 042

Или соберите простой, дешевый и хороший
USB программатор для AVR

Прошитый микроконтроллер для сборки USB программатора AVR вы можете заказать по почте.

Есть много бесплатных загрузчиков

STC создал загрузчик bootloader размером 256 байт с поддержкой быстрого страничного режима записи.

Прошитые загрузчиком bootloader микроконтроллеры AVR PIC вы можете заказать по почте.

C писок Апноутов для AVR примеры применения микроконтроллеров.

AVR miniICE

Это профессиональное средство для программирования и
отладки программы МК ATmega фирмы Atmel в реальном
устройстве. Он полностью совместимый
с оригинальным AVR JTAG ICE.

Характеристики:

Поддерживаемые микроконтроллеры (AVR Studio ver. 4.xx):

Прошивка AVR miniICE обновляется из новых версий AVR Studio

Вы скачиваете новую версию и через меню перепрошиваете
AVR miniICE
и получаете поддержку новых чипов.

Детали:

Кол. Тип Обозначение
2 470R R1, R2
1 10K R3
2 22p C7, C8
6 100n C1,C2,C3,C4,C5,C6
1 LED-G D1
1 LED-R D2
1 ATmega16L DD1
1 MAX3232 DD2
1 7.3728 MHz Q1

Программирование (обновление программного обеспечения):

Пример реализации: на макетке

Прилагаемые файлы:


Дополнение:

Можно сразу залить в ATmega16 готовую прошивку (не надо прошивать через бутлодер)

Программирование AVR с помощью PonyProg

описание программатора PonyProg на русском языке

Свободно распространяемая программа управления программированием микроконтроллеров AVR, PIC и т.д. Более подробную информацию и саму программу можно получить на сайте автора Claudio Lanconelli http://www.lancos.com/ (кстати есть поддержка русского интерфейса).

Большинство контроллеров AVR поддерживает режим внутрисхемного программирования.


Рис.1
Следует обратить внимание что эта схема не имеет промежуточного буфера и не имеет гальванической развязки по отношению к параллельному порту, поэтому во избежание вывода из строя параллельного порта, подключать и отключать кабель следует при выключенном компьютере и выключенном питании на плате, где установлен контроллер.

На Рис.3 приведена схема подключенния загрузочного кабеля к контроллеру ATmega8.
Источник питания стабилизированный от 4,5 до 5 V или батарейка.

При подключении других AVR контроллеров серий AT90, ATmega, проследить на соответствие сигналов и цоколевку.

Для контроллеров серии ATmega внешний кварцевый резотатор не обязателен. Они могут работать от внутреннего генератора и поставляются призводителем именно в таком режиме.

В любом случае, прежде чем совершать какие либо действия с контроллером, необходимо прочитать инструкцию (Datasheet) конкретно для данного девайса.

Вот настройка PonyProg на LPT порт :

Светодиод VD1 индицирует режим записи микроконтроллера,

Напряжение, необходимое для питания схема берёт с разъёма ISP, т.е. от программируемого устройства. Эта схема является переработанной схемой программатора STK200/300 (добавлены светодиоды для удобства работы), поэтому она совместима со всеми программами программаторов на PC, работающих со схемой STK200/300. Для работы с этим программатором используйте программу CVAVR

Программатор можно выполнить на печатной плате и поместить её в корпус разъёма LPT, как показано на рисунках:

Источник

Поделиться с друзьями
Как подключить и установить...
Adblock
detector
Программатор AVR микроконтроллеров. LPT программатор.