16-разрядные микроконтроллеры PHILIPS, INFINEON, PANASONIC,

Продолжение. Начало в #5, 2000

М. Ахметов

16-разрядные микроконтроллеры PHILIPS, INFINEON, PANASONIC, OKI, TI PHILIPS SEMICONDUCTORS. 51XA

    Один из самых истовых адептов семейства MCS-51, компания PHILIPS SEMICONDUCTOR, достижения которой в области выпуска модификаций 51 микроконтроллеров известны всему миру, ухитрилась затащить уже многократно устаревшую, но не менее популярную архитектуру на ниву 16-бит применений, создав совершенно оригинальные 16-разрядные МК с индексом 51XA, совместимые по исходному коду с 8-разрядными MCS-51. Разработчикам кристалла пришлось прилагать прямо-таки героические усилия, чтобы увязать вместе две взаимоисключающие идеи, с одной стороны, создание истинного 16-разрядного микроконтроллера, конкурентного по производительности с аналогичными изделиями других фирм, а с другой - включение в подмножество его ресурсов исходного ядра 80С51. Задача не из легких хотя бы потому, что процессор 80С51 имеет уже отошедшую в область преданий архитектуру, неориентированную или вообще закрытую для дальнейшего расширения (это вам не МК HITACHI, с их модульным принципом). В частности, простое увеличение разрядности регистров ограничило бы производительность нового 16-разрядного микроконтроллера (архитектура-то аккумуляторная), а применение новых регистровых архитектур процессора исключило бы совместимость. Подробное перечисление всех проблем и их решений заняло бы несколько страниц текста, поэтому лучше сразу посмотреть, к какой вершине аппаратно-программного искусства все это привело.

    16-разрядный процессор XA51 включает в себя подмножество регистров 80С51 вместе с дополнительными сегментными регистрами кода, данных, дополнительного сегмента, обеспечивающих расширение памяти программ и памяти данных до 16 Мбайт.

    8-разрядный регистр-аккумулятор и 16-разрядный указатель данных DPTR 80С51 i0похороненыlг в регистровом файле, состоящем из 20 16-разрядных регистров общего назначения, каждый из которых может выполнять функции регистра-аккумулятора или адресного регистра. 16 регистров РОН разделены на 4 банка, включающих по 4 16-разрядных регистра. Для поддержки ряда 32-бит операций (сдвига, умножения, деления) РОН объединяются в 32-разрядные регистровые пары.

    В дополнение к указателю стека 80С51, который называется теперь системным стеком, микроконтроллеры ХА51 имеют дополнительный стек пользователя, размещаемый в любом сегменте памяти данных.

    Для ускорения работы процессор ХА51 использует 7-байт очередь команд.

    ХА51 сохраняет прямую и косвенную адресации 80С51, значительно увеличивая диапазон до 1 Кбайт прямой и 16 Мбайт косвенной адресации.

    Система команд ХА51 сохраняет свою преемственность с 80С51 следующим образом. Набор команд 80С51 является подмножеством набора команд ХА51, почти все инструкции 80С51 (кроме одной) имеют соответствующую команду ХА51. Единственная и, к счастью, редко используемая инструкция XCHD (обмен тетрадой между аккумулятором и памятью), требует для реализации дополнительной аппаратной схемы, и поэтому она просто эмулируется несколькими командами ХА51. Сами команды теперь исполняются намного быстрее, несмотря на увеличенный формат (длина инструкций может составлять от 1 до 6 байт). Большинство команд регистр-регистр требуют на выполнение 100 нс, или 3 цикла процессора, при тактовой частоте 30 МГц.

    Процессор ХА51 может работать в двух основных режимах: расширенном и режиме совместимости. Расширенный режим использует все новые возможности процессора, включая более эффективные команды, поддержку мультизадачности и так далее. Режим совместимости обеспечивает максимальную эмуляцию 80С51.

    Для перевода программы в исходных кодах с 80С51 на платформу ХА51 используется специальный транслятор, но как правило его работы недостаточно, особенно если вы хотите, чтобы процессор использовал более предпочтительный расширенный режим. В большинстве случаев транслятор выдает длинный список ошибок и предупреждений, которые необходимо проверять и корректировать вручную. Для облегчения этого процесса, в помощь программисту PHILIPS разработала целое многостраничное руководство " O том как правильно перетранслировать исходный текст", в котором однако сразу предупреждает, что это может быть не так просто и быстро, как кажется.

    С WEB-страницы PHILIPS SEMICONDUCTORS доступна информация о девяти выпускаемых в настоящее время моделях 16-разрядных микроконтроллеров ХА51.

    Три модели имеют FLASH или однократно программируемое ПЗУ емкостью 32 Кбайт и внутреннее ОЗУ объемом от 512 байт до 1 Кбайт.

    Остальные модели доступны либо с масочным ПЗУ, либо как ROMless-версии. МК ХА51 взаимодействуют с внешней памятью через мультиплексированную или не мультиплексированную шины адреса и данных (до 24 линий адреса и 8/16-разрядные линии данных) с возможностью программной установки необходимых временных параметров шины.

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

    В число периферийных устройств МК общего применения входят следующие модули:
