Периферийные устройства

Рис. Архитектура микроконтроллера AT90S8535

Регистровый файл SRAM занимает младшие 32 байта в общем адресном пространстве ОМК (рис.). Шесть из 32-х регистров файла могут использоваться как три 16-разрядных указателя адреса при косвенной адресации данных. Один из этих указателей (Z Pointer) применяется также для доступа к данным, записанным в памяти программ микроконтроллера. Использование трех 16-битных указателей (X, Y и Z Pointers) существенно повышает скорость пересылки данных при работе прикладных программ.

Рис. – Регистровый файл

Память программ. Все AVR- МК имеют Flash-память программ, которая может быть загружена как с помощью обычного программатора в параллельном формате, так и с помощью SPI- интерфейса, в том числе непосредственно на плате. Число циклов перезаписи – не менее 1000. Некоторые версии МК Mega имеют возможность самопрограммирования, т.е. микроконтроллер способен самостоятельно, без внешнего программатора, изменять содержимое ячеек памяти программ. Это дает возможность записать во внешнюю энергонезависимую память несколько рабочих версий программы, а потом при необходимости или по реакции на логические условия перегружать рабочие программы в тот же микроконтроллер AVR без извлечения его из печатной платы. Для этого весь массив памяти программ делится на две неравные по объему области: блок загрузчика (программа, которая управляет перезаписью Flash-памяти программ) и блок для размещения рабочих программ. Программа- загрузчик создается разработчиком и должна быть запрограммирована внешним программатором.

Память данных. Все AVR- МК имеют энергонезависимую память данных с электрическим стиранием EEPROM. Этот тип памяти используется для хранения промежуточных данных, констант, таблиц перекодировок, калибровочных коэффициентов и т.п. Данные в EEPROM могут быть загружены как через SPI- интерфейс, так и с помощью обычного программатора. Число циклов перезаписи – не меньше 100 000. Два программируемых бита защиты информации позволяют защитить память программ и энергонезависимую память данных EEPROM от несанкционированного считывания.

Внутренняя оперативная память SRAM есть во всех AVR семейств Classic и Mega и в новом кристалле семейства Tiny – ATtiny26/L. Для некоторых МК возможно подключение внешней памяти данных объемом до 64 Кбайт.

Число независимых линий портов ввода/ вывода – от 3 до 53. Каждый разряд порта может быть запрограммирован на ввод или вывод информации. Мощные выходные драйверы обеспечивают токовую нагрузочную возможность 20 мА по линии порта при максимальном значении 40 мА. Общая токовая нагрузка на все линии одного порта не должна превышать 80 мА (для Vdd = 5 В).

Любой микроконтроллер AVR обязательно содержит набор периферийных устройств. Периферийные они по отношению к центральному процессорному устройству (ЦПУ) микроконтроллера. Но находятся они также внутри микросхемы. Ниже перечислены все возможные периферийные устройства, которые могут входить в состав микроконтроллера AVR.

Встроенные таймеры/счетчики. Микроконтроллеры AVR могут содержать от одного до четырех таймеров/счетчиков. Причем используются как восьми-, так и шестнадцатиразрядные таймеры. Их количество на один микроконтроллер может составлять от одного до шести.

Генератор сигнала с широтно-импульсной модуляцией (ШИМ). Генерация сигнала ШИМ – это один из режимов работы таймера/счетчика. Одна микросхема может иметь от 2 до 12 каналов ШИМ, а может не иметь ни одного.

Аналоговый компаратор. Входит в состав практически всех микроконтроллеров AVR.

Аналогово-цифровой преобразователь (АЦП). АЦП микроконтроллеров AVR могут иметь от четырех до шестнадцати каналов. То есть могут преобразовывать в цифровой эквивалент до 16 входных аналоговых сигналов. На самом деле канал АЦП всегда один. Но на его входе стоит аналоговый мультиплексор. Поэтому АЦП способен подключаться к нескольким разным источникам аналогового сигнала.

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

Микроконтроллеры AVR содержат от 1 до 4 таймеров/счетчиков, которые могут работать как таймеры от внутреннего источника опорной частоты, и как счетчики внешних событий.

