Компоненты и технологии, № 4'2003
Новое семейство экономичных микроконтроллеров фирмы Motorola
Максимум возможностей при минимальной цене
Данная статья, представляющая новое семейство 8- и 16-выводных микроконтроллеров семейства MC68HC908QYx/QTx, продолжает тему, затронутую в статье Александра Емелина «Микроконтроллеры MC68HC908JL3/JK3/JK1 фирмы Motorola», опубликованную в «КиТ» № 6 2002.
Александр Скуснов
Давно известно, что высокотехнологичный рынок современной электроники нуждается не только в высокопроизводительных системах. Большая часть разработок затрагивает область, где от управляющей электронной аппаратуры не требуется решать сложные высокодинамичные задачи. Типичные примеры такой аппаратуры окружают нас повсюду: турникеты в метро, банкоматы, домофоны, кодовые замки, системы ограничения доступа и т. п. На сегодняшний день это один из самых быстроразвивающихся рынков в нашей стране.
Именно в таких применениях и могут быть использованы микроконтроллеры нового семейства MC68HC908QYх/QTx, выпущенного фирмой Motorola в декабре прошлого года.
Чем же они примечательны? Прежде всего, впечатляющим списком характеристик. Не часто на рынке встречается такое удачное сочетание цены, производительности и возможностей. Рассмотрим основные особенности микроконтроллеров семейства MC68HC908QYх/QTx:
• очень низкая стоимость (на момент написания статьи — от $ 0,7 до $ 2,5 в зависимости от модели и объема поставок);
РТВ[0:7]
РТВ
DDRB
PTA0/AD0/TCH0/KBI0 PTA1/AD1/TCH1/KBI1 М PTA2/ÎRQ/ICBI2-PTA3/RST/KBI3 РТА4/ OSC2/AD2/KBI4 < PTA5/OSC1 /AD3/ICBI5 <
Управление CPU
Регистры CPU
I Аккумулятор I Индексный регистр
Указатель стека
Счетчик команд
Регистр кодов состояний V I 1 H I N Z С
128 Байт RAM
4096 Байт Flosh-памяти
Рис. 1. Блок-схема MC68HC908QY4
Управление
питанием
Тактовый
генератор
VDD
►Vss
Модуль системной интеграции
Модуль контрольных точек Модуль внешнего прерывания
Модуль сброса по подаче питания
Модуль 16-разрядного таймера
Н Модуль сторожевого таймера
( - ) ROM монитора
высокая производительность (используется хорошо известное высокопроизводительное ядро M68HC08 с расширенным набором команд);
4 или 1 кбайт внутрисхемно программируемой и перепрограммируемой в условиях применения Flash-памяти второго поколения с очень высокой скоростью записи — 32 мкс/байт, что почти в 100 раз выше скорости программирования типовой встроенной Flash-памяти;
128 байт ОЗУ;
широкие функциональные возможности: внешнее прерывание, в частности клавиатурное, 2-канальный 16-разрядный таймер (захват входа, сравнение выхода, ШИМ), 4-канальный 8-разрядный АЦП, порты ввода-вывода, напрямую управляющие светоизлучающими диодами; набор регистров состояния микроконтроллера для проведения самоконтроля и анализа неисправностей с помощью модуля SIM; комплексный набор функций для предотвращения некорректной работы микроконтроллера: монитор питания, сторожевой таймер, автоматический сброс при подаче питания; простая и удобная отладка микроконтроллера посредством модуля MON с использованием персонального компьютера или ноутбука; низкое энергопотребление (5-7 мА при напряжении питания 3-5 В);
два режима пониженного энергопотребления: Wait и Stop;
расширенный диапазон рабочих температур (от-40 до +125 °C);
Таблица 1. Семейство микроконтроллеров MC68HC908QYx/QTx
Тип прибора Объем Flash-памяти, байт Встроенный АЦП Корпус
MC68HC908QY1 1536 - 16-выводные корпуса PDIP, SOIC и DFN
MC68HC908QY2 1536 Есть
MC68HC908QY4 4096 Есть
MC68HC908QT1 1536 - 8-выводные корпуса PDIP, SOIC и DFN
MC68HC908QT2 1536 Есть
MC68HC908QT4 4096 Есть
Компоненты и технологии, № 4'2003
• очень малые габариты (до 4 4 мм в корпусе DFN).
Семейство микроконтроллеров
МС68ИС9080Ух/0Тх представлено на рынке несколькими моделями, различающимися в первую очередь наличием встроенного АЦП, объемом памяти и типом корпуса (табл. 1).
Блок-схема самого «мощного» представителя семейства — микроконтроллера МС68ИС9080У4 приведена на рис. 1.
Рассмотрим более подробно функциональные возможности семейства МС68ИС9080Ух/0Тх.
Ядро системы
В качестве ядра (CPU) микроконтроллеров семейства используется расширенное 8-разрядное ядро M68HC08 с архитектурой фон-Неймана — совмещенной шиной адресов и данных. Объектный код микроконтроллеров нового семейства полностью совместим с кодами микроконтроллеров семейства M68HC05. В зависимости от напряжения питания (VDD) частота ядра может быть 8 МГц при 5 В либо 4 МГц при 3 В. Минимальная длительность командного цикла ядра при этом будет 125 и 250 нс соответственно. В качестве источника тактовой частоты (OSC) микроконтроллера могут выступать:
• встроенный генератор с частотой 3,2 МГц и 8-разрядной подстройкой частоты;
• любой внешний генератор частоты (сигнал подается на вывод OSC1);
• RC-генератор (между выводом OSC1 и VDD подключается внешний резистор);
• внешний кварцевый или керамический резонатор.
Подсистема памяти
RAM. Оперативная память микроконтроллеров составляет 128 байт и располагается в адресном пространстве $0080-$00FF. Стек в памяти «растет вниз» (то есть при добавлении данных в стек указатель стека уменьшается).
ROM. В качестве памяти программ микроконтроллеров используется Flash-память объемом 4096 или 1536 байт. Память доступна для чтения, внутрисхемного программирования и стирания. Предусмотрен специальный блок регистров «FLASH block protect register (FLBPR)» для защиты памяти от случайного стирания или перепрограммирования. При этом в FLBPR задается защищаемая область Flash-памяти. Использование в микроконтроллере Flash-памяти второго поколения (Second-Generation) обеспечивает высокую скорость программирования — до 32 мкс/байт.
Модули встроенной периферии
Порты ввода-вывода Модели MC68HC908QT1, MC68HC908QT2 и MC68HC908QT4 имеют 5 двунаправленных линий входа-выхода и 1 линию входа (порт PTA).
Модели MC68HC908QY1, MC68HC908QY2 и MC68HC908QY4 имеют 13 двунаправленных линий входа-выхода и 1 линию входа (порты PTA и PTB).
Порты имеют высокую нагрузочную способность по току (от 15 до 25 мА) и могут использоваться для формирования или приема сигналов дискретных управляющих воздействий, а также для подключения внешней клавиатуры (KBI). В микроконтроллерах предусмотрено всего одно внешнее прерывание IRQ (по фронту/уровню).
Модуль таймера (Timer interface module — TIM)
Модуль таймера TIM представляет собой 2-канальный таймер с несколькими режимами работы. Среди функций таймера можно выделить 2 классические — захват входа (input capture) и сравнение выхода (output compare), предназначенные для определения временных характеристик внешних сигналов (времени поступления сигнала, периода, скважности).
Захват входа позволяет зафиксировать момент поступления прихода активного уровня внешнего сигнала. Характер активного уровня задается программно. Это может быть нарастающий фронт (из 0 в 1), падающий фронт (из 1 в 0) или любой из перепадов фронтов (то есть фиксируется время изменения состояния уровня сигнала).
Сравнение выхода позволяет формировать периодические импульсы программируемой полярности, длительности и частоты. Модуль таймера может быть использован и в качестве широтно-импульсного модулятора.
Модуль аналого-цифрового преобразователя (ADC)
Аналого-цифровой преобразователь семейства MC68HC908QYх/QTx имеет сравнительно невысокую точность преобразования — 8 разрядов, и на практике этого часто бывает достаточно, поскольку в большинстве случаев высокая точность АЦП не требуется. Так, например, для однооборотных потенциометров (360 ) 8-разрядное преобразование обеспечит разрешение около 1,5°. АЦП обеспечивает возможность подключения сразу 4 мультиплексируемых сигнальных линий. Время преобразования занимает 16 машинных циклов. Режимы работы — единичные и последовательные преобразования.
Модуль ROM-монитора (Monitor ROM — MON)
Модуль ROM-монитора предназначен для полного тестирования микроконтроллера с помощью внешнего host-компьютера. В задачу модуля входит получение и выполнение команд, переданных из host-компьютера по последовательному каналу связи. Передача данных осуществляется по стандартному интерфейсу RS-232, то есть микроконтроллер можно легко подключать и отлаживать через разъем СОМ-порта обычного персонального компьютера. Также для отладки программного обеспечения можно использовать Break Module, позволяющий назначать в программе «точки останова».
Модуль системной интеграции (System Integration Module — SIM)
Модуль SIM — это специальный встроенный системный контроллер MC68HC908QYх/QTx, управляющий работой как CPU, так и периферийных модулей, и отвечающий, в частности, за:
• вход и восстановление микроконтроллера из режимов Stop/Wait/Reset/Break;
• формирование сигнала Reset при подаче питания и запросе от COP (сторожевого таймера);
• контроль прерываний (арбитраж, генерация векторов прерываний и т. д.).
С точки зрения разработчика аппаратуры, SIM интересен прежде всего тем, что хранит информацию о «правильности» работы микроконтроллера. Анализируя регистр флагов SIM-модуля, микроконтроллер может проводить самотестирование и определять, например, причину сброса CPU. Это может быть внутренний сброс по включению питания, в результате считывания из памяти недопустимой команды, внешний сброс от пользователя аппаратуры или же сброс из-за снижения напряжения питания ниже предельного.
В микроконтроллерах предусмотрено 2 режима пониженного энергопотребления CPU — Wait и Stop. Отличаются они тем, что выход из режима Wait осуществляется при появлении любого (внутреннего или внешнего) прерывания, а из режима Stop только при появлении внешнего прерывания. Приблизительные значения энергопотребления микроконтроллеров семейства в зависимости от режима тоже различны (табл. 2).
Таблица 2. Энергопотребление микроконтроллеров в режимах Wait и Stop
Режим Vdd = +5 В Vdd = +3 В
Wait 5000 мкА 1000 мкА (при 2 МГц)
Stop 1 мкА 1 мкА
Микроконтроллеры МС68ИС908ОУх/ОТх выпускаются в 4 видах корпусов в исполнениях для 3 диапазонов температур (табл. 3). Внешний вид корпусов приведен на рис. 2.
Таблица 3. Диапазоны рабочих температур
Температурный Температурный Напряжение
код диапазон, °C питания, В
C -40...+85 3, 5
V -40...+105 5
M -40...+125 5
Рис. 2. Корпуса микроконтроллеров семейства MC68HC908QYx/QTx
Фирма Motorola предлагает различные средства для облегчения разработки аппаратуры и отладки программного обеспечения на новом семействе микроконтроллеров. На выбор имеются как дорогие hi-end решения — до $ 3950 за комплект KITMMDS08QTQY (включает внутрисхемный эмулятор и отладчик реального времени, программы MONO8 Multilink и CodeWarrior Development Studio), так и бесплатный набор для индивидуальной разра-
Компоненты и технологии, № 4'2003
ботки — CodeWarrior Development Studio Special Edition for HC08. В состав последнего входят: компиляторы с языков С и ассемблера, линкер, отладчик, программный симулятор, функция программирования Flash и так далее.
Заключение
Микроконтроллеры MC68HC908QYх/QTx обладают рядом несомненных достоинств,
обеспечивающих возможность их самого широкого применения в бытовой технике и специализированной аппаратуре — от контроллеров управления системой впрыска топлива в двигателе до использования в качестве компонентов развитых распределенных систем управления техпроцессом в масштабах производственного цеха, в системах безопасности.
В данной статье были рассмотрены только основные, наиболее показательные особен-
ности микроконтроллеров семейства MC68HC908QYх/QTx. Этим возможности микроконтроллеров новой линейки от фирмы Motorola отнюдь не ограничиваются. Более подробно со всеми встроенными модулями, параметрами, режимами работы и характеристиками микроконтроллеров семейства можно познакомиться в разделе Datasheet микроконтроллеров на сайте фирмы Motorola (www.motorola.com) и сайте фирмы КТЦ-МК (www.cec-mc.ru).