8-разрядный 8-канальный АЦП со временем преобразования 4,46 мкс при частоте 30 МГц (микроконтроллер HA-G3); до 4 16-разрядных таймеров/счетчиков. Сторожевой таймер; 5-канальный 16-разрядный массив счетной матрицы (РСА) (модель HA-S3); от 1 до 4 UART, контроллеры САN и I2C.

    Микроконтроллеры ХА51 имеют от 32 до 50 линий ввода/вывода, которые могут быть запрограммированы в один из четырех режимов (квазидвунаправленный порт, открытый коллектор, включение pull-up резисторов, Z-состояние).

    МК выпускаются в основном в 44-выводном PLCC или 44/100-выводном QFP-исполнении. Стандартный диапазон напряжения питания составляет 2,7-5,5 В.
INFINEON TECHNOLOGIES AG. C166

    Микроконтроллеры 16-разрядного семейства с общим названием С166 компании INFINEON AG (ранее - SIEMENS AG), наглядно демонстрируют преимущества RISC-архитектуры перед традиционной (имеется в виду именно традиционная) CISC-архитектурой. Сокращенный набор команд, позволивший iвзатолкатьl) инструкции в единый 2- и 4-байт формат вместе с применением 32-разрядной внутренней шины (выборка команд за один процессорный цикл), дал возможность реализовать эффективный 4-ступенчатый конвейер команд и в несколько раз поднять итоговую производительность процессора.

    Исходное семейство 8хС166, относящееся к так называемому первому поколению 16-разрядных микроконтроллеров INFINEON AG, оказалось базовым ядром в создании универсальных производительных МК, предназначенных решать широкий круг задач по управлению в реальном масштабе времени. Для этого разработчики С166 изначально отказались от программной совместимости с 8-разрядными микроконтроллерами SIEMENS, сделав упор на новую регистровую архитектуру, эффективную обработку прерываний (быстрые отклик на прерывание и переключение контекста), применение расширенного набора инструкций, поддерживающих битовые операции.

    Второе поколение МК C166 с наиболее совершенными представителями в лице серии С167 характеризуется дополнительными инструкциями поддержки языков высокого уровня, увеличенным объемом адресного пространства и емкостью внутренней памяти. Дополнительная внутренняя 16-разрядная Х-шина согласует внутренний интерфейс с периферийными устройствами, упрощая подключение и интеграцию новой периферии и встроенного ОЗУ. Микроконтроллеры серии С165 представляют собой ограниченный и недорогой вариант МК С167 с пониженным энергопотреблением за счет отсутствия некоторых периферийных устройств: АЦП, модуля захвата/сравнения, ШИМ. Самые недорогие микроконтроллеры СаС161, предлагаемые по цене 8-разрядных МК, рекомендованы к применению в приложениях, критичных к стоимости.

    Неймановский процессор С166 устанавливает общее адресное пространство размером до 16 Мбайт (разбитых на 256 сегментов по 64 Кбайт) для памяти программ, памяти данных, регистров и портов ввода/вывода. Физический 24-разрядный адрес следующей команды реализуется склейкой содержимого 16-разрядного счетчика команд и младшего байта регистра сегмента кода. Для адресации данных используются 4 10-разрядных регистра указателя данных, каждый из которых разделяет адресное пространство на 1024 сегмента данных по 16 Кбайт. Данные адресуются путем конкатенации младших 14 бит адреса (это может быть, к примеру, содержимое РОН при косвенной адресации) и 10 бит регистра указателя данных, формируя в итоге 24-разрядный физический адрес.

    Текущий регистровый банк, содержащий до 16 16-разрядных РОН, функционирующих как регистры-аккумуляторы или адресные регистры, формируется в произвольной области внутреннего ОЗУ. Местоположение регистрового банка определяется специальным регистровым указателем, содержащим адрес регистра R0. Подобная реализация указания регистровых банков позволяет, кроме быстрого выполнения переключения контекста, выполнять передачу данных от одной задачи к другой без выгрузки и загрузки параметров, просто располагая регистровые банки с взаимным перекрытием.

    11-разрядный указатель стека использует для своей работы два дополнительных регистра для указания верхней и нижней допустимых границ стека.

    Набор команд содержит 55 основных инструкций форматом 2 и 4 байт, включающих команды знакового и беззнакового умножения 16x16 и деления 32/16, а также команды битовых операций. Микроконтроллеры второго поколения добавляют к этому 4 дополнительные инструкции поддержки языков высокого уровня. Большинство инструкций выполняются за один цикл процессора или 100 нс при внешней тактовой частоте 20 МГц. В зависимости от модели, максимальная тактовая частота может составлять от 16 до 25 МГц. Внутренние аппаратные умножитель/делитель и устройство барабанного сдвига позволяют резко ускорить выполнение соответствующих операций. Операция сдвига 1..15 бит выполняется за один процессорный цикл, а операции умножения 16x16 и деления 32/16 - за 5 и 10 циклов, соответственно.

    16-разрядные микроконтроллеры С166, в зависимости от версии, могут содержать 4, 32, 64, 128 Кбайт встроенного масочного, ОТР или FLASH ПЗУ, а могут и вовсе его не содержать, как, к примеру, МК серии С161. Емкость встроенного ОЗУ для МК С166 составляет от 1 до 4 Кбайт. Начальная загрузка программы в ОЗУ или FLASH ПЗУ может осуществляться через аппаратный загрузчик. Одна из самых последних разработок - С167CS-32FM включает даже 256 Кбайт внутреннего FLASH ПЗУ, что является пока теоретическим пределом для внутренней шины, а объем ОЗУ достигает 11 Кбайт.

    Микроконтроллеры С166 позволяют гибко конфигурировать внешнюю шину адреса и данных. В зависимости от версии МК, возможно задать до пяти адресных областей с независимыми режимами работы (мультиплексированная/не мультиплексированная, ширина 8/16 бит, вставка тактов ожидания и так далее) и с выдачей всех необходимых аппаратных сигналов.

    В номенклатуру периферийных устройств для 16-разрядных микроконтроллеров входят следующие модули:
