- •Магомедов и. А. Микропроцессорные системы. Теория и практика применения микроконтроллеров
- •Глава I. Микроконтроллеры
- •Глава III. Лабораторный практикум по микроконтроллерам семейства avr фирмы atmel
- •Предисловие
- •Введение
- •Глава I. Микроконтроллеры
- •1.1. Классификация микроконтроллеров
- •Области применения:
- •1.2. Направление развития элементной базы 8-разрядных микроконтроллеров
- •Контрольные вопросы
- •Глава II. Высокопроизводительные risc микроконтроллеры семейства avr
- •2.1. Микроконтроллер фирмы Atmel aTmega1281
- •2.2. Системное управление и сброс микроконтроллера
- •Контрольные вопросы
- •2.3. Программная модель микроконтроллера2
- •Регистр управления коэффициентом деления частоты кварцевого генератора - xtal Divide Control Register – xdiv.
- •Контрольные вопросы
- •Регистр управления коэффициентом деления частоты кварцевого генератора xdiv и его назначение. Пример использования регистра.
- •2.4 Подсистема памяти микроконтроллера
- •2.4.1 Статическое озу памяти данных
- •2.4.2 Система команд процессоров avr в семействе avr система команд у микроконтроллеров разных типов содержат от 89 до 130 команд.
- •2.4.3 Режимы адресации памяти программ и данных
- •2.4.5 Память данных на eeprom
- •2.4.6 Конфигурационные биты
- •2.4.7 Системная синхронизация и тактовые источники
- •Контрольные вопросы
- •2.5. Периферийные модули микроконтроллера aTmega128
- •2.5.1. Параллельные порты ввода-вывода
- •Порты в качестве универсального цифрового ввода-вывода. Все порты являются двунаправленными портами ввода-вывода с опциональными подтягивающими резисторами.
- •Описание регистров портов ввода-вывода.
- •Использование параллельных портов для управления жидкокристаллическим индикатором и
- •Контрольные вопросы
- •2.6. Подсистема таймера/счетчика микроконтроллера aTmega128
- •Описание регистров 8-разрядного таймера-счетчика 0.
- •Описание регистров 16-разрядных таймеров-счетчиков.
- •Контрольные вопросы
- •2.7. Подсистема ввода аналоговых сигналов мк
- •Контрольные вопросы
- •2.8. Аналоговый компаратор
- •Контрольные вопросы
- •2.9. Последовательный периферийный интерфейс – spi
- •Функционирование вывода ss.
- •2.9.1. Пример использования интерфейса spi микроконтроллера aTmega128
- •Контрольные вопросы
- •2.10. Универсальный синхронно - асинхронный последовательный приемопередатчик
- •Описание регистров усапп
- •2.10.1. Пример использования порта uart
- •Контрольные вопросы
- •2.11. Последовательный двухпроводной интерфейс twi
- •2.11.1. Формат посылки и передаваемых данных
- •2.11.2. Модуль twi микроконтроллера avr
- •Описание регистров twi.
- •2.11,3. Подключение схемы ds1307 к микроконтроллеру по интерфейсу twi
- •Глава III. Лабораторный практикум по микроконтроллерам семейства avr фирмы atmel6
- •Оформление отчета
- •Правила выполнение работы в лаборатории
- •Подготовки стенда к выполнению лабораторной работы
- •Лабораторная работа № 1. Разработка и отладка программ в среде avr Studio 4. Изучение системы команд микроконтроллеров семейства avr
- •Режимы работы отладчика
- •Индивидуальные задания к выполнению лабораторной работы №1
- •Контрольные вопросы к лабораторной работе №1
- •Лабораторная работа №2. Параллельные порты ввода/вывода микроконтроллера
- •Индивидуальные задания к выполнению лабораторной работы №2
- •Контрольные вопросы к лабораторной работе №2
- •Лабораторная работа №3 Подсистема ввода аналоговых сигналов микроконтроллера
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работы №3
- •Контрольные вопросы к лабораторной работе №3
- •Лабораторная работа №4.
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работы №4
- •Контрольные вопросы к лабораторной работе №4
- •Лабораторная работа №5 Изучение режимов работы Таймера/Счетчика
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работы №5
- •Контрольные вопросы к лабораторной работе № 5
- •Лабораторная работа №6 Последовательный периферийный интерфейс – spi
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работы №6
- •Контрольные вопросы к лабораторной работе № 6
- •Лабораторная работа №7 Подсистема памяти микроконтроллера.
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работе №7
- •Контрольные вопросы к лабораторной работе №7
- •Лабораторная работа №8 Последовательный двухпроводной интерфейс i2c (twi)
- •Краткие теоретические сведения
- •Индивидуальные задания к выполнению лабораторной работы №8
- •Контрольные вопросы к лабораторной работе №8
- •Список использованной литературы
- •Костин г.Ю. Микроконтроллеры фирмы Motorola. М.: ктц-мк, 1998.
- •Микроконтроллеры семейства avr
- •Приложение 2
- •Include - Вложить другой файл
- •Выражения
- •Набор инструкций
- •Приложение 3
- •Семейства avr
- •Приложение 4
Контрольные вопросы
Охарактеризуйте современные пути развития микроконтроллеров.
С какой целью разработчики производят минимизацию энергопотребления и расширение диапазона напряжения питания МК?
Объясните модульный принцип построения МК. В чем преимущества модульного принципа?
Перечислите системные требования к МК.
Приведите пример использования МК и сформулируйте критерий его выбора.
Что означают системные требования к МК? Перечислите их.
Перечислите отличительные особенности МК. Чем отличается МП от МК?
Чем объясняется коммерческий успех 8-рязрядных МК?
Приведите примеры использования МК.
В чем отличие микроконтроллеров фирм Atmel, Motorola, Microchip и др.?
Приведите классификацию МК по различным признакам.
Назначение и области применения коммуникационных и сигнальных МК и их отличительные особенности.
В чем принципиальное отличие МК Гарвардская архитектуры и архитектуры Фон-Неймана?
Перечислите особенности архитектуры ARM.
Как влияет разрядность МК на его производительность?
В чем заключается принципиальное отличие аккумуляторных процессоров от процессоров с регистрами общего назначения?
На какие характеристики влияет разделение памяти МК на память программ и память данных?
Глава II. Высокопроизводительные risc микроконтроллеры семейства avr
В отличие от других компаний (Microchip, NEC, Motorola и т.д.) компания Atmel Corp. - один из мировых лидеров в производстве широкого спектра микросхем энергонезависимой памяти, FLASH-микроконтроллеров и микросхем программируемой логики, взяла старт по разработке RISC-микроконтроллеров в середине 90-х годов, используя все свои технические решения, накопленные к этому времени.
Концепция новых скоростных микроконтроллеров была разработана группой разработчиков исследовательского центра Atmel в Норвегии, инициалы которых затем сформировали марку AVR. Первые микроконтроллеры AVR AT90S1200 появились в середине 1997 г. и быстро снискали расположение потребителей [11].
AVR-архитектура, на основе, которой построены микроконтроллеры семейства AT90S, объединяет мощный гарвардский RISC-процессор с раздельным доступом к памяти программ и данных, 32 регистра общего назначения, каждый из которых может работать как регистр- аккумулятор, и развитую систему команд фиксированной 16-бит длины. Большинство команд выполняются за один машинный такт с одновременным исполнением текущей и выборкой следующей команды, что обеспечивает производительность до 1 MIPS на каждый МГц тактовой частоты.
32 регистра общего назначения образуют регистровый файл быстрого доступа, где каждый регистр напрямую связан с АЛУ. За один такт из регистрового файла выбираются два операнда, выполняется операция, и результат возвращается в регистровый файл. АЛУ поддерживает арифметические и логические операции с регистрами, между регистром и константой или непосредственно с регистром.
Регистровый файл также доступен как часть памяти данных. Шесть из 32-х регистров могут использоваться как три 16-разрядных регистра-указателя для косвенной адресации. Старшие микроконтроллеры семейства AVR имеют в составе АЛУ аппаратный умножитель.
Базовый набор команд AVR содержит 120 инструкций. Инструкции битовых операций включают инструкции установки, очистки и тестирования битов.
Все микроконтроллеры AVR имеют встроенную FLASH память с возможностью внутрисхемного программирования через последовательный интерфейс SPI.
Периферия МК AVR включает: таймеры-счётчики, широтно-импульсные модуляторы, поддержку внешних прерываний, аналоговые компараторы, 10-разрядный 8-канальный АЦП, параллельные порты (от 3 до 48 линий ввода и вывода), интерфейсы UART, IIC и SPI, сторожевой таймер и устройство сброса по включению питания. Все эти качества превращают AVR-микроконтроллеры в мощный инструмент для построения современных, высокопроизводительных и экономичных контроллеров различного назначения.
AVR-микроконтроллеры поддерживают спящий режим и режим микропотребления. В спящем режиме останавливается центральное процессорное ядро, в то время как регистры, таймеры-счётчики, сторожевой таймер и система прерываний продолжают функционировать. В режиме микропотребления сохраняется содержимое всех регистров, останавливается тактовый генератор, запрещаются все функции микроконтроллера, пока не поступит сигнал внешнего прерывания или аппаратного сброса. В зависимости от модели, AVR-микроконтроллеры работают в диапазоне напряжений 2,7–6 В либо 4–6 В (исключение составляет ATtiny12V с напряжением питания 1,2 В).
Средства отладки. Atmel предлагает программную среду AVR-studio для отладки программ в режиме симуляции на программном отладчике, а также для работы непосредственно с внутрисхемным эмулятором. AVR-studio доступен с WEB-страницы Atmel L, содержит ассемблер и предназначен для работы с эмуляторами ICEPRO и MegaICE. Ряд компаний предлагают свои версии Си-компиляторов, ассемблеров, линковщиков и загрузчиков для работы с микроконтроллерами семейства AVR. Как и продукция Microchip, микроконтроллеры Atmel широко применяются в России и, как следствие, программируются многими отечественными программаторами. Ряд российских фирм предлагает также различные аппаратные средства отладки AVR-микроконтроллеров.
Они привлекают внимание разработчиков наилучшим соотношением показателей быстродействие/энергопотребление, удобными режимами программирования, доступностью программно-аппаратных средств поддержки и широкой номенклатурой выпускаемых кристаллов. Линия микроконтроллеров к настоящему времени насчитывает большое количество МК различных типов, которые объединены в следующие группы [6, 8, 11]:
Tiny AVR - низкостоимостные микроконтроллеры в 8-выводном исполнении имеют встроенную схему контроля напряжения питания, что позволяет обойтись без внешних супервизорных микросхем (см. приложение 1,табл. П1).
Classic AVR - основная линия микроконтроллеров с производительностью отдельных модификаций до 16 MIPS, FLASH программ 2–8 Кбайт, ЕEPROM данных 64–512 байт, SRAM 128–512 байт (см. приложение 1, табл. П2).
mega AVR с производительностью 1–16 MIPS для сложных приложений, требующих большого объема памяти, FLASH программ 4–128 Кбайт, ЕEPROM данных 64–512 байт, SRAM 2–4 Кбайт, встроенный 10-разрядный 8-канальный АЦП, аппаратный умножитель 8x8 (см. приложение 1,табл. П3).
Микроконтроллеры picoPower. Большинство существующих микроконтроллеров постепенно будут переведены на технологию picoPower, после чего можно будет воспользоваться преимуществами их сверхмалого потребления (см. приложение 1,табл. П4).
В каждую серию входят микроконтроллеры нескольких типов. Микроконтроллеры серии АТ90 по своим структурным характеристикам (объем памяти, состав периферийных устройств) близки к микро - контроллерам семейств АТ89 фирмы Atmel и MCS-51 фирмы Intel. По своим вычислительным возможностям они занимают среднее положение между микроконтроллерами серий ATtiny и ATmega. Микроконтроллеры серии ATtiny имеют наименьшие, а микроконтроллеры серии ATmega -наибольшие вычислительные возможности в семействе AVR ((см. приложение 1,табл. П3).
Области применения AVR многогранны. Для семейства «tiny» - это интеллектуальные автомобильные датчики различного назначения, игрушки, игровые приставки, материнские платы персональных компьютеров, контроллеры защиты доступа в мобильных телефонах, зарядные устройства, детекторы дыма и пламени, бытовая техника, разнообразные инфракрасные пульты дистанционного управления. Для семейства «classic» - это модемы различных типов, современные зарядные устройства, изделия класса Smart Cards и устройства чтения для них, спутниковые навигационные системы для определения местоположения автомобилей на трассе, сложная бытовая техника, пульты дистанционного управления, сетевые карты, материнские платы компьютеров, сотовые телефоны нового поколения, а также различные и разнообразные промышленные системы контроля и управления. Для «mega» AVR - это аналоговые (NMT, ETACS, AMPS) и цифровые (GSM, CDMA) мобильные телефоны, принтеры и ключевые контроллеры для них, контроллеры аппаратов факсимильной связи и ксероксов, контроллеры современных дисковых накопителей, CD-ROM и т.д.
AVR - это относительно молодой продукт корпорации Atmel. В этой линии микроконтроллеров общего назначения постоянно появляются новые кристаллы. Например, корпорация Atmel выпустила новый микроконтроллер AVR tiny43U с ультранизким питающим напряжением 0.7В. Благодаря встроенному импульсному повышающему преобразователю, микроконтроллер может работать от 0.7В и идеально подходит для приложений с батарейным питанием и содержит: 4K Flash-памяти программ, 64 Байт EEPROM, 256 Байт SRAMУ, два 8-разрядных таймера счетчика, сторожевой таймер, аналоговый компаратор, BOD, датчик температуры, 10-разрядный АЦП, интерфейсы SPI, USI, debugWire. Микроконтроллер будет выпускаться в корпусах SOIC20 и MLF20.
Обновляются версии уже существующих микроконтроллеров. Так, корпорация Atmel выпустила новые версии микроконтроллеров AVR ATmega164PA, ATmega64A, ATmega324PA, ATmega48/88PA, - на замену микроконтроллерам ATmega164P, ATmega64. ATmega324P и ATmega48/88P. В новых микроконтроллерах, имеющих в наименовании суффикс «A», переработана топология металлизированных слоев кристалла таким образом, чтобы уменьшить энергопотребление микросхемы, но при этом сохранить полную обратную совместимость. Новые микросхемы имеют меньший ток потребления как в активном режиме работы микросхем (улучшение параметра от 25%), так и в режимах энергосбережения (от 17%).
Быстродействие и потребляемая мощность всегда были ключевыми элементами развития микроконтроллеров AVR, начиная с выпуска первого микроконтроллера AT90S1200 в 1997 году.
Непрерывный рост числа приложений с питанием от батарей или сигнальных линий требует непрерывного совершенствования решений с точки зрения их энергопотребления.
В 2006 году компания Atmel представила новое семейство экономичных AVR-контроллеров. Семейство получило обозначение picoPower. Контроллеры этого семейства способны длительное время работать от батарейного источника питания в таких приложениях, как приборы с ЖКИ, управление освещением, системы безопасности, бытовая автоматизация. Новые AVR-микроконтроллеры являются обновленной версией популярных микроконтроллеров серий ATmega. В обозначении этих микросхем появится суффикс «P». Новые микросхемы являются совместимыми функционально и pin-to-pin с микросхемами ATmega без суффикса «P». Первыми микроконтроллерами этой серии стали ATmega169P с 4×25-сегментным контроллером ЖКИ и ATmega165P - микроконтроллер общего применения.
Характеристики микроконтроллеров этой серии приведены в табл. П4, приложение 1.
Микросхемы, выполненные по технологии picoPower, обладают рядом преимуществ, которые позволяют экономить расходуемую энергию в активном и энергосберегающем режимах:
напряжение питания от 1,8 В;
минимизированный ток утечки;
автоматически отключаемый модуль слежения за уровнем напряжения питания;
часовой кварцевый генератор 32 768 Гц с повышенной экономичностью;
сниженная потребляемая мощность модуля Flash-памяти;
отключение цифровых портов ввода/вывода в аналоговом режиме;
интеллектуальное управление потребляемой мощностью;
расширенные возможности по управлению тактированием периферийных модулей.
В отличие от микроконтроллеров прежних поколений, технология picoPower подразумевает напряжение 1,8 В для питания абсолютно всех модулей кристалла, включая аналоговые модули (АЦП, компаратор, источник опорного напряжения), а также модулей памяти (Flash-ПЗУ, EEPROM и ОЗУ).
Для управления потребляемой мощностью контроллер имеет шесть режимов энергосбережения:
Холостой режим (Idle mode) - в этом режиме блокируется подача тактовых импульсов на CPU и Flash-память.
Режим снижения шума АЦП (ADC noise reduction mode)- холостой режим, плюс блокируется тактирование портов ввода/вывода.
Расширенный дежурный режим (Extended Standby mode) - режим снижения шума АЦП, плюс запрещается работа АЦП и EEPROM.
Дежурный режим (Standby mode) - расширенный дежурный режим, плюс запрещается работа таймера 2.
Режим отключения (Power Down mode) - дежурный режим, плюс запрещается работа генератора.
Экономичный режим (Power Save mode) - самый низкопотребляющий режим, активны только асинхронные модули - прерывания и порт TWI.
Совокупность мер по уменьшению тока потребления, как в активном режиме, так и в режимах ожидания позволила создать производительный процессор, который отличается малыми токами потребления. Для систем с автономным питанием наиболее популярны микроконтроллеры со сверхнизким потреблением, среди которых можно выделить продукцию компаний Texas Instruments Inc (серия MSP430), Microchip (серия nanoWatt), Renessas (серия H8/38076R) и Atmel (серия picoPower).
Поскольку микроконтроллеры серии picoPower являются совместимыми pin-to-pin и функционально со своими собратьями семейства ATmega, переход на новые микроконтроллеры достаточно прост. Основное различие заключается в том, что появился новый регистр управления снижением потребляемой мощности.
Линейка микроконтроллеров picoPower включает в себя устройства, которые могут использоваться в автомобилестроении: ATmega164P, ATmega324P и ATmega644P. Они прошли сертификацию по стандарту AEC-Q100 (возможность эксплуатации в жестких условиях) и доступны как в общем, так и в автомобильном исполнении. Во втором случае рабочий температурный диапазон этих контроллеров- от –40 до + 125 °С, а диапазон рабочих напряжений - от 2,7 до 5,5 В.
Микроконтроллеры со встроенным драйвером ЖКИ поддерживают такие возможности, как экономичная генерация сигналов управления ЖКИ, встроенное управление контрастностью, гибкий выбор длительностей сигналов управления и частоты обновления, формирование напряжения питания ЖКИ и продолжение работы после перевода микроконтроллера в экономичный режим работы. По сравнению с существующими аналогичными решениями наличие встроенного источника питания позволит снизить количество внешних компонентов. Для работы с 3,3-вольтовыми ЖКИ потребуется один внешний конденсатор и источник питания напряжением не менее 1,8 В. В типичных приложениях с ЖКИ технология picoPower совместно со встроенным контроллером ЖКИ позволят на годы продлить ресурс батареи питания. При этом себестоимость конечного изделия будет ниже за счет уменьшения количества внешних компонентов.
Технология picoPower стала результатом многолетних исследований и разработок компании Atmel. PicoPower позволяет микроконтроллерам AVR достичь наименьшего в промышленности уровня потребления: 650 нА с работающим счетчиком реального времени и 100 нА в режиме отключения.
AVR, пожалуй, одно из самых интересных направлений, развиваемых корпорацией Atmel. Они представляют собой мощный инструмент для создания современных высокопроизводительных и экономичных многоцелевых контроллеров. На настоящий момент соотношение «цена - производительность - энергопотребление» для AVR является одним из лучших на мировом рынке 8-разрядных микроконтроллеров. Объемы продаж AVR в мире удваиваются ежегодно. В геометрической прогрессии растет число сторонних фирм, разрабатывающих и выпускающих разнообразные программные и аппаратные средства поддержки разработок для них. Можно считать, что AVR постепенно становится еще одним индустриальным стандартом среди 8-разрядных микроконтроллеров общего назначения.
Поэтому, для изучения системы команд, способов адресации, основ программирования и принципа работы МК и его периферийных модулей в учебном пособии рассматривается микроконтроллер нового поколения ATmega128, так как в нем присутствует весь набор периферийных модулей.
