Логотип

AVR микроконтроллеры. Программирование для начинающих

материалы в категории

Начинающим о AVR микроконтроллерах

Микроконтроллеры (далее мы их просто будем называть МК) завоевывают все большую популярность у радиолюбителей. С их помощью можно собрать практически все что угодно- индикаторы, вольтметры, приборы для дома (устройства защиты, коммутации, термометры…), металлоискатели, разные игрушки, роботы и т.д. перечислять можно очень долго....

В этих статьях мы постараемся изучить микроконтроллеры AVR фирмы ATMEL, научимся работать с ними, рассмотрим программы для прошивки, изготовим простой и надежный программатор, рассмотрим процесс прошивки и самое главное проблемы, которые могут возникнуть( и не только у новичков).

Основные параметры микроконтроллеров семейства AVR

 

Микроконтроллер

Память FLASH

Память ОЗУ

Память EEPROM

Порты ввода/вывода

U питания

Частота

ATmega48

4

512

256

23

2,7-5,5

0-10-20

ATmega48V

4

512

256

23

1,8-4,8-5,5

0-4-10

ATmega8515

8

512

512

35

4,5-5,5

0-16

ATmega8515L

8

512

512

35

2,7-5,5

0-8

ATmega8535

8

512

512

32

4,5-5,5

0-16

ATmega8535L

8

512

512

32

2,7-5,5

0-8

ATmega8

8

1K

512

23

4,5-5,5

0-16

ATmega8L

8

1K

512

23

2,7-5,5

0-8

ATmega88

8

1K

512

23

2,7-5,5

0-10-20

ATmega88V

8

1K

512

23

4,5-5,5

0-4-10

ATmega16

16

1K

512

32

4,5-5,5

0-16

ATmega16L

16

1K

512

32

2,7-5,5

0-8

ATmega32

32

2K

1K

32

4,0-5,5

0-16

ATmega32L

32

2K

1K

32

2,7-5,5

0-8

Дополнительные параметры МК AVR mega:

Рабочая температура:  -55…+125*С
Температура хранения:  -65…+150*С
Напряжение на выводе RESET относительно GND: max 13В
Максимальное напряжение питания: 6.0В
Максимальный ток линии ввода/вывода: 40мА
Максимальный ток по линии питания VCC и GND: 200мА

Цоколевка выводов моделей ATmega 8X

ATmega 8X цоколевка

Цоколевка выводов моделей ATmega48x, 88x, 168x

ATmega48x, 88x, 168x цоколевка

Цоколевка выводов ATmega8515x

Цоколевка выводов ATmega8515x

Расположение выводов у моделей ATmega8535x цоколевка

 

Цоколевка выводов у моделей ATmega16, 32x

Цоколевка выводов ATmega16, 32x

Расположение выводов у моделей ATtiny2313

Расположение выводов ATtiny2313

 

В конце статьи, во вложении, есть даташиты на некоторые микроконтроллеры

Установочные FUSE биты MK AVR

BODEN

BODLEVEL

BOOTRST

BOOTSZ0

BOOTSZ1

CKSEL0

CKSEL1

SPIEN

CKSEL2

CKSEL3

EESAVE

FSTRT

INCAP

RCEN

RSTDISBL

SUT0

SUT1

 

 

 

 

 

 

 

Запомните, запрограммированный фьюз – это 0, не запрограммированный – 1. Осторожно  стоит относиться к выставлению фьюзов, ошибочно запрограммированный фьюз может заблокировать микроконтроллер. Если вы не уверены какой именно фьюз нужно запрограммировать, лучше на первый раз прошейте МК без фьюзов.

Самыми популярными микроконтроллерами у радиолюбителей являются ATmega8, затем идут ATmega48, 16, 32, ATtiny2313 и другие. Микроконтроллеры продаются в TQFP корпусах и DIP, новичкам рекомендую покупать в DIP. Если купите TQFP, будет проблематичнее их прошить, придется купить или изготовить переходник и паять плату т.к. у них ножки располагаются очень близко друг от друга. Советую микроконтроллеры в DIP корпусах, ставить на специальные панельки (сокеты), это удобно и практично, не придется выпаивать МК если приспичит перепрошить, или использовать его для другой конструкции.