8-канальный контроллер периферийных событий PEC, осуществляющий пересылки данных в памяти по прерыванию без участия процессора; контроллер прерываний, обеспечивающий минимальное время отклика на прерывания от 250 до 600 нс при внешней тактовой частоте 20 МГц; блок аналоговой обработки, включающий 8- и 10-разрядный АЦП с числом входных каналов от 4 до 16; таймерные модули общего назначения GPT1 и GPT2, содержащие соответственно 3 и 2 16-разрядных таймера-счетчика, реализующих функции счета внешних событий, входного захвата, измерения периода сигнала, генерации сигналов, умножения частоты и так далее; сторожевой таймер и часы реального времени; 1 или 2 16-канальных модуля захвата/сравнения. МК серии С164 содержат специализированный модуль захвата/сравнения CAPCOM6 для управления двигателями постоянного и переменного тока; 4 и 6 каналов ШИМ у серий С167 и С164; контроллер последовательного интерфейса, представленный в основном UART, USART и синхронным интерфейсами. Ряд моделей обладает контроллерами CAN и I2C интерфейса.

    Кроме стандартных режимов Idle и Power Down, новые микроконтроллеры С166 реализуют режим замедления Slow down, при котором достигается снижение энергопотребления за счет понижения внутренней тактовой частоты, и режим отключения незадействованных периферийных устройств.

    МК С166 имеют от 63 до 111 линий ввода/вывода и производятся в 80/100/144-выводном исполнении.

    Новейшие разработки INFINEON AG-микроконтроллеры общего назначения SAB161U и коммуникационные SAB C165Utah с циклом инструкции 55 нс устанавливают новые стандарты производительности в 18 MIPS для 16-разрядных МК.

    О разработках INFINEON читайте также в статье А. Соколова "Процессорный модуль на базе микроконтроллера фирмы INFINEON".

    Кроме INFINEON AG, совместимые с С166 микроконтроллеры марки ST10 выпускает франко-итальянский концерн STMICROELECTRONICS.
