Аппаратно-программные средства периферийных устройств системы сбора показаний счетчиков тепловой энергииРефераты >> Программирование и компьютеры >> Аппаратно-программные средства периферийных устройств системы сбора показаний счетчиков тепловой энергии
Порты ввода/вывода AVR имеют число независимых линий "Вход/Выход" от 5 до 32. Каждый разряд любого порта может быть запрограммирован на ввод или на вывод информации. Мощные выходные драйверы обеспечивают типовую токовую нагрузочную способность 20 мА на линию порта (втекающий ток) при максимальном значении 40 мА, что позволяет, например, непосредственно подключать к микроконтроллеру светодиоды и биполярные транзисторы. Общая токовая нагрузка на все линии одного порта не должна превышать 80 мА. Все значения приведены для напряжения питания 5В.
AVR работают в широком диапазоне питающих напряжений от 2,7 В до 6,0 В. Ток потребления в активном режиме зависит от величины напряжения питания и частоты, на которой работает микроконтроллер, и составляет менее 1 мА для 500 кГц, 5 .6 мА для 5МГц и 8 .9 мА для частоты 12 МГц. AVR также могут быть переведены программным путем в один из двух режимов пониженного энергопотребления. Первый - режим холостого хода (IDLE), когда прекращает работу только процессор и фиксируется содержимое памяти данных, а внутренний генератор синхросигналов, таймеры, система прерываний и сторожевой таймер продолжают функционировать. Ток потребления здесь не превышает 2,5 мА на частоте 12 МГц. Второй - режим микропотребления (SLEEP), когда сохраняется содержимое регистрового файла, но останавливается внутренний генератор синхросигналов. Выход из режима SLEEP возможен либо по сигналу сброса, либо от внешнего источника прерывания. При включенном сторожевом таймере ток потребления в этом режиме составляет около 80 мкА, а при выключенном - менее 1мкА. (Все вышеприведенные значения справедливы для напряжения питания 5 В).
Температурные диапазоны работы микроконтроллеров AVR - коммерческий (0 .70С) и индустриальный (-40 .+85С).
С точки зрения программиста AVR представляет собой 8-разрядный RISC микроконтроллер, имеющий быстрый Гарвардский процессор, память программ, память данных, порты ввода/вывода и интерфейсные схемы.
Гарвардская архитектура AVR реализует полное логическое и физическое разделение не только адресных пространств, но и информационных шин для обращения к памяти программ и к памяти данных. Способы адресации и доступа к ним также различны. Такое построение уже ближе к структуре скоростных цифровых сигнальных процессоров и обеспечивает существенное повышение производительности за счет:
а) одновременной работы центрального процессора как с памятью программ, так и с памятью данных;
б) расширения до 16 бит разрядной сетки шины данных памяти программ. Следующим шагом на пути увеличения быстродействия AVR является использование технологии конвейеризации, вследствие чего цикл "выборка - исполнение" команды может быть заметно сокращен, повышая тем самым производительность процессора. Например, у микроконтроллеров семейства MCS51 короткая команда выполняется за 12 тактов генератора (1 машинный цикл), в течение которого процессор последовательно считывает код операции и исполняет ее. В PIC-контроллерах фирмы Microchip уже реализована конвейерная обработка. Короткая команда выполняется у них в течение 8 периодов тактовой частоты (2 машинных цикла). За это время последовательно дешифрируется и считывается код операции, исполняется команда, фиксируется результат и одновременно считывается код следующей операции (конвейер). Поэтому одна короткая команда в общем потоке реализуется за 4 периода тактовой частоты или за один машинный цикл. В микроконтроллерах AVR тоже используется одноуровневый конвейер при обращении к памяти программ и короткая команда в общем потоке выполняется, как и в PIC-контроллерах, за один машинный цикл. Главное же отличие состоит в том, что этот цикл у AVR длится всего один период тактовой частоты по сравнению с четырьмя у PIC.
Следующая отличительная черта архитектуры микроконтроллеров AVR -регистровый файл быстрого доступа. Каждый из 32-х регистров общего назначения длиной 1 байт непосредственно соединен с арифметико-логическим устройством (ALU) процессора. Это означает, что в AVR существует 32 регистра-аккумулятора. Это позволяет в сочетании с конвейерной обработкой выполнять одну операцию в ALU за один машинный цикл. Например, два операнда извлекаются из регистрового файла, выполняется команда и результат записывается обратно в регистровый файл в течение только одного машинного цикла!
Шесть из 32-х регистров файла могут использоваться как три 16-разрядных указателя адреса при косвенной адресации данных. Один из этих указателей применяется также для доступа к таблицам перекодировок, записанных в памяти программ микроконтроллера. Использование трех 16-битных указателей существенно повышает скорость пересылки данных при работе прикладной программы.
Во время переходов к выполнению процедур обработки прерываний или подпрограмм текущее состояние программного счетчика сохраняется в стеке. Только у AT90S1200 стек реализован аппаратно с глубиной вложений, равной 3. Во всех остальных типах AVR микроконтроллеров стек формируется программно и располагается в общем адресном пространстве оперативной памяти данных. 16-разрядный указатель стека находится в общем адресном пространстве оперативной памяти и доступен для чтения и записи.
Система команд AVR весьма развита и насчитывает 89 различных инструкций. Почти все команды имеют фиксированную длину в одно слово (16 бит), что позволяет в большинстве случаев объединять в одной команде и код операции, и операнд(ы). Различают пять групп команд AVR: условного ветвления, безусловного ветвления, арифметические и логические операции, команды пересылки данных, команды работы с битами. По разнообразию и количеству реализованных инструкций AVR больше похожи на CISC, чем на RISC процессоры. Например, у PIC-контроллеров система команд насчитывает от 33 до 58 различных инструкций, а у MCS51 она составляет 111.
В целом, архитектура AVR в сочетании с регистровым файлом и расширенной системой команд позволяет в короткие сроки создавать программы с очень эффективным кодом как по скорости его выполнения, так и по компактности.
Наше краткое знакомство с новым микроконтроллерным семейством было бы неполным, если не упомянуть о имеющихся средствах поддержки разработок для AVR. Программные и аппаратные средства для новой платформы разрабатывались параллельно с самими микроконтроллерами и включают в себя компиляторы, внутрисхемные эмуляторы, отладчики, программаторы, простейшие отладочные платы-конструкторы практически на любой вкус.
Подводя итог всему вышесказанному, хочется верить, что я как разработчик привел убедительные доводы в пользу выбранной мной элементной базы. Многие отечественные специалисты уже по достоинству оценили высокую скорость работы и мощную систему команд AVR, наличие двух типов энергонезависимой памяти на одном кристалле и развивающуюся периферию. Немаловажную роль в этом сыграла и открытая политика Atmel в вопросе развития разнообразных, доступных средств поддержки разработок. Это позволяет разработчикам и производителям электронной техники надеяться на сохранение полноценной поддержки для перспективной линии AVR и в будущем, закладывая микроконтроллеры семейства AT90S в свои новые изделия. В сочетании со всеми аппаратными и программными достоинствами низкая цена на микроконтроллер явилась решающим фактором в выборе оного.