AVR-микроконтроллеры

         

Микроконтроллеры семейства AT90S


Atmel: AVR-микроконтроллеры в 2001 году

Микроконтроллеры семейства AT90S (AVR-микроконтроллеры) за сравнительно короткое время завоевали заслуженную популярность во всем мире. Совокупность их характеристик – современная RISC архитектура, многократно перепрограммируемые Flash-память программ и EEPROM данных, возможность программирования в системе и наличие битов защиты от несанкционированного копирования – делает AVR-микроконтроллеры исключительно удобной элементной базой для построения разнообразных приборов, от простейших домашних игрушек до серьезных систем промышленной автоматики и устройств автомобильной электроники. В предлагаемой статье приводится обзор AVR-микроконтроллеров, выпускаемых в настоящее время, а также объявленных к выпуску в 2001 году.

AVR-микроконтроллеры разделяются на три семейства: Tiny, Classic и Mega. Изначально представители этих семейств имели четко выраженные “родовые” признаки, проявляющиеся в числе выводов корпусов: Tiny – корпус 8 выводов, Classic – корпус 32-44 вывода, Mega – 64-выводной корпус. В настоящее время граница между семействами стала весьма размытой: с одной стороны, выпущена микросхема AtTiny28 в 20-выводном корпусе; с другой стороны, объявлены микросхемы AtMega161, которые будут поставляться в 40- и 44-выводных корпусах. Маленькая подсказка: в названии AVR-микроконтроллеров первые цифры обозначают объем памяти программ в килобайтах. Таким образом, микросхема AT90S1200 имеет память программ объемом 1 килобайт, AT90S8515 – соответственно 8 килобайт (однако AtMega103 содержит 128 килобайт программной памяти). В 2000г. фирма Atmel произвела реорганизацию производства. Этот процесс затронул и AVR-микроконтроллеры. Многие кристаллы будут выпускаться по технологическим нормам 0,35 мкм, что позволит увеличить объем производства популярных микроконтроллеров и снимет проблему дефицита, возникшую вследствие повышения спроса на них в мире.

Микросхемы Tiny оптимальны для использования в недорогих приборах типа интеллектуальных датчиков.
Они характеризуются малой потребляемой мощностью. Нижняя граница напряжений питания составляет 1.8В для микросхем с индексом «V», 2.7В для микросхем с индексом «L» и 4.0В для микросхем без индекса. Верхняя граница напряжения питания для всех микросхем составляет 5.5В. При напряжении питания 3В и частоте генератора 4МГц ток потребления в активном режиме составляет 2.2мА, в режиме Idle – 0.5мА, в режиме Power Down – менее 1мкА. Выход из “спящего” состояния происходит по изменению сигнала на любом выводе микроконтроллера. Микросхемы AtTiny10 представляют собой вариант AtTiny11 с однократным программированием. Эти микросхемы поставляются в партиях от 10 тысяч штук. AtTiny28 оптимизирована для работы в пультах дистанционного управления.

Расширенным набором функций в семействе AtTiny обладает микросхема AtTiny12. В этой микросхеме шесть выводов имеют функции ввода/вывода сигналов. В качестве задающего генератора можно использовать дополнительный RC-генератор, размещенный на кристалле. Особенность этого генератора – возможность подстройки частоты путем записи байта в специальный регистр OscCal. Запись значения 00 соответствует минимальной частоте генератора, запись значения от 01 до FF приводит к пропорциональному увеличению значения частоты RC-генератора.

Микроконтроллер AtTiny12 оснащен схемой слежения за уровнем питающего напряжения (BOD, Brown-Out Detector). Если работа этой схемы разрешена (установлен бит BODEn), то при снижении уровня напряжения ниже порога на время, превышающее 7 наносекунд, схема вырабатывает сигнал сброса. Порог срабатывания может быть выбран из двух значений: 1,8 В или 2,7 В. Работу схемы слежения обеспечивает встроенный источник опорного напряжения 1,22 В, который может быть использован для формирования порогового напряжения встроенного аналогового компаратора.

Самым многофункциональным представителем семейства AtTiny является микроконтроллер AtTiny15. В дополнение к вышеперечисленным возможностям, AtTiny15 имеет также быстрый ШИМ-модулятор и 4-канальный 10-битный АЦП.


Скорость ШИМ- модулятора повышена за счет использования более высокой задающей частоты, которая формируется из базовой (1.6МГц) путем умножения на 16. Максимальная частота ШИМ-модулятора составляет 100кГц.