PANASONIC SEMICONDUCTORS. MN10200

    16-разрядные микроконтроллеры MN10200 являют собой логическое продолжение 4- и 8-разрядных семейств PANASONIC с расширенными функциональными возможностями на основе 16-разрядной архитектуры. Требование полной программной совместимости с младшими семействами, естественно, в определенной мере ограничивает применение новых технических решений, заставляя разработчиков двигаться в заранее заданном изначальной концепцией направлении. Семейство MN10200 представляет характерный пример подобного компромисса. С одной стороны, сокращенный до 36 основных инструкций набор команд, отказ от использования сложных методов адресации, 3-ступенчатый конвейер команд, 100-нс цикл процессора. Вот-вот ждешь, что появятся заветные слова "RISC" и "регистровый файл", а команды начнут выбираться и исполнятся за один системный цикл, поднимая производительность процессора до 10 MIPS но этого не происходит. Команды имеют неодинаковый формат, выполняются за различное число циклов, соответственно снижая эффективность работы конвейера команд, а количество и конфигурация регистров общего назначения до гордого определения "регистровый файл", увы, не дотягивают. Но, даже не пользуясь скоростными достижениями RISC-архитектур, 16-разрядные микроконтроллеры PANASONIC (в общей сложности, более 40 моделей) демонстрируют не худшую в своем классе производительность, позволяющую применять их для широкого спектра задач управления в реальном масштабе времени. Так же, как и МК С166 производства фирмы INFINEON AG с дополнительной шиной расширения X-Bus, микроконтроллеры MN10200 имеют внутреннюю шину, упрощающую подключение новых периферийных устройств, что, в частности, актуально для заказных МК.

    Процессорное ядро MN102L00, на котором построены подавляющее большинство 16-разрядных МК PANASONIC, использует линейную адресную модель памяти с общими адресами для регистров специальных функций, памяти программ и данных. Для внутренних регистров процессора используется в основном 24-бит формат. 24-разрядный счетчик команд непосредственно адресует до 16 Мбайт памяти. 4 24-разрядных регистра данных работают в качестве регистров-аккумуляторов и регистров для хранения операндов. Столько же 24-разрядных адресных регистров используются для косвенной регистровой адресации, а также могут служить в качестве РОН и даже быть регистрами-аккумуляторами для ряда арифметических операций. Один из адресных регистров работает в качестве указателя стека. Из-за несколько нестандартного формата регистров данных, для поддержки операций умножения и деления введен дополнительный 16-разрядный регистр, хранящий старшие 16 бит 32-разрядного произведения или делимого. Общую картину дополняет 16-разрядный регистр слова состояния программы.

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

    Система команд включает 36 базовых инструкций, поддерживающих набор операций 8- и 16-бит арифметики, сдвиговых и логических операций. В общем, набор команд не претерпел каких-либо существенных изменений, по сравнению с 8-разрядными предшественниками, за исключением того, что команды стали иметь байтовый формат вместо тетрадного, ну и, естественно, того, что операции с 16-разрядными операндами стали проводиться существенно быстрее (по определению).

    Размер команд составляет от 1 до 5 байт (первые 1-2 байт включают код операции, 0-3 байт - расширение адрес/данные). Инструкции пересылок регистр-регистр, загрузка/сохранение и некоторые команды ветвления требуют на выполнение только один цикл процессора (100 нс при стандартной внешней тактовой частоте 20 МГц). Ряд микроконтроллеров имеют процессорный цикл, сокращенный до 62,5 и 50 нс. Кроме этого, можно отметить инструкции умножения 16x16 и деления 32/16 и команды битовых операций.

    Микроконтроллеры MC10200 обладают встроенным однократно программируемым, масочным или FLASH ПЗУ объемом от 16 до 256 Кбайт и емкостью ОЗУ от 1 до 10 Кбайт. В состав внутреннего ОЗУ входит область памяти с короткой адресацией, то есть с более быстрым доступом. Область памяти программ содержит таблицу адресов наиболее часто используемых подпрограмм.

    Для работы с внешней памятью программ и данных, MC10200 используют 24-разрядную шину адреса с аппаратным формированием 4 сигналов выборки кристалла и 8/16-разрядную шину данных. Микроконтроллеры допускают прямое подключение DRAM-модулей с выдачей всех необходимых сигналов управления и регенерации и вставкой при необходимости циклов ожидания.

    Основная периферия, общая для большинства микроконтроллеров MN10200, включает в себя:
