16-разрядные микроконтроллеры HITACHI, MITSUBISHI, MOTOROLA,

М. Ахметов

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

    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 нс (кроме умножения и деления), большинство остальных инструкций требует на выполнение 410 циклов при внутренней тактовой частоте 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 раза быстрее (34 цикла), чем остальные МК семейства 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

    Производимые 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 (46 циклов процессора) и умножения с накоплением (благодаря встроенному умножителю), класс команд битовых операций (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

    Безусловный лидер в области производства 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 байт. Большинство команд выполняются за 18 циклов процессора (при внутренней тактовой частоте 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 байт и выполняются в большинстве своем за 28 циклов процессора. Ряд команд требует на выполнение несколько большего времени, это, в частности, инструкции умножения (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

    Производимые японской корпорацией 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 (1415 циклов процессора) и беззнакового деления 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,82,7 В.

    Из аппаратных отладочных средств доступны программаторы, внутрисхемные эмуляторы IE784000 и оценочные платы. В программный комплекс входят ассемблер, С-компилятор, программный симулятор и библиотеки подпрограмм.

TOSHIBA. TLSC-900

    Микроконтроллеры семейства 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 цикла, большинство команд выполняется за 46 циклов процессора, причем команды, использующие при обращении к внешней памяти 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) и выпускаются в 64160-выводных пластиковых корпусах типа QFP.

    Микроконтроллеры базовой группы TLSC-900 работают при напряжении питания 5 В с током потребления 3050 мА на максимальной внешней тактовой частоте 20 МГц. Их модификация TLSC-900L предназначена для применений, более критичных к энергопотреблению. МК этой группы начинают работать при напряжении питания 2,7 В и при работе на частоте 12,5 МГц обеспечивают снижение тока потребления до 610 мА.

    Новые микроконтроллеры TLSC-900H могут работать на часто-те до 25 МГц и выполнять некоторые команды за меньшее число циклов при равном с TLSC-900 токе потребления. Малопотребляющий вариант TLSC-900L1 имеет диапазон напряжений питания 1,85 В. Самые экономичные микроконтроллеры этой группы потребляют всего около 3 мА при напряжении 3 В и частоте 16 МГц.

    К программному обеспечению, предлагаемому Toshiba и рядом третьих поставщиков, относится интегрированная программная среда, включающая ассемблер, С-компилятор и программный отладчик. Из аппаратных отладочных средств известен внутрисхемный эмулятор для 16-разрядных микроконтроллеров RTE-15.

Производители микроконтроллеров/микропроцессоров Фирма-производитель Адрес AMD ARC Atmel Dallas Semiconductor Fujitsu Hyperstone Elelctronics IBM Microelectronics Infineon Technologies Integrated Device Technology Integrated Silicon Solution Inc Intel LSI Logic Microchip National Semionductor NetSilicon NKK LSI Oki Philips Semiconductor PLX Technology Inc QED Rise Technology Samsung Semiconductor SandCraft Scenix Semiconductor Inc Sharp Electronics Silicon Storage Technology Inc STMicroelectronics Sun Microsystems Temic Semiconductor Tensilica Texas Instruments Triscend Corp VLSI Western Design Center Xemics Zilog

E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.