Кочегаров И. И., Шуваев П.В.
Пензенский государственный университет
МИКРОКОНТРОЛЛЕР ЛАБОРАТОРНОГО СТЕНДАДЛЯ ИЗУЧЕНИЯ МИКРОКОНТРОЛЛЕРОВ
1.1Микроконтроллеры ST-Microelectronics
Микроконтроллеры ST, выпускаемые франко-итальянским концерном ST-Microelectronics, противостоящего засилью американских компаний-производителей МК на европейском рынке, включают в себя три 8-разрядных семейства ST6, ST7 и ST9. Для всех микроконтроллеров ST, благодаря введению схем входной фильтрации и шумовой режекции, характерна высокая устойчивость к внешним электромагнитным помехам. Здесь мы рассмотрим самое прогрессивное семейство микроконтроллеров ST - ST9 [1].
ST9 — самое высокопроизводительное семейство 8-разрядных микроконтроллеров ST-Microelectro-nics, насчитывающее сегодня 10 представителей. Гарвардское процессорное ядро имеет раздельные адресные шины для памяти программ, данных и регистрового файла. Регистровый файл, заменивший прежнюю аккумуляторную структуру, состоит из 256 регистров, разделённых на 16 банков, включая 202 рабочих и 16 системных регистров, в том числе и 16-разрядный указатель стека. Каждый рабочий регистр или регистровая пара может работать как аккумулятор, 8-16-разрядный регистр общего назначе-
ния или как косвенный указатель адреса. При адресации регистрового файла используются длинная (до 256 регистров) и короткая (до 16 регистров) адресации, позволяющие оптимизировать длину команды. Для каждого периферийного устройства отведены блоки из 16 регистров, располагающиеся в одном адресном пространстве и доступные в страничном режиме. Кроме основного системного стека реализован также дополнительный стек пользователя.
Модуль управления памятью адресует по 22-разрядной адресной шине до 4 Мбайт линейных памяти программ и данных.
Для работы с операндами используются 14 способов адресации, в том числе, индексная с предекрементом, индексная с постинкрементом, задание в адресном поле команды адреса источников операндов и адреса сохранения результата, а также битовая адресация для локализации бита в любом регистре или ячейке ОЗУ.
Система команд состоит из 94 инструкций, имеющих длину от 1 до 5 байт и выполняющихся за 4-16 машинных тактов. В зависимости от версии микроконтроллера, внутренняя тактовая частота может составлять 16 или 24 МГц, с машинным циклом процессора 62 и 41 нс, соответственно. Многие команды поддерживают 16-бит операции, такие как пересылка 16-разрядных слов, арифметические, логические и сдвиговые операции с 16-разрядными операндами, в том числе, операции деления 16/8 и 32/16. Заслуживают внимания специальные команды, заменяющие сразу несколько стековых операций, используемых Си-компилятором.
Периферийные устройства включают в себя:
-8-разрядный АЦП с числом каналов от 8 до 16 и функцией выборки/хранения. Преобразование выполняется за 138 машинных циклов;
-2 аналоговых сторожевых блока, которые отслеживают изменения напряжения на внешних выводах и формируют сигнал прерывания при выходе входного напряжения за предельные величины, запрограммиро-ванные заранее;
-многофункциональный таймерный блок, построенный на основе 16-разрядного таймера, имеет два 16-разрядных регистра сравнения, два 16-разрядных регистра захвата/перезагрузки и может работать в 12 различных режимах, включая широтно-импульсную модуляцию, измерение внешней частоты, входной захват и выходное сравнение, автодискриминатор (подсчёт фазового сдвига между двумя входными сигналами) и так далее. В некоторых моделях микроконтроллеров может быть до двух многофункциональных таймерных блоков и до двух более простых таймерных модулей на основе 16-разрядного таймера -счётчика с предделителем;
-сторожевой таймер, сформированный на основе дополнительного 16-разрядного таймера, который также может использоваться в обычном режиме;
-последовательные интерфейсы: SCI, IIC со скоростью передачи до 400 Кбод, синхронный SPI, а
также, для некоторых версий, USB-интерфейс;
-контроллер прямого доступа к памяти ПДП включает по два канала обмена данными с системой последовательного интерфейса (приёмник, передатчик) и по два канала с каждым многофункциональным таймером (захват, сравнение). Контроллер ПДП обеспечивает пересылку данных между периферийными устройствами и памятью блоками до 64 Кбайт и регистровым файлом — блоками до 208 байт;
-блок аппаратных прерываний поддерживает до 8 внешних прерываний. Ряд моделей использует 14 дополнительных внешних источников прерываний с функцией wake-up.
Кроме стандартного "спящего" режима и останова, для уменьшения энергопотребления микроконтроллеры ST9 реализуют также режим программного снижения тактовой частоты. Используемый тактовый блок может не только программно делить внешнюю частоту, но также и умножать её для получения внутренней тактовой частоты 16-24 МГц от внешнего кварцевого резонатора, работающего на частоте 3-5 МГц.
Микроконтроллеры ST9 имеют объём внутреннего ПЗУ от 16 до 128 Кбайт и ОЗУ — от 512 до 2 Кбайт. МК ST92F120V1 имеет встроенный EEPROM данных ёмкостью 1 Кбайт. За исключением одной модели, все микроконтроллеры ST9 выпускаются в многовыводных корпусах типа QFP с числом выводов от 80 до 156.
Отладочные средства представлены стандартным набором ассемблеров, Си-компиляторов, а также рядом программаторов и эмуляторов, поддерживаемых третьими фирмами.
1.2Микроконтроллеры Motorola
История развития семейств микроконтроллеров Motorola начинается с базового микропроцессора MC6800, выпущенного ещё в 1974 году. Первые микроконтроллеры HC05 представляли собой типичные микропроцессоры 6800 с модифицированной архитектурой, пересаженные на "микроконтроллерную" почву. Мы рассмотрим микроконтроллеры фирмы Motorola на примере семейства HC11 [2].
MC68C11 — полностью статические 8-разрядные микроконтроллеры, программно совместимые с 6800 и являющиеся связующим звеном (совместимость по исходному коду) между 8-бит МК MOTOROLA и их более мощными 16-разрядными родственниками MC68C16.
Основные отличия процессорного модуля HC11— присутствие двух 8-разрядных регистров-аккумуляторов (работающих отдельно или как совместная регистровая пара) и двух 16-разрядных индексных регистров. В зависимости от модели, используемая внутренняя частота процессора составляет от 2 до 4 МГц. Система команд состоит из 108 инструкций длиной от 1 до 4 байт. Многие команды аналогичны существующим командам HC05, основные отличия связаны с появлением дополнительных рабочих регистров процессора. Наиболее интересны команды 16-бит арифметических операций: сложение,
вычитание, целочисленное и дробное деление, инкремент, сдвиг 16-разрядных операндов, а также рас-
ширенные команды битовых операций с возможностью установки, сброса и тестирования сразу нескольких битов.
Микроконтроллеры HC11 позволяют адресовать как внутреннюю память (однокристальный режим), так и внешнюю (расширенный режим). Некоторые версии позволяют адресовать до 1 Мбайт внешней памяти, используя страничную адресацию.
Семейство HC11 отличается большим разнообразием периферийных устройств. Таймерный блок, используемый в МК HC11, по своей структуре и функциям также аналогичен таймерному модулю HC05, но имеет дополнительные черты, такие как вспомогательный 8-бит таймер-счётчик с опцией программного включения/выключения, увеличенное число каналов захвата/сравнения, возможность вывода заранее запрограммированного кода на линии параллельного порта ввода/вывода в определённые моменты времени .
Почти все микроконтроллеры имеют в своём составе встроенный 8-разрядный АЦП последовательных приближений. Время полного преобразования 8-разрядного АЦП занимает 32 машинных цикла на один канал.
Система последовательного ввода/вывода включает в себя асинхронный SCI и синхронный SPI.
Из прочих периферийных устройств, имеющихся в составе ряда микроконтроллеров HC11, можно выделить 4-канальный ПДП, арифметический сопроцессор, обеспечивающий десятикратное ускорение операций деления и умножения, 6-канальный ШИМ.
Объём внутреннего ПЗУ (масочного или OTP), в зависимости от версии, составляет от 4 до 48 Кбайт, ОЗУ — от 256 до 1278 байт. Некоторые версии содержат EEPROM ёмкостью до 2 Кбайт. Стандартное напряжение питания микроконтроллеров составляет 5 В, доступны также версии с пониженным напряжением питания. В большинстве своём, МК HC11 выпускаются в корпусах PLCC и QFP (из-за увеличенного числа линий ввода/вывода). Недостатками микроконтроллеров HC11 можно считать большое энергопотребление (до 150-300 МВт) и относительно невысокую на сегодняшний день производительность для универсального МК.
Для семейств микроконтроллеров Motorola предлагается большое количество ПО, включающее интегрированные отладочные среды, ассемблеры, Си-компиляторы, отладчики, программные симуляторы от множества третьих поставщиков (правда, в большинстве своём, ПО платное).
На сегодняшний день, в ряде крупных городов России сформировано более десяти учебнометодических и консультационных центров Motorola, где можно получить исчерпывающую техническую информацию относительно продукции компании.
1.ЗМикроконтроллеры NationalSemiconductor
Полностью статические микроконтроллеры семейства COP8 компании NationalSemiconductors основываются на Гарвардской архитектуре с раздельными адресными шинами для памяти программ и данных. Процессор адресует до 32 Кбайт внутренней памяти и включает стандартный набор регистров как-то: 8-разрядный регистр-аккумулятор, 16-разрядный указатель стека, 15-разрядный счётчик команд, два 8-разрядных индексных регистра с возможностью постинкремента и постдекремента, регистр состояния, а также не совсем обычный 8-разрядный регистр адресного расширения для внутреннего ОЗУ, позволяющий адресовать до 32 Кбайт памяти данных [3].
16 байт ОЗУ рассматриваются как "псевдорегистры", использующие короткие команды загрузки и работающие с командой DRSZ (декремент и пропуск, если ноль).
Довольно простая система команд, состоящая из 51 инструкции, требует для выполнения большинства команд (77%) только одного машинного цикла стандартной длительностью 1 мкс. Правда, декларируя подобную производительность, NSC несколько лукавит. Большинство команд действительно выполняется за один цикл, но только в том случае, если используемый операнд адресуется индексным регистром. Но ведь индексный регистр требует ещё и загрузки!
Команды для битовых операций позволяют установить, сбросить и проверить любой бит в любой ячейке ОЗУ. Некоторые версии МК имеют встроенный блок аппаратного умножения 8*16 и деления 24/16, требующий на выполнение данных операций, соответственно, 1 и 2 машинных цикла.
МК COP8 содержат от 1 до 3 многофункциональных таймеров, с которыми просто приятно работать. 16-разрядный таймерный блок имеет два 16-разрядных регистра перезагрузки/захвата и может работать в одном из трёх режимов: ШИМ с автоматической перезагрузкой, счёт внешних событий и режим входного захвата. Всё это — с генерацией соответствующих прерываний.
На основе отдельного таймерного модуля реализуются функции сторожевого таймера и выхода из "спящего" режима.
Аналоговый блок для построения 16-разрядного интегрирующего АЦП содержит 7-канальный аналоговый мультиплексор, компаратор, выход которого соединён с таймерным модулем, источник референтного напряжения и тока, управляющие регистры.
Блок аппаратных прерываний поддерживает до 9 внешних прерываний с функцией "wake-up" (вывод микроконтроллера из "спящего" режима).
Система последовательного интерфейса у ряда МК COP8 представлена CAN-интерфейсом (скорость передачи данных до 250 Кбод), UART и USART. Все микроконтроллеры COP8 имеют в своём составе 3-х проводной последовательный синхронный интерфейс microwire, известный по микросхемам серий 93Схх.
Микроконтроллеры COP8 отвечают повышенному стандарту электромагнитной совместимости, требуемой во многих применениях, в частности, связанных с регистрацией и обработкой аналоговых сигналов.
NSC разработала и запатентовала технологию, позволяющую снизить выходные пульсации микроконтроллера в 10 раз за счёт применения тактовых схем с пониженным излучением, специальных схем подавления, оптимизированной разводки соединений. Кроме этого, МК COP8 имеют входную защиту (ESDprotection) от электростатического разряда напряжением до 5 кВ.
Большинство MKCOP8 работают при напряжении питания в диапазоне 2,7-5 В.
NSC свободно распространяет ассемблер, программный симулятор и библиотеки прикладных программ. Ряд третьих фирм выпускает программаторы и аппаратные отладочные средства.
К числу недостатков микроконтроллеров COP8 можно отнести невозможность последовательного программирования, отсутствие в большинстве микроконтроллеров схем, реализующих сброс по включению и понижению питания, отсутствие битов секретности на ПЗУ.
1.4Микроконтроллеры FairchildSemiconductor
В 1997 году корпорация NSC объявила о продаже принадлежащего ей отделения
FairchildSemiconductors. Через два года, в январе 1999, уже новая компания
FairchildSemiconductor, вернувшая себе свое славное имя, анонсировала первый микроконтроллер семейства ACE (ArithmeticControllerEngine). В настоящее время известны пока лишь два первых представителя — ACE1101 и ACE1202 [4].
Полностью статические микроконтроллеры ACE ориентированы на применение в портативных или автономных системах с батарейным питанием, где ключевыми факторами являются производительность, миниатюрные размеры и невысокая стоимость.
В то же время, семейство ACE сохраняет определённую преемственность с микроконтроллерами COP8, производимыми NSC. Прослеживается сходство в архитектуре процессора, системе команд, в составе периферийных устройств.
Процессор ACE содержит 5 регистров: 8-разрядный аккумулятор, 11-разрядный индексный регистр, 10-разрядный счётчик команд, адресующий 1 Кбайт памяти программ, 4-разрядный стековый регистр и регистр состояния. ACE используют модифицированную гарвардскую архитектуру, которая позволяет адресовать через индексный регистр как память программ, так и память данных. Система команд содержит всего 36 основных инструкций размером от 1 до 3 байт. Большинство команд выполняются за 12 машинных циклов, команды управления могут требовать до 5 циклов процессора.
Микроконтроллеры ACE не требуют для своей работы никаких внешних компонентов. Надёжность работы микроконтроллера обеспечивают внутренние супервизорные схемы: дополнительный таймер для реализации функции watchdog, схема сброса по включению и понижению напряжения питания ниже допустимого уровня и программируемый детектор понижения питающего напряжения. Внутренний тактовый генератор частотой 2 МГц обеспечивает длительность машинного цикла 1 мкс.
Периферийные устройства включают в себя таймерный модуль, аналогичный COP8, но только с одним регистром перезагрузки/захвата, блок поддержки внешних прерываний, 6 линий ввода/вывода, каждая из которых может быть сконфигурирована как источник внешнего прерывания с функцией wake-up.
В ACE1202 таймерный блок имеет дополнительный режим работы — захват временной разницы между двумя фронтами входного сигнала.
МК ACE1101 содержит 1 Кбайт электрически перепрограммируемого ПЗУ с опцией защиты и возможностью внутрисхемного программирования, 64 байт ОЗУ и 64 байт EEPROM данных. ACE1202 добавляет к этому ещё 1 Кбайт ППЗУ и две линии ввода/вывода (у версий с 14 выводами).
В микроконтроллерах семейства предусмотрены возможность перехода в режимы пониженного потребления (потребляемый ток 250 нА) и останова (ток меньше 100 нА). В обычном режиме ток потребления МК не превышает 0,5-1 мА.
Микроконтроллеры ACE выпускаются в 8- или 14-выводных SO-корпусах и работают в диапазоне напряжений питания от 2 до 5 В.
С интернет-страницы FairchildSemiconductors доступны кросс-ассемблер, программный симулятор, примеры программ.
1.5Микроконтроллеры TexasInstruments
8-разрядные микроконтроллеры от TexasInstruments представлены двумя семействами TMS7000 и TMS370. Происхождение TMS7000 уже скрыто во тьме веков, и отыскать технические данные на эти микроконтроллеры сейчас, пожалуй, так же сложно, как найти, к примеру, описание на первый микропроцессор 4004. Семейство TMS370, выпускаемое в настоящее время TexasInstruments, является дальнейшим развитием TMS7000. К сожалению, несмотря на большие объёмы продаж 8-разрядных микроконтроллеров (по цитируемому всюду примеру из DATAQUEST за 1995 год, TexasInstruments занимала 6 место в общемировом выпуске 8-разрядных МК) , компания не собирается далее развивать микроконтроллеры TMS370, ограничившись производством уже существующих типов МК. Между тем, семейство TMS370 представляет вполне конкурентоспособные изделия по отношению к продукции других фирм [5].
Компания TI одной из первых применила в своих микроконтроллерах концепцию регистрового файла (до 256 регистров) взамен традиционной аккумуляторной архитектуры. Неймановский процессор обращается к регистрам файла, как к регистрам или как к ОЗУ, и может адресовать до 64 Кбайт памяти. Любой из регистров общего назначения регистрового файла может работать как аккумулятор, источник операнда или получатель результата операции. Регистр R1 может использоваться при индексной адресации. Также любая регистровая пара может работать как 16-разрядный регистр косвенной адресации или косвенной адресации со смещением. Для обслуживания периферийных устройств введён периферийный регистровый файл размером 256 байт, где каждому из 16 периферийных устройств назначен блок из 16 регистров.
Система команд включает в себя 73 основные инструкции. Большинство команд выполняется за 6-11 системных циклов, за исключением команд управления, команд деления 16/8 и умножения 8ґ8, требующих соответственно до 63 и 47 циклов. Стандартная длительность системного цикла составляет 200 нс при тактовой частоте 5 МГц. Можно выделить команды для 16-бит операций, включающие команды инкремента, загрузки/сохранения и обмена 16-разрядными операндами.
Микроконтроллеры TMS370, выпускаемые TexasInstruments, насчитывают 14 подсемейств, и в общей сложности, более 60 представителей, различающихся размером памяти, присутствующими периферийными устройствами и исполнением. Номенклатура периферийных устройств включает в себя:
-два таймерных модуля T1 и Т2, имеющих между собой некоторые различия. Модуль Т2 содержит 16разрядный таймер-счётчик и может работать в режимах счёта внешних событий, сравнения, входного захвата, широтно-импульсной модуляции, измерения длительности входного сигнала с формированием соответствующих прерываний. Модуль T1 добавляет к этому входной предделитель и дополнительный сторожевой таймер;
-PACT (Programmable Acquisition and Control Timer) — таймерный сопроцессор. Имеется в наличии только у серий TMS370Cx32 и TMS370Cx36. Довольно сложное устройство, предназначенное для сбора временной информации и контроля выходных сигналов с минимальным участием процессора;
-аналогово-цифровой 8-бит преобразователь со временем преобразования, занимающим 164 машинных цикла. В зависимости от версии, микроконтроллеры TMS370 могут комплектоваться АЦП с 4, 8 и 15 каналами;
-система последовательного интерфейса представлена 3-проводным интерфейсом SCI1 (скорость передачи в асинхронном режиме до 156 Кбит/с и в синхронном — 2,5 Мбит/c), 2-проводным асинхронным SCI2 и 3-проводным синхронным SPI;
-микроконтроллеры TMS370 могут содержать однократно программируемое ПЗУ ёмкостью от 2 до 48 Кбайт, ОЗУ объёмом от 128 до 3584 байт. Все МК TMS370 содержат EEPROM данных 256 или 512 байт, за исключением серий TMS370CxAx и TMS370xCx. Микроконтроллеры выпускаются в пластиковых или керамических (windowed) корпусах с 28, 40, 44, 64, 68 выводами.
МК TMS370Cx5x и TMS370x6x могут адресовать внешнюю память, используя при этом немультиплексированные шины адреса и данных.
Texasinstruments предлагает за 99$ стартовый набор, в который входят: программный симулятор, ассемблер, линковщик, а также плата для программирования микроконтроллеров с внутренним ПЗУ. Программные средства включают также Си-компилятор.
1.6Микроконтроллеры Atmel
В настоящее время в серийном производстве у Atmel находятся семейства AVR Tiny и Mega, также все еще можно встретить в продаже чипы семейства Classic.
ClassicAVR - это классика AVR, что следует и из их названия. Постепенно заменяются микроконтроллерами семейств Tiny и Mega.
TinyAVR - недорогие микроконтроллеры, чаще в восьмивыводном исполнении. Используются в системах, где не требуются возможности MegaAVR.
MegaAVR - мощные микроконтроллеры, включающие хороший набор периферии. Это семейство имеет самое большое разнообразие моделей для выбора. Здесь мы рассмотрим именно это семейство микроконтроллеров фирмы Atmel.
Какой бы микроконтроллер вы ни выбрали, следует помнить, что система команд всех семейств совместима при переносе программы со слабого на более мощный микроконтроллер.
1.6.1Общие сведения
Как и все микроконтроллеры AVR фирмы «Atmel», микроконтроллеры семейства Mega являются 8разрядными микроконтроллерами, предназначенными для встраиваемых приложений. Они изготавливаются по малопотребляющей КМОП-технологии, которая в сочетании с усовершенствованной RISC-архитектурой позволяет достичь наилучшего соотношения быстродействие/энергопотребление. Микроконтроллеры описываемого семейства являются наиболее развитыми представителями микроконтроллеров AVR.
1.6.2Отличительные особенности
К числу особенностей микроконтроллеров AVR семейства Mega относятся:
-FLASH-память программ объемом 8...128 Кбайт (число циклов стирания/записи не менее 1000);
-оперативная память (статическое ОЗУ) объемом 1...4 Кбайт;
-память данных на основе ЭСППЗУ (EEPROM) объемом 512 байт...4 Кбайт (число циклов стирания/записи не менее 100000);
-возможность зашиты от чтения и модификации памяти программ и данных;
-возможность программирования непосредственно в системе через последовательные интерфейсы SPI и JTAG;
-возможность самопрограммирования;
-возможность внутрисхемной отладки в соответствии со стандартом IEEE 1149.1 (JTAG);
-различные способы синхронизации: встроенный RC-генератор с внутренней или внешней времязадаю-щей RС-цепочкой или с внешним резонатором (пьезокерамическим или кварцевым); внешний сигнал синхронизации;
-наличие нескольких режимов пониженного энергопотребления;
-наличие детектора снижения напряжения питания (brown-outdetector, BOD);
-возможность программного снижения частоты тактового генератора.
1.6.3 Характеристики процессора
Подавляющее большинство основных характеристик процессора микроконтроллеров семейства Mega такие же, что и у микроконтроллеров других семейств - Classic и Tiny:
-полностью статическая архитектура; минимальная тактовая частота равна нулю;
-АЛУ подключено непосредственно к регистрам общего назначения;
-большинство команд выполняются за один машинный цикл;
-многоуровневая система прерываний; поддержка очереди прерываний. В то же время процессор микроконтроллеров семейства Mega имеет ряд характеристик, присущих именно этому семейству:
-наибольшее число источников прерываний (до 27 источников, из них до 8 внешних);
-наличие программного стека во всех моделях семейства;
-наличие аппаратного умножителя.
1.6.4Характеристики подсистемы ввода/вывода
Все характеристики подсистемы ввода/вывода микроконтроллеров семейства Mega такие же, как и у микроконтроллеров других семейств:
-программное конфигурирование и выбор портов ввода/вывода;
-выводы могут быть запрограммированы как входные или как выходные независимо друг от друга; -входные буферы с триггером Шмитта на всех выводах;
-возможность подключения ко всем входам внутренних подтягивающих резисторов (сопротивление резисторов составляет 35... 120 кОм).
(PCINT14:RESET) РС6 С (PCIWT1B/RXD) PD0 С (PCINT17/TXD) PD1 С (PC IN Т1 S.'INTO) PD2 С < PC IМТ1 Э.'осгвл NT 1J PD3 I (РСІМТ2О/ХСКЯ0) PD4 C VCC L GND I
(PCINT&XTAL1/TOSC1J P96 C (PCINT7/XTAL2TTQSC2) P97 Г (РСІІЧТ21/ОССВЯ1) PD5 I (PCI NT22/OCQA/AJ N0) PD6 C (PCINT23/AIN1) PD7 C (PCINraCLKQnCP) Р90Г
□ PCS (ADCS/SCUPCINTia)
□ PC4 (A0C4/S DA'PCI N T12)
□ PC3 (A0C3/PCINT11)
□ PC2 (ADC2'PCINT1Q)
□ PC1 (ADC1/PCINT9)
□ РС0 (AOC0/PCINT8)
□ GND
□ AREF
□ AVCC
□ PB6 (SCKJPCINT5)
□ PB4 (MISO,'PCINT4)
□ РВЭ (MQS I/OC2A/PCIWT3)
□ PB2 (SS/OC1 B^PC INT2)
□ PB1 (□CWPCINT1)
Рисунок 1.1 - Расположение выводов ATMega48/ATMega88/ATMega168
1.6.5 Периферийные устройства
Микроконтроллеры семейства Mega имеют наиболее богатый набор периферийных устройств (ПУ). При этом в большинстве моделей имеются вес ПУ, которые вообще встречаются в составе микроконтроллеров AVR. Этими устройствами являются:
-8-разрядные таймеры/счетчики (таймеры Т0 и T2). В ряде моделей эти таймеры/счетчики могут работать в качестве часов реального времени (в асинхронном режиме);
-16-разрядные таймеры/счетчики (таймеры ^и Т3);
-сторожевой таймер WDT;
-генераторы сигнала с ШИМ разрядностью 8 бит (один из режимов работы 8-разрядных тайме-ров/счетчиков Т0 и Т2);
-одно-, двух- и трехканальные генераторы сигнала с ШИМ регулируемой разрядности (один из режимов работы 16-разрядных таймеров T1 и Т3). Разрешение ШИМ-сигнала для разных моделей составляет 8...10 бит или 1...16 бит;
-аналоговый компаратор;
-многоканальный 10-разрядный АЦП как с несимметричными, так и с дифференциальными входами;
-полнодуплексный универсальный асинхронный приемопередатчик (UART);
-полнодуплексный универсальный синхронный/асинхронный приемопередатчик (USART);
-последовательный синхронный интерфейс SP1;
-последовательный двухпроводный интерфейс TWI (аналог интерфейса I2C).
1.6.6Архитектура ядра
Ядро микроконтроллеров AVR семейства Mega, выполнено по усовершенствованной RISC-архитектуре (enhancedRISC). Арифметико-логическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32-м рабочим регистрам, объединенным в регистровый файл. Благодаря этому АЛУ выполняет одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за один машинный цикл. Практически каждая из команд (за исключением команд, у которых одним из операндов является 16-разрядный адрес) занимает одну ячейку памяти программ.
В микроконтроллерах AVR реализована Гарвардская архитектура, которая характеризуется раздельной памятью программ и данных, каждая из которых имеет собственные шины доступа к ним. Такая организация позволяет одновременно работать как с памятью программ, так и с памятью данных. Разделение шин доступа позволяет использовать для каждого типа памяти шины различной разрядности, причем способы адресации и доступа к каждому типу памяти также различны.
Еще одним решением, направленным на повышение быстродействия, является использование технологии конвейеризации. Конвейеризация заключается в том, что во время исполнения текущей команды производится выборка из памяти и дешифрация кода следующей команды. Причем, поскольку длительность машинного цикла микроконтроллеров AVR составляет всего один период тактового генератора, они могут обеспечивать ту же производительность, что и RISC-микроконтроллеры других фирм, но при более низкой тактовой частоте.
Объединив 8- битное RISC ядро и самопрограммирующейся внутри системы Flash памятью корпорация Atmel сделала приборы ATMega48/ATMega88/ATMega168 мощными микроконтроллерами, обеспечивающими большую гибкость и ценовую эффективность широкому кругу управляющих устройств.
ATMega48/ATMega88/ATMega168 поддерживается различными программными средствами и интегрированными средствами разработки, такими как компиляторы C, макроассемблеры, программные отладчи-ки/симуляторы, внутрисхемные эмуляторы и ознакомительные наборы.
1.7Выбор микроконтроллера для стенда
Таким образом, среди описанных устройств было решено остановиться на микроконтроллерах AtmelAVRATmega48/88/168. Они отлично подходят для создания на их основе стенда для изучения микроконтроллеров, т.к. имеет огромное количество встроенных периферийных элементов, таких как большое количество линий ввода-вывода, таймеры, ШИМ-генераторы, АЦП, поддержка RS232, TWI/ I2C, SPI, аналоговый компаратор, осциллятор, EEPROM. 8-разрядные микроконтроллеры просты в использовании, имеют невысокую цену и доступны, что позволит без особых проблем повторить устройства на их основе .
ЛИТЕРАТУРА
1. Quick view of 8-bit STM mcirocontrollers. //URL:
http://www.st.com/internet/mcu/product/2 52 0 93.j sp
2. 8-Bit Microcontrollers 68HC11 Family //URL: http://www.mcu.motsps.com/hc05/index.html
3. COP888CL 8-Bit Microcontroller (Rev. C) URL: http://www.national.com/
4. Descriptions of Fairchild microcontrollers URL: http://www.fairchildsemi.com/products/
5. 8-Bit Microcontroller (Rev. F) TMS370C756A URL: http://www.ti.com/product/tms370c756a
6. Atmel AVR 8- and 32-bit Microcontrollers URL: http://www.atmel.com/products/microcontroll-ers/avr/default.aspx