аналогово-цифровой преобразователь (различной конфигурации). В основном, это относительно быстрый 8-разрядный 8-канальный АЦП со временем преобразования 4 мкс при внешней тактовой частоте 20 МГц; таймерный модуль, основанный на 8/16/24-разрядных таймерах/счетчиках и включающий от 4 до 16 8-разрядных, от 2 до 5 16-разрядных и иногда один 24-разрядный таймер/счетчик. В зависимости от модификации, таймеры могут реализовывать различные функции, включая широтно-импульсную модуляцию, генерацию одиночных сигналов и их последовательностей, входной захват и выходное сравнение для одного или двух сигналов и так далее. К таймерному модулю также можно отнести 17-разрядный сторожевой таймер; последовательный интерфейс, почти во всех МК реализованный в виде UART или USART; несколько моделей оснащено контроллером I2C-шины; контроллер прерываний, поддерживающий до 54 источников прерываний, обеспечивая время отклика на прерывания, не превышающее 11 системных циклов.

    К дополнительным периферийным устройствам микроконтроллеров, используемых в специализированных применениях, относятся: дополнительные ШИМ, 8-канальный контроллер ПДП, программируемый умножитель тактовой частоты, вспомогательный тактовый генератор, драйверы жидкокристаллических индикаторов, OnScreen Display (OSD) контроллер, обеспечивающий выведение символов на телевизионный экран и ряд других функций, приемник IR-сигналов, схема управления шаговым двигателем и так далее.

    Для всего ряда микроконтроллеров MN10200 выпускаются версии с пониженным 2,7-В напряжением питания. Некоторые модели работают при напряжении 2 В.

    МК MN10200 выпускаются в различном исполнении от 64-выводных корпусов SDIP до 84/100/128-выводных корпусов QFP.
OKI SEMICONDUCTOR. OLMS66K

    Компания OKI представлена в нише 16-разрядных устройств микроконтроллерами линии OLMS-66K, первые представители которых базировались на исходном процессорном ядре nX-8/300. Дальнейшая эволюция МК OKI шла, в общем, по пути различных модификаций процессора.

    Появились микроконтроллеры на основе упрощенного ядра nX-8/200 с ограниченным набором инструкций, а также МК с процессором nX-8/400 (версия nX-8/200 с повышенной производительностью). Верхом редукционизма явились микроконтроллеры с ядром nX-8/100 (ограниченный вариант nX-8/200 ограниченного варианта nX-8/300). В настоящее время наиболее распространенными и перспективными считаются микроконтроллеры MSM665xx на основе последнего процессорного ядра nX-8/500, программно совместимые с МК предыдущих семейств.
