Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Состав микроконтроллера AVR




Введение

 

Однокристальные микроконтроллеры находят широкие применение в самых разнообразных сферах: от измерительных приборов, фотоаппаратов и видеокамер, принтеров, сканеров и копировальных аппаратов до изделий электронных развлечений и всевозможной домашней техники.

Со времени появления первых микропроцессоров в 1970-х годах их сложность постоянно возрастала за счет появления новых аппаратных решений и добавления новых команд, предназначенных для решения новых задач. Так постепенно сложилась архитектура, получившая впоследствии название CISC (Complete Instruction Set Computers – компьютеры со сложным набором команд). В дальнейшем обозначилось и нашло активное развитие еще одно направление: архитектура RISC (Reduced Instruction Set Computers – компьютеры с сокращенным набором команд). Именно к этой архитектуре относятся микроконтроллеры AVR от компании Atmel.

Технический прогресс все плотнее входит в ритм жизни современного человека. Люди не могут обойтись без мобильных телефонов, компьютеров, принтеров и другой бытовой, офисной и цифровой аппаратуры. А ввиду более продуманной архитектуры AVR, быстродействия, более развитой системы команд, функции самопрограммирования, привлекательной ценовой политики, производители техники чаще используют микроконтроллеры AVR фирмы Atmel. Этим обуславливается актуальность данной темы.

Целью работы является изучение общих сведений о микроконтроллерах. Задачи: рассмотреть историю создания, основные и дополнительные свойства, состав микроконтроллеров AVR.

Раздел 1: История, описание и основные свойства

История создания

Идея разработки нового прогрессивного RISK-ядра зародилась в норвежском городе Тронхейм (Trondheim) в светлых головах двух студентов Norwegian University of Science and Technology (NTNU). Звали изобретателей Альф Боген (Alf-Egil Bogen) и Вегард Воллен (Vegard Wollen). Находясь в очаровательном окружении смеси университетских зданий, вычислительных центров, будущие директора Atmel Norway создали архитектуру, которая стала одной из самых удачных на мировом рынке микроконтроллеров.

В 1995 году Боген и Воллен решили предложить американской корпорации Atmel, известной на тот момент своим "ноу-хау" изготовления чипов с Filash-памятью, выпускать новый 8-битный RISC-микроконтроллер и снабдить его Flash-памятью программ на кристалле. В 1996 году был основан исследовательский центр Atmel в Тронхейме. 150-тысячный Тронхейм усилиями своего университета каждый год порождает до 20-ти новых компаний, специализирующихся в секторах рынка начиная от автоматизации и до передачи и обработки данных. В конце 1996 года был выпущен опытный кристалл AT90S1200, а во второй половине 1997-го корпорация Atmel приступила к серийному производству нового семейства микроконтроллеров, к их рекламной и технической поддержке.

Новое ядро было запатентовано и получило название AVR, которое по прошествии уже нескольких лет стало трактоваться самыми различными способами. Кто-то утверждает, что это не иначе как A dvanced V irtual R ISC, другие полагают, что не обошлось здесь без A lf Egil Bogen V egard Wollan R ISC. Держателями патента при этом являются: Wollan, Vegard (NO); Bogen, Alf-Egil (NO); Myklebust, Gaute(NO); Bryant, John, D. (US).
Самыми популярными на сегодняшний день являются микроконтроллеры серии AVR фирмы Atmel.

 

Общие сведения

AVR, пожалуй, одно из самых интересных направлений, развиваемых корпорацией Atmel. Они представляют собой мощный инструмент для создания современных высокопроизводительных и экономичных многоцелевых контроллеров. На настоящий момент соотношение "цена - производительность - энергопотребление" для AVR является одним из лучших на мировом рынке 8-разрядных микроконтроллеров. Объемы продаж AVR в мире удваиваются ежегодно. В геометрической прогрессии растет число сторонних фирм, разрабатывающих и выпускающих разнообразные программные и аппаратные средства поддержки разработок для них. Можно считать, что AVR постепенно становится еще одним индустриальным стандартом среди 8-разрядных микроконтроллеров общего назначения.

Серия AVR состоит из несколько семейств. Основу серии составляют два семейства: Микроконтроллеры семейства Tiny предназначены для простых недорогих устройств. Они имеют минимальный набор возможностей и невысокую цену. Микроконтроллеры семейства Mega напротив имеют развитую архитектуру и предназначены для более мощных микропроцессорных систем. Кроме того, фирма Atmel выпускает еще несколько видов микроконтроллеров, которые она так же относит к серии AVR.

Области применения

Для "mega" AVR - это аналоговые (NMT, ETACS, AMPS) и цифровые (GSM, CDMA) мобильные телефоны, принтеры и ключевые контроллеры для них, контроллеры аппаратов факсимильной связи и ксероксов, контроллеры современных дисковых накопителей, CD-ROM и т.д. Области применения микроконтроллера этой группы – от высоконадежных функций традиционного вычисления и управления до также высоконадежной обработки сигналов управления двигателями.

 

