Гарвардская архитектура AVR реализует полное логическое и физическое разделение не только адресных пространств, но информационных шин для обращения к памяти программ и к памяти данных, причем способы адресации и доступа к этим массивам памяти также различны. Центральный процессор работает одновременно как с памятью программ, так и с памятью данных; разрядность шины памяти программ расширена до 16 бит.
Регистровый файл с быстрым доступом содержит 32 x 8-разр. рабочих регистров общего назначения с одно тактовым циклом доступа. 6 регистров из них могут использоваться как три 16-разр. регистра косвенного адреса для эффективной адресации в пределах памяти данных(X - регистр,Y - регистр и Z - регистр).
Система команд AVR весьма развита и насчитывает до 133 различных инструкций. Почти все команды имеют фиксированную длину в одно слово (16 бит), что позволяет в большинстве случаев объединять в одной команде и код операции, и операнд(ы).
Лишь немногие команды имеют размер в 2 слова (32 бит) и относятся к группе команд вызова процедуры CALL, длинных переходов в пределах всего адресного пространства JMP ,возврата из подпрограмм RET и команд работы с памятью программ LPM.
Различают пять групп команд AVR: условного ветвления, безусловного ветвления, арифметические и логические операции, команды пересылки данных, команды работы с битами.
В последних версиях кристаллов AVR семейства «mega» реализована функция аппаратного умножения, что придает новым микроконтроллерам еще больше привлекательности с точки зрения разработчика.
Контроллер ATmega 8535 это 8 битный AVR® микроконтроллер c 8 Кбайт FLASH памятью программ.
К отличительным особенностям микроконтроллера относят:
- высокую производительность при малом потреблении;
- развитую RISC архитектуру;
- 130 команд, большинство из которых исполняется за один машинный такт;
- 32x8 рабочих регистра общего назначения;
- полностью статический режим;
- до 16 MIPS производительность при 16 МГц;
- Встроенный 2-х тактный умножитель
- энергонезависимая память программ и память данных;
- 8К байтов FLASH памяти программ с внутрисистемным самопрограммированием;
- 10 000 циклов записи – стирания;
- загрузочная область памяти с независимыми ключевыми битами;
- 512 байтов EEPROM;
- 100 000 циклов записи- стирания;
- 512 байтов внутренней SRAM;
- программируемый ключ доступа к программам и памяти данных;
Как и любой 8 - битный микроконтроллер, микроконтроллер семейства AVR, состоит из процессора гарвардской или фоннеймановской архитектуры, памяти программ, памяти данных, портов ввода / вывода, периферийных устройств и интерфейсных схем.
В микропроцессорной технике используют следующие основные понятия и сокращения:
- SPM это функция самопрограммирования Flash ROM памяти микроконтроллера в системе без участия внешнего программатора;
- JTAG это стандартный интерфейс для программирования МК;
- I / O это линии ввода / вывода;
- POR (Power On Reset) это начальный сброс МК задача которого удержать сигнал сброса в активном состоянии пока не стабилизируется питание и кварцевый резонатор;
- BOD (Brown Out Detector) это отслеживает провалы питающего напряжения. В МК обычно с регулируемым порогом(2,7В, 4В);
- WDT (Watch Dog Timer) это сторожевой таймер для предотвращения «зависания» программы микроконтроллера;
- BDC это аппаратный программируемый блок защиты от сбоев при внезапном (в том числе и кратковременном) пропадании напряжения питания микроконтроллера;
- UART это асинхронный последовательный приемопередатчик;
- SPI это синхронный трехпроводной последовательный интерфейс;
- I2C это двухпроводной последовательный интерфейс;
- RTC это система реального времени;
- PWM это широтно-импульсный модулятор.
Вычислительный блок является самым отличительным блоком в МК. Он определяет концепцию построения и принцип работы с памятью. Структурная схема вычислительного блока представлена на рис. 4.1.