Почти все современные МК имеют возможность внутрисхемного программирования ISP, т.е. если ваш микроконтроллер запаян на плату,  то для того чтобы сменить прошивку нам не придется выпаивать его с платы.


Для программирования используется 6 выводов:

RESET - Вход МК
VCC - Плюс питания, 3-5В, зависит от МК
GND - Общий провод, минус питания.
MOSI - Вход МК (информационный сигнал в МК)
MISO - Выход МК (информационный сигнал из МК)
SCK - Вход МК (тактовый сигнал в МК)

AVR микроконтроллер выводы

Иногда еще используют вывода XTAL 1 и XTAL2, на эти вывода цепляется кварц, если МК будет работать от внешнего генератора, в ATmega 64 и 128 вывода MOSI и MISO не применяются для ISP программирования, вместо них вывода MOSI подключают к ножке PE0, a MISO к PE1.  При соединении микроконтроллера с программатором, соединяющие провода должны быть как можно короче, а кабель идущий от программатора на порт LPT так-же не должен быть слишком длинным.

В маркировке микроконтроллера могут присутствовать непонятные буквы с цифрами, например Atmega 8L 16PU, 8 16AU, 8A PU и пр. Буква L означает, что МК работает от более низкого напряжения, чем МК без буквы L, обычно это 2.7В. Цифры после дефиса или пробела 16PU или 8AU говорят о внутренней частоте генератора, который есть в МК. Если фьюзы выставлены на работу от внешнего кварца, кварц должен быть установлен на частоту, не превышающей максимальную по даташиту, это 20МГц для ATmega48/88/168, и 16МГц для остальных атмег.

Первые цифры в названии микроконтроллера обозначают объем FLASH ПЗУ в килобайтах, например ATtiny15 – 1 Кб, ATtiny26 – 2 Кб, AT90S4414 – 4 Кб, Atmega8535 – 8 Кб, ATmega162 – 16Кб, ATmega32 – 32 Кб, ATmega6450 – 64Кб, Atmega128 – 128Кб.

Иногда встречаются схемы, где применены микроконтроллеры с названиями типа AT90S… это старые модели микроконтроллеров, некоторые из них можно заменить на современные, например:

AT90S4433 – ATmega8
AT90S8515 – ATmega8515
AT90S8535 – ATmega8535
AT90S2313 – ATtiny2313
ATmega163 – ATmega16
ATmega161 – ATmega162
ATmega323 – ATmega32
ATmega103 – ATmega64/128

ATmega 8 имеет несколько выводов питания, цифровое – VCC, GND и аналоговое – AVCC, GND. В стандартном включении обе пары выводов соединяют параллельно, т.е. вместе. Микроконтроллеры AVR не любят повышенного напряжения, если питание выше 6 вольт, то они могут выйти из строя. Я обычно применяю маломощный стабилизатор напряжения на 5 вольт, КР142ЕН5 или 78L05. Если напряжение питания слишком низкое, то МК не прошьется, программа будет ругаться и выдавать ошибки (к примеру -24 в PonyProg).

На этом закончим, пока можете выбрать в интернете понравившуюся схему и изучить ее, можете заодно сходить и купить нужный микроконтроллер. Далее мы будем собирать простой и надежный программатор, познакомимся с программами для прошивания и попробуем прошить МК.

Источникhttp://cxem.net/

 

Вложения:
ФайлОписаниеРазмер файла:
Скачать этот файл (ATmega128_16AU.rar)ATmega128_16AU.rar 2492 Кб
Скачать этот файл (ATmega16.rar)ATmega16.rar 2341 Кб
Скачать этот файл (ATmega32.rar)ATmega32.rar 2198 Кб
Скачать этот файл (ATmega48_88_168.rar)ATmega48_88_168.rar 162 Кб
Скачать этот файл (ATmega8.rar)ATmega8.rar 194 Кб
Скачать этот файл (ATmega8515.rar)ATmega8515.rar 1456 Кб
Скачать этот файл (ATmega8535.rar)ATmega8535.rar 229 Кб
Скачать этот файл (attiny2313.rar)attiny2313.rar 140 Кб

Почта сайта