Несколько слов об АЦП. Он работает как с одиночными, так и с дифференциальными входными сигналами. Для дифференциального входа предусмотрен входной усилитель с коэффициентом усиления 20. АЦП может работать в одном из двух режимов: одиночный запуск или непрерывная работа. Скорость работы АЦП зависит от задающей частоты, которая формируется из системной путем деления в 2…128 раз. Рекомендованная максимальная входная частота АЦП – 200кГц, хотя можно использовать и более высокие частоты. При этом реальная точность АЦП уменьшается до 8-9 бит. На частоте 200кГц время преобразования составляет 65 микросекунд. Для снижения уровня помех от ядра микроконтроллера рекомендуется на время работы АЦП перевести микроконтроллер в спящий режим.

В таблице 1 представлены краткие технические характеристики микроконтроллеров семейства Tiny AVR.

Таблица 1. Tiny AVR

Микроконтроллеры семейства Classic




Микроконтроллеры семейства Classic не требуют подробного рассказа: о них уже достаточно написано. Следует отметить только изменения в номенклатуре. После перехода на технологические нормы 0.35мкм некоторые микросхемы более не будут выпускаться. Это позиции, у которых есть аналоги с большим объемом памяти. Таким образом, вместо микросхем AT90S2333, AT90S4414 и AT90S4434 следует использовать соответственно AT90S4333, AT90S8515 и AT90S8535 в идентичных корпусах.

В таблице 2 представлены краткие технические характеристики микроконтроллеров семейства Classic AVR.

Таблица 2. Classic AVR

Микросхема

Семейство Mega на сегодняшний день


* Микросхемы AT90S1200 и AT90S2343 имеют встроенный RC-генератор на 1МГц.

Семейство Mega на сегодняшний день представлено единственным микроконтроллером – AtMega103 (вариант с низковольтным питанием называется AtMega103L). Несмотря на небогатый выбор, микросхема оказалась настолько удачной, что потребность в ней превысила все прогнозы. Объем выпуска AtMega103 в 2000 году практически удвоился, однако огромный спрос на них во всем мире повлек за собой увеличение сроков поставок и повышение отпускных цен в полтора раза. В 2001 году именно в семействе AtMega ожидается значительное пополнение.

Прежде всего – AtMega161. Этот микроконтроллер совместим по расположению выводов с микросхемой AT90S8515 и включает в себя несколько новых блоков: аппаратный умножитель, второй последовательный порт, блок автопрограммирования.

Команда умножения двух 8-разрядных операндов (как знаковых, так и беззнаковых) выполняется за два такта, умножение двух 16-разрядных операндов занимает 17 тактов для беззнаковых чисел и 19 – для знаковых. Умножение с накоплением также выполняется за 19 тактов.

Микроконтроллер AtMega161 содержит два последовательных порта, имеющих идентичные характеристики. Порты аппаратно поддерживают режим работы в многопроцессорных конфигурациях и могут передавать данные на скорости до 912600 бод при частоте кварца 7.3728МГц.

Режим автопрограммирования удобен для замены программы в удаленном микроконтроллере. Для реализации автопрограммирования в памяти программ выделяется область для программы-загрузчика (Boot-Block) размером от 256 байт до 2 килобайт (устанавливается программно). Время записи сектора памяти программ (128 байт) составляет 10мс.

В таблице 3 представлены краткие технические характеристики микроконтроллеров Mega.

Таблица 3. Mega AVR

Микросхема

о микросхеме AtMega163. Полные технические


Отдельно следует рассказать о микросхеме AtMega163. Полные технические характеристики этого микроконтроллера в настоящее время не публикуются, поэтому он не внесен в таблицу. Эта микросхема также будет выпускаться в 40- и 44-выводных корпусах, однако без второго UART. Вместо этого у AtMega163 есть АЦП с расширенными функциями: два дифференциальных канала и входной предусилитель с коэффициентом усиления 1, 10 и 200. AtMega163 был запланирован к серийному выпуску на вторую половину 2000г., однако впоследствии перенесен на весну 2001г. Вариант AtMega163 с 8 килобайтами памяти программ будет называться AtMega83.

