Что такое avr микроконтроллер?

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

Микроконтроллеры (дальше мы будем обозначать их как «МК») уже давно присутствуют в нашей жизни и значительно её облегчают. МК внедрены практически везде – в стиральных машинках, смартфонах и т. д. Микроконтроллеры сами по себе ничего не делают. Однако в электронной аппаратуре им отводится основная «должность». МК умеют управлять рабочим процессом каждого узла аппаратуры и контролировать ситуацию. Именно такой и является их ведущая функция.

Если изучать с нуля МК, то в замешательство могут прийти и опытные электронщики. Информации множество, и это является главной проблемой. В таких случаях кажется, что эти горы невозможно перелопатить. Поэтому многие люди на этом и заканчивают изучение микроконтроллеров.

Что такое микроконтроллеры

Микроконтроллеров сейчас множество. Компания Microchip Technology выпускает самые известные модели – PIC. Народ их прозвал «пиками». Не отстает и компания Atmel, которая выпускает МК AVR. Люди знают их как «авээрки». STMicroelectronics производит микроконтроллеры под названием STM. В России они известны мало, но на Западе ими пользуются активно.

AVR изучать проще всего, поэтому давайте начнем именно с них. Такие МК выглядят как пластмасска с ножками из железа.

Поближе познакомимся с моделью AVR Atmega8:

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

Счет можно начинать против часовой стрелки:

Atmega8 на схеме обозначается таким образом:

Можно заметить, что на всех ножках есть номера. Также каждая из них имеет свое название, порою не единственное. Чем микроконтроллер «нафаршированнее», тем ножек получается больше. Соответственно, возрастает и количество функций.

Как всё это работает

Внутри МК работает специальная программа. Она выполняет ровно 3 действия:

  1. Из ножек подается питание.
  2. Выключается питание.
  3. Читается, подается ли на ножку питание или же нет.

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

Читайте также:  Объект string в arduino и команды через последовательный порт

Пример: сначала на вторую ножку прицепляем светодиод. Сделаем это с помощью анодом. На земле будет находиться катод светодиода. Схема (она спроектирована в программе Proteus) выглядит так:

На ножке PD0 2-го вывода микросхемы находится светодиод с резистором, который ограничивает подачу тока. После МК потребуется запрограммировать указанной выше программой. Последовательность действий такова:

  • на PD0 подайте питание;
  • подождите, сколько потребуется;
  • на PD0 выключите питание;
  • опять подождите некоторое время;
  • вернитесь к первому шагу.

Единственное, чем дальше будет заниматься программа – это весело подмигивать светодиодом.

А что же произойдет, если в алгоритме будет выкинут хотя бы единственный шаг?

Очевидно, что действия под номерами 1 и 3 выбрасывать точно нет резона. Светодиод либо будет выключенным, либо никогда не станет гореть.

А что же произойдет, если выключить второй шаг? В этом случае ситуация станет развиваться таким образом: питание будет включенным, диод горит. Человек не ощутит, но через долю секунды светодиод погаснет. Далее произойдет задержка. Опять же, мы это не заметим, то стоит знать – светодиод включается и гаснет на короткие мгновения. Промежутки настолько незначительные, что нам кажется, будто светодиод никогда не горит.

Аналогичной будет ситуация, если исключить пункт №3. Светодиод станет гореть настолько малое время, что человеческому глазу он будет казаться выключенным.

Теперь вы точно понимаете, как работает МК.

MEGA-AVR

Лень — двигатель прогресса! — эксперементируйте облегчая себе жизнь!

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

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

AT mega 8-16PI — корпус DIP

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

AT mega 8-16AI — корпус TQFP

AT mega 8-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).

Вообщем много всякой вкусняшки таится в 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

Рейтинг
( Пока оценок нет )
Загрузка ...
Adblock
detector