Atmega32 как подключить программатор

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 кОм к питанию. Работает и так и так, тут больше вопрос религии 🙂

Источник

Atmega32 как подключить программатор

Всё о прошивке 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-генератор и для следующего программирования вам понадобится ставить кварц с конденсаторами или даже искать:

READ  Как подключить маршрутизатор на телевизоре самсунг

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.

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

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

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


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

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

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

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

READ  Как подключить реле зарядки на яве 634

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

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 программатор.