Микроконтроллеры infineon technologies. Умный свет. Технологии и микросхемы от Infineon

Снизить сложность и стоимость внедрения технологий стандарта EtherCAT позволят микроконтроллеры новой серии XMC4300 , выпущенные компанией . Без ущерба для функциональности EtherCAT XMC4300 оптимизировались для чувствительных к стоимости промышленных приложений, предъявляющих также высокий уровень требований к гибкости конструирования, простоте подключения и характеристикам реального времени. Основными сферами применения микроконтроллеров являются системы автоматизации производственных процессов, управление промышленными электродвигателями, модули ввода/вывода и робототехника. За основу приборов XMC4300 были взяты микроконтроллеры серии XMC4800 , в которых основной акцент был перенесен на функции, необходимые для создания коммуникационных устройств, исполнительных механизмов и датчиков.

С микроконтроллерами XMC4300 и XMC4800 EtherCAT становится несравнимо проще

XMC4300 и XMC4800 - это первые в отрасли микроконтроллеры на основе процессорного ядра ARM Cortex-M, в которые интегрированы узлы EtherCAT, флеш-память, а также средства обработки аналоговых и смешанных сигналов. Решения, в которых используются обе серии, будут исключительно компактными, поскольку для создания контроллера ведомого устройства EtherCAT им не требуются дополнительные компоненты, такие, как специализированные микросхемы EtherCAT, внешняя память или кварцевый синхрогенератор. Необходимая интерфейсу EtherCAT частота 25 МГц обеспечивается встроенной схемой ФАПЧ. 144-мегагерцовый процессор Cortex-M4 может исполнять программный код, находящийся как в интегрированном ОЗУ, так и в флеш-памяти.

С помощью XMC4300 и XMC4800 появляется возможность реализации исключительно элегантных решений для построения смешанных сетей CAN и EtherCAT. Микросхемы позволяют создавать шлюзы CAN - EtherCAT, использующие эффективный обмен по каналам ПДП. XMC4300 содержат 256 КБ флеш-памяти и 128 КБ ОЗУ. Микроконтроллеры имеют два узла CAN с буфером FIFO для принимаемых и передаваемых сообщений, способным вместить до 64 объектов. Таким образом, практически весь обмен происходит автономно, без взаимодействия с центральным процессором. Серия XMC4300 сертифицирована для работы в диапазоне окружающих температур до 125 °C.

Доступность XMC4300 и XMC4800

В настоящее время выпускаются два устройства серии XMC4300, отличающихся верхней границей температурного диапазона - 85 °C и 125 °C. Поставляемые в корпусах LQFP-100 микросхемы полностью совместимы с микроконтроллерами серии XMC4800 как по выводам, так и по набору команд.

Как XMC4300, так и XMC4800 уже запущены в массовое производство. В последующем оба микроконтроллера будут сертифицированы на соответствие стандарту AEC Q100, что откроет им дорогу к широкому использованию в коммерческом, строительном и сельскохозяйственном транспорте.

Подключи и работай. Установка EtherCAT с XMC4300

В помощь разработчикам Infineon предлагает прототипную плату, набор XMC4300 Relax EtherCAT и соответствующие средства программной поддержки, позволяющие немедленно создать узел EtherCAT. Набор XMC4300 Relax EtherCAT содержит микроконтроллер XMC4300, внутрисхемный отладчик, узлы EtherCAT и CAN, а также интерфейс USB. Для разработки программ Infineon предоставляет бесплатную среду DAVE с библиотеками для низкоуровневых драйверов и приложений. Для работы с EtherCAT в DAVE используется код стека ведомого устройства (SSC), созданный компанией Beckhoff. В дополнение к бесплатной DAVE потребители могут приобрести коммерческую версию EtherCAT, в которую включены стеки ведомых устройств от проверенных сторонних производителей.


