М. Ахметов
16-разрядные микроконтроллеры HITACHI, MITSUBISHI, MOTOROLA,
NEC, TOSHIBA
Наверное, нет особых оснований полагать, что в ближайшие 50 лет 16-разрядные МК сильно потеснят своих 8-разрядных кузенов. Последние, с одной стороны, успешно продвигаются вниз по архитектурной лестнице, подавляя собой оставшихся младших 4-бит родственников, а с другой стороны, 8-разрядные микроконтроллеры демонстрируют устойчивый рост производительности за счёт новых архитектур и технологических решений. Они подчас находят применение даже в областях, считавшихся ранее традиционными для 16-разрядных МК. Но всё же 8-разрядной архитектуре свойственны недостатки, из которых не может вырваться почти ни один микроконтроллер: резкое снижение производительности при обработке 16-бит операндов и ограниченное адресное пространство.
Как справедливо подмечено, 16-разрядные микроконтроллеры являются японским феноменом. Американские и европейские компании, уделив слишком много внимания 8-разрядным архитектурам, дали своим восточным конкурентом шанс вырваться вперёд. Результат очевиден, на сегодняшнем мировом рынке 16-разрядных микроконтроллеров доминируют японские корпорации. Однако на мировом, но не на отечественном. В силу определённых причин, в России получили распространение МК именно американских и европейских производителей.
8-разрядные |
16-разрядные |
32-разрядные |
64-разрядные |
Atmel AVR |
80186 |
ARM processors |
MIPS R4xxx |
Intel 8051 |
Hitachi H8 |
80386 |
MIPS R5xxx |
Intel MCS 151/251 |
Infineon 16x |
80486 |
Sun UltraSPARC |
Microchip PICmicro family |
Intel MCS-96/296 |
Fujitsu SPARC-lite |
|
Mitsubishi 740 |
Mitsubishi MELPS7700 |
Hitachi SuperH Series |
|
Motorola 68HC05 |
Mitsubishi M16C |
Hyperstone E1-32X |
|
Motorola 68HC11 |
Motorola 68HC12 |
IBM/Motorola PowerPC |
|
National Semiconductor COP8 |
Motorola 68HC16 |
Infineon Tricore |
|
NEC K Series |
Philips 80C51XA |
Intel i960 |
|
Oki nX 65K |
Toshiba TLCS-900 |
MIPS R3000 |
|
Scenix SX |
Zilog Z80/80180/80380 |
Mitsubishi M32Rx/D |
|
STMicroelectronics ST6 |
|
Motorola M CORE |
|
STMicroelecronics ST9 |
|
Motorola ColdFire |
|
Texas Instruments TMS370 |
|
Motorola 680x0 |
|
Toshiba TLCS-90 |
|
Motorola 683xx |
|
Toshiba TLCS-870 |
|
NEC V800 - Socket 7 processors |
|
Xemics CoolRISC |
|
STMicroelectronics ST100 |
|
Zilog Z8/Samsung SAM8X |
|
Sun microSPARC |
|
|
|
Tensilica Xtensa |
|
Ниже приведена информация по наиболее известным семействам 16-разрядных микроконтроллеров.
HITACHI. H8/300H, H8S/2000 |
www.halsp.hitachi.com |
16-разрядные МК Hitachi занимают особое положение среди своих собратьев, производимых другими фирмами. Это самые скоростные среди современных 16-разрядных микроконтроллеров с минимальным временем исполнения инструкции до 30 нс.
МК Hitachi образуют два основных семейства — H8/300H (программно совместимые с 8-разрядными H8/300) и Н8S2000 с расширенной системой команд и повышенной более чем втрое, по сравнению с H8/300H, производительностью.
H8/300H
Процессорное ядро H8/300H имеет 32-разрядную внутреннюю архитектуру и содержит 16 16-разрядных регистров общего назначения (РОН), объединяемых по мере необходимости в 32-разрядные регистровые пары (или наоборот, разделяемых на 8-разрядные регистры), 24-разрядный счётчик, адресующий 16 Мбайт памяти, и 8-разрядный регистр состояния. Для указателя стека используется старший 32-разрядный регистр РОН. Регистры общего назначения могут работать как регистры-аккумуляторы или адресные регистры. При использовании 32-разрядных РОН в качестве адресных регистров старшие 8 бит игнорируются.
В целях наибольшей совместимости с предыдущим 8-разрядным семейством H8/300, процессор может работать в режиме эмуляции, адресуя только по 64 Кбайт памяти программ и данных. В нормальном режиме процессор также может быть сконфигурирован для адресации 1 или 16 Мбайт памяти программ и данных.
Кроме регистровой и косвенной регистровой адресации данных процессор H8/300H использует косвенную регистровую адресацию со смещением, с постинкрементом и предекрементом.
Система команд содержит 62 основных инструкции, поддерживающих полный набор арифметических, логических, сдвиговых и операций пересылки для 8/16/32-бит операндов (кроме, разве что, умножения и деления 32-разрядных данных). Набор битовых команд насчитывает 14 различных инструкций. Благодаря 32-разрядной внутренней структуре, операции с 8/16/32-бит операндами (находящимися в РОН) выполняются за одинаковое время вне зависимости от разрядности данных. Шины данных, соединяющие процессор с внутренней и внешней памятью, имеют 16-бит ширину (в некоторых моделях разрядность внешней шины составляет 8 бит), поэтому доступ к располагающимся там данным требует дополнительных циклов процессора.
Формат команд составляет 2, 4, 6 байт. Регистровые команды выполняются за 2 процессорных цикла или 125 нс (кроме умножения и деления), большинство остальных инструкций требует на выполнение 4–10 циклов при внутренней тактовой частоте 16 МГц (до 20 МГц у некоторых версий).
Большинство микроконтроллеров H8/300H — а это более 30 представителей — имеют встроенное масочное ПЗУ ёмкостью от 16 до 128 Кбайт (кроме четырёх версий с FLASH ПЗУ) и ОЗУ объёмом от 512 байт до 4 Кбайт. Для управления обменом данных с внешней памятью МК H8/300H содержат внутренний контроллер шины, с помощью которого возможно разделение внешней памяти на 8 независимых сегментов с шириной шин данных 8 или 16 бит, а также установка дополнительных циклов ожидания при работе с медленной внешней памятью.
Почти все периферийные устройства H8/300Н идентичны периферии микроконтроллеров семейства H8S/2000 и будут рассмотрены ниже.
H8S/2000
Микроконтроллеры H8S/2000 являются дальнейшим развитием 16-разрядных МК Hitachi и подразделяются в рамках своего семейства на 4 основные линии. Микроконтроллеры H8S/2100 имеют 8-бит внешнюю шину данных и предназначены для прямой замены (pin-to-pin) младших 8-разрядных МК H8/300 и Н8/300L. Серия H8S/2300 является базовой и включает большинство МК H8S/2000 общего применения. На основе этой серии были созданы малопотребляющие микроконтроллеры H8S/2200, характеризующиеся пониженным напряжением питания и увеличенным объёмом памяти, а также самые высокопроизводительные МК H8S/2600 с внутренней тактовой частотой 25 МГц и встроенным блоком МАС для реализации операций умножения с накоплением. Новейшие H8S/2678 работают на тактовой частоте до 33 МГц (процессорный цикл 30 нс) и выполняют, к примеру, операцию умножения 16ґ16 за 90 нс!
Процессор H8S/2000 имеет аналогичную с H8S/300H регистровую модель (за исключением процессорного ядра H8/S2600, содержащего специализированные регистры MAC) с добавлением дополнительного системного регистра.
Система команд расширена до 65 инструкций (для H8S2600 прибавляются еще 4 команды работы с блоком МАС). Из дополнительных команд стоит отметить инструкцию загрузки в стек сразу нескольких регистров для реализации быстрого отклика на прерывание.
Основные команды H8S/2000 требуют на выполнение вдвое меньше времени при одинаковой внутренней частоте. Половина команд выполняется за 1 цикл процессора или за 40 нс при тактовой частоте 25 МГц. Кроме этого, H8S/2600 выполняют операции знакового и беззнакового умножения 16ґ16 в 4 раза быстрее (3–4 цикла), чем остальные МК семейства H8S/2000.
Микроконтроллеры H8S/2000 имеют встроенное масочное, однократно программируемое или FLASH ПЗУ ёмкостью от 32 до 256 Кбайт. В планах Hitachi в ближайшем времени довести эту внушительную цифру до 512 Кбайт (FLASH). Объём внутреннего ОЗУ у МК H8S/2000 составляет от 2 до 8 Кбайт.
Периферия МК H8/300H и H8S/2000 представлена следующими устройствами:
- уже упоминавшийся контроллер внешней шины. У некоторых МК контроллер имеет дополнительные функции, в числе которых формирование синхросигналов (выборка строк и столбцов) и сигналов регенерации для прямого подсоединения DRAM-модулей;
- 10-разрядный аналогово-цифровой преобразователь (все МК) с количеством входных каналов от 4 до 16 со временем преобразования 6,7 мкс для большинства микроконтроллеров;
- 8-разрядный цифро-аналоговый преобразователь (до 4 каналов) с устанавливаемым уровнем выходного напряжения и с циклом преобразования 10 мкс;
- интегрированный таймерный модуль ITU включает до 6 независимых каналов, каждый со своим 16-разрядным таймером/счётчиком, регистрами входного захвата и выходного сравнения (до 4 регистров на канал), а также модулем ШИМ;
- контроллер ШИМ (до 16 независимых каналов) с программируемым временем включения и установкой инвертированного выхода (только у H8/S2600);
- 16-разрядный free-running таймер (для H8S/2100);
- до четырёх 8-разрядных каскадируемых таймеров общего назначения, также с возможностью работы в режиме ШИМ;
- сторожевой таймер;
- 8- (16 каналов) и 14-разрядные (4 канала) выходы ШИМ (H8S/2100 и H8S/2633);
- контроллер прямого доступа к памяти DMAC поддерживает блочную пересылку 8- и 16-разрядных данных общим объёмом до 64 Кбайт/слов по 4 каналам между памятью и устройствами ввода/вывода (таймерный модуль, последовательный порт, АЦП (у некоторых моделей)) или по внешнему запросу;
- контроллер остановов. Устройство, предназначенное для отладки, позволяет останавливать процессор до или после выполнения любой инструкции;
- последовательный интерфейс обеспечивает асинхронный (до 781 Кбод) или синхронный (до 4 Мбод) обмен данными по 1-4 каналам. Некоторые модели поддерживают CAN и I2C-интерфейсы, а также ряд специализированных интерфейсов для работы с интеллектуальными пластиковыми картами и IrDA-устройствами;
- блок прерываний поддерживает до 10 внешних источников прерываний.
МК H8/300H и H8/S2000 имеют до 87 линий ввода/вывода, из которых до 40 сильноточных могут использоваться для управления светодиодами.
Кроме стандартного режима пониженного потребления, микроконтроллеры H8S/2000 имеют возможность работы от вспомогательного тактового генератора частотой 32768 Гц и опцию программного отключения периферийных устройств.
Стандартный уровень рабочего напряжения питания МК Hitachi составляет 5 и 3 В. Микроконтроллеры с пониженным энергопотреблением серии H8S/2200 могут работать при напряжении 2,2 В.
Из аппаратных средств отладки Hitachi выпускает внутрисхемные эмуляторы Е6000 и Е7000 и наборы оценочных плат. Ряд третьих фирм предлагает аналогичные устройства, а также программаторы для МК Hitachi.
Из программного обеспечения известны интегрированные отладочные среды и ОС реального времени.
MITSUBISHI. MELPS7700, M16C |
www.mitsubishi.com |
Производимые Mitsubishi микроконтроллеры с 16-разрядной архитектурой двух основных семейств MELPS7700 и M16C также претендуют на особое положение если не по объёму производства, то по видовому многообразию. МК Mitsubishi многочисленны как трилобиты в кемб-рийский период. На сегодняшний день известно более 300 модификаций MELPS7700 и M16C. Скоро Mitsubishi заполнит ими весь мир. Микроконтроллеры MELPS7700 построены на основе архитектуры и системы команд предшествующего 8-разрядного семейства М740 и представляют собой его дальнейшее 16-бит развитие. Более интересны МК семейства M16C с регистровой архитектурой, развитию и совершенствованию которых Mitsubishi уделяет основное внимание. Кроме базовой линии микроконтроллеров М16С60/61/62, Mitsubishi производит МК серий M16C20/21 c уменьшенным количеством выводов и ограниченной периферией для низкостоимостных и критичных к энергопотреблению применений. Наиболее высокопроизводительные микроконтроллеры M16C80 имеют расширенную регистровую модель, адресуют до 16 Мбайт внешней памяти и работают на частоте до 20 МГц с минимальным временем исполнения инструкций 50 нс.
MELPS7700
Как уже упоминалось, 16-разрядный процессор М7700 основан на аккумуляторной архитектуре базового 8-разрядного M740 и включает 16-разрядный счётчик команд и указатель стека, два 16-разрядных регистра-аккумулятора, два 16-разрядных индексных регистра, реализуя 28 способов адресации инструкций и данных.
Набор команд содержит 103 основные инструкции (МК новой серии M7751 и М7752 имеют 6 дополнительных команд, включая инструкции знакового умножения и деления, а также умножения с накоплением). Более 90% команд требуют на выполнение менее 1 мкс при внешней тактовой частоте 25 МГц. Для ускорения операций используется 3-байт очередь команд.
Общее адресное пространство объёмом 16 Мбайт поделено на 256 банков по 64 Кбайт. Для работы с внутренним ПЗУ и ОЗУ используется только первый банк ёмкостью 64 Кбайт. При реализации режима отладки М7700 может работать как микропроцессор, адресуя только внешнюю память. Специальная 256-байт страница прямого доступа позволяет при необходимости использовать укороченные 2-байт инструкции вызова подпрограммы.
МК 7700 адресуют внешнюю память по немультиплексированной шине (16-бит шина адреса и 8-бит шина данных) при реализации 16-разрядного способа адресации. При использовании расширенной памяти до 16 Мбайт внешняя шина мультиплексируется.
В настоящее время в семейство М7700 входят более 100 моделей микроконтроллеров, подразделяемых на 9 основных серий, некоторые из которых приведены ниже:
- 7702/03 серия малопотребляющих МК с рабочим напряжением питания 2,7 В;
- 7704/05 серия МК для управления электродвигателями переменного тока;
- 7710 серия МК, ориентированных на использование в офисном оборудовании;
- 7720/21 серия для применения в области телекоммуникаций со встроенными DMA и DRAM-контроллерами;
- 7751/52 микроконтроллеры из последних разработок с расширенной системой команд, работающие на внешней тактовой частоте 40 МГц с минимальным временем выполнения инструкции 100 нс.
М16С20/21, MC16C60/61/62
Процессор М16С содержит 2 регистровых банка, в каждый из которых входят 6 16-разрядных регистров общего назначения (из которых 2 регистра могут быть поделены на 8-рарядные РОН, а 2 — использоваться как адресные) и 16-разрядный регистр базы FB (frame base), используемый для относительной адресации со смещением.
Кроме этого, в процессор входят дополнительный 16-разрядный регистр базы SB (static base), 20-разрядный счётчик команд, два 16-разрядных указателя стека (пользователя и прерываний), 20-разрядный указатель адреса начала таблицы прерываний и 16-разрядный флаговый регистр. Если поместить отдельно 4 регистра общего назначения и 4 адресных указателя, скрывающихся под названием адресных регистров и регистров базы, то можно увидеть структуру, похожую на регистровую модель незабвенного процессора 8086.
Набор команд содержит 91 инструкцию, из которых можно выделить быстрые команды знакового и беззнакового умножения 16x16 (4–6 циклов процессора) и умножения с накоплением (благодаря встроенному умножителю), класс команд битовых операций (14 инструкций), команды блочных пересылок и команды поддержки С-компилятора Enter и Exit для входа и выхода из функции.
Инструкции используют 4 основных формата для экономии памяти, названных по их длине нулевым, коротким, быстрым и обычным. Нулевой и короткий форматы предназначены для работы с 8-разрядными регистрами. Быстрый формат может использоваться для короткого вызова подпрограмм. Обычный формат применяется при пересылке данных между регистрами и памятью.
В зависимости от формата команды и способа адресации, длина инструкции может составлять от 1 до 8 байт. Чем короче формат команды, тем, естественно, ограниченнее возможность адресации операндов (к примеру, в некоторых случаях поле источников и приёмников операндов может сужаться до двух 8-разрядных регистров R0L и R0H). При соответствующем формате до 20 инструкций исполняются за 1 цикл процессора, то есть за 100 или 62,5 нс у самых быстрых версий М16С6х. Приблизительно 75% команд требует на выполнение 5 и меньше процессорных циклов, также в зависимости от формата и способа адресации операндов. Нелегко, наверное, компилятору оптимизировать исходный код!
MC16C имеет развитую систему программных и аппаратных прерываний. Стоит отметить наличие 32 прерываний пользователя, прерывание по переполнению и появлению некорректной инструкции, отладочное прерывание для пошагового выполнения программы.
Встроенный контроллер выбора кристалла при необходимости может разбивать 1-Мбайт адресное пространство на 4 области по 256 Кбайт с аппаратной выдачей сигналов выборки. Микроконтроллеры серии М16С62 расширяют адресное пространство до 2 Мбайт за счёт хитроумного использования сигналов выборки кристалла и до 4 Мбайт, используя специальный регистр переключения банков памяти. Внешняя шина данных имеет программируемую ширину 8 или 16 бит. Кроме этого, МК может использовать либо немультиплексированную шину адреса и данных, либо мультиплексировать их для экономии свободных портов ввода/вывода. Для отладки программ МК может работать в режиме микропроцессора, обращаясь только к внешней памяти.
Микроконтроллеры М16С6х имеют объём встроенного ПЗУ (масоч-ного, EPROM или FLASH) от 32 до 256 Кбайт и ОЗУ размером от 3 до 20 Кбайт. МК М16С2х характеризуются более скромной ёмкостью ПЗУ от 16 до 48 Кбайт и ОЗУ объёмом от 512 до 2048 байт.
В номенклатуру периферийных устройств для микроконтроллеров М16Схх входят:
- 2-канальный контроллер ПДП (кроме М16С2х), реализующий одиночные и блочные пересылки 8- и 16-разрядных данных;
- 10-разрядный 8-канальный (в режиме однократного преобразования могут добавляться 2 дополнительных аналоговых входа) АЦП со временем преобразования 23 такта;
- 8-разрядный 2-канальный ЦАП (кроме М16С2х);
- многофункциональный таймерный блок на основе 16-разрядных таймеров/счётчиков, реализующих режимы счёта внешних событий, измерения ширины и периода импульсов, ШИМ (6, 8 и 11 таймеров на кристалле, в зависимости от версии);
- сторожевой 15-разрядный таймер;
- блок СRC (расчёт избыточного циклического кода), использующийся для обнаружения ошибок при блочных пересылках данных (кроме М16С2х);
- система последовательного интерфейса представлена синхронно-асинхронным UART (до 3 каналов) и синхронным 2-канальным SIO, а также, в ряде случаев, контроллером шины I2C.
Для реализации режима сниженного энергопотребления большинство МК Mitsubishi имеют возможность работы от вспомогательного тактового генератора частотой 32768 Гц, опции программного понижения тактовой частоты и отключения периферийных устройств. Типовые версии М16С при напряжении питания 3 В и частоте 7 МГц потребляют всего 6 мА.
Особый дизайн позволил снизить выходное электромагнитное излучение МК на 20 дБ. Кроме этого, устройства могут без последствий пережить разряд статического электричества до 20 кВ.
Микроконтроллеры М16С/6x имеют 87 линий ввода/вывода и выпускаются в 100-выводных QFP-корпусах. Менее дорогие М16C/2x содержат 43 линии ввода/вывода и про-изводятся в 52-выводных SDIP либо в 56-выводных QFP-корпусах. Минимальное рабочее напряжение составляет 2,7 В для большинства микроконтроллеров, наиболее экономичные версии работают от 2 В.
Mitsubishi предлагает свои собственные отладочные программные и аппаратные средства, такие как ин-тегрированный С-компилятор и программный отладчик PD30SIM, внутрисхемные эмуляторы PC4701HS (high end) и PC4701L (low end версия), программаторы и оценочные платы.
MOTOROLA. 68HC12, 68HC16 |
www.motorola.com |
Безусловный лидер в области производства 8-разрядных микроконтроллеров, американская компания MOTOROLA уступает первенство на полях сражений за 16-разрядные архитектуры японским корпорациям Hitachi и Mitsubishi. Производимые MOTOROLA 16-разрядные микроконтроллеры представлены сегодня двумя семействами HC12 и HC16, являясь прямыми потомками (через линию 8-разрядных HC11) прадедушки MC6800, анонсированного в 1974 го-ду. МК HC16 и HC12 интересны прежде всего тем, что позволяют разработчику, имеющему опыт работы с семействами HC05 и HC11, без дополнительных умственных усилий перейти на 16-разрядную архитектуру вместе со всем накопленным программным обеспечением.
HC12
Процессор CPU12 повторяет регистровую модель 8-разрядного M68HC11, имея, в отличие от последнего, внутренние шины 16-бит ширины. Процессорное ядро содержит 16-разрядный регистр-аккумулятор (регистровая пара АВ), дополнительный 16-разрядный аккумулятор D, используемый при некоторых операциях, два 16-разрядных индексных регистра, 16-разрядный указатель стека и 8-разрядный регистр состояния программы.
К имеющимся способам адресации CPU12 добавляет возможность индексной адресации по указателю стека, адресации со смещением по регистрам-аккумуляторам, адресации с пре- и постинкрементом и декрементом (от -8 до +8), косвенно-индексной адресации с 16-бит смещением (записанным в теле команды или хранящимся в дополнительном регистре-аккумуляторе).
Система команд процессора, состоящая из 208 команд, включает подмножество команд HC11, добавляя к ним несколько классов новых инструкций. Сформирован полный набор команд, поддерживающих 16-бит сдвиговые и арифметические операции, такие как быстрое знаковое и беззнаковое умножение 16x16 (3 цикла процессора) и деление 32/16 (12 циклов), дробное знаковое и беззнаковое деление 16/16, а также умножение 16x16 с накоплением. Появился новый класс инструкций по поддержке операций нечёткой логики (4 команды), которые заменяют собой целые по-следовательности обычных команд.
Формат команд составляет от 1 до 6 байт. Большинство команд выполняются за 1–8 циклов процессора (при внутренней тактовой частоте 8 МГц). Более 50 команд выполняются за 1 процессорный цикл. 6-байт очередь команд позволяет заносить в буфер следующую инструкцию во время выполнения текущей. Основной выигрыш в производительности по сравнению с HC11 дают повышенная внутренняя тактовая частота, сокращение числа циклов процессора при выполнении большинства инструкций и, естественно, использование 16-бит шины данных для загрузки и выполнения команд.
Поскольку счётчик команд ограничен 16 разрядами, объём адресуемой им памяти составляет только 64 Кбайт, что не так уж и много для 16-разрядного микроконтроллера. Для преодоления этого барьера микроконтроллеры HC12 имеют встроенную схему переключения страниц памяти. Расширенная память объёмом до 4 Мбайт доступна через 16-Кбайт выделенное окно.
Особенностью HC12 является наличие встроенного отладчика, с помощью которого возможно получение доступа к внутренним ресурсам процессора для внешнего хост-контроллера, отладки программы, задания точек останова.
К настоящему времени известны две основных модели НС12 — 16-разрядные микроконтроллеры MC68HC812 и MC68HC916B32, модификации которых отличаются только наличием и размером встроенного ПЗУ и ОЗУ.
MC68HC812A4, выпускаемый в 112-выводном корпусе, содержит 4 Кбайт ПЗУ EEPROM, 1 Кбайт ОЗУ, 8-разрядный 8-канальный АЦП, 8-канальный 16-разрядный многофункциональный таймер, сторожевой таймер, 2 канала асинхронного SCI и 1 канал синхронного SPI.
MC68HC916B32 имеет встроенное FLASH ПЗУ ёмкостью 32 Кбайт, 768 байт EEPROM, 1 Кбайт ОЗУ, 10-разрядный 8-канальный АЦП, 8-канальный 16-разрядный таймер, 8-разрядный 4-канальный ШИМ, по-следовательный асинхронный, синхронный и CAN интерфейсы.
HC16
В дополнение к регистровой модели CPU11, центральное процессорное устройство 2 новых 16-разрядных индексных регистра и расширенный до 16 бит регистр состояния программы. Кроме этого, индексные регистры, 16-разрядные счётчик команд и указатель стека имеют дополнительные 4-разрядные расширения, позволяющие адресовать до 1 Мбайт памяти программ и данных. Для поддержки быстрых операций сложения с накоплением дробных чисел MAC в процессорный модуль введён набор из 5 специальных регистров, включая 36-бит регистр-аккумулятор. При внешней тактовой частоте 25 МГц цикл MAC требует на выполнение операции всего 480 нс.
Процессор может адресовать либо 1 Мбайт совместной памяти программ и данных или 2 Мбайт раздельных памяти программ и памяти данных.
В дополнительные способы адресации входят индексная адресация с постмодификацией и индексная с 16-бит знаковым смещением.
Набор команд включает в себя инструкции НС11, дополнительно поддерживая полный набор команд 16-бит операций, включая дробное умножение и деление, а также команд поддержки операций цифровой обработки сигналов (пересылка, сложение, умножение с накоплением и сдвиг дробных чисел). Инструкции имеют фиксированную длину 2, 4, 6 байт и выполняются в большинстве своём за 2–8 циклов процессора. Ряд команд требует на выполнение несколько большего времени, — это, в частности, инструкции умножения (10 циклов процессора), целочисленного деления 32/16 (24 цикла), дробного деления 32/16 (38 циклов), умножения с накоплением (18 циклов для первой операции и 12 для каждой последующей). Трёхступенчатый конвейер команд осуществляет в течение одного процессорного цикла занесение, декодирование и выполнение до 3 последовательно идущих инструкций.
Особенностью HC16 также является наличие встроенных средств для контроля программы в специальном режиме отладки, позволяющих также программировать встроенное FLASH ПЗУ.
В настоящее время выпускается более десятка основных моделей 16-разрядных микроконтроллеров 68HC16, из которых 4 модели имеют встроенное FLASH ПЗУ объёмом 48 и 96 Кбайт. Емкость внутреннего ОЗУ для МК 68НС16 составляет от 1 до 4 Кб.
Внешняя тактовая частота МК составляет 16 МГц. Самые производительные модели работают на частоте 20 и 25 МГц.
Все микроконтроллеры имеют встроенный 10-разрядный 6- или 8-канальный аналогово-цифровой преобразователь.
Таймерный блок, в зависимости от версии, может быть построен на базе модулей CTM7, GPT и TPU.
Основа CTM7 состоит из двух 16-разрядных free-running таймеров, на базе которых построены подмодули для реализации различных режимов, включающих счёт, входной за-хват и выходное сравнение (в общей сложности, до 10 каналов), 16-разрядную широтно-импульсную модуляцию (2 канала).
Модуль GPT (таймер общего назначения) включает в свой состав 8-разрядный счётчик событий, 16-разрядный free-running таймер с 8 каналами (3 канала захвата, 4 — совпадения, 1 — захвата и совпадения), и конт-роллеры ШИМ (2 канала по 16-бит).
Кроме этого, ряд микроконтроллеров имеют в своём составе специализированный таймерный процессор TPU — довольно сложное устройство, содержащее блок управления и интерфейса, два 16-разрядных таймера, 16 независимых каналов (каждый с соответствующим регистром событий для реализации функций захвата/сравнения). Специальный планировочный блок определяет порядок обслуживания запросов, поступающих от таймерных каналов в соответствии с установленным приоритетом.
Для последовательного обмена данными с внешним миром МК 68НС16 используют 2-канальный асинхронный SCI и синхронный SPI.
Микроконтроллеры выпускаются в многовыводных корпусах типа QFP.
Стандартное напряжение питания МК составляет 5 В. Модель MC68C16Z1 может успешно работать и при напряжении 3 В.
Для семейств MC68HC12/16 предлагается разнообразное ПО, включающее интегрированные отладочные среды, ассемблеры, С-компиляторы, отладчики, программные симуляторы от множества третьих поставщиков.
На сегодняшний день в ряде крупных городов России сформировано более 10 учебно-методических и консультационных центров, где можно получить исчерпывающую техническую информацию относительно продукции компании.
NEC. K4 |
www.nec.com |
Производимые японской корпорацией NEC 16-разрядные микроконтроллеры К4 являются совместимым на программном уровне логическим 16-бит продолжением базовых 8-разрядных семейств К0 и К0S. Для максимально удобного перехода на 16-бит архитектуру часть микроконтроллеров К4 имеет те же самые периферийные устройства, что и соответствующие 8-разрядные МК базовых семейств. К настоящему времени выпускается более 30 основных моделей К4, объём производства которых составил в 1998 году около 10% общемирового выпуска 16-разрядных микроконтроллеров.
Процессор К4 образует собой загадочный сплав регистровой и аккумуляторной архитектур, содержащий одновременно и регистровый файл, разбитый на регистровые банки, и чётко выделенный регистр-аккумулятор. По-видимому, разработчики процессорного устройства сделали грандиозную попытку объединить преимущества обеих архитектур (короткую команду операции и короткую же команду пересылки операнда) на фоне совместимости с предшествующим 8-разрядным процессором К0, в котором главным действующим лицом был именно регистр-аккумулятор, а РОН отводилась жалкая роль хранения операндов.
Регистры общего назначения К4 разделены на 8 регистровых банков по 16 8-разрядных РОН. При выполнении операций с 16-разрядными операндами регистры объединяются в 16-разрядные пары. Любой регистр общего назначения может служить регистром-аккумулятором, но следует учитывать также, что в этом случае и выполняемая команда будет длиннее на 1 байт, и выполняться она будет дольше, чем при использовании спе-циального регистра-аккумулятора. Старшие 8 РОН из 16 могут быть использованы также для косвенной и индексной адресации до 1 Мбайт памяти данных. Некоторые РОН используются при выполнении определённых команд (счётчики циклов, переход, если обнуление, и так далее) — в общем, то же 8-бит наследие. Кроме регистров общего назначения, в каждом регистровом банке присутствуют по 4 дополнительных 8-разрядных регистра адресного расширения старших РОН, что позволяет дополнительно адресовать до 16 Мбайт.
20-разрядный счётчик команд адресует 1 Мбайт памяти программ. Общую картину дополняют 16-разрядный регистр состояния процессора и 24-разрядный указатель стека.
Набор команд включает 113 основных инструкций и позволяет оперировать 8-, 16- и даже 24-бит операндами. Из команд можно выделить полный набор инструкций (включая логические) битовых операций, блочных пересылок и поиска по таблице, команды знакового и беззнакового умножения 16x16 (14–15 циклов процессора) и беззнакового деления 32/16 (43 цикла), команду умножения с накоплением и даже команду вычитания с накоплением.
Скорость выполнения инструкций зависит от типа команды (аккумуляторная или регистровая), расположения операндов (регистры, внутреннее или внешнее ОЗУ) и от оптимальной работы конвейера команд. При внутренней тактовой частоте 16 МГц и, соответственно, цикле процессора 62,5 нс время выполнения большинства команд укладывается в рамки, приведённые NEC — это 125/250/500/1000 нс. Как всегда, истина где-то посередине.
Для повышения интегральной производительности микроконтрол-лера в области внутреннего ОЗУ при помощи специальной инструкции LOCATION, выделяется 512 байт памяти данных с быстрым доступом (с короткой адресацией). Для этой же цели служит таблица короткого (1 байт адреса, по сравнению со стандартным 3-байт адресом) входа в подпрограмму.
Блок прерываний, кроме стандартных программных и аппаратных (до 9 внешних источников) прерываний, поддерживает также режим контекстного переключения (программное прерывание с переходом по адресу, содержащемуся в регистровой паре регистрового банка) и так называемый режим macro service function, при котором без участия процессора происходят определённые действия (в основном, это пересылка данных между периферийными устройствами и памятью). Какие именно — зависит от модели микроконтроллера.
Почти все 16-разрядные МК NEC имеют встроенное ПЗУ (масочное, однократно программируемое или FLASH) объёмом от 32 до 128 Кбайт и ОЗУ ёмкостью от 512 байт до 8 Кбайт. Большинство микроконтроллеров имеют FLASH-модификации. Одни из самых новых МК серии mPD784218Y содержат встроенное FLASH программ 256 Кбайт и ОЗУ объёмом 12800 байт.
Микроконтроллеры К4 оснащены 8-канальным 8-разрядным аналогово-цифровым преобразователем со временем преобразования менее 10 мкс и 2-канальным 8-разрядным ЦАП. МК серии mPD784216 обладают роскошным 16-канальным 10-разрядным АЦП.
Таймерный модуль в зависимости от модели состоит из 16-разрядных таймеров и 8/16-разрядных таймеров-счётчиков различной конфигурации, реализующих режимы входного захвата, выходного сравнения, ШИМ, real-time output, генерации последовательностей и одиночных импульсов, измерения ширины входного сигнала. МК серий mPD784216 и mPD78421 имеют по одному 16-разрядному таймеру и по 6 8-разрядных таймеров/счётчиков на кристалле. К таймерному модулю можно отнести сторожевой таймер и дополнительный 2-канальный 12-разрядный ШИМ-контроллер.
Система последовательного интерфейса представлена 2-канальным синхронно-асинхронным UART, син-хронным 3-проводным SIO, синхронным 2-проводным SBI (собственный интерфейс NEC), контроллером I2C (не у всех МК).
Микроконтроллеры К4 имеют от 48 до 86 линий ввода/вывода (в число которых входят линии с pull-up резисторами, сильноточные линии для управления светодиодами и транзисторами) и выпускаются в 80/100-выводных пластиковых или керамических корпусах типа QFP. В зависимости от версии, минимальное рабочее напряжение питания составляет 1,8–2,7 В.
Из аппаратных отладочных средств доступны программаторы, внутрисхемные эмуляторы IE784000 и оценочные платы. В программный комплекс входят ассемблер, С-компилятор, программный симулятор и библиотеки подпрограмм.
TOSHIBA. TLSC-900 |
www.toshiba.com/taec |
Микроконтроллеры семейства TLSC-900 продолжают добрые традиции программной совместимости с младшим 8-разрядным семейством TLSC-90, нисходящего корнями к архитектуре легендарного Z80. Выпускаемые на сегодняшний день 16-разрядные микроконтроллеры TLSC-900 делятся на 4 основных подсемейства: базовые МК TLSC-900, малопотребляющие и работающие при пониженном напряжении питания TLSC-900L, ещё менее малопотребляющие, работающие уже при совсем низком напряжении TLSC-900L1, высокопроизводительные TLSC900/H, от которых пролегает прямая дорога к мощным, но уже 32-разрядным микроконтроллерам Toshiba.
В отличие от МК общего назначения, 16-разрядные микроконтроллеры TLSC-900 ориентированы под использование в специализированных применениях. Главным образом они применяются для работы в офисном оборудовании и компьютерной технике (принтеры, сканеры, факсимильная техника, контроллеры HDD, DVD и CD-ROM), а также в сложной бытовой электронике. Малопотребляющие МК TLSC900L и TLSC900L1 находят применение в сотовых телефонах и цифровых видеокамерах.
CISC-процессор TLCS-900, включающий также в себя регистры 8-разрядного процессорного устройства TLSC-90, допускает реализацию 2-регистровых моделей, определяемых пользователем, минимальную или максимальную. При минимальной конфигурации, которая автоматически устанавливается после рестарта процессора, 16-разрядные регистры общего назначения РОН разбиваются на 8 регистровых банков по 4 16-разрядных регистра. Кроме этого, разрядность программного счётчика сокращается до 16 бит, что позволяет адресовать только 64 Кбайт памяти программ. Для перехода в режим максимальной конфигурации используется специальная инструкция MAX, при этом 16-разрядные регистры общего назначения объединяются в 32-разрядные регистровые пары. Соответственно, число регистровых банков, каж- дый из которых содержит по 4 уже 32-разрядных регистра, уменьшается до четырёх. Счётчик команд в этом режиме имеет разрядность 32 бит и может адресовать до 16 Мбайт адресного пространства (он бы мог адресовать и больше, но внешняя адресная шина ограничена 24 выводами, а делать микроконтроллеры со встроенным ПЗУ соответствующей ёмкости пока не научились).
Кроме вышеупомянутых регистров общего назначения, процессор содержит также 4 дополнительных 32-разрядных регистра (один из них используется под указатель стека), формат которых не зависит от выбранной минимальной или максимальной конфигурации, специализированные регистры для реализации функции micro DMA, а также 16-разрядный статусный регистр состояния процессора, содержащий собственно статусный регистр, а также регистр флагов. По умолчанию, 4 дополнительных 32-разрядных регистра используются для адресации памяти данных (до 16 Мбайт), но могут также работать как регистры общего назначения. Все 32-разрядные РОН процессора допускают обращение к себе как к 32-, 16- или 8-разрядным регистрам и могут быть использованы как регистры-аккумуляторы, регистры для косвенной и индексной адресации. Встроенный контроллер micro DMA обеспечивает блочную пересылку данных (байтов или слов) по 4 каналам между регистрами ввода/вывода и ОЗУ.
Процессор TLSC-900 может работать в одном из следующих режимов: системном (что-то вроде режима супервизора) и нормальном NORMAL (режим пользователя). В нормальном режиме недоступны некоторые команды, получившие название привилегированных (команды разрешения/за-прещения прерываний, возврата из прерывания, останова и так далее), а также ряд регистров и флагов процессора. Для обоих режимов работы используются разные указатели стека, разделяющие системный и пользовательский стеки. Необходимо отме- тить, что процессорные устройства TLSC-900, TLSC-900L и TLSC-900H имеют несколько небольших отличий, одним из которых является отсутствие режима NORMAL у TLSC-900L и TLSC-900H и, соответственно, отсутствие второго указателя стека.
Наличие регистровых банков РОН позволяет несколько ускорить процедуру отклика на прерывания. При отклике на прерывание в стеке сохраняется только содержимое счётчика команд и статусного регистра, но даже в этом случае требуется от 15 циклов процессора для сохранения всех необходимых регистров и переключения на следующий регистровый банк.
Для работы с операндами используется 9 способов адресации, включая косвенную и индексную с опциями предекремента и постинкремента.
Система команд процессора содержит более 200 различных инструкций размером от 1 до 6 байт, поддерживающих 32-, 16- и 8-бит опе-рации. Toshiba декларирует для TLSC-900 минимальное время исполнения команды за 200 нс, или иначе, за 2 системных цикла, при работе на внешней тактовой частоте 20 МГц. Реально только небольшой процент команд требует на своё исполнение 2 цикла, большинство команд выполняется за 4–6 циклов процессора, причём команды, использующие при обращении к внешней памяти 32-разрядные операнды, требуют, естественно, дополнительных циклов. Более новые процессоры TLSC-900H и TLC900L1 работают при внешней тактовой частоте до 25 МГц (цикл 160 нс) и выполняют некоторые инструкции за меньшее число циклов процессора по сравнению с TLSC-900.
Дополнительный прирост производительности для TLSC-900 даёт использование конвейера команд с 4-байт очередью инструкций.
Набор команд включает в себя инструкции пересылки, арифметических, логических и сдвиговых операций с 32-разрядными операндами, команды знакового и беззнакового умножения 16ґ16 (26 циклов процессора) и деления 32/16 (30 циклов), команды умножения с накоплением (31 цикл), команды битовых операций, включая инструкции поиска установленного или сброшенного бита, команды блочных пересылок, команды циклического поиска по таблице (автоматический возврат на начало таблицы после её прохода), 2 дополнительные команды link и unlink, используемые С-компилятором соответственно для входа и выхода из функции.
16-разрядные микроконтроллеры Toshiba, в зависимости от версии, имеют встроенное масочное или однократно программируемое ПЗУ программ ёмкостью от 8 до 256 Кбайт (в последнее время появились модели с FLASH ПЗУ объёмом до 256 Кбайт и возможностью внутрисхемного программирования) и встроенное ОЗУ ёмкостью от 1 до 8 Кбайт. Для работы с внешней памятью используется мультиплексированная шина адрес/данные. Формат шины данных может динамически изменяться с 8 на 16 разрядов и обратно непосредственно во время выполнения программы в течение цикла шины, что позволяет одновременно использовать 8- и 16-разрядную внешнюю память данных.
В номенклатуру периферийных устройств, общих почти для всех 16-разрядных микроконтроллеров Toshiba, входят:
- аналогово-цифровой преобразователь в конфигурации: 6-разрядный 4-канальный со временем преобразования 9,5 мкс на канал, 8-разрядный АЦП с 10 или 16 входными каналами и самый распространённый 10-разрядный АЦП с числом каналов от 4 до 16 и циклом преобразования, занимающим 14 мкс на внешней тактовой частоте 20 МГц;
- таймерные модули на основе 8-разрядных каскадируемых таймеров с функциями ШИМ и генератора прямоугольных импульсов (от 2 до 8 таймеров на кристалле) и 16-разрядных многофункциональных таймеров-счётчиков, реализующих режимы счёта внешних событий, программируемого генератора сигналов, измерение ширины одиночного импульса, измерение частоты входного сигнала, фиксация временной разницы между двумя внешними импульсами;
- сторожевой таймер;
- контроллер ожидания/выбора кристалла, обеспечивающий управление разрядностью шины данных (8 или 16 бит), генерацию сигналов выборки кристалла (4 линии) и сигналов ожидания;
- последовательный синхронно-асинхронный интерфейс SIO/UART (до 5 на кристалле).
Блок прерываний обеспечивает поддержку до 45 источников прерываний, в том числе, до 10 внешних.
К дополнительным периферийным устройствам микроконтроллеров, используемых в специализированных применениях, относятся: дополнительные таймеры, 8-, 12- и 14-разрядные ШИМ, 8-разрядный ЦАП, контроллер динамического ОЗУ, программируемый делитель/умножитель тактовой частоты, вспомогательный тактовый генератор, драйверы жидкокристаллических и флуоресцентных индикаторов, схема управления шаговым двигателем, контроллеры I2C и CAN-интерфейсов и так далее.
Все 16-разрядные МК Toshiba имеют довольно большое количество линий ввода/вывода (от 37 до 94) и выпускаются в 64–160-выводных пластиковых корпусах типа QFP.
Микроконтроллеры базовой группы TLSC-900 работают при напряжении питания 5 В с током потребления 30–50 мА на максимальной внешней тактовой частоте 20 МГц. Их модификация TLSC-900L предназначена для применений, более критичных к энергопотреблению. МК этой группы начинают работать при напряжении питания 2,7 В и при работе на частоте 12,5 МГц обеспечивают снижение тока потребления до 6–10 мА.
Новые микроконтроллеры TLSC-900H могут работать на часто-те до 25 МГц и выполнять некоторые команды за меньшее число циклов при равном с TLSC-900 токе потребления. Малопотребляющий вариант TLSC-900L1 имеет диапазон напряжений питания 1,8–5 В. Самые экономичные микроконтроллеры этой группы потребляют всего около 3 мА при напряжении 3 В и частоте 16 МГц.
К программному обеспечению, предлагаемому Toshiba и рядом третьих поставщиков, относится интегрированная программная среда, включающая ассемблер, С-компилятор и программный отладчик. Из аппаратных отладочных средств известен внутрисхемный эмулятор для 16-разрядных микроконтроллеров RTE-15.
Производители микроконтроллеров/микропроцессоров
Фирма-производитель |
Адрес |
AMD |
www.amd.com |
ARC |
www.risccores.com |
Atmel |
www.atmel.com |
Dallas Semiconductor |
www.dalsemi.com |
Fujitsu |
www.fujitsumicro.com |
Hyperstone Elelctronics |
www.hyperstone.com |
IBM Microelectronics |
www.chips.ibm.com |
Infineon Technologies |
www.sci.siemens.com |
Integrated Device Technology |
www.idt.com |
Integrated Silicon Solution Inc |
www.issi.com |
Intel |
www.intel.com |
LSI Logic |
www.lsi.com |
Microchip |
www.microchip.com |
National Semionductor |
www.national.com |
NetSilicon |
www.netsilicon.com |
NKK |
www.nkk.co.ip/LSI |
Oki |
www.okisemi.com |
Philips Semiconductor |
www.semiconductors.philips.com |
PLX Technology Inc |
www.plxtech.com |
QED |
www.qedinc.com |
Rise Technology |
www.rise.com |
Samsung Semiconductor |
www.samsungsemi.com |
SandCraft |
www.sandcraft.com |
Scenix Semiconductor Inc |
www.scenix.com |
Sharp Electronics |
www.sharpmeg.com |
Silicon Storage Technology Inc |
www.ssti.com |
STMicroelectronics |
www.st.com |
Sun Microsystems |
www.sun.com |
Temic Semiconductor |
www.temic-semi.com |
Tensilica |
www.tensilica.com |
Texas Instruments |
www.ti.com |
Triscend Corp |
www.triscend.com |
VLSI |
www.vlsi.com |
Western Design Center |
www.wdesignc.com |
Xemics |
www.xemics.ch |
Zilog |
www.zilog.com |
E-mail: misha@planar.nsk.ru
|