Компоненты и технологии, № 7'2002
Flash-микроконтроллеры MAX7651 и MAX7652
с 12-разрядным АЦП
Несмотря на наличие большого числа новомодных семейств микроконтроллеров, мировые производители микросхем продолжают выпускать микроконтроллеры с традиционной архитектурой MCS-51 и расширенными периферийными функциями. Наличие необходимых периферийных модулей и достоинства классической архитектуры микроконтроллеров позволяют широко применять их в новых разработках, особенно в портативных системах сбора данных. Примером могут служить Flash-микроконтроллеры фирмы MAXIM — MAX7651 и MAX7652 с интегрированным 12-разрядным АЦП.
Компоненты
Александр Зайцев
info@rainbow.msk.ru
Микроконтроллеры МАХ7651 и МАХ7652 имеют ядро промышленного стандарта 8051 и расширенный набор периферийных модулей: АЦП, ШИМ (ЦАП), таймеры, различные порты ввода-вывода. Упрощенная структурная схема микроконтроллеров МАХ7651 и МАХ7652 показана на рис. 1.
Основные характеристики:
Тип ядра (промышленный стандарт).......... 8051
Объем внутренней ИазЬ-памяти программ . . . 8 КБ
Адресуемая внешняя память программ ......64 КБ
Объем памяти данных .....................256 Б
Максимальная тактовая частота..........12 МГц
Выполнение команд за 4 машинных цикла
микроконтроллера
Номинальное напряжение питания:
МАХ7651 ................................. 5 В
МАХ7652 ................................. 3 В
Корпус......................64-выводной TQFP
Периферийные модули:
• 12-разрядный АЦП последовательного приближения с полными дифференциальными входами;
• два 8-разрядных ШИМ-модуля (ЦАП);
• три таймера общего назначения;
• четыре параллельных порта ввода-вывода;
• два последовательных порта;
• контроллер прерываний;
• программируемый сторожевой таймер.
Верхний блок Нижний блок
>1X1^4
МАХ7651
МАХ7652
4 порта (8-бит) I/O
256 байт ОЗУ
8 кбайт FLASH 2000Н-3FCOH
Сторожевой
таймер
8 кбайт FLASH ООООН-1FFFH
Послед, порт О
Послед, порт 1
гтп
TXD RXDTXD RXD
8051
CPU
k і 1 і і Г і і У V і Г
г У Шина данных Г И адреса ,
Таймер 0
Таймер 1
Таймер 2
ШНяП
PWMA PWMB
"ГО ТІ 12
T2_0UT
Контроллер
прерываний
Внешняя Ч ► память
■ INTO
■ INT1
Аналоговые
входы
-AIN1 -HEF+ - REF-АСОМ
Рис. 1. Упрощенная структурная схема микроконтроллеров MAX7651 и MAX7652
Микроконтроллеры МАХ7651 и МАХ7652 имеют малое энергопотребление и несколько режимов энергосбережения. Ток потребления модуля АЦП в режиме преобразования — 2 мА, а ток потребления микроконтроллеров при непрерывном выполнении преобразований АЦП и тактовой частоте 12 МГц составляет 5 мА (напряжение питания 3 В).
Для снижения энергопотребления, когда ядро микроконтроллера простаивает, предусмотрено два режима энергосбережения:
1. Режим ожидания. В этом режиме работа ядра микроконтроллера приостановлена, внутренние регистры не изменяют своего состояния. Отличием от традиционных микроконтроллеров с ядром 8051 является то, что при переходе в режим ожидания тактовый генератор не выключается (вход внешнего тактового сигнала не заблокирован). Это дает возможность после возникновения прерывания, выводящего микроконтроллер из режима ожидания, быстро перейти к выполнению программы.
2. Режим остановки. В этом режиме тактовый генератор выключен (вход внешнего тактового сигнала заблокирован), ядро микроконтроллера остановлено, аналоговые модули выключены. Микроконтроллер потребляет минимальный ток (только токи утечки), единственный способ выхода из этого режима — сброс микроконтроллера.
МАХ7652 и МАХ7652 позволяют подключать
ко входам ХЬАТ1 и ХЬАТ кварцевый резонатор с резонансной частотой от 1 до 12 МГц, что дает возможность формировать тактовый сигнал без реализации внешнего тактового генератора.
Рассмотрим более подробно некоторые особенности микроконтроллеров МАХ7651 и МАХ7652.
Организация памяти
Микроконтроллеры поддерживают адресацию до 64 КБ внешней памяти программ (только чтение) и памяти данных (полный доступ) в соответствии с промышленным стандартом 8051.
На рис. 2 представлена организация памяти программ. Когда -ЕА=1, СРи имеет доступ к блокам внутренней памяти программ по 8 КБ, начиная с ад-
58
- www.finestreet.ru -
Компоненты и технологии, № 7'2002
Компоненты
4000Н
3FFFH
3FCOH
2000Н
1FFFH
0000Н
Резерв
Верхний внутренний блок ЕА = 1
3FFFH
0000Н
Внешняя ЕА = 0
Нижний їнутренний блок EÂ = 1
Вектор прерываний 0001 н
Вектор 0002Н
сброса оооон
Рис. 2. Организация памяти программ в микроконтроллерах MAX7651 и MAX7652
реса 0000h (нижний блок) и 2000h (верхний блок). Область памяти программ 0000h-0006h зарезервирована для вектора сброса и векторов прерываний. Если -EA=0, то обращение происходит к внешней памяти с диапазоном адресов от 0000h по FFFFh.
Организацию памяти данных вы можете увидеть на рис. 3. Первые 256 байт памяти разделены на блоки по 128 байт. Нижний блок предназначен для хранения данных пользователя, к нему можно обратиться непосредственной или косвенной адресацией. В верхнем блоке размещаются регистры специального назначения (SFR), в которых находятся биты управления ядром микроконтроллера и периферийными модулями. Диапазон адресов 0100h-FFFFh предназначен для реализации внешнего ОЗУ.
Младшие 128 байт
Выбор
банка
1FH
17Н
0FH
07Н
ООН
Прямая
адресация
Бит адресуемые регистры
80Н
7FH
Старшие 128 байт Регистры SFR
Косвенная адресация Прямая адресация
Младшие 128 байт 80Н
Прямая и косвенная адресация
Рис. 3. Организация памяти данных в микроконтроллерах MAX7651 и MAX7652
Модуль АЦП
Интегрированный модуль 12-разрядного АЦП последовательного приближения имеет быстродействие до 53 Kps. Для получения результата одного преобразования необходимо 224 периода тактового сигнала микроконтроллера. Заряд внутреннего удерживающего конденсатора АЦП CHOLD происходит за 8 периодов тактового сигнала.
Аналоговые входы АЦП могут работать в обычном режиме (до 8 входов AN0-AN7) и в качестве дифференциальных входов (аналоговые входы попарно объединены). Выбор режима работы аналоговых входов осуществляется программным способом. Все аналоговые входы имеют защитные диоды, подключенные к AVDD и AGND.
Микроконтроллеры имеют максимальную дифференциальную нелинейность (DNL) ±1 бит, максимальную интегральную нелинейность (INL) ±1,5 бит (для MAX7651) и ±1 бит (для MAX7652).
Модуль ШИМ (ЦАП)
В MAX7651 и MAX7652 содержится два модуля ШИМ, предназначенных для приложений, в которых не требуется высокая точность преобразований. Оба выхода ШИМ имеют одинаковый период, но различную длительность импульсов. Период определяется настройкой делителя тактовой частоты микроконтроллера 2 (х+1), где х — значение регистра предделителя ШИМ (PWPS). 8-разрядное значение длительности импульса ШИМ сохраняется в регистрах PWDA (вывод А) и PWDB (вывод B).
Для реализации ЦАП на выходе ШИМ необходимо включить RC-цепочку. Рекомендуемое значение R > 2 кОм для предотвращения чрезмерного тока вывода (максимальный ток вывода 2 мА).
Сторожевой таймер
В MAX7651 и MAX7652 предусмотрен программируемый сторожевой таймер, предотвращающий «зависание» программы. Если программа пользователя не будет выполнять сброс сторожевого таймера, то произойдет сброс микроконтроллера. Микроконтроллер будет находиться в состоянии сброса 512 периодов так-
тового генератора. Программно можно выбрать один из четырех периодов тактового генератора (относительно тактового сигнала микроконтроллера): 216, 219, 222 или 2й.
Порты ввода-вывода
Подобно другим микроконтроллерам с ядром 8051, в МАХ7651 и МАХ7652 реализовано четыре 8-разрядных параллельных порта ввода-вывода. Параллельные порты поддерживают: общий ввод-вывод данных; реализацию внешних шин адреса и данных; дополнительные функции от периферийных модулей.
Каждый двунаправленный порт имеет регистр защелки данных (Р0, Р1, Р2 и Р3), входной буфер и драйвер выхода.
Порт ввода-вывода Р0 имеет выводы с открытым коллектором (стоком). При использовании в качестве порта ввода-вывода необходимо подключать внешние подтягивающие резисторы. Когда порт работает как выход адреса или данных, то на выводах дополнительно включаются драйверы высокого логического уровня.
Остальные порты ввода-вывода (Р1, Р2 и Р3) имеют выходы с открытым коллектором (стоком) и внутренними подтягивающими резисторами.
В МАХ7651 и МАХ7652 реализовано два последовательных интерфейса, которые полностью соответствуют промышленному стандарту 8051. Управление последовательными интерфейсами осуществляется через регистры специального назначения.
Таймеры-счетчики
МАХ7651 и МАХ7652 имеют три таймера (счетчика), которые полностью удовлетворяют требованиям стандарта 8051 и работают в различных режимах. Дополнительно таймеры могут использоваться для установки скорости обмена по последовательным портам ввода-вывода.
Малое энергопотребление и большой набор периферийных модулей позволяет использовать микроконтроллеры МАХ7651 и МАХ7652 в таких приложениях, как носимые устройства сбора данных, контроллеры температуры, интеллектуальные передатчики данных, многоканальные системы сбора и обработки данных.
www.finestreet.ru
59