Таймер/счетчик RTC (есть во всех микроконтроллерах семейства Mega и в некоторых МК Classic) реализует систему реального времени. Таймер имеет собственный делитель, который может быть программным способом подключен или к основному внутреннему источнику тактовой частоты МК, или к дополнительному асинхронному источнику опорной частоты (кварцевый резонатор или внешний синхросигнал). Для этой цели МК имеет два внешних вывода. Внутренний осцилятор, нагруженный на счетный вход таймера/счетчика RTC, оптимизирован для работы с внешним "часовым" кварцевым резонатором на 32,768 кГц.

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

Сторожевой таймер WDT служит для перезапуска программы при появлении сбоя в ходе ее выполнения. Программа, которая работает без сбоев, периодически сбрасывает сторожевой таймер, не допуская его переполнения. Сторожевой таймер имеет собственный RC-генератор, который работает на частоте 1 МГц. На входе WDT включен делитель с программируемым коэффициентом деления, позволяющий регулировать временной интервал переполнения таймера для сброса микроконтроллера. Таймер WDT может быть отключен программным способом во время работы микроконтроллера как в активном режиме, так и в любом из режимов пониженного энергопотребления. В последнем случае это приводит к значительному снижению потребляемого тока.

Аналоговый компаратор АС сравнивает по величине напряжения сигналы, поступающие на входы Р1.0 и Р1.1 Результат сравнения подается на внутреннюю линию, которая не имеет внешнего вывода.

Аналого-цифровой преобразователь ADC построен по схеме последовательного приближения с устройством выборки/хранения (УВХ). Каждый из аналоговых входов может быть соединен со входом УВХ через аналоговый мультиплексор. Устройство выборки/хранения имеет собственный усилитель. Разрядность АЦП – 10 бит при нормированной погрешности ± 2 МЗР. АЦП может работать в двух режимах – однократное преобразование по любому выбранному каналу и последовательный циклический опрос всех каналов. Время преобразования выбирается программно с помощью установки коэффициента деления частоты специального предделителя, который входит в состав блока АЦП. Оно составляет от 60 до 280 мкс.

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

Микроконтроллеры AVR могут быть переведены программным путем в один из шести режимов пониженного энергопотребления:

1. Режим холостого хода (IDLE), в котором прекращает работу только процессор и фиксируется содержимое памяти данных, а внутренний генератор синхросигналов, таймеры, система прерываний и WDG-таймер продолжают функционировать.

2. Режим микропотребления (Power Down), при котором сохраняется содержимое регистрового файла, но останавливается внутренний генератор синхросигналов. Выход из Power Down возможен или по общему сбросу микроконтроллера, или по сигналу от внешнего источника прерывания. При включенном WDG-таймере ток потребления в этом режиме составляет около 80 мкА, а при выключенном – меньше 1 мкА для всех типов AVR (для величины питающего напряжения 5 В).

3. Режим хранения энергии (Power Save), реализованный только в тех AVR, которые имеют в своем составе систему реального времени. В основном режим Power Save идентичен режиму Power Down, но он допускает независимую работу таймера/счетчика RTC. Выход из режима Power Save возможен по прерыванию, вызванному или переполнением таймера/счетчика RTC, или срабатыванием блока сравнения этого счетчика. Ток потребления в этом режиме составляет» 10 мкА при напряжении питания 5 В на частоте 32,768 кГц.

4. Режим подавления шума при работе аналого-цифрового преобразователя (ADC Noise Reduction). В этом режиме останавливается работа процессора, но разрешена работа АЦП, двухпроводного интерфейса I2С и сторожевого таймера.

5. Основной режим ожидания (Standby). Отличается от режима Power Down тем, что работа тактового генератора не прекращается. Это гарантирует быстрый выход микроконтроллера из режима ожидания всего за 6 тактов генератора.

6. Дополнительный режим ожидания (Extended Standby). Идентичный режиму Power Save, но работа тактового генератора тоже не прекращается, что гарантирует быстрый выход из режима за 6 тактов генератора.

Система команд AVR насчитывает до 133 различных команд. Различают пять групп команд AVR: условного разветвления, безусловного разветвления, арифметические и логические операции, команды пересылки данных, команды работы с битами. В последних AVR Mega реализована функция аппаратного умножения. По разнообразию и количеству команд AVR больше похожи на CISC-, чем на RISC-процессоры.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: