Новые микроконтроллеры XMC-серии от Infineon
К сожалению, приходится констатировать, что в нашей стране серия XMC применяется пока достаточно редко. Чаще разработчики выбирают флагманскую серию микроконтроллеров TriCore. Тем не менее микроконтроллеры XMC заслуживают более пристального внимания.
Большое влияние оказывает стереотипность мышления разработчиков, которые при выборе микросхем для своих проектов чаще рассматривают такие параметры у ARM-совместимых микроконтроллеров, как максимальная тактовая частота, объем флэш-памяти и ценовой диапазон кристаллов. Поэтому не утихает ажиотаж вокруг продукции фирмы ST Microelectronics. При просмотре специализированных форумов, в частности electronix.ru, складывается впечатление, что продукция этой фирмы самая инновационная. Разумеется, маркетинговые мероприятия наряду с выпуском огромного количества дешевых оценочных плат оказывают большое влияние на популярность микроконтроллеров STM. Но наиболее интересной сферой применения микроконтроллеров является их использование в таких областях, как промышленная автоматизация, транспортные системы, энергетика, медицинское оборудование. То есть там, где востребованы такие ключевые характеристики создаваемой аппаратуры, как надежность, способность работать в неблагоприятных условиях, длительная доступность компонентов на рынке и расширенные диагностические возможности. А вот «скороспелость» продуктов, чрезмерно раздутая номенклатура скорее вызывают некоторые сомнения в оправданности выбора данных кристаллов. В указанных областях просматривается тенденция применения микроконтроллеров таких фирм, как Infineon, Atmel, Texas Instruments и Renesas, которые не только тщательно тестируют новые микроконтроллеры, но и заявляют их длительную доступность на рынке. Например, для рассматриваемых семейств Infineon определил срок доступности до 2031 года. Маркетинговая позиция Infineon и некоторая пассивность в отношении продвижения микроконтроллеров может быть охарактеризована лозунгом «Хороший товар в рекламе не нуждается».
Большинство микроконтроллеров различных фирм-производителей имеют одинаковое ядро, лицензированное у фирмы ARM Research, и зачастую складывается впечатление, будто микроконтроллеры разных фирм очень похожи. Но основное различие заключается в особенностях периферии, и за счет различных усовершенствованных режимов работы периферийных блоков микроконтроллеры фирмы Infineon могут показать значительно более высокую производительность во многих типовых задачах. Видимо, поэтому Infineon пока не стал переходить на новое ядро Cortex-M7, поскольку существующая архитектура обеспечивает достаточную производительность (принцип необходимой достаточности). Еще одна причина продолжения развития именно ядра Cortex-M4F, вероятно, заключается в том, что программа в микроконтроллерах хранится во внутренней флэш-памяти, рабочие частоты ее относительно невелики (в среднем до 30 МГц). Это обстоятельство вынуждает вводить в работу микроконтроллера дополнительные циклы ожидания и применять механизмы предвыборки и кеширования. Они хороши при обработке потоковых данных (например, аудио- и видеоинформации), но зачастую недостаточно эффективны в системах управления процессами автоматизации. Кроме того, непрозрачный механизм предсказания ветвлений усложняет сертификацию приложения на соответствие требованиям функциональной безопасности, что является обязательным для многих устройств, в которых применяется данный класс микроконтроллеров.
Можно долго перечислять сильные (и нередко уникальные) возможности периферийных блоков в микроконтроллерах Infineon, например ∆Ʃ-демодулятор (DSD), который позволяет обеспечить гальваническую развязку через оптопары со специализированными АЦП, имеющими на выходе ∆Ʃ-модулятор. Это избавляет от необходимости применения дополнительных специализированных микросхем (различных ASIC или FPGA), предназначенных для решения подобной задачи, что в конечном итоге позволяет достаточно легко в программном плане получить результаты измерений, так как необходимая фильтрация для декодирования ∆Ʃ-сигналов обеспечивается встроенным в микроконтроллер аппаратным блоком (CIC-фильтр — Cascaded Integral-Comb). В данном случае необходимо только настроить фильтр на желаемые параметры.
И такие примеры можно привести в отношении практически всех периферийных блоков семейства XMC. Вся эта развитая периферия позволяет реализовать необходимые алгоритмы частично на аппаратном уровне, что значительно разгружает вычислительное ядро микроконтроллера и уменьшает время реакции на внешние события. Хочется отметить оригинальные специализированные блоки периферии для управления светодиодными светильниками, обеспечивающими полуавтономное управление яркостью без мерцаний, специализированные каналы управления RGB-светильниками.
Типовая задача управления мощными двигателями подразумевает получение информации о положении ротора, но силовым электроприводам, как правило, нужно высокое напряжение питания. И для безопасной работы важно обеспечить гальваническую развязку между датчиками и управляющим микроконтроллером. Если в качестве датчика положения используются датчики Холла или оптические энкодеры, то количество сигналов, требующих развязки, невелико. Но двигатели, снабженные такими датчиками, значительно дороже. Для защиты силовых цепей понадобится дополнительная информация о величинах тока в обмотках двигателя и силовых шинах, что предполагает увеличение количества каналов гальванической развязки. Для оптимизации количества каналов используется передача информации в виде однобитовых импульсных последовательностей, генерируемых ∆Ʃ-модуляторами измерительной схемы. В качестве примера можно привести ADS1203 от TI или усилители с оптической развязкой и ∆Ʃ-кодированием от Avago Technologies. Часто для декодирования однобитового потока, получаемого на выходе АЦП, используются микросхемы программируемой логики, так как кроме выполнения ∆Ʃ-демодуляции необходима децимация (прореживание) и фильтрация сигнала. Если эти процедуры производить чисто программными методами, то это потребует мощного вычислительного ядра или даже специализированного сигнального процессора. В целях удешевления системы в последнее время применяют бессенсорное управление двигателями, в котором текущее положение ротора определяется по соотношению величин токов в обмотках. В этом случае нужно гальванически развязать минимум три канала измерения, и особенно важно, чтобы декодированные данные соответствовали одному моменту времени измерения. Эта задача легко решается в случае, если все АЦП выдают результаты в виде синхронных однобитовых потоков и каналы ∆Ʃ-кодирования используют единую опорную частоту.
∆Ʃ-демодулятор в микроконтроллере XMC уже содержит все необходимое для решения такой задачи. Структурная схема демодулятора представлена на рис. 1.