Характеристики

Для микроконтроллеров семейства Mega характерны:

- большой объем Flash-памяти программ (на текущий момент от8 до 128 Кбайт);

-режим самопрограммирования, обеспеченный встроенной программой-загрузчиком;

-встроенный умножитель, который поддерживает умножение дробных чисел со знаком и без знака;

-расширенный набор встроенной периферии;

-широкий набор специальных микроконтроллерных функций, в том числе до шести режимов энергосбережения и возможность программной установки тактовой частоты;

-расширение системы команд до 130-133 команд, в том числе несколькими командами 32-разрядного формата;

-организация в новых моделях интерфейса предельного сканирования (IEEE 1149.1/ JTAG), который поддерживает встроенную откладку и обеспечивает еще один путь программирования Flash- и EEPROM-памяти, перемычек и бит блокирования;

-специальные микроконтроллерные функции, которые обеспечивают высокую устойчивость работы аппаратных и программных средств при случайных изменениях напряжения питания.

Итак, что же представляют собой микроконтроллеры серии AVR. Семейство AVR включает в себя микроконтроллеры самой разной конфигурации, разным объемом памяти и разным количеством встроенных портов ввода вывода и других дополнительных устройств. Конструктивное исполнение микроконтроллеров так же очень разнообразно. Применяется несколько типов корпусов (см. рис 1). Это традиционные корпуса типа PDIP с количеством ножек от 8 до 40. Корпуса типа SOIC с количеством выводов от 8 до 20. А большинство микроконтроллеров семейства Mega AVR выполнятся либо в сорокавыводных PDIP корпусах, либо в современных многовыводных корпусах типа TQFP или MLF (до 64 выводов).

Рис. 1. Типы корпусов

Состав микроконтроллера AVR

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

  • Встроенные таймеры/счетчики. Микроконтроллеры AVR содержат несколько их видов. Есть восьми и шестнадцатиразрядные таймеры. Их количество меняется от одного до трех.
  • Генератор сигнала с широтно-импульсной модуляцией (ШИМ)
  • Аналоговый компаратор.

 

  • Аналогово-цифровой преобразователь (АЦП). АЦП микроконтроллеров AVR имеют либо 6, либо 8 каналов (могут преобразовывать в цифры до 8 входных аналоговых сигналов).
  • Последовательный приемо-передатчик. Предназначен для организации последовательного канала связи с другими устройствами. Например, с COM-портом компьютера.
  • Специализированный последовательный канал SPI. Может применяться для обмена информацией между разными микроконтроллерами. А так же для программирования памяти программ в последовательном режиме.

Память программ

AVR имеет Flash-память программ, которая может быть загружена как с помощью обычного программатора, так и с помощью SPI-интерфейса, в том числе непосредственно на целевой плате. Число циклов перезаписи - не менее 1000. Последние версии кристаллов семейства "mega" выпуска 2001-2002 года имеют возможность самопрограммирования. Это означает, что микроконтроллер способен самостоятельно, без какого-либо внешнего программатора, изменять содержимое ячеек памяти программ. То есть, новые AVR могут менять алгоритмы своего функционирования и программы, заложенные в них, и далее работать уже по измененному алгоритму или новой программе. Например, можно написать и сохранить несколько рабочих версий программы для конкретного приложения во внешней энергонезависимой памяти (DataFlash, SEEPROM и т.п.), а затем по мере необходимости или по реакции на какие-нибудь внешние или внутренние логические условия перегружать рабочие программы в тот же самый микроконтроллер AVR, не извлекая его из печатной платы. Для этого весь массив памяти программ делится на две неравные по объему области: блок загрузчика (программа, управляющая перезаписью Flash-памяти программ) и блок для размещения рабочего программного кода, причем свободная память в области загрузчика может быть использована в качестве дополнительного пространства для рабочего кода. Программа - загрузчик создается самим разработчиком и должна быть запрограммирована внешним программатором.

Память данных

AVR имеет также блок энергонезависимой электрически стираемой памяти данных EEPROM. Этот тип памяти, доступный программе микроконтроллера непосредственно в ходе ее выполнения, удобен для хранения промежуточных данных, различных констант, таблиц перекодировок, калибровочных коэффициентов и т.п. EEPROM также может быть загружена извне как через SPI интерфейс, так и с помощью обычного программатора.

Число циклов перезаписи - не менее 100000. Два программируемых бита секретности позволяют защитить память программ и энергонезависимую память данных EEPROM от несанкционированного считывания. Имеется внутренняя оперативная память SRAM.

Раздел 2: Периферийные устройства микроконтроллера AVR 2.1.Порты

