MOTOROLA. 68HC05, 68HC08, 68HC11

MOTOROLA. 68HC05, 68HC08, 68HC11

    История развития семейств MC68HC05/08/11 начинается с базового микропроцессора MC6800, выпущенного еще в 1974 году. Первые микроконтроллеры HC05 представляли собой типичные микропроцессоры 6800 с модифицированной архитектурой, пересаженные на "микроконтроллерную" почву.

    Последующее продвижение MOTOROLA происходило в направлении совершенствования процессорного ядра "дедушки" (семейство HC11, основанное на микропроцессорной архитектуре II поколения MC6809, и семейство HC08 с усовершенствованным процессорным ядром МС6800) и ускорения работы самого процессора (семейство HC11 и, особенно, HC08).

MC68HC05

Основанный на Неймановской архитектуре, простой, по сегодняшним понятиям, процессор с классической аккумуляторной архитектурой и индексным регистром адресует до 64 Кбайт памяти и имеет укороченную систему команд микропроцессора 6800, состоящую в общей сложности из 65 инструкций. Определенным минусом, безусловно, является отсутствие регистров общего назначения для быстрых регистровых операций и соответственно работающих с ними команд.

    Длительность исполнения большинства команд составляет от 2 до 6 машинных циклов или от 1 до 3 мкс при внутренней тактовой частоте 2 МГц. Исключением являются несколько команд, таких как, к примеру, команда умножения 8х8, занимающая 11 машинных циклов, и команды, связанные с обработкой прерываний.

    Из системы команд заслуживают упоминания команды битовых операций, установка и сброс бита во внутреннем ОЗУ и команды перехода по состоянию бита.

    Семейство HC05 в основном формировалось крупными потребителями микроконтроллеров MOTOROLA, заказывавшим разработку МК под свою конкретную продукцию (термин "заказное" семейство). В большинстве своем, это микроконтроллеры с масочным ПЗУ, и было бы, наверное, не очень интересно про них говорить, если бы MOTOROLA не повернулась лицом к мелкосерийному потребителю и не сформировала программу "No Excuses". Эта программа, начавшая реализовываться в 1998 году, включает в себя снижение цен на МК HC705, сокращение сроков поставки и самое главное расширение поставок ряда MC68HC705 с однократно программируемым ПЗУ! В итоге потребители получили серию дешевых (отпускные цены от 50 центов) микроконтроллеров для несложных применений.

    Номенклатура периферийных устройств зависит от выпускаемой серии, обозначаемой специальной литерой в названии микроконтроллера. В базовых моделях применяется простой 15-разрядный без опций запуска/останова таймер с блоком периодических прерываний, на основе которого также реализуется сторожевой таймер. Во многих моделях микроконтроллеров таймерный модуль строится на основе 16-разрядного free-running таймера и имеет также дополнительные каналы входного захвата и выходного сравнения. Важной особенностью является аппаратная поддержка внешних запросов прерываний. Даже самые простые и недорогие микроконтроллеры обеспечивают поддержку до пяти внешних прерываний, использующих, правда, один и тот же вектор прерывания. В рамках программы "No Excuses" поставляются микроконтроллеры серий B, С, J, K, L, P.

    Микроконтроллеры серии С общего назначения содержат таймер, 4 параллельных порта, SCI и SPI.

    Дешевые МК серии J и K с минимальной периферией выпускаются в 16- и 20-выводном исполнении. Микроконтроллеры серии P, производимые в 28-выводных корпусах, добавляют к этому последовательный порт, а также 8-разрядный АЦП.

    Серия B обладает полным набором периферийных устройств многоканальный АЦП, ШИМ, последовательный порт SCI.

    Микроконтроллеры с литерой L предназначены для работы с ЖК-дисплеями.

    Основной объем внутренней памяти занимает однократно программируемое ПЗУ емкостью от 1232 байт до 16 Кбайт с опцией защиты от чтения. Емкость внутреннего ОЗУ, в зависимости от модели, составляет от 64 до 512 байт. Микроконтроллеры серии B имеют в дополнение к этому EEPROM емкостью 256 байт. К сожалению, МК HC705, имея схему сброса по включению питания, не имеют таковой схемы по понижению напряжения питания, что требует применения внешних супервизорных схем во избежание повреждения данных EEPROM.

    Стандартный диапазон напряжения питания микроконтроллеров HC05 составляет 35 В. Для обеспечения пониженного энергопотребления реализована возможность программного перехода в режим ожидания и останова.

    Для поставляемых микроконтроллеров HC705 предлагаются специальные наборы, содержащие программатор и внутрисхемный симулятор по отпускной цене MOTOROLA от 99$.