Рис. 1. Функциональная схема канала DSD (∆Ʃ-демодулятора)
В серии XMC доступны микроконтроллеры, имеющие до четырех ∆Ʃ-демодуляторов с единым генератором несущей. Например, микроконтроллер с рабочей частотой 120 МГц обеспечивает генерацию несущей частоты в диапазоне частот 3,7–58 кГц, формируя синусоидальное, треугольное напряжение или меандр на выходе. У каждого демодулятора есть встроенные фильтры: основные CIC (гребенчатые фильтры Хагенауэра (Hagenauer) с программно определяемыми параметрами) и вспомогательные, пониженной разрядности, но более быстрые, для определения факта выхода измеряемого параметра за определенные границы (например, для определения случаев перегрузки силовых цепей или аварийных режимов). Децимация задается отдельно для каждого канала, в диапазоне 4–256.

Рис. 2. Пример использования DSD для гальванической развязки СКВТ (векторная графика, программа INKSCAPE)
Функциональные схемы типовых применений ∆Ʃ-демодулятора для гальванической развязки схемы измерения представлены на рис. 2 и 3.

Рис. 3. Использование DSD для бессенсорного управления 3 фазным двигателем (аналогично, векторная графика)
В первом случае ∆Ʃ-демодулятор предназначен для получения данных о положении с синусно-косинусного вращающегося трансформатора (в англоязычной литературе используется термин resolver). Во втором случае показан вариант бессенсорного управления двигателем.
На рисунках видно, что такие типовые задачи решаются без привлечения дополнительных компонентов (разумеется, не считая устройств гальванической развязки) и позволяют удешевить проект, обеспечив при этом повышенную надежность.
Данная тенденция просматривается практически во всех периферийных блоках микроконтроллеров.
Показательна также реализация сопроцессора в микроконтроллере Cortex-M0. Наличие сопроцессора для микроконтроллеров с ядром Cortex-M (XMC1300) достаточно уникально. CORDIC-сопроцессор (COordinate Rotation DIgital Computer) работает на удвоенной частоте ядра (64 МГц при максимальной частоте ядра 32 МГц). 24‑разрядный CORDIC совместно с аппаратным 32‑битным делителем составляют сопроцессор, который увеличивает располагаемые вычислительные ресурсы микроконтроллера до такого уровня, что становится возможным использовать его для решения задач, традиционно требующих более мощных микроконтроллеров. Например, для бессенсорного пространственно-векторного управления трехфазными двигателями или применения в многофазных системах преобразования электроэнергии, где понадобятся достаточно интенсивные вычисления с помощью тригонометрических функций, используемых в прямых и обратных преобразованиях Парка и Кларка.
Здесь необходимо отметить понятие энергоэффективности микроконтроллеров, выпускаемых компанией Infineon. Разумеется, по сравнению со многими микроконтроллерами других производителей они не имеют выдающихся энергосберегающих характеристик, хотя современные технологические улучшения для сокращения собственного потребления микроконтроллером присутствуют. Но компания Infineon рассматривает понятие энергоэффективности в другом ракурсе. В системах преобразования энергии и в технологическом оборудовании исполнительные механизмы и приводы, которыми управляет микроконтроллер, потребляют мощность на несколько порядков (а зачастую и несколько десятков порядков) больше, чем его собственное потребление, а возможность работы такого устройства от автономного источника в данном случае не востребована. И чем качественнее осуществляется управление, тем более энергоэффективным будет все устройство.
В дополнение к микроконтроллерам серии XMC, Infineon выпускает специализированные микроконтроллеры серий TLE98xx на основе архитектуры Cortex-M3 для управления 2‑ и 3‑фазными электродвигателями. Особенностями этих решений являются максимальная рабочая температура до +150 °C, встроенная система питания, обеспечивающая питающее напряжение до 30 В с одновременным формированием вспомогательных напряжений для питания датчиков, и встроенные драйверы для управления силовыми компонентами.
Рассмотрим, какие улучшения и новые возможности будут доступны благодаря новым микроконтроллерам серии XMC.
Семейство XMC1400 является продолжением развития семейства XMC1000.
По сравнению с семейством XMC1300 новые микроконтроллеры оснащены встроенными усилителями кварцевых генераторов (в предыдущих семействах XMC1000 предлагались только встроенные RC-генераторы), используются корпуса с большим количеством выводов (QFN и LQFP c термоплощадками) и увеличена максимальная рабочая частота ядра до 48 МГц. Как и в микроконтроллерах 1300‑й серии, CORDIC-сопроцессор и аппаратный делитель работают на удвоенной частоте ядра — теперь на частоте 96 МГц. И самое главное отличие — аппаратная поддержка до двух узлов CAN-шины (MultiCAN+ в соответствии со спецификацией V2.0B и большим количеством дополнительных улучшений, повышающих эффективность работы). Увеличение тактовой частоты ядра потребовало добавления еще одного периферийного блока для предвыборки команды из флэш-памяти (PFU — PreFetch Unit). В семействе XMC1400 из флэш-памяти выбирается только одно дополнительное слово. Благодаря увеличенному количеству доступных выводов (за счет расширения номенклатуры доступных корпусов) появилась возможность одновременного использования большего количества блоков периферии: кроме двух узлов CAN, вдвое увеличено количество универсальных блоков USIC (Universal Serial Interface Channel) и блоков CCU8 (блоки таймеров с дополнительными регистрами).
Благодаря всем улучшениям и увеличению производительности более чем в два раза по сравнению с младшими представителями семейства, для решения многих задач автоматизации новые кристаллы способны заменить микроконтроллеры с ядром Cortex-M3.
Основные технические характеристики семейства XMC1400:
- Ядро Cortex-M0 с контроллером приоритетных векторных прерываний.
- Наличие ERU (Event Request Unit — периферийный модуль, предназначенный для осуществления взаимодействия и передачи событий между периферийными модулями).
- Математический сопроцессор CORDIC (тригонометрические функции), поддержка аппаратного 32‑битного деления.
- Объем памяти: ПЗУ 8 кбит, ОЗУ 16 кбит (с контролем четности), флэш-память до 200 кбит с коррекцией ошибок (ECC).
- Диапазон напряжения питания: 1,8–5,5 В.
- Поддержка кварцевых резонаторов 8–20 МГц и 32,768 кГц.
- Схема монитора работы тактовых генераторов.
- Универсальные периферийные блоки (USIC), аппаратно реализующие стандартные последовательные протоколы (синхронные и асинхронные).
- Специализированный блок управления светодиодными матрицами, совмещенный с емкостным интерфейсом ввода (LEDTS — LED and Touch-Sense Controller).
- MultiCAN+ 2 узла с буферами на 32 сообщения.
- Аналого‑цифровые преобразователи с 12 каналами и 2 схемами выборки и хранения (S&H) и установкой усиления.
- До 8 каналов компараторов, контролирующих выход сигнала за установленный диапазон.
- До трех дополнительных сервисных 8‑битных аналого-цифровых преобразователей.
- Интегрированный температурный датчик.
- Универсальные модули сравнения и захвата (CCU — Capture/Compare Units, представляющие собой четыре 16‑разрядных таймера со специализированными регистрами).
- Интерфейс декодирования сигналов от квадратурных кодеров и датчиков положения (POSIF — Position Interfaces).
- Модули управления яркостью и цветом для светодиодных источников света, обеспечивающих отсутствие мерцания при регулировании (BCCU — Brightness and Colour Control Unit).
- Встроенные часы реального времени с регистрами будильников.
- Аппаратный генератор псевдослучайных последовательностей.
- Отдельно конфигурируемые линии ввода/вывода с регулируемым гистерезисом.
- Встроенная система отладки с поддержкой SWD и SPD (single pin debug) и поддержкой четырех аппаратных точек останова.
- Доступность в корпусах PG-VQFN‑40, PG-VQFN‑48, PG-VQFN‑64 и PG-LQFP‑64.
- Расширенный температурный диапазон работы –40…+105 °C.
Средства разработки и отладки
В целях ознакомления и быстрого старта в освоении новых микроконтроллеров Infineon предлагает оценочный набор, похожий на тот, что предназначен для работы с семейством XMC1300. Соответственно набор именуется XMC1400 Boot Kit. Данный комплект, как и большинство предыдущих, имеет встроенный JTAG, реализованный на микроконтроллере XMC4200. Хотя все семейство работает со стандартными JTAG/SWD-отладчиками, Infineon предполагает использование собственного MiniWiggler. И одна из функций, а именно настройка BMI-регистра (Boot Mode Index), который определяет, какие отладочные интерфейсы разрешены, и поведение кристалла после перезагрузки, поддержана только в среде Dave и в программе Memtools. Таким образом, когда необходимо будет после завершения разработки обеспечить прошивку кристаллов через утилиту Memtool, JTAG на XMC4200 может оказаться полезным. Внешний вид оценочной платы представлен на рис. 4.
Микроконтроллеры на ядре Cortex-M4F пополнились сразу тремя сериями устройств. И если семейство XMC4700 получило только экстенсивное развитие, то в сериях XMC4300 и XMC4800 появился новый функционал в виде поддержки промышленных сетей EtherCAT. Данный интерфейс разработан компанией Beckhoff (в основе лежит использование Ethernet). Основные реализации данного стандарта требовали применения для подчиненных устройств заказного ASIC. Функционал этого чипа (ET1100) теперь реализован в виде периферийных блоков микроконтроллеров XMC4300 и XMC4800. Особенности EtherCAT и перспективы развития достаточно хорошо описаны в статье «От классической полевой шины (fieldbus) к EtherCAT» в журнале «Современные технологии автоматизации». Кроме этого, материалы доступны на сайте компании Beckhoff.
Основные характеристики семейства XMC4700:
- Ядро Cortex-M4F с рабочей частотой до 144 МГц.
- До 2 Мбит флэш-памяти и 352 кбит ОЗУ.
- До шести аппаратных CAN.
- Ethernet — MAC-уровень, режим USB-OTG, поддержка SD/MMC-карт.
- Шесть каналов USIC.
- Поддержка внешней шины (External Bus Unit).
- 4×12‑бит аналого‑цифровых преобразователей, с организацией до 18 каналов, с поддержкой режимов выборки и хранения (S&H — 4 канала).
- Два канала цифро-аналогового преобразования с разрядностью 12 бит.
- До четырех каналов ∆Ʃ-демодуляторов.
- Двадцать четыре 16‑битных таймера с возможностью организации режима dead time.
- Два канала определения положения (POSIF — Position Interface).
- Корпуса LQFP‑100, 144 и LFBGA‑196.
- Температурный диапазон –40…+85 °C.
Для данного семейства, по аналогии с XMC4500, в качестве оценочных плат предлагается XMC4700 Relax Kit в трех различных версиях: Lite, обычный и вариант с установленными трансляторами уровней, позволяющими подключать дополнительную периферию, имеющую питание 5 В. Вид Relax Kit, оценочной платы XMC4700, представлен на рис. 5.
Для семейства XMC4800 характеристики аналогичны, но доступны микросхемы с рабочей температурой до +125 °C, и главное отличие — присутствие аппаратного блока EtherCAT.
Оценочная плата (рис. 6) состоит из двух частей — основной платы, аналогичной Relax-вариантам, и дополнительной платы для работы с EtherCAT, имеющей интерфейс подключения к основной плате и два канала физического уровня Ethernet в соответствии с требованиями стандарта.
В качестве основной среды разработки и отладки фирма Infineon предлагает свою среду Dave. Она реализована на основе Eclipse, но имеет значительные изменения в концепции (компонентно-ориентированное программирование). Данная концепция позволяет легко создавать приложения с несколькими аппаратными блоками, выполняющими аналогичные функции, генерировать низкоуровневые драйверы для периферии, легко конфигурировать периферию с помощью графического интерфейса, распределять функциональное назначение выводов и многое другое, вплоть до полного цикла разработки и отладки приложения. Система бесплатна и позволяет экспортировать сгенерированные низкоуровневые драйверы в системы разработки таких фирм, как IAR, Keil и многие другие. Среда программирования Dave постоянно улучшается, недавно было выпущено очередное обновление до версии 4.2.4. Кроме поддержки новых микроконтроллеров и периферийных блоков, ревизии подверглись DaveApp — мастера, позволяющие легко в графическом виде сконфигурировать стандартные периферийные блоки и определить все взаимные связи между функциональными блоками микроконтроллера.
Большое внимание компания Infineon уделяет поддержке своих микроконтроллеров со стороны различных инженерных программ (например, Simulink), поддержке микросхем программными библиотеками для проверки и сертификации на функциональную безопасность.
Новые микроконтроллеры Infineon позволяют создавать высокопроизводительные и надежные устройства для промышленной автоматизации, системы преобразования энергии и управления освещением, программируемые логические контроллеры, системы управления электрическими двигателями.
- infineon.com
- Сапожников А. От классической полевой шины (fieldbus) к EtherCAT. cta.ru/cms/f/434755.pdf
- avagotech.com/motorcontrol /ссылка утрачена/