Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Линия микроконтроллеров, производимых Freescale Semiconductor.
Line of microcontrollers manufactured by Freescale Semiconductor
68HC12 (также сокращенно 6812 или HC12) — семейство микроконтроллеров от Motorola Semiconductor (позже от Freescale, а затем NXP). Архитектура, впервые представленная в середине 1990-х годов, является усовершенствованием Freescale 68HC11. Программы, написанные для HC11, как правило, совместимы с HC12, который обладает несколькими дополнительными инструкциями. Первые модели 68HC12 имели максимальную частоту шины 8 МГц и объемы флэш-памяти до 128 КБ.
The 68HC12 (also abbreviated as 6812 or HC12) is a microcontroller family from Motorola Semiconductor (later from Freescale then NXP). Originally introduced in the mid 1990s, the architecture is an enhancement of the Freescale 68HC11. Programs written for the HC11 are usually compatible with the HC12, which has a few extra instructions. The first 68HC12 derivatives had a maximum bus speed of 8 MHz and flash memory sizes up to 128 KB.
Архитектура 68HC12
Как и 68HC11, 68HC12 имеет два 8-битных аккумулятора A и B (которые могут рассматриваться как единый 16-битный аккумулятор D при каскадном соединении A и B для выполнения 16-битных операций), два 16-битных регистра X и Y, 16-битный счетчик команд, 16-битный указатель стека и 8-битный регистр кодов состояния. В отличие от 68HC11, данный процессор имеет 16-битные внутренние шины данных.
Like the 68HC11, the 68HC12 has two 8 bit accumulators A and B (referred to as a single 16 bit accumulator, D, when A & B are cascaded so as to allow for operations involving 16 bits), two 16 bit registers X and Y, a 16 bit program counter, a 16 bit stack pointer and an 8 bit Condition Code Register. Unlike the 68HC11 the processor has 16bit internal data paths
68HC12 добавляет и заменяет небольшое количество инструкций 68HC11 новыми вариантами, более близкими к инструкциям процессора 6809. Более существенно, он изменяет кодировку инструкций, делая её значительно более компактной, и добавляет множество функций индексации, аналогичных 6809, некоторые из которых обладают ещё большей гибкостью. В конечном итоге, размеры кода обычно уменьшаются на 30%.
The 68HC12 adds to and replaces a small number of 68HC11 instructions with new forms that are closer to the 6809 processor. More significantly it changes the instruction encodings to be far more dense and adds many 6809 like indexing features, some with even more flexibility. The net result is that code sizes are typically 30% smaller.
Деривативы HCS12/MC9S12
Начиная с 2000 года семейство было расширено за счет появления производных MC9S12, обладающих тактовой частотой шины до 25 МГц и объемом флэш-памяти до 512 КБ. В сентябре 2004 года компания Freescale представила MC9S12NE64, заявив, что это "первый в отрасли однокристальный микроконтроллер с быстрой Ethernet и флэш-памятью". Он включает в себя 25-мегагерцовый процессор HCS12, 64 КБ флэш-ЭППРОМ, 8 КБ оперативной памяти и контроллер Ethernet 10/100 Мбит/с.
Beginning in 2000 the family was extended with the introduction of the MC9S12 derivatives which have bus speeds of up to 25 MHz and flash sizes up to 512 KB. The MC9S12NE64 was introduced by Freescale in September 2004, claiming to be the "industry's first single chip fast Ethernet Flash microcontroller." It features a 25 MHz HCS12 CPU, 64 KB of FLASH EEPROM, 8 KB of RAM, and an Ethernet 10/100 Mbit/s controller.
XGATE
XGATE – это 16-битный RISC-процессор, работающий с частотой, вдвое превышающей частоту системной шины. Он разгружает ядро S12X, обрабатывая исключительно прерывания и не выполняя фоновый цикл. В первых версиях XGATE прерывания более высокого приоритета не могут прервать текущее обрабатываемое прерывание, однако в "XGATEV3", используемом в 9S12XEP100 (и других), такая возможность предусмотрена. Ядро S12X может генерировать программные прерывания для ядра XGATE и наоборот. Реализована семафорная система для синхронизации доступа ядер S12X и XGATE к периферийным устройствам. Как правило, код XGATE копируется в ОЗУ при запуске устройства, а затем выполняется из ОЗУ для повышения производительности. XGATE имеет частичное 64КБ адресное пространство без постраничной организации памяти. Регистры используют общие адреса, но области флэш-памяти и ОЗУ отображаются по разным адресам для каждого ядра. (Подробности см. в техническом описании.)
The XGATE co processor is a 16 bit RISC processor operating at twice the main bus clock. It offloads work from the S12X core by handling interrupts only and does not run a background loop. The first versions of the XGATE do not allow for higher priority interrupts to pre empt a currently handled interrupt, but the "XGATEV3" as featured in the 9S12XEP100 (and others) does allow this. The S12X can trigger software interrupts on the XGATE core and vice versa. A semaphore system is implemented to allow the S12X and XGATE cores to synchronize access to peripherals. Typically the XGATE code is copied to RAM at device startup and then executed from RAM for a speed benefit. The XGATE has a partial 64KByte address space with no paging. The registers share addresses, but the flash and RAM appear at different addresses between the cores. (See the datasheet for more details.)