MC68HC08

    Это семейство, первые представители которого появились в 1994 году, представляет собой эволюционное продолжение 68HC05 с полностью статической архитектурой, повышенной производительностью и расширенными функциональными возможностями.

    Некоторые изменения коснулись процессорного модуля. Разрядность регистра стека и индексного регистра увеличена до 16 бит, в регистр состояния введен дополнительный разряд флаг переполнения. Процессор работает на увеличенной до 8 МГц внутренней тактовой частоте машинный цикл 125 нс! Для повышения производительности в процессорное ядро введен специальный регистр с романтичным названием "LookAhead", в который заносится операционный код следующей команды во время исполнения текущей (одноуровневый конвейер), что позволяет экономить лишний машинный цикл.

    По сравнению с HC05, появились новые способы адресации, такие как адресация с постинкрементом и адресация памятьпамять, значительно повысившие эффективность работы с массивами данных.

    Также претерпела изменения система команд. Были введены специальные команды для работы со стеком (PUSH, POP), которых так не хватало в базовом HC05. Появились дополнительные арифметические команды: деление, десятичная коррекция, суммирование операндов с содержимым индексного регистра и стека, команды управления: ветвление по расширенному условию, а также новые команды пересылки. В итоге набор команд расширился, по сравнению с HC05, с 65 до 90 инструкций. Некоторые команды стали выполняться быстрее, в частности, длительность выполнения команды умножения сократилась с 11 до 6 машинных циклов.

    Появился ряд новых периферийных устройств:

  • контроллер прямого доступа к памяти ПДП с тремя независимыми каналами, реализующий обмен блоками данных между памятью и внешними устройствами без участия процессора;
  • 12-разрядный 6-канальный ШИМ-контроллер;
  • модуль расширения адресации внешней памяти до 16 Мбайт.

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

    Модуль системной интеграции обеспечивает расширенные возможности по контролю функционирования МК. Сброс микроконтроллера производится по включению питания, сигналу от сторожевого таймера, поступлении неправильного кода команды, формировании некорректного адреса и, что очень важно, при снижении напряжения питания ниже допустимого уровня.

    Модули встроенной памяти микроконтроллеров семейства MC68HC08 содержат ПЗУ или ППЗУ емкостью от 16 до 56 Кбайт, ОЗУ емкостью от 128 до 1024 байт и EEPROM емкостью 512 байт.

    В настоящее время поставляются микроконтроллеры серий MC68HC908JL3/JK3/JK1 со встроенным FLASH ПЗУ емкостью от 1536 байт до 4 Кбайт.

MC68C11

    MC68C11 полностью статические 8-разрядные микроконтроллеры, программно совместимые с 6800 и являющиеся связующим звеном (совместимость по исходному коду) между 8-бит МК MOTOROLA и их более мощными 16-разрядными родственниками MC68C16.

    Основные отличия процессорного модуля HC11 от HC05 присутствие двух 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 можно считать большое энергопотребление (до 150300 МВт) и относительно невысокую на сегодняшний день производительность для универсального МК.

    Для семейств MC68HC05/08/11 предлагается большое количество ПО, включающее интегрированные отладочные среды, ассемблеры, Си-компиляторы, отладчики, программные симуляторы от множества третьих поставщиков (правда, в большинстве своем, ПО платное).

    На сегодняшний день, в ряде крупных городов России сформировано более десяти учебно-методических и консультационных центров MOTOROLA, где можно получить исчерпывающую техническую информациию относительно продукции компании.