Вернемся к микросхеме AtMega103. Она всем удобна, однако, для макетирования приходится искать плату, на которую можно распаять корпус TQFP-64, единственный корпус для AtMega на сегодня. Часто удобным выходом является приобретение набора STK300 фирмы Atmel. Это макетная плата, на которой установлена микросхема AtMega103 или AtMega103L, панельки для внешнего ОЗУ 32 килобайта и для регистра-защелки адреса типа 74С373, разъем для внешнего ЖКИ и микросхема ADM202 для стыковки с портом RS-232. В комплект также входит программирующий кабель, подключаемый к параллельному порту компьютера. Использование такой платы существенно ускоряет этап разработки, однако опыт работы выявил некоторые неудобства STK300. В итоге в фирме “АргусСофт Компани” было создано аналогичное устройство с расширенными функциями – плата AS-Mega, принципиальная схема которой приведена на рисунках 1 и 2. Отличия от STK300 состоят в следующем. Плата AS-Mega предназначена для использования не только в качестве учебной, для изучения работы микроконтроллера AtMega103, но и для использования в составе конечного устройства с повышенными требованиями к надежности. Поэтому из платы исключены все панельки, а микросхема внешнего ОЗУ 62256 и регистр-защелка адреса 74С373 (рис.2) распаяны непосредственно на плату. Во многих случаях в конечном устройстве используется ЦАП, и в STK300 приходится добавлять внешнюю плату, подключаемую к разъему STK300.
На плате AS-Mega распаяна микросхема 8-разрядного последовательного ЦАП с выходом по напряжению AD5300 в корпусе microSOIC8. Вместо AD5300 можно запаять 10- или 12-разрядный ЦАП серии AD53XX в таком же корпусе. К выходу ЦАП подключен один канал операционного усилителя AD8532 с повышенной нагрузочной способностью. Второй канал этого ОУ подключен к одному из входов внутреннего АЦП AtMega103 в качестве входного усилителя с коэффициентом усиления 15. Практика показала, что на плате удобно иметь накопитель данных достаточно большой емкости. В качестве такого ПЗУ на плате AS-Mega можно использовать микросхему последовательной Flash-памяти серии AT45D021..161 емкостью, соответственно, от 2 до 16 Мбит в корпусе SOIC28. Таким образом, плата AS-Mega представляет собой законченное решение, имеющее блок ввода аналоговой информации, блок обработки оцифрованных данных, блок хранения данных и блок вывода аналоговой информации. К плате также может быть подключен стандартный алфавитно-цифровой ЖКИ с 8-разрядным интерфейсом. Для проверки функционирования узлов платы AS-Mega в нее “зашивается” демонстрационная программа, показывающая работу АЦП, ЦАП и последовательного порта AtMega103. Исходный текст этой программы можно загрузить по адресу http://здесь.добрые.Света.или.Паша/напишут/адрес/где_можно_ее_взять. Работой платы управляет программа AS-Mega, функционирующая в среде Windows.

Микроконтроллер AtMega103 программируется в схеме по интерфейсу SPI через стандартный 10-контактный разъем, идентичный разъему платы STK300. Для программирования платы AS-Mega можно использовать загрузочный кабель, входящим в состав STK300, однако, параллельный порт в компьютере обычно занят принтером или ключом защиты какого-либо программного пакета. Кроме того, программное обеспечение этого загрузочного кабеля неустойчиво работает под WindowsNT/2000, что вынуждает пользователя устанавливать на компьютер Windows98. Альтернативой является использование внутрисхемного программатора AS1, разработанного специалистами “АргусСофт Компани”.


Этот программатор подключается к компьютеру через последовательный порт, который обычно свободен. При этом скорость работы этого программатора в несколько раз выше. Например, чтение содержимого памяти программ микроконтроллера AtMega103 через кабель из состава STK300 занимает почти две минуты (точнее – 105 секунд), а при использовании AS1 чтение происходит менее, чем за 17 секунд. Таким образом, при многократном перепрограммировании AtMega103 в течение рабочего дня достигается ощутимая экономия времени. Программное обеспечение программатора AS1 – программа ASISP – имеет более удобный пользовательский интерфейс и функционирует под всеми версиями Windows. Так как программа разработана в “АргусСофт Компани”, всегда можно проконсультироваться по вопросу ее использования с разработчиками. Программа ASISP постоянно совершенствуется и дополняется новыми функциями.

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

Текущую версию программы можно переписать с сайта http://atmel.argussoft.ru. Получить консультацию по применению платы AS-Mega и программатора AS1 можно у специалистов фирмы “АргусСофт Компани” по тел. (095) 217-2487, (095) 217-2519.