MSM665xx

    Гарвардский процессор nX-8/500 объединяет классическую аккумуляторную архитектуру (с четко выраженным 16-разрядным регистром-аккумулятором) с архитектурой регистрового файла (что делает его несколько похожим на процессор К4 фирмы NEC).

    Регистровый файл необычен своей длиной, он содержит до 256 регистровых банков по 8 8-разрядных регистров общего назначения (РОН) в каждом. Регистры могут объединяться в регистровые пары и также использоваться в качестве регистров-аккумуляторов. Теперь у программиста (или компилятора) появилась возможность выбора применять либо короткие команды с регистром-аккумулятором, либо более длинные и требующие на выполнение большего времени команды с РОН (зато без известной проблемы аккумуляторного "бутылочного горлышка").

    Первые 64 регистра (8 регистровых банков по 4 16-разрядных регистровых пары, включающих 2 индексных регистра, указатель данных и указатель пользовательского стека) могут работать как в качестве РОН, так и в качестве собственно адресных регистров. Индексные регистры используются для косвенной адресации данных с базой и смещением, а указатель данных добавляет к этому возможность косвенной адресации с постинкрементом и с постдекрементом. Указатель стека пользователя допускает только косвенную адресацию со смещением.

    В число системных регистров, кроме 16-разрядных счетчика команд, указателя системного стека, регистра состояния, входят 16-разрядный регистр базы локальных регистров, используемый для определения текущего регистрового банка (младший байт) и текущей страницы памяти данных (соответственно, старший байт), а также 3 8-разрядных сегментных регистра (кода, данных и таблицы), предназначенных для расширения адресуемого пространства памяти программ и данных с 64 Кбайт до 16 Мбайт. Поскольку для загрузки констант из таблиц, расположенных в памяти программ, процессор может использовать только непосредственную адресацию, для обхода подобного неудобства был введен дополнительный системный регистр, позволяющий отображать ячейки памяти программ в специальном окне в определенном участке памяти данных и соответственно использовать для адресации констант в таблице полный набор способов адресации данных.

    Система команд содержит более 100 инструкций, подразделяемых на так называемые базовые и композитные (составные) инструкции. Базовые команды используют минимальный набор методов адресации, иногда даже один (непосредственный операнд в теле команды) и имеют длину от 1 до 4 байт. Составные команды работают с расширенным набором методов адресации данных, они могут быть длиннее (от 1 до 6 байт) и выполняются за большее число циклов процессора. Некоторые базовые и составные команды полностью идентичны по своим функциям, но имеют совершенно отличные друг от друга кодировку и формат. В таких случаях компилятор выбирает базовую инструкцию как более эффективную. В большинстве своем инструкции исполняются за 2-10 циклов процессора. В зависимости от версии микроконтроллера, длительность процессорного цикла может составлять от 67 до 167 нс.

    В систему команд входят инструкции беззнаковых умножения 16x16 (21 цикл, 3 цикла при наличии аппаратного умножителя), деления 32/16 (42 цикла), умножения с накоплением (MAC), имеющегося не у всех моделей, а также 12 команд битовых операций. Нестандартной особенностью процессора является использование одних и тех же команд (с одинаковым операционным кодом) для поддержки операций с 8- и 16-разрядными операндами. Само же выполнение команды (будет ли это операция со словом или с байтом) определяется специальным флагом в регистре состояния. Подобное усложнение было сделано для увеличения количества команд без расширения разрядной сетки инструкций. С другой стороны, это породило ряд проблем, вызванных необходимостью регулярно отслеживать состояние флага определителя в процессе выполнения программы, чтобы ненароком не сотворить с байтом того, что вы хотели сделать со словом.

    Микроконтроллеры 66К имеют довольно хитроумную модель памяти данных общим размером до 16 Мбайт, разделенную на 256 сегментов. Нулевой сегмент содержит некоторые системные регистры, регистры специальных функций для управления периферией и до 2 Кбайт регистров общего назначения. Каждый сегмент разделен дополнительно на 256 частей и включает область с короткой битовой адресацией (вообще же можно адресовать любой бит по всем 16 Мбайт), область, общую для всех сегментов (для обмена данными между задачами, использующими разные сегменты), фиксированную страницу с быстрой адресацией и текущую страницу, используемую для адресации с коротким 1-байт смещением. Начало текущей страницы определяется старшим байтом системного регистра базы локальных регистров.

    Память программ поделена такимже образом на 256 сегментов по 64 Кбайт. Реально адресуемый объем памяти программ и данных (реализованный аппаратно) зависит от модели микроконтроллера. Кроме этого, не у всех МК вообще присутствуют сегментные регистры.

    Микроконтроллеры семейства MSM65xx характеризуются емкостью масочного, однократно программируемого или FLASH встроенного ПЗУ от 32 до 128 Кбайт. Емкость внутреннего ОЗУ может составлять от 1 до 4 Кбайт.

    Почти все модели МК имеют встроенное FLASH ПЗУ с возможностью внутрисхемного программирования. Память данных может включать EEPROM, а также двухпортовое ОЗУ.

    Все микроконтроллеры MSM66xx имеют встроенный АЦП с разрядностью 10 бит и с числом выходных каналов от 4 до 16 с длительностью преобразования от 128 циклов на канал. Кристалл MSM66587A имеет только 8-разрядный 4-канальный АЦП. Дополнительно в аналоговый блок у некоторых моделей МК входит 8-разрядный 2-канальный ЦАП и также детектор перехода через ноль (zero-cross detection).

    Таймерный блок включает в себя таймер временной базы или, иными словами, многовыходной программируемый предделитель, один 16-разрядный таймер и до 7 8-разрядных таймеров общего назначения (один из которых реализует функцию WATCHDOG), 8-разрядный счетчик событий, 16-разрядный free-running таймер с двумя каналами входного захвата, 15-разрядный таймер реального времени, тактируемый от вспомогательного генератора частотой 32768 Гц, 4- или 2-канальный 8-разрядный каскадируемый ШИМ.

    Кроме этого, некоторые МК включают 16-разрядный, 3-фазный, 6-канальный ШИМ для управления двигателями постоянного и переменного тока.

    Система последовательного интерфейса представлена двумя UART с совмещенными или отдельными синхронными каналами. Количество портов ввода/вывода, в зависимости от модели, составляет от 50 до 110 линий.

    Блок обработки прерываний поддерживает от 3 до 9 внешних источников прерываний.

    Микроконтроллеры MSM65xx производятся в 64/84/100/128-выводных корпусах QFP типа. Стандартное напряжение питания составляет 4,5 В. Наиболее малопотребляющие серии работают от напряжения 2,4 В с максимальным током потребления не выше 20 мА.