Сегодня глобальный рынок микроконтроллеров в значительной степени во власти 8-разрядных и 16-разрядных микроконтроллеров. Сегмент 32-разрядных приборов относительно мал, но в перспективе отмечается тенденция к его росту. Аналитики отмечают, что в ближайшем будущем в автомобильных применениях львиную долю рынка будут занимать 16-разрядные приборы. Несмотря на некоторое снижение спроса на автомобильные микроконтроллеры в 2001 году, в связи с некоторым экономическим спадом, уровень спроса на 16-разрядные микроконтроллеры продолжает расти, что объясняется возрастающей потребностью в комплексной автоматизации управления автомобилем. Известен пример: в современном автомобиле повышенной комфортности BMW745i используется до 60 микроконтроллеров.

С начала 2001 года, в ответ на растущие потребности рынка, автомобильное/промышленное подразделение микроконтроллерного отделения фирмы Infineon выпустило несколько новых приборов. В это новое поколение приборов входят: 8-разрядные приборы класса «система-на-кристалле» (C868), новое поколение 16-разрядных Flash микроконтроллеров (XC161, XC164 и XC167), и новый член признанного 32-разрядного семейства микроконтроллеров AUDO (TC1765). Новые микроконтроллеры предоставляют разработчикам промышленных и автомобильных применений возможность существенного снижения стоимости разработки, значительно сокращая длительность проектирования и сокращая, таким образом, время вывода на рынок конечного продукта. Разработанные специально под жесткие требования промышленных и автомобильных применений, все новые 8-разрядные, 16-разрядные и 32-разрядные семейства гарантируют плавный переход от ранее разработанных семейств к новым приборам.

Данная статья посвящена 16-разрядным Flash микроконтроллерам семейства XC166 (XC161, XC164 и XC167), в основе которых новая усовершенствованная архитектура C166S V2.

Фирма Infineon позиционирует эти приборы, преимущественно, как микроконтроллеры для автомобильных применений (приборные панели, оборудование автомобильных салонов, интеллектуальные фары, подушки безопасности, электроусиление рулевого управления, приводы). В то же время, особо отмечается возможность использования микроконтроллера XC167 для управления приводом промышленного назначения, в средствах управления промышленным производством.

Отличительные особенности:

  • Усовершенствованное синтезируемое высокопроизводительное 16-разрядное ядро CPU C166S V2 c 5-уровневым конвейером и поддержкой DSP операций встроенным блоком MAC
  • Работа с частотой тактирования CPU до 40 МГц (длительность командного цикла 25 нс)
  • Линейное пространство адресов кодов и данных объемом 16 Мбайт
  • 8 Кбайт (XC161CJ и XC167CI) или 6 Кбайт (XC164CS) встроенной RAM
  • 128 Кбайт современной Flash (у XC164CS также и ROM) памяти программ
  • Гибкий синхронный интерфейс внешней шины
  • Система прерываний с 16 уровнями приоритета (8 групп уровня приоритета)
  • Встроенный контроллер отладки с интерфейсом контроллера JTAG
  • Гибкое управление системой, встроенной периферией и распределением питания
  • Мощные подсистемы ориентированной на применения интеллектуальной периферии (см. Табл. 1)
  • Диапазон рабочих температур: от -40°C до +125°C
  • Напряжение питания: питание ядра напряжением 2,5 В, питание портов напряжением 5 В

В архитектуре микроконтроллеров XC166 хорошо сбалансированы преимущества RISC, CISC и DSP процессоров в сочетании с усовершенствованной подсистемой периферии.

Взаимодействие CPU с памятью, в том числе внешней, организуется посредством блоков управления PMU (управляет доступом к блоку памяти программ – IMB и к внешней памяти) и DMU (управляет поступлением данных из памяти данных и периферии) связанных к тому же с контроллером внешней шины (EBC).

Блоки встроенной памяти позволили реализовать очень компактный кристалл, обеспечивающий высокую производительность в самых разных областях применений (в вычислительных средствах, средствах управления и коммуникации и т.п.). И блоки встроенной памяти (память программ и SRAM, двухпортовая RAM, SRAM данных) и подсистема встроенной периферии соединяются посредством раздельных шин. Еще одна шина – шина LXBus – используется для соединения с внешними ресурсами и рядом дополнительных встроенных ресурсов. Расширенная структура шин повышает общую производительность системы, обеспечивая одновременную работу различных подсистем.

В качестве базового, при рассмотрении микроконтроллеров серии XC166, возьмем микроконтроллер XC161CJ.

Блок-схема этого микроконтроллера приведена на Рис. 1.

Рис. 1. Блок-схема микроконтроллера XC161CJ

Поскольку в первую очередь основные характеристики микроконтроллеров зависят от используемого ядра, то рассмотрение микроконтроллеров серии XC166 начнем с рассмотрения ядра C166S-V2, блок-схема которого показана на Рис. 2.


Рис. 2. Блок-схема ядра CPU микроконтроллеров XC166

Основными блоками ядра CPU, как видно из Рис. 2, являются:

  • Высокопроизводительный блок выборки команд (Instruction Fetch Unit - IFU) располагающий: широкополосным интерфейсом выборки, FIFO команд, стеком возврата и обеспечивающий высокоэффективную обработку ветвлений, вызовов и циклов с предсказанием потока команд.
  • Блок обработчика включений/исключений организующий: обработку запросов прерываний, обработку аппаратных непредусмотренных ситуаций (Hardware Traps)
  • Конвейер команд (Instruction Pipeline - IPIP) с 5-уровневым конвейером исполнения и 2-уровневым конвейером выборки команд с упреждением и обходом
  • Блок адресов и данных (Address and Data Unit - ADU) с 16-разрядным арифметическим устройством формирования адресов и блоком адресов DSP с установкой специального адреса и указателей смещения
  • Арифметико-логическое устройство (Arithmetic and Logic Unit - ALU) с блоком 8- и 16-разрядной арифметики, 16-разрядным циклическим сдвигающим устройством (Barrel Shifter), блоком умножения и деления, блоком 8- и 16-разрядной логики и блоком манипулирования битами
  • Блок умножения и аккумулирования (Multiply and ACcumulate Unit - MAC) с 16-разрядным умножителем с формированием 32-разрядного результата), 40-разрядным аккумулятором с 40-разрядным циклическим сдвигателем, блоком управления повторами. 75% всех команд блока MAC выполняется за один цикл CPU.
  • Регистровый файл (Register File - RF) - 5-портовый регистровый файл с тремя независимыми банками регистров
  • 3-входовый буфер обратной записи (Write Back Buffer - WB)

Использованная в микроконтроллерах XC166 новая архитектура С166S-V2 оптимизирована под выполнение высокопроизводительных команд и минимальное время реакции (отклика) на внешние прерывания. В то же время, интеллектуальный принцип построения интегрированной с ядром системы периферийных модулей позволяет значительно уменьшить загрузку вычислительного ядра (CPU). Основными отличиями нового ядра от ядра C166 стали: расширение конвейера (C166 располагал 4-уровневым конвейером); более высокая тактовая частота и, следовательно, меньшая длительность рабочего цикла; выполнение практически всех команд за один цикл; выполнение ноль-циклового контекстного переключения; расширение 16-разрядного указателя стека до 24 разрядов. В итоге ядро C166S V2 обеспечивает более чем в два раза большую производительность, по сравнению со своим предшественником - ядром C166S V1, сохранив при этом совместимость по кодам, обеспечив простой переход от стандартных, уже эксплуатируемых микроконтроллеров семейства C166 к новому высокопроизводительному семейству XC166.

Память микроконтроллеров серии XC166 реализована по комбинированной архитектуре - «Harvard» и «von Neumann». Согласно с архитектурой «Harvard» память кодов и данных разделена, и такое физическое разделение позволяет организовать одновременный доступ и к кодам и к данным, увеличивая при этом производительность. Согласно с архитектурой «von Neumann» коды и данные размещаются в едином адресном пространстве, составляющем 16 Мбайт, что позволяет эффективно использовать память.

Расположенная в блоке IMB встроенная Flash память кодов и констант микроконтроллеров XC166 занимает 128 Кбайт адресного пространства и подразделяется на четыре сектора по 8 Кбайт, сектор емкостью 32 Кбайта и сектор емкостью 64 Кбайта. Flash память, оснащенная встроенным механизмом коррекции ошибок (ECC), взаимодействует с CPU (через PMU) посредством 64-разрядного интерфейса, что позволяет CPU считывать четыре 16-разрядные команды инструкции за один раз. Через блок PMU с CPU взаимодействуют также кэш-память программ (RAM емкостью 2 Кбайта) и ROM начального запуска (Start up ROM).

Память данных организована из регистрового двухпортового ОЗУ (DPRAM), с обращением короткой адресацией и возможностью одновременного доступа для записи и чтения; и блока памяти данных. К блоку памяти данных CPU обращается посредством 16-разрядного блока DMU.

Такая организация памяти позволяет CPU одновременно взаимодействовать с 64-разрядным кодом Flash памяти и с тремя 16-разрядными источниками данных (два в двухпортовом ОЗУ и один источник данных памяти данных или периферии).

Таблица 1. Карта памяти микроконтроллера XC161CJ 1)

  1. Обращение к затемненным областям формирует обращение к внешней шине.
  2. Отмеченные символом “Ячейки не определенных регистров возвращают коды непредусмотренных ситуаций.

Через блок DMU, при посредстве шины PD+Bus, полностью совместимой с шиной PDBus приборов семейства С166, происходит обмен данными между CPU и встроенной периферией. Также через блок DMU организуется взаимодействие CPU с внешней шиной. Модули встроенной периферии микроконтроллеров семейства XC166 по своим функциям, за исключением модуля TwinCAN, практически полностью совпадают с аналогичными модулями периферии микроконтроллеров семейства C166. Набор и количество периферийных модулей для каждого прибора семейства XC166 показан в Табл. 1. Здесь же отметим основные возможности модулей.

Модуль таймеров общего назначения (GPT12E) - очень гибкая структура многофункциональных таймеров/счетчиков, которую можно использовать в большом количестве связанных с временными промежутками задач, типа определения момента события и счета, определения ширины импульса и измерения скважности, генерации импульсов или их размножения. Модуль GPT12E содержит пять 16-разрядных таймеров, организованных в два отдельных модуля: GPT1 и GPT2. Каждый таймер каждого модуля может работать автономно или же может быть объединен с другим таймером того же самого модуля. Каждый таймер может быть индивидуально сконфигурирован в один из четырех основных режимов работы, таймера, стробируемого таймера, в режим счетчика и в режим инкрементного интерфейса (только таймеры GPT1). Максимальное разрешение таймеров модуля GPT1 - 8 циклов сигнала тактирования CPU. Максимальное разрешение таймеров модуля GPT2 составляет 4 цикла сигнала тактирования CPU.

Модули захвата/сравнения (CAPCOM1/2) управляют формированием последовательностей временных промежутков, поддерживая до 32 каналов с максимальным разрешением 16 tCL. Модули CAPCOM используются для: формирования импульсов и импульсных последовательностей, широтно-импульсной модуляции (PMW), цифро-аналогового (D/A) преобразования, организации программного тактирования или регистрации времени, относящегося к внешним событиям. Четыре 16-разрядных таймера (T0/T1 в CAPCOM1, T7/T8 в CAPCOM2) с перезагружаемыми регистрами формируют две независимых временных базы для массива регистров захвата/сравнения. Входной сигнал тактирования таймеров организуется программированием коэффициентов предварительного деления сигнала тактирования системы, или же может быть организован сигналами переполнения/антипереполнения таймера T6 модуля GPT2.

Модуль захвата/сравнения CAPCOM6, которым оснащены микроконтроллеры XC164 и XC167, предназначен для формирования, в первую очередь, PWM сигналов управления электродвигателями.

Временные последовательности формируются с использованием до трех 16-разрядных каналов захвата/сравнения и еще одного автономного 10-разрядного канала сравнения.

В режиме сравнения модуль CAPCOM6 формирует по два выходных сигнала (прямой и инверсный) по каждому каналу с промежутками запирания между импульсами (управление deadtime). Канал сравнения может формировать и одиночный выходной сигнал и, кроме того, может быть использован для модуляции выходных сигналов захвата/сравнения. В режиме захвата, по переходу сигнала на выводе входа, состояние таймера сравнения T12 сохраняется в регистре захвата.

Таймеры сравнения (16-разрядный T12 и 10-разрядный T10) являются таймерами свободного счета с тактированием сигналом предварительного делителя

Аналого-цифровой преобразователь (ADC), выполняющий 10-разрядное преобразование за 2,85 мкс (минимум), имеется в каждом микроконтроллере семейства XC166, однако количество мультиплексируемых каналов зависит от типа микроконтроллера, от количества выводов корпуса. ADC реализован по методу последовательного приближения, диапазон измеряемых напряжений составляет от 0 до 5 В, и главным его отличием от ADC приборов семейства C166 стала встроенная автоматическая самокалибровка, корректирующая влияние температуры или условий работы микроконтроллера на результат преобразования, и функция Auto-Power-Down. Над результатом преобразования, записываемым в регистр, выполняется процедура обнаружения/защиты от ошибки переполнения. В тех применениях, для которых достаточно меньшего количества каналов входа аналогового сигнала, остающиеся входы каналов могут быть использованы как порты цифровых входов.

ADC поддерживает ряд режимов преобразования: однократное преобразование фиксированного канала, непрерывное преобразование фиксированного канала, однократного преобразования с автосканированием непрерывного преобразования с автосканированием. Кроме того, в выполняемую последовательность преобразований может быть вставлено (инжектировано - injected) преобразование какого-то специфического канала.

С тем, чтобы сократить непроизводительные затраты вызова и выхода из подпрограмм обработки прерываний, при каждой передаче результатов преобразования в память может быть использован контроллер событий периферии (PEC).

Модуль часов реального времени (RTC) это, в основном, независимый таймер. Базовая частота RTC может быть запрограммирована посредством перезагружаемого таймера.

Новыми возможностями часов реального времени стали: формирование прерывания для активации микроконтроллера в заданное время, работа в синхронном системной частоте или асинхронном режимах, возможность отключения от питания микроконтроллера с подключением собственного источника питания.

Асинхронные/синхронные последовательные интерфейсы (ASCx) обеспечивают последовательную связь между хост микроконтроллером и другими микроконтроллерами, микропроцессорами или внешними периферийными устройствами. Интерфейсы ASCx поддерживают полнодуплексную асинхронную связь и полудуплексную синхронную связь. В асинхронном режиме пересылаются 8 или 9 битов данных с заданием контроля четности и количества стоповых битов. Для обеспечения надежности передачи данных выполняется контроль четности, фрейминга и переполнения. В синхронном режиме данные передаются или принимаются синхронно с сигналом тактирования, формируемым внутри ASC.

В дополнение к возможностям ASC микроконтроллеров семейства C166, ASC новых микроконтроллеров оснащены FIFO передачи и приема данных, в специальном асинхронном режиме ASC0 поддерживают IrDA передачу данных с производительностью до 115,2 Кбод с фиксированной или программируемой шириной IrDA импульса, поддерживают автоматическое определение бодовой скорости.

Для обеспечения многопроцессорной связи организован механизм распознавания адреса среди байтов данных. 13-разрядный генератор бодовой скорости обеспечивает формирование ASC0 отдельного последовательного синхросигнала с очень точной настройкой предварительным делителем, выполненным по схеме дробного делителя. Модулем формируются прерывания: по пустому буферу передатчика, по последнему биту фрейма, по полному буферу приемника, по ошибке и по запуску и окончанию автоматического детектирования бодовой скорости.

Быстродействующие синхронные последовательные каналы (SSCx) поддерживают полно- и полудуплексную последовательную синхронную связь с производительностью до 20 Мбод (при частоте тактирования 40 МГц). Формат данных, направление сдвига, полярность синхросигнала и фаза программируются. Специальный бодгенератор позволяет настраивать все стандартные бодовые скорости без настройки подсистемы тактирования. Модуль SSCx передает или получает символы длиной от 2 до 16 битов синхронно с сигналом сдвига, формируемым SSCx (в режиме ведущего) или внешним ведущим (в режиме ведомого). Сдвиг SSCx может начинать как с LSB, так и с MSB. Полностью поддерживаются все функции SPI. Для увеличения надежности пересылки данных используется ряд дополнительных возможностей обнаружения аппаратных ошибок. Прерывания формируются модулем: по пустому передатчику, по полному приемнику, по ошибке и по запуску и окончанию автоматического детектирования бодовой скорости.

Модуль канала последовательных данных (SDLM). Опция модуля канала последовательных данных (SDLM), соответствующая спецификации SAE Class B J1850 модуляции с переменной шириной импульса (VPW) и, по совместимому с Class B протоколу, обеспечивает последовательную связь через мультиплексируемую последовательную шину, типа J1850, через внешний приемопередатчик шины J1850. Модуль, оснащаемый буферами приема и передачи по 11 байтов, способен работать со стандартной производительностью 10,4 Кбод или с высокой (4-кратной) производительностью 41,6 Кбод.

Модуль шины I2C передает и принимает фреймы данных по двухпроводной I2C шине, в соответствии со спецификацией IIC Bus. Оснащенный буферами приема/передачи модуль может работать, используя 7- или 10-разрядную адресацию в режиме ведомого, в режиме ведущего или в режиме с множеством ведущих.

Под управлением программы может быть установлено динамическое обращение к нескольким физическим шинам (до 3). Данные могут пересылаться с производительностью до 400 Кбит/с. Назначенные модулю I2C два узла прерывания обеспечивают эффективное обслуживание прерываний и, кроме того, поддерживают работу через пересылки PEC.

Модуль TwinCAN, заменивший используемый в микроконтроллерах семейства C166 модуль CAN, взаимодействует с CPU посредством шины LXBus, работающей аналогично внешней шине. К шине LXBus подсоединены два (как опция) или один узел Full-CAN. Передача и прием CAN фреймов обрабатываются в соответствии со спецификацией CAN V2.0 part B (active). Каждый из двух Full-CAN узлов может получать и передавать стандартные фреймы с 11-разрядными идентификаторами и расширенные фреймы с 29-разрядными идентификаторами. Два узла CAN используют ресурсы TwinCAN модуля совместно, оптимизируя обработку трафика шины CAN и минимизируя нагрузку CPU.

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

Сигнал тактирования битов в обоих узлах CAN формируется из сигнала тактирования периферии (fCAN) и может быть запрограммирован до скорости передачи данных в 1 Мбод. Каждый узел CAN соединяется с приемопередатчиком шины парой выводов приема и передачи данных.

Управление прерываниями и исключениями организуется специальным контроллером (Interrupt Controller and PEC (Peripheral Event Controller)). Контроллер прерываний микроконтроллеров XC166, по сравнению с микроконтроллерами семейства C166, обеспечивает обработку большего количества источников или узлов прерываний (до 128 с 16 уровнями приоритета) и большее количество групп (до 8). Типовая задержка прерывания, в случае внутренней обработки программ и данных, не превышает 200 нс (8 циклов). Уровень запроса 8-канального контроллера событий периферии (PEC), работающего с 24-разрядными указателями источников и назначений и организующий DMA пересылки, теперь программируется от наивысшего 15 уровня до уровня 8.

Управление системой и организация специфических для применения функций организуются в модуле управления системой (System Control Unit – SCU). Модуль SCU состоит, в свою очередь, из субмодулей, реализующих функции: централизованного управления работой системы, управления сбросом, управления потреблением, восстановления работоспособности системы после сбоев (WDT), формирования сигналов тактирования (CGU) и управления внешними прерываниями (до 8 входов быстрых асинхронных прерываний).

По сравнению с микроконтроллерами семейства C166 возможности SCU расширены средствами управления идентификацией и компенсации влияния изменения температуры.

Одно из основных преимуществ микроконтроллеров семейства XC166 – встроенная поддержка отладки (On Chip Debug Support – OCDS) предоставляющая пользователю возможность эмулировать самые важные аппаратные средства без использования эмуляционного кристалла. Основное назначение OCDS, управляемой внешним отладочным устройством через интерфейс JTAG - отладка пользовательского программного обеспечения непосредственно в системе пользователя. Встроенная отладка позволяет устанавливать аппаратные и программные контрольные точки, контрольные точки внешних выводов, отслеживать состояния GPRS/памяти, пошагово выполнять программу.

Внутрисхемная эмуляция (On-Chip Emulation - OCE) приборов семейства XC166 обеспечивает функциональность отладки в реальном масштабе времени, в случае эмуляции ресурсов, способствует отладке программ применения. Внутрисхемная эмуляция обеспечивает расширенные возможности переключений, включая: события указателей команд, события данных по адресам или значениям, внешние входы, счетчики, последовательности событий, таймеры и т.п. Поддерживаются программные остановы, во время режимов останова или мониторинга, обслуживаются прерывания

Фирмой Infineon разработан и распространяется бесплатно пакет DAvE 2.1 (Digital Application Engineer) – инструмент разработчика, позволяющий существенно сократить время разработки программ пользователя. Интерфейс DAvE гибок и очень прост, что позволяет быстро его освоить даже начинающему пользователю. Этому же способствует встроенная система оперативной справочной информации.

Непосредственно в DAvE пользователь выбирает модель микроконтроллера и специфические для проекта настройки, включая системную частоту и присваивание имени файла, получаемого при генерировании кода.

DAvE позволяет, вызвав любой блока периферии микроконтроллера, задать требуемые установки и настройки, предлагаемые в табличном виде.

После настройки всех определенных периферийных блоков пользователь может с помощью DAvE сгенерировать С-код и использовать его как исходный код в своем проекте.

Кроме того, DAvE содержит готовые шаблоны С-файлов, Header-файлов и документацию.

Фирмой разработаны и могут быть поставлены отладочные средства под микроконтроллеры семейства XC166. Но необходимо отметить, что аналогичные отладочные средства уже созданы и в нашей стране и стоимость этих средств существенно ниже фирменных.

Подведем итоги краткого рассмотрения основных возможностей 16-разрядных микроконтроллеров нового семейства фирмы Infineon.

Новое ядро, расширенный набор встроенной периферии и интеллектуальное управление периферией обеспечивают более чем в два раза большую производительность, чем предшествовавшее семейство C166. В то же время, сохранена совместимость кодов, что позволяет разработчикам использовать ранее наработанные программные средства, позволяет достаточно просто перейти на новое семейство. Новая сверхнадежная память обеспечивает работу в диапазоне температур от - 40°C до +125°C, сохраняя данные в течение 15 лет. Хорошая электромагнитная совместимость обеспечивает устойчивую работу микроконтроллеров семейства XC166 в условиях сильных электромагнитных помех.

Новое семейство 32 — разрядных микроконтроллеров для промышленного применения XMC4000 компании Infineon объединяет мощную передовую периферию и стандартное ядро ARM® Cortex™-M4, ориентируясь на разработку энергоэффективных конечных приложений.

Микроконтроллер XMC4500 является первым представителем данного семейства, предназначенного для реализации логики управления в различных промышленных приложениях и обеспечивающего ускорение цикла разработки конечных изделий, что является исключительно актуальным в условиях современного динамичного рынка. Особое внимание при разработке данного контроллера уделено сокращению энергопотребления и поддержке большого количества коммуникационных стандартов. Используя многолетний опыт и наработанные за последние десятилетия ноу-хау, компания Infineon создала уникальный продукт, сочетающий преимущества стандартного широко известного ядра и лучшего в отрасли набора периферии для работы в режиме реального времени.

Первые микроконтроллеры XMC4500 и сопутствующие инструментальные средства будут доступны во 2 квартале 2012 года.

Отличительные особенности:

  • Ядро ARM® Cortex™ — M4 с рабочей частотой до 120 МГц, включающее аппаратный блок вычислений с плавающей точкой и модули, ориентированные на цифровую обработку сигналов в реальном времени, например, реализацию операции «умножение с накоплением» за один машинный такт
  • 1 МБайт быстродействующей FLASH-памяти с временем считывания данных 22 нс и кодом исправления ошибок ECC
  • 160 КБайт RAM памяти
  • 12-канальный контроллер прямого доступа к памяти
  • IEEE 1588 — совместимый Ethernet контроллер доступа к среде (MAC)
  • Полноскоростной интерфейс USB 2.0
  • Модули полнофункциональных таймеров, четыре ШИМ-канала высокого разрешения (150 пс), интегрированные схемы дельта-сигма модуляторов и управления клавиатурой
  • Четыре 12-разрядных АЦП с частотой выборки 70 нс и временем преобразования 500 нс, два 12-разрядных ЦАП
  • Шесть последовательных каналов связи, которые могут быть индивидуально сконфигурированы как интерфейсы UART, SPI, Quad SPI, I 2 C, I 2 S или LIN
  • Три узла CAN
  • Высокоскоростной интерфейс внешней шины, поддерживающий синхронные стандарты, такие как SDRAM или Burst Flash, а также асинхронные стандарты – SRAM, NAND FLASH и NOR FLASH
  • Интерфейс карт памяти SD/MMC
  • Интерфейс сенсорной клавиатуры и светодиодной матрицы
  • Часы реального времени с возможностью питания от батареи
  • Расширенный диапазон рабочих температур до +125°C

Область применения:

  • Системы управления электродвигателями
  • Системы определения положения
  • Устройства ввода-вывода
  • Элементы построения человеко-машинного интерфейса систем управления
  • Преобразователи солнечной энергии
  • Импульсные источники питания
  • Системы контроля и управления
  • Системы передачи данных по линиям электропередач
  • Источники бесперебойного питания

Инструментальные средства:

Интегрированная среда разработки DAVE™ 3 обеспечивает удобный, быстрый и ориентированный на конкретное приложение процесс создания программного обеспечения. Модульная среда разработки на базе Eclipse с бесплатным компилятором GNU, отладчиком и утилитами отображения данных может быть расширена инструментами третьих фирм. DAVE™ 3 также поддерживает автоматическую генерацию объектных кодов на базе предопределенных программных компонентов – так называемых «Приложений DAVE». Данные компоненты конфигурируются с помощью удобного графического пользовательского интерфейса и охватывают широчайший спектр использования: от всех видов драйверов периферийного оборудования, например, PWM, SPI, CAN или ADC приложений, компонентов среднего уровня, таких как TCP / IP, USB, поддержки файловой системы и графического интерфейса, приложений для управления двигателем и автоматизации, вплоть до полностью настраиваемых встроенных приложений.

Базовые инструменты DAVE™ 3 могут быть бесплатно загружены с сайта www.infineon.com/dave . Основой DAVE™ 3 являются Менеджер загрузки, позволяющий загружать и конфигурировать Приложения DAVE из сети Интернет и Генератор кодов DAVE™, осуществляющий автоматическую генерацию объектных кодов и обеспечивающий бесконфликтное использование аппаратных средств, а также распределение выводов контроллера. Сгенерированный код может быть непосредственно скомпилирован, отлажен и отображен в DAVE™ 3 или импортирован в инструменты третьих фирм для дальнейшей обработки.

Hexagon Application Kit является модульной, расширяемой платформой для отладки приложений на базе семейства XMC4000 и представляет собой ряд периферийных модулей, стыкующихся с центральным модулем контроллера для быстрого прототипирования специальных приложений, таких как системы управления двигателем со схемой импульсного датчика положения, системы автоматизации с использованием интеллектуальных гальванически изолированных ключей ISOFACE™ компании Infineon, системы преобразования энергии, такие как солнечные инверторы.

Периферийные модули обеспечивают подключение SD/MMC карт памяти, сенсорной клавиатуры, OLED дисплея, средств обеспечения аудиофункционала. Также с их помощью могут быть реализованы интерфейсы Ethernet, CAN и RS485.

М. Ахметов

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 и I 2 C.

Микроконтроллеры ХА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 и I 2 C интерфейса.

Кроме стандартных режимов 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; несколько моделей оснащено контроллером I 2 C-шины;
  • контроллер прерываний, поддерживающий до 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).


  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то