Порты ввода/вывода AVR имеют число независимых линий "Вход/Выход" от 3 до 53. Каждый разряд порта может быть запрограммирован на ввод или на вывод информации. Мощные выходные драйверы обеспечивают токовую нагрузочную способность 20 мА на линию порта (втекающий ток) при максимальном значении 40 мА, что позволяет, например, непосредственно подключать к микроконтроллеру светодиоды и биполярные транзисторы. Общая токовая нагрузка на все линии одного порта не должна превышать 80 мА (все значения приведены для напряжения питания 5 В). Интересная архитектурная особенность построения портов ввода/вывода у AVR заключается в том, что для каждого физического вывода существует 3 бита контроля/управления, а не 2, как у распространенных 8-разрядных микроконтроллеров (Intel, Microchip, Motorola и т.д.). Упрощенная структурная схема элемента ввода/вывода AVR - микроконтроллера приведена на рис. 1. Здесь DDRx - бит контроля направления передачи данных и привязки вывода к шине питания (VCC), PORTx - бит привязки вывода к VCC и бит выходных данных, PINx - бит для отображения логического уровня сигнала на физическом выводе микросхемы. Использование только двух бит контроля/управления порождает ряд проблем при операциях типа "чтение-модификация-запись". Например, если имеют место две последовательные операции "чтение-модификация-запись", то первый результат может быть потерян безвозвратно, если вывод порта работает на емкостную нагрузку и требуется некоторое время для стабилизации уровня сигнала на внешнем выводе микросхемы. Архитектура построения портов ввода/вывода AVR с тремя битами контроля/управления позволяет разработчику полностью контролировать процесс ввода/вывода. Если необходимо получить реальное значение сигнала на физическом выводе микроконтроллера - читайте содержимое бита по адресу PINx. Если требуется обновить выходы - прочитайте PORTx защелку и потом модифицируйте данные. Это позволяет избежать необходимости иметь копию содержимого порта в памяти для безопасности и повышает скорость работы микроконтроллера при работе с внешними устройствами. Особую значимость приобретает данная возможность AVR для реализации систем, работающих в условиях внешних электрических помех.

Прерывания

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

Для каждого такого события разрабатывается отдельная программа, которую называют подпрограммой обработки запроса на прерывание (для краткости - подпрограммой прерывания), и размещается в памяти программ.

При возникновении события, вызывающего прерывание, микроконтроллер сохраняет содержимое счетчика команд, прерывает выполнение центральным процессором текущей программы и переходит к выполнению подпрограммы обработки прерывания.

После выполнения подпрограммы прерывания осуществляется восстановление предварительно сохраненного счетчика команд и процессор возвращается к выполнению прерванной программы.

Для каждого события может быть установлен приоритет. Понятие приоритет означает, что выполняемая подпрограмма прерывания может быть прервана другим событием только при условии, что оно имеет более высокий приоритет, чем текущее. В противном случае центральный процессор перейдет к обработке нового события только после окончания обработки предыдущего.

 

2.3.Таймеры/счетчики

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

Их можно использовать для точного формирования временных интервалов, подсчета импульсов на выводах микроконтроллера, формирования последовательности импульсов, тактирования приемопередатчика последовательного канала связи. В режиме ШИМ (PWM) таймер/счетчик может представлять собой широтно-импульсный модулятор и используется для генерирования сигнала с программируемыми частотой и скважностью. Таймеры/счетчики способны вырабатывать запросы прерываний, переключая процессор на их обслуживание по событиям и освобождая его от необходимости периодического опроса состояния таймеров. Поскольку основное применение микроконтроллеры находят в системах реального времени, таймеры/счетчики являются одним из наиболее важных элементов.

 

 

 

Сторожевой таймер

 

Сторожевой таймер (WatchDog Timer) предназначен для предотвращения катастрофических последствий от случайных сбоев программы. Он имеет свой собственный RC-генератор, работающий на частоте 1 МГц. Как и для основного внутреннего RC-генератора, значение 1 МГц является приближенным и зависит прежде всего от величины напряжения питания микроконтроллера и от температуры.

Идея использования стоpожевого таймеpа предельно проста и состоит в pегуляpном его сбpасывании под упpавлением пpогpаммы или внешнего воздействия до того, как закончится его выдеpжка вpемени и не пpоизойдет сбpос пpоцессоpа. Если пpогpамма pаботает ноpмально, то команда сбpоса стоpожевого таймеpа должна pегуляpно выполняться, пpедохpаняя поцессоp от сбpоса. Если же микpопpоцессоp случайно вышел за пpеделы пpогpаммы (напpимеp, от сильной помехи по цепи питания) либо зациклился на каком-либо участке пpогpаммы, команда сбpоса стоpожевого таймеpа скоpее всего не будет выполнена в течение достаточного вpемени и пpоизойдет полный сбpос пpоцессоpа, инициализиpующий все pегистpы и пpиводящий систему в pабочее состояние.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных