Введение
Микроконтроллер – это микросхема, основной задачей которой, является управление электронными устройствами. Это своего рода маленький компьютер, в состав которого входят вычислительное ядро, память, различные интерфейсы для подключения внешних устройств. Микропроцессор, оперативная память, флешь-память, порты ввода/вывода, таймеры, интерфейсы связи – все это заключено в одном кристалле, одной микросхеме, которая и называется микроконтроллером.
Основное отличие контроллера от микроконтроллера в том, что первый из них представляет собой схему или целую плату для выполнения поставленных задач. Второй же способен работать по четко заданной программе и занимает место на кристалле малых размеров. Его работа основана на программе, которая записана во внутреннюю память микроконтроллера.
В современном мире существует множество производителей микроконтроллеров, различающихся по архитектуре, наличию встроенных датчиков, интерфейсам подключения, объему встроенной памяти, разрядности и по многим другим признакам.
Структура AVR
Данные микроконтроллеры, производства компании ATMEL, представляют собой семейство 8-битных и, более новых, 32-битных микроконтроллеров, построенных на архитектуре RISC (рис.). Они состоят из вычислительного ядра, Flash-памяти и периферийных устройств на одном кристалле. Микроконтроллеры AVR, используются для управления устройствами, при этом обладания низким потреблением энергии [1].
Рис. Структурная схема микроконтроллера AVR
На схеме:
- JTAG Interface (Joint Test Action Group Interface) – интерфейс необходимый для внутренней отладки схемы состоящий из четырех проводов;
- FLASH - перепрограммируемая память, которая необходима сохранения программы;
- Serial Peripheral Interface, SPI - последовательный периферийный интерфейс, состоящий из трех проводов;
- EEPROM (Electrically Erasable Programmable Read-Only Memory) – перепрограммируемое постоянное запоминающее устройство;
- CPU (ЦПУ) - CPU;
- ALU (АЛУ) - арифметико-логическое устройство, основа CPU;
- RAM (Random Access Memory) - ОЗУ;
- Program Counter – счетчик команд;
- 32 General Purpose Registers - 32 регистра общего назначения;
- Instruction Register - регистр команд и инструкций;
- Instruction Decoder - декодер команд;
- OCD (On-Chip Debugger) – блок внутренней отладки;
- Analog Comparator - аналоговый компаратор;
- A/D Converter (Analog/Digital converter) – АЦП;
- LCD Interface (Liquid-Crystal Display Interface) - интерфейс для подключения ЖК дисплея, индикатора;
- USART (Universal Asynchronous Receiver-Transmitter), UART – универсальный асинхронный приемопередатчик;
- TWI (Two-Wire serial Interface) – последовательный интерфейс с двухпроводным подключением;
- Watchdog Timer – сторожевой таймер;
- I/O Ports – порты вода/вывода;
- Interrupts – блок управления и реакции на прерывания;
- Timers/Counters – модули таймеров и счетчиков.
Ядро, используемое в процессорах AVR, разработали два студента из Норвегии – Альф Боген (Alf-Egil Bogen) и Вегард Воллен (Vegard Wollen). Позднее, в 1995 году, они предложили компании ATMEL свои разработки для серийного производства. Так мир увидел микропроцессоры AVR.
Аббревиатуру AVR можно расшифровать двумя вариантами: Advanced Virtual RISC и Alf Egil Bogen Vegard Wollan RISC (в честь создателей).
Микроконтроллеры AVR принято подразделять на семейства:
- tinyAVR (примеры: ATtiny13, ATtiny88б ATtiny167) – самый низший класс чипов, обладают малыми объемами памяти, малым количеством портов и имеют базовую периферию;
- megaAVR (примеры: ATmega8, ATmega48, ATmega2561) – средний класс чипов, обладающий большим объемом памяти и большим количеством портов, периферия более развита [2];
- XMEGA AVR (примеры: ATxmega256A3U, ATxmega256A3B) –самый старший класс, обладающий хорошей производительностью, большим количеством ресурсов, улучшенной безопасностью, поддержкой USB;
- 32-bit AVR UC3 (примеры: AT32UC3L016, ATUC256L4U) – новое поколение высокопроизводительных 32-битных микроконтроллеров, поддерживающих огромное количество технологий и интерфейсов, среди которых USB, Ethernet MAC, SDRAM, NAND Flash и др.
Вывод
Семейства микроконтроллеров AVR обладают большим набором команд (от 90 до 133). Большая часть этих команд имеет хорошую оптимизацию и скорость выполнения – один такт. Это позволяет получить высокую производительность при малой затрате ресурсов и энергии. Основные корпуса, в которых выпускаются микроконтроллеры AVR: DIP, SOIC, TQFP, PLCC, MLF, CBGA и др.
Рецензент – Марголин Д. Г.