TEXAS INSTRUMENTS. MPS430

    16-разрядные микроконтроллеры представлены у TI двумя основными ветвями. Первое семейство TMS370C16 является дальнейшим развитием 8-разрядных МК TMS370 для применений, требующих более мощных процессоров. Вслед за тем, как в конце 90-х TI отказалась от планов дальнейшего развития и модернизации TMS370, ограничившись выпуском уже существующих версий, зловещая тень неизбежной смерти опустилась и на их старших родственников TMS370C16. На этом фоне очень оптимистично смотрятся сегодня положение и перспективы для другой ветви 16-разрядных микроконтроллеров TI, семейства Микроконтроллеры MSP430 компании Texas InstrumentsMSP430, на котором по заявлению компании будут сконцентрированы все (или почти все) усилия TI по прогрессу в области МК.

    Сами микроконтроллеры MSP430 обладают уникальными характеристиками, в частности, по микропотреблению и соотношению производительность/потребление, что позволило им занять прочные позиции в применениях, связанных с использованием энергосберегающих технологий. Почему-то сегодня иногда появляется мнение, что МК MSP430 имеют очень медленный процессор (к примеру, в журнале "Компоненты и Технологии" #3 за 2000 г., статья "Микроконтроллеры в России: вчера, сегодня, завтра", хотя рядом же соседствующий материал посвящен именно MSP430 и содержит корректные данные). Реально же (если не гнаться за рекордами в энергопотреблении) производительность MSP430 может составлять до 5 MIPS, что является отнюдь не худшим результатом для 16-разрядных МК. Мало кто из выпускаемых сейчас 16-бит микроконтроллеров имеет процессорный цикл меньше 100 нс и, более того, выполняет в течение одного этого цикла большинство команд.

    В настоящее время TI выпускает четыре основные линии МК: MSP430x310, MSP430X320, MSP430X330 и MSP430x11x, реализованные на одном базовом ядре и различающиеся в основном по быстродействию, емкости встроенной памяти и набору периферийных устройств.

    RISC-подобный неймановский процессор содержит 16 16-разрядных регистров, из которых 4 используются как счетчик команд, адресующий соответственно до 64 Кбайт памяти, указатель стека, регистр слова состояния программы и так называемый регистр формирования констант (о его назначении чуть ниже). Остальные 12 регистров являются регистрами общего назначения, используемыми по мере необходимости в качестве регистров-аккумуляторов, адресных регистров, реализующих косвенную, индексную, косвенную с постинкрементом адресацию, а также просто регистров для хранения операндов.

    Процессор использует ортогональную (симметричную) систему команд, позволяющую выполнять любую операцию с любым регистром, используя любой метод адресации. Набор команд содержит 27 базовых инструкций. Дополнительные 24 команды эмулируются процессором. То есть, например, когда компилятор встречает команду "DEC R6", то в итоге она выполняется как инструкция "SUB #1, R6".

    Необходимые для эмуляции константы формирует регистр констант. Большинство эмулируемых команд требуют на выполнение такого же (не большего) числа циклов процессора, что и базовые инструкции, за исключением пяти команд, использующих сразу несколько базовых инструкций. Формат команд, в зависимости от используемого метода адресации и типа команды, может составлять 2, 4 и 6 байт.

    При прямой регистровой адресации инструкции выполняются за один цикл процессора (до 200 нс) и занимают всего 2 байта. Использование других методов адресации может увеличить время исполнения от 2-3 (косвенная и индексная адресация для одного операнда) до 4-6 процессорных циклов (абсолютная адресация или использование косвенной и индексной адресации для обоих операндов) и, соответственно, удлинить команду до 4 или 6 байт.

    Некоторые серии MSP430 содержат аппаратный умножитель, позволяющий выполнять знаковое и беззнаковое умножение 16x16 за 1-2 цикла процессора. Правда при этом необходимо сначала перенести операнды (к примеру, из РОН) в регистры умножителя, а потом результат перенести обратно или куда-нибудь еще, чтобы воспользоваться результатом для дальнейших действий. А это - дополнительное время.

    Микроконтроллеры MSP430, в зависимости от модели, имеют встроенное ПЗУ объемом от 2 до 32 Кбайт, масочное или однократно программируемое (серия MSP430F11x содержит даже FLASH размером до 4 КБайт).

    Емкость внутреннего ОЗУ составляет от 128 байт до 1 Кбайт. МК не имеют возможности адресовать внешнюю память программ, хотя в планах TI - в будущих разработках реализовать увеличенную до 1 Мбайт сегментную модель памяти. Следовательно, использовать их в режиме микропроцессора пока нельзя. Для целей отладки выпускаются кристаллы с ультрафиолетовым стиранием.

    Номенклатура периферийных устройств зависит от серии МК.

    Серия MSP430x310 содержит довольно ограниченный набор периферии, который включает:
2 8-разрядных таймера/счетчика, каскадируемых в 16-разрядный и реализующих при необходимости функции простого интегрирующего АЦП; основной таймер, состоящий из двух 8-разрядных каскадируемых таймеров; 15-разрядный сторожевой таймер с функцией таймера общего назначения; драйвер 64- и 96-сегментного LCD-дисплея (у других серий количество управляемых сегментов может доходить до 120).

    Микроконтроллеры серии MSP430х320 дополняют этот набор блоком аналоговой обработки на основе 6-канального АЦП с разрядностью 12+2 бит, со встроенным ИОН и временем преобразования 96 и 132 циклов процессора.

    Серия MSP430x330, по сравнению с MSP430x310, имеет расширенный таймерный блок, включающий дополнительный 16-разрядный таймер/счетчик и 5 регистров захвата/сравнения. Кроме этого, они имеют аппаратный умножитель, дополнительные линии ввода/вывода, контроллер последовательного интерфейса USART.

    Последние из выпущенных микроконтроллеров MSP430x11x содержат 16-разрядный таймер/счетчик с тремя регистрами захвата/сравнения и производятся в 20-выводном корпусе SOP.

    Главным отличием МК MSP430 от других (обычных) микроконтроллеров конечно является очень высокое соотношение производительность/потребление, превышающее 660 MIPS/Watt.

    Микроконтроллеры могут формировать внутреннюю тактовую частоту (1-3 МГц) от внешнего генератора частотой 32768 Гц.

    При напряжении питания 3 В и внутренней тактовой частоте 1,1 МГц потребление микроконтроллера составляет только 350 мкА. Минимальный ток потребления в режиме ожидания не превышает 1,5 мкА. Выход из режима ожидания происходит всего за 6 мкс.

    МК MSP430 выпускаются в корпусах 48/56 SSOP (MSP430x310), 64QFP или 68PLСС (MSP430х320), 100QFP (MSP430x330).

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







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




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