Начинающим AVR-щикам – Часть 1: Что такое микроконтроллер? Где купить? С чего начать?

Поехали…

Встречаются такие МК как tinyAVR (ATtinyxxx) – обычно у них маленькая память, мало ног и убогая периферия. А есть семейство megaAVR (ATmegaxxx)- у этих памяти уже боле чем достаточно, широкий набор периферии и много ног. Так же есть такие звери как XMEGA AVR (ATxmegaxxx) – у этих зверей памяти ещё больше и отличаются они большей вычислительной мощностью и инновационной системой обработки событий.

Что касается расшифровки: цифра до префикса обозначают объём встроенной flash-памяти (в КБ) а после цыфры указывающие максимальную тактовую частоту(в большинстве случаев), и следом буквы означают класс потребления и корпус(подробней где-то ниже). Например Atmega8-16pu – означает что объём памяти 8кб, максимальная частота 16мгц, низко потребляющая в  dip корпусе.

Кстати, кроме указанных выше семейств, ATMEL выпускает 32-разрядные микроконтроллеры семейства AVR32, которое включает в себя подсемейства AT32UC3 (тактовая частота до 66 МГц) и AT32AP7000 (тактовая частота до 150 МГц), но я с ними не работал, похоже звери ещё те…).

А вот что касается букв….

AT(mega/tiny)xxx — базовая версия.
ATmega8-16L — версии контроллеров, работающих на пониженном (Low) напряжении питания (2,7 В).
ATmega8-16V — версии контроллеров, работающих на низком напряжении питания (1,8 В).
ATmega8-16P — малопотребляющие версии (до 100 нА в режиме Power-down).
ATmega8-16A — уменьшен ток потребления, перекрывается весь диапазон тактовых частот и напряжений питания двух предыдущих версий.

Вторая буква меняется в зависимости от корпуса:

ATmega8-16PI — корпус DIP

ATmega8-16PU — корпус DIP, бессвинцовый припой

ATmega8-16AI — корпус TQFP

ATmega8-16AU — корпус TQFP, бессвинцовый припой

Перейдём к устройству ввода/вывода МК…

МК AVR имеют развитую периферию:

— Многофункциональные, двунаправленные GPIO порты ввода/вывода со встроенными подтягивающими резисторами. Конфигурация портов в/в задаётся программно.

— В качестве источника тактовых импульсов может быть выбран кварц, внешний тактовый сигнал или  внутренний RC-генератор (частота 1, 2, 4, 8 МГц).

— Внутренняя Флеш-память команд до 256 KБ

— Внутреннее EEPROM данных до 4 КБ .

— Внутренняя SRAM до 8 KБ время доступа 1 такт.

— Внешняя память объёмом до 64 КБ.

— Таймеры c разрядностью 8, 16 бит.

ШИМ-модулятор (PWM) 8-, 9-, 10-, 16-битный.

— Аналоговые компараторы.

АЦП (ADC) с дифференциальными входами, разрядность 8/10/12 бит Различные последовательные интерфейсы, включая:

— двухпроводной интерфейс TWI, совместимый с I²C;

-универсальный синхронно/асинхронный приёмопередатчик UART/USART;

— синхронный последовательный порт (SPI).

USB серия AT90USBxxxx.

Вообщем много всякой вкусняшки таится в AVR. Купить эту штукенцию вы можете практически в любом интернет-магазине – на ЧП Ворон, Космодроме, Радиодетали это из тех в которых я покупал, естественно есть и другие. Так же я думаю практически в любом городе можно найти на радиорынке или в магазине радиотоваров.

И так, вы купили Atmega8 и приступаете собирать свою первую схему, но не стоит спешить! — Можно сразу и не покупать! Я настоятельно рекомендую, особенно новичкам, поиграться с МК в симуляторах – собрать схему и смоделировать её работу.

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

И так если вы решили осваивать «СИ», для особо одарённых – это язык программирования, то вы попали по адресу, а если нет то далее вам будет не интересно. Лично я использую CVAVR + дополнительно устанавливаю WINAVR и AVR Studio, так чтоб було. С AVRStudio у меня как то сразу не сложилось, та и весит она прилично, а вот CVAVR  мне показался очень удобным и места мало ест, и памяти много не тратит, возможно вам по душе будет что-то другое, но примеры здесь я буду приводить для CVAVR. Все выше упомянутые программы можно скачать по ссылка в статье или найти на просторах инета.

Вот теперь у нас есть все для начального старта! А именно:

1.         Микроконтроллер(сразу может и не понадобится).

2.         Программа симулятор для моделирования.

3.         Компиляторы кода.

4.         Даташит на МК.

5.     Ещё вот этот DL Port IO драйвер — без него не работает(не спрашивайте почему).

6.         Ещё немало важное это :

-терпение;

— пиво;

— голова с мозгами и на плечах;

— и компьютер.

На этом пока что всё, в следующей части рассмотрим установку и настройку выше упомянутых программ и напишем первую программу!
Программы из статьи:
CVAVR 2.0.5
WINAVR
AVR Studio 4
Proteus 7.7

Join the Forum discussion on this post