В настоящее время линейка микроконтроллеров компании состоит из широкого ряда микросхем различного назначения от стойких к воздействию специальных факторов микроконтроллеров, ориентированных на применения в экстремальных условиях до недорогих коммерческих микросхем для применения в оборудовании гражданского назначения.
Одной из наиболее перспективных систем на кристалле, запущенных недавно в производство, является микроконтроллер на основе двух ядер Cortex—M4Fcблоками обработки переменных с плавающими запятыми, ядра Corteх-M0 в составе крипто-стойкой подсистемы и широкого набора периферийных устройств с набором высокоскоростных периферийных интерфейсов и развитыми контроллерами АЦП и ШИМ, что делает систему пригодной как для выполнения специализированных задач, так и для использования в качестве контроллера общего назначения в современных цифровых системах.
Таблица 1. Основные параметры микроконтроллера
Параметры микроконтроллера |
|
Тактовая Частота, МГц |
150 МГц |
Процессорное ядро |
2 x Cortex M4F + Cortex M0 |
Питание,В |
3,0/3,63 |
Регулятор питания |
LDO или DCDC+LDO |
Температура, С |
-40/+125 |
Потребление, мА |
300 mA |
Толерантность 5В |
Нет |
Количество и параметры АЦП |
6 x 8-канальных 12-разрядных АЦП 2 MSPS |
Дифференциальный режим АЦП |
Есть |
Количество ШИМ |
9 ШИМ x 2 канала + 4 x Timer |
HRPWM |
Есть |
Другие специализированные блоки для электропривода |
4 x CAP, 2 x QEP, 3 x COMP, 3 x DAC, CORDIC |
Размер Flash, КБ |
1024 |
Размер RAM, КБ |
256 |
Размер RAM криптографической подсистемы, КБ |
128 (ОЗУ данных) + 2 (память ключей) |
Номенклатура корпусов |
PGA144, BGA144, LQFP144 |
Число GPIO |
96 |
Интерфейсы |
2 x CAN, 1 x I2C, 2 x SPI, 4 x UART, 1 x USB 2.0, 1 x Ethernet, 1 x STD 1553 |
Состав криптографического вычислителя |
8 xS-преобразования, 1 xL-преобразования, 1 xP-байт, 4 xP-бит, 1 xDES-раунд, сопроцессор длинночисленной арифметики |
Поддерживаемые криптографические алгоритмы |
ГОСТ Р 34.12-2015 (Кузнечик), Магма, ГОСТ Р 34.11-2012 (Стрибог), ГОСТ 34.10-2012, DES, AES, RSA |
Блок-схема разрабатываемого кристалла представлена на рисунке 1. Структурно микроконтроллер состоит из двух частей:
— открытой области, на основе двух ядер ARMCortex—M4F с широким набором цифро-аналоговых устройств и интерфейсных контроллеров;
— «защищенной» области, на основе ядра Cortex—M0 с блоками S— и L— преобразований и длинночисленной арифметики для реализации криптографических алгоритмов.
Рисунок 1. Структурная схема микроконтроллера специализированного под задачи управления электроприводами.
Для вычислительных ядер ARMCortex—M4F в открытой части микроконтроллера предусмотрены два режима работы – LockStep и DualCore.
Режим LockStep для критических задач, требующих надежного контроля бессбойного хода выполнения программы. В данном режиме первое ядро микроконтроллера является ведущим и осуществляет обращение к памяти и регистрам, выполнение программы пользователя и управление всей системой. Второе ядро получает все данные, запрошенные ведущим ядром, дублирует его работу с задержкой в два такта рабочей частоты микроконтроллера и сравнивая данные и результат их обработки с ведущим ядром, вызывает аппаратное прерывание в случае их расхождения.
Режим DualCoreпредназначен для задач требующих максимальной производительности. В данный режим микроконтроллер переходит программным образом из режима LockStep. После перехода в режим DualCoreоба процессорных ядра становятся независимыми и могут начать выполнять различные задачи и имеют равноправный доступ к ресурсам системы. Данный режим рекомендован для выполнения задач требующих высокой производительности системы и особенно эффективен для слабосвязанных между собой задач, осуществляющих управление различными подсистемами микроконтроллера. Например, в то время как одно из ядер выполняет сложные специализированные алгоритмы, второе может быть задействовано для общего управления системой и общения по высокоскоростным интерфейсам.
Каждое из вычислительных ядер имеет собственный DMAконтроллер и собственные два блока кэш-памяти для инструкций (64 слова) и констант (8 слов). Наличие собственных блоков кэш-памяти для каждого процессора позволяет сохранить максимальную производительность для каждого из ядер при работе в режиме DualCore. Системная рабочая частота составляет 160 МГц. При включении механизмов защиты памяти от одиночных сбоев в банках ОЗУ максимальная частота ограничивается до 150 МГц.
В состав микросхем включена энергонезависимая память программ Flashтипа объемом 1 Мбайт, 256 Кбайт ОЗУ данных. При этом из ОЗУ данных так же возможно выполнение программы. ОЗУ микроконтроллера разделена на четыре банка и обеспечивает бесконфликтный доступ со стороны обоих ядер Cortex—M4F. Так же возможна работа микросхемы с внешними микросхемами памяти с помощь контроллера внешней системной шин с поддержкой ECCкодирования для автоматического исправления одиночных ошибок.
Для передачи данных в состав микросхемы включены как базовые и интерфейсы, такие как UART (4 блока), SPI (2 блока), I2C (1 блок), CAN (2 блока) и ГОСТ Р 52070-2003 так и высокоскоростные Ethernet 10/100 и USB2.0. Контроллер USBсодержит приемопередатчики канального и физического уровней, позволяющие подключать микросхемы к разъему без использования внешних согласующих микросхем. Каждому контроллеру интерфейса выделена отдельная функция порта ввода-вывода. Общее число пользовательских выводов равно 96 и каждый из них может быть настроен отдельно для использования либо как вывод одного из периферийных блоков или в качестве выводов общего назначения.
При разработке контроллера наибольшее внимание уделено возможности реализации современных алгоритмов векторного управления приводами на его основе, реализация которых требует развитой системы взаимодействующих между собой контроллеров АЦП и блоков ШИМ-генераторов, квадратурных энкодеров и модулей захвата для обработки датчиков положения вала, блоков сравнения аналоговых сигналов, цифро-аналоговых преобразователей и системы аварийного отключения.
Рисунок 2. Блок Широтно-импульсной модуляции
В микроконтроллер интегрировано 9 независимых блоков ШИМ по 2 канала в каждом. Структурная схема блоков представлена на рисунке 2. Все блоки ШИМ объединены в цепочку и могут быть синхронизованы друг с другом. Кроме того, в микроконтроллере реализовано 4 блока таймера общего назначения, так же имеющих развитые функции ШИМ-генераторов. Блоки ШИМ микроконтроллера обладают гибкими возможностями конфигурирования выходов, как в комплементарном, так и независимым режимах. В них реализованы возможности аппаратного отключения как по внешним, так и по внутренним событиям, аппаратное управление мертвой зоны, блок высокочастотного модулятора для управления силовыми ключами с использованием импульсного трансформатора.
Рисунок 3. Контроллер АЦП
Для управления встроенными аналого-цифровыми преобразователями реализованы блоки контроллеров, каждый из которых осуществляет управления двумя аналоговыми 8- канальными 12-разрядными блоками АЦП (рисунок 3), способных работать в обычном и дифференциальном режимах, и позволяет автоматически выполнять цепочки до 32 преобразований с записью результата в таблицу из 64 регистров. Для удобства обращения со стороны DMA регистры результатов могут быть так же организованы в FIFO. Управление преобразованиями двух блоков АЦП в рамках одногоконтроллера могут выполнятся независимо друг от друга, последовательно, либо поочередно с задаваемым смещением, что позволяет увеличить частоту преобразований. Запуск цепочки преобразований может быть осуществлен как программно, так и при помощи управляющего сигнала от блоков ШИМ, таким образом начало преобразования может быть синхронизировано с периодом регулирования токов системы. Микроконтроллер содержит 3 независимых контроллера преобразований, каждый их которых управляет двумя преобразователями.
Для обработки показаний датчиков положения в системе интегрированы 2 блока квадратурных энкодеров и 4 блока захвата, позволяющие работать с датчиками различных типов.
Отдельной подсистемой микроконтроллера является модуль криптографической обработки информации. Подсистема представляет собой программируемый контроллер основанный на вычислительном ядре ARMCortex—M0 с собственным загрузчиком, собственной изолированной памятью программ и данных и специальный блоком ОЗУ с возможностью экстренного сброса для хранения ключей и секретной информации. Секретные данные и ключи загружаются в подсистему с помощью выделенного интерфейса UART.
В защищенной подсистеме реализованы модули криптографических ускорителей, позволяющие производить шифрование и дешифрование в соответствии с требованиями наиболее востребованных на данный момент российских и зарубежных стандартов. Скорость выполнения алгоритмов в тактах системной частоты для алгоритмов DES и AES представлена в таблицах 2 и 3.
Таблица 2. Время обработки данных в криптографической подсистеме микроконтроллера по алгоритмы DES (длина блока – 8 байт)
Направление шифрования |
Голое ассемблерное шифрование блока. Время обработки (тактов системной частоты) |
Шифрование блока в режиме ECB (Си обвязка) Время обработки (тактов системной частоты) |
Зашифрование |
280 |
310 |
Расшифрование |
297 |
327 |
Таблица 3. Время обработки данных в криптографической подсистеме микроконтроллера по алгоритмы AES (длина блока – 16 байт)
Направление шифрования |
Голое ассемблерное шифрование блока. Время обработки (тактов системной частоты) |
Шифрование блока в режиме ECB (Си обвязка). Время обработки (тактов системной частоты) |
||||
Длина ключа |
128 |
192 |
256 |
128 |
192 |
256 |
Зашифрование |
921 |
1105 |
1289 |
961 |
1145 |
1329 |
Расшифрование |
1088 |
1308 |
1528 |
1128 |
1348 |
1568 |
Для обмена данными по инициативе открытого ядра в модуле имеется шлюз с двумя блоками FIFO для обмена данными и регистрами статуса и управления. Со стороны открытого ядра он виден как периферийный модуль. Доступ со стороны основной системы микроконтроллера возможен на чтение статуса, записи в управляющий регистр, записи и чтения данные из блоков FIFO. Для ускорения реакций и упрощения обмена имеется набор прерываний (шлюз – открытое ядро, шлюз – закрытое ядро, закрытое ядро – открытое ядро)
Внешним питанием микросхемы служит источник 3.3 В. Для питания цифрового ядра микроконтроллера в микросхему интегрированы два LDOрегулятор и DCDCпреобразователь. После включения микросхемы DCDCпреобразователь выключен, активны два LDOрегулятора, первый понижает уровень питания с 3.3 В до 1.6 В, второй на основе полученных с первого регулятора 1.6 В формирует 1.2 В для питания цифровых схем. Для снижения потребления при функционировании может быть включен DCDCпреобразователь, который предназначен для формирования 1.6 В вместо первого LDOрегулятор, при этом второй регулятор оставаясь включенным, стабилизирует и выравнивает питание 1.2 В.
Блок батарейного домена так же имеет собственный регулятор для формирования 1.2 В. При этом на вход регулятора может быть подано батарейное питания, подаваемого на отдельный вывод микросхемы в случае, если основное питание выключено, так и основное питания 3.3 В. Для этого в системе реализован специальный модуль автоматического переключения питания батарейного домена, анализирующий уровни батарейного и основного питания и переключающий питания с целью эффективного использования заряда внешней батареи.
Батарейный домен включает в себя часы реального времени, сторожевой таймер и набор регистров. сохраняющих системные настройки и другие важные данные пользователя на время отключения питания. Таблица ключей, размещенная в крипто-стойкой области микросхемы так же включена в батарейный домен питания.
Питание АЦП, ЦАП, умножителей частоты и генераторов осуществляется по выделенным выводам и развязано с основным питанием для сокращения взаимопроникающих помех.
Микросхема будет выпускаться в 144-выводной метало-керамический корпус BGA/PGAтипа и в 144 выводной пластиковый LQFPкорпус. В настоящее время идет изготовление экспериментальных образцов, для заинтересованных предприятий они будут доступны в конце 2018 года.