Motorola 68HC12 - Motorola 68HC12

68HC12
Дизайнер Freescale Semiconductor
Биты 8 бит / 16 бит
Дизайн CISC
Кодирование Переменная
Порядок байтов Большой
Регистры
8
Оценочная плата микроконтроллера Dragon12-P на 68HC12

68HC12 (6812 или HC12 для краткости) является микроконтроллер семья из Freescale Semiconductor . Первоначально представленная в середине 1990-х годов, эта архитектура является усовершенствованием Freescale 68HC11 . Программы, написанные для HC11, обычно совместимы с HC12, у которого есть несколько дополнительных инструкций . Первые производные 68HC12 имели максимальную частоту шины 8  МГц и объем флэш-памяти до 128  КБ .

Архитектура 68HC12

Как и 68HC11, 68HC12 имеет два 8-битных аккумулятора A и B (называемых одним 16-битным аккумулятором, D, когда A и B каскадно соединены, чтобы обеспечить выполнение операций с 16  битами ), два 16-битных регистра X и Y, 16-разрядный программный счетчик, 16-разрядный указатель стека и 8-разрядный регистр кода состояния . В отличие от 68HC11 процессор имеет 16-битные внутренние пути передачи данных.

68HC12 дополняет и заменяет небольшое количество инструкций 68HC11 новыми формами, близкими к процессору 6809 . Что еще более важно, он изменяет кодировки инструкций, чтобы они были намного более плотными, и добавляет множество 6809-подобных функций индексации, некоторые с еще большей гибкостью. В результате размер кода обычно на 30% меньше.

Производные HCS12 / MC9S12

Начиная с 2000 года семейство было расширено за счет введения производных MC9S12, которые имеют скорость шины до 25 МГц и размер флэш-памяти до 512 КБ.

MC9S12NE64 был введен Freescale в сентябре 2004 года, претендующие на «первой в отрасли однокристальный быстрого Ethernet флэш - микроконтроллер.» Он оснащен процессором HCS12 25 МГц, 64 КБ FLASH EEPROM, 8 КБ ОЗУ и контроллером Ethernet 10/100  Мбит / с .

MC9S12X производные

MC9S12XDP512 , которая была введена в 2004 году имеет скорость шины 40 МГц и периферийный сопроцессор , известный как XGATE который позволяет некоторые задачи , которые будут выгружены из ЦП. ЦП производной от S12X также имеет несколько новых инструкций для повышения производительности.

Freescale анонсировала MC9S12XEP100 в мае 2006 года, чтобы расширить семейство S12X до скорости шины 50 МГц и добавить блок защиты памяти (на основе сегментации ) и аппаратную схему для обеспечения эмуляции EEPROM .

Продукты HCS12 содержат один процессор, а HCS12X - дополнительный периферийный процессор XGATE.

Семейство S12X предлагает два основных метода для адресации более 64 Кбайт.

  • Области выгружаемой памяти в локальной карте размером 64 КБ: PPAGE для выгружаемых данных программы, RPAGE для выгружаемой RAM, EPAGE для выгружаемой EEPROM / флеш-памяти
  • Глобальная адресация разрешает доступ к любым адресам в адресном пространстве 8  МБ . GPAGE используется вместе со специальными кодами операций. (глдаа и т. д.)

XGATE

Сопроцессор XGATE - это 16-битный RISC-процессор, работающий на частоте в два раза превышающей тактовую частоту основной шины. Он разгружает ядро ​​S12X, обрабатывая только прерывания, и не запускает фоновый цикл. Первые версии XGATE не позволяют прерываниям с более высоким приоритетом упреждать обрабатываемое в настоящее время прерывание, но «XGATEV3», представленный в 9S12XEP100 (и других), позволяет это. S12X может запускать программные прерывания на ядре XGATE и наоборот. Реализована система семафоров, позволяющая ядрам S12X и XGATE синхронизировать доступ к периферийным устройствам.

Обычно код XGATE копируется в ОЗУ при запуске устройства, а затем выполняется из ОЗУ для повышения скорости. XGATE имеет частичное адресное пространство размером 64 КБ без подкачки. Регистры имеют общие адреса, но флэш-память и ОЗУ находятся по разным адресам между ядрами. (Более подробную информацию см. В таблице данных.)

использованная литература

внешние ссылки