Выпуск #1/2016
А.Анучин, А.Жарков, В.Козаченко, М.Лашкевич, И.Потапов
Отечественный микроконтроллер К1921ВК01Т для управления электродвигателями
Отечественный микроконтроллер К1921ВК01Т для управления электродвигателями
Просмотры: 7616
ОАО "НИИЭТ" совместно с ООО "НПП "Цифровые решения" разработали новый микроконтроллер К1921ВК01Т для самых сложных задач управления электродвигателями и силовой электроникой. Он вполне может стать основой импортозамещения в энергетике, электромеханике, силовой электронике, в станкостроении, на транспорте.
М
ировой[1]рынок микроконтроллерной техники для управления электродвигателями представлен ведущими электронными компаниями, имеющими огромный опыт и наработки в создании целых серий микроконтроллеров для управления электродвигателями и движениями. Например, компания Texas Instruments реализовала полную линейку микроконтроллеров для приложений Motor Control, обладающих (в зависимости от ценовой категории) разными наборами периферийного оборудования, объемами встроенной памяти программ и данных, а также типами процессорных ядер, вплоть до двухъядерных микроконтроллеров Concerto c коммуникационным ARM-ядром и ядром DSP для эффективного управления двигателями и силовыми преобразователями. Наличие такого количества специализированных зарубежных микроконтроллеров позволяет отечественным разработчикам систем управления гибко подходить к решению задач, при этом открывается широкий выбор из множества примерно одинаковых по функциональным возможностям изделий. Самая сложная проблема – сроки и гарантия поставки качественных комплектующих с учетом действующих ограничений. Большое значение имеют также многолетний опыт и квалификация сотрудников фирмы в сфере разработки аппаратной части и программного обеспечения.
Есть ли российская элементная база в области Motor Control?
Еще недавно отечественной элементной базы в области Motor Control не было или она отставала по своим возможностям от изделий западных конкурентов на 10–20 лет. В последние годы ситуация меняется благодаря усилиям двух ведущих электронных компаний – АО "ПКК Миландр" (Зеленоград) и ОАО "НИИЭТ" (Воронеж). Первая компания разработала, освоила производство и поставляет потребителям 32-разрядные микроконтроллеры 1986ВЕ9х с процессорным ядром на базе ARM Cortex-M3 для широкой области применения. С точки зрения использования в приложениях Motor Control периферийные устройства этих микроконтроллеров "слабоваты" (только три таймера общего назначения, правда, с функциями генерации ШИМ-сигналов, в том числе с комплементарными выходами и защитой по "мертвому времени"). Однако на этой основе можно разработать относительно простую скалярную систему управления асинхронным двигателем для преобразователей частоты, управляющих, например, насосами и вентиляторами. Вычислительных ресурсов и встроенных интерфейсов достаточно для решения большинства коммуникационных задач (два CAN-контроллера, контроллеры UART, SPI, I2C и USB).
Интерес для разработчиков представляют и новейшие микроконтроллеры АО "ПКК Миландр" – 1986ВЕ8Т на основе более производительного ядра ARM-Cortex-M4F c модулем аппаратной поддержки вычислений с числами в формате с плавающей точкой однократной точности. Они предназначены для создания сложных и высокопроизводительных информационно-измерительных систем с большим количеством аналоговых входов и выходов, в том числе в устройствах специального и двойного применения. О существенно возросших возможностях российских производителей электроники говорит набор интерфейсов, интегрированных на кристалле (от контроллера Ethernet и USB до специализированных интерфейсов, ориентированных на преимущественное применение в авиационной технике, – ARINC, SpaceWire). Микроконтроллеры имеют ряд встроенных систем контроля, обнаружения и исправления ошибок, в том числе при доступе к памяти и периферии. К сожалению, специализированной периферии для управления двигателями (кроме многоканальных АЦП и ЦАП) в этих микроконтроллерах нет.
В 2015 году ОАО "НИИЭТ" (Воронеж) завершил разработку и выпустил пробную опытно-промышленную партию первых отечественных микроконтроллеров К1921ВК01Т, полностью соответствующих требованиям применения в системах Motor Control, Motion Control и Power Control. У отечественных специалистов в сфере машиностроения, энергетики, транспорта, электромеханики, наконец-то, появилась отечественная элементная база на уровне лучших западных решений. Рассмотрим технические характеристики новых микроконтроллеров и первый опыт их использования в решении задач управления тяговыми электроприводами, а также дадим рекомендации по использованию программных и аппаратных средств отладки.
Микроконтроллер К1921ВК01Т
В микроконтроллере применено одно из лучших в мире микропроцессорных ядер – ARM-Cortex-M4F со встроенным модулем вычислений с плавающей точкой FPU, модулем защиты памяти MPU, контроллером вложенных векторных прерываний NVIC и набором модулей для поддержки интерактивной отладки с выходом на два стандартных отладочных интерфейса JTAG и SW. Процессор обеспечивает производительность до 125 MIPS (миллионов инструкций в секунду). Структурная схема микроконтроллера представлена на рис.1.
Основные технические данные микроконтроллера К1921ВК01Т:
• встроенная флеш-память программ емкостью 1 Мбайт;
• встроенное статическое ОЗУ (RAM) емкостью 192 Кбайта;
• дополнительная флеш-память данных объемом 64 Кбайта;
• возможность расширения памяти – контроллер внешней памяти (SRAM, PROM, NOR флеш);
• 32-канальный контроллер прямого доступа к памяти (DMA);
• система сброса и сторожевой таймер (Watchdog);
• часы реального времени (Real Time Clock) с батарейным питанием;
• синтезатор частоты на основе ФАПЧ (PLL);
• 12 двухканальных 12-разрядных АЦП с временем выборки 2 Mвыб/с. Предусмотрены режимы цифрового компаратора для каждого канала (равно или больше, равно или меньше, попадание в диапазон, выход из диапазона), функция автоматического запуска модулей ШИМ-генератора по событию в АЦП (окончанию преобразования). Имеется дополнительный встроенный датчик температуры (T-Sensor) для контроля температурного режима микроконтроллера;
• 18 модулей ШИМ (PWM) или девять двухканальных модулей с комплементарными выходами, из которых шесть могут работать в режиме "высокого" разрешения (HRPWM), то есть с возможностью прецизионного изменения длительности импульсов на величину, меньшую периода тактового сигнала;
• шесть модулей захвата/сравнения (CAP);
• три аналоговых компаратора с функцией автоматического запуска модулей ШИМ по событию сравнения (равно или больше, равно или меньше);
• три 32-разрядных таймера общего назначения;
• два порта CAN 2.0b;
• два интерфейса I2C, с поддержкой режима High Speed (более 1 МГц);
• два квадратурных декодера (Enhanced Quadrature Encoded Pulse – eQEP) для обработки сигналов импульсных датчиков положения ротора и исполнительного органа в высокопроизводительных системах позиционирования и слежения (определение положения, направления и скорости вращения);
• четыре порта синхронного периферийного интерфейса SPI;
• четыре модуля коммуникационного интерфейса SCI (UART);
• интерфейс USB 2.0 Device / Host с физическим уровнем PHY;
• интерфейс Ethernet 10/100 Мбит/с с интерфейсом MII;
• отладочный интерфейс (JTAG и ARM Serial Wire Debug (SWD);
• не менее 88 выводов портов ввода/вывода общего назначения (GPIO), раздельно программируемых и мультиплексированных со специальными функциями.
Выпускается микроконтроллер в двух корпусах – QFP208L и 4247.144-1 (рис.2).
Почему предпочтение отдано процессорному ядру ARM-Cortex-M4F?
Фирма ARM – одна из немногих "процессорных" фирм, не имеющих собственного производства процессоров и микроконтроллеров. Бизнес-модель этой научной фирмы – создание и совершенствование процессорных архитектур, продажа лицензий на разработку готовых изделий производителям по всему миру. Создание эффективной процессорной архитектуры, системы команд и ее сопровождение (тестирование, устранение недостатков и ошибок) – сложная комплексная задача, требующая значительных временных, финансовых затрат и людских ресурсов. Поэтому большинству производителей процессорной техники, даже ведущим мировым лидерам в этой области, таким как Texas Instruments или STMicroelectronics, порой проще купить лицензию на гарантированно качественное процессорное ядро и, добавив собственные разработки в области памяти и периферии, быстро выпустить на рынок нужную потребителям серию процессоров или микроконтроллеров. Использование такого подхода (покупка процессорных архитектур или лицензий на них) позволило компании ARM занять значительную долю рынка встраиваемых и мобильных решений, развивающегося наиболее быстрыми темпами. Укрепляются позиции ARM и в области классических микроконтроллеров. 32-разрядные микроконтроллеры на базе ARM-процессоров почти вытеснили с рынка традиционные 8- и 16-разрядные микроконтроллеры.
По мере расширения области применения совершенствуются архитектура ARM-процессоров и система команд. Современные процессоры по возможностям порой не уступают процессорам DSP (для цифровой обработки сигналов). Начиная с архитектуры ARMv7 определены три базовых профиля процессоров:
• Cortex-A (Application) – для мощных коммуникационных устройств, типа смартфонов и планшетов;
• Cortex-R (Real time) – для высокопроизводительных систем реального времени;
• Cortex-M (Microcontroller) – для микроконтроллерных применений.
Процессорное ядро Cortex-М предлагается сегодня в модификациях Cortex-M3, Cortex-M4 и Cortex-M4F (табл.1).
В процессорах c ядром Cortex-M3 расширена система как 32-разрядных команд ARM, так и 16-разрядных команд Thumb: добавлены команды работы с битовыми полями и команды табличного ветвления. Новая команда if-then позволяет по одному условию проверить сразу до четырех последовательных команд условного выполнения.
Можно отметить, что отечественные производители электроники, купив лицензии на процессорные ядра ARM Cortex-M3/M4/M4F, сделали экономически правильный выбор – сразу вышли на самый передовой уровень в области архитектуры и системы команд центрального процессора, обеспечили совместимость с имеющимися в мире программными средствами разработки и отладки ПО, получили полную самостоятельность в решении технологических вопросов, в выборе памяти и периферии, нужных потребителям.
Преимущественные области применения нового микроконтроллера
Новый отечественный микроконтроллер К1921ВК01Т состоит из самого современного быстродействующего 32-разрядного процессорного RISC-ядра ARM Cortex-M4F, встроенной памяти программ и данных большого объема, классической коммуникационной периферии, а также специализированной периферии, обеспечивающей прямое цифровое управление силовыми ключами и прямое сопряжение с датчиками. По уровню оснащенности и производительности микроконтроллер вышел на передовые позиции и вполне может конкурировать с такими известными брендами, как Texas Instruments, Analog Devices, Atmel, Infineon. Практически все ведущие фирмы имеют в линейке своих изделий микроконтроллеры Motor Control на базе ядер Cortex-M3/M4/M4F.
Разработанные микроконтроллеры не ориентированы на рынок дешевых потребительских решений, где часто применяются простые 8- или 16-разрядные микроконтроллеры, они предназначены для реализации сложных комплексных проектов, зачастую с нетрадиционными исполнительными двигателями, силовыми преобразователями и исполнительными устройствами.
Области применения микроконтроллера К1921ВК01Т:
• управление электрическими двигателями с разным числом фаз всех возможных типов: асинхронными, синхронными, вентильными, вентильно-индукторными, работающими от преобразователей частоты на современных IGBT-ключах, как с датчиками механических координат, так и в режимах управления без датчиков;
• комплексное управление оборудованием электрических трансмиссий транспортных средств (тяговыми генераторами, тяговыми двигателями, накопителями энергии и т. д., связанными между собой быстродействующими коммуникационными каналами связи);
• силовая преобразовательная техника (инверторы, конверторы, мощные источники питания, многоуровневые инверторы, активные фильтры и т. д.);
• перспективные системы электродвижения судов, магистрального и городского электрического транспорта;
• управление объектами энергетики, в том числе нетрадиционной (ветровой, солнечной);
• управление позиционными, контурными и следящими приводами в станкостроении, робототехнике, медицине;
• реализация прямых безредукторных приводов – мотор-колес и мотор-редукторов;
• создание "мехатронных" модулей с полной конструктивной интеграцией рабочего органа, электрического двигателя, силового преобразователя и системы управления в одном устройстве.
Микроконтроллер К1921ВК01Т может использоваться в автомобильной электронике для управления дизелями и двигателями внутреннего сгорания.
Наиболее перспективным видится применение нового микроконтроллера для высокопроизводительных систем управления электроприводами, где, помимо развитой периферии, требуется быстродействующее вычислительное ядро с поддержкой вычислений с плавающей точкой, а также поддержка промышленных сетевых интерфейсов CAN, Ethernet, RS-485. Перечень электроприводов довольно широк: от позиционных электроприводов лифтов до приводов многокоординатных станков и высокоскоростных шпинделей. Разумеется, микроконтроллер можно использовать для создания подсистем автоматизации производственных процессов, включая средства распределенной автоматизации и управления.
Из чего состоит эффективная периферия Motor Control?
Полноценное управление электрическим двигателем требует четкого распределения задач, а также реагирования на события в рамках требуемых временных ограничений. Такое управление должно реализовываться в реальном времени. В этом случае ресурсы микроконтроллера тратятся согласно выставленным приоритетам и переключаются последовательно от задачи к задаче. Подобный класс систем использует периферийные модули совместно с расширенной системой прерываний, охватывающих все возможные внутренние и внешние события. Применение микроконтроллера К1921ВК01Т рассмотрим на примере векторного датчикового управления синхронным электродвигателем (рис.3).
Принцип работы не нуждается в комментариях, так как эта традиционная структура векторного управления описывается в любой литературе по электроприводу, например в [1]. Какие аппаратные возможности должен иметь микроконтроллер для обеспечения работоспособности такой структуры управления?
• Достаточно мощное вычислительное ядро для выполнения необходимых для такой структуры расчетов: вычисление тригонометрических функций, сложение, умножение, деление – все это с точностью минимум 16, а лучше – 32 разряда. Вычисления должны производиться циклически, с частотой 10–20 кГц. С этими задачами успешно справляется вычислительное ядро К1921ВК01Т Cortex-M4F с частотой 100–125 MIPS (миллионов операций в секунду).
• Микроконтроллер должен содержать несколько ШИМ-каналов, позволяющих управлять скважностями на шести ключах инвертора с реализацией так называемого "мертвого времени", когда одновременная работа верхнего и нижнего ключей любой стойки блокируется. В случае применения в области малых и средних мощностей двигателей (сервопривод) частота ШИМ может достигать 100 кГц из-за малых индуктивностей фаз двигателя. При этом частоты микроконтроллера 100 МГц может не хватить для получения достаточного разрешения при изменении скважности ШИМ-сигналов (при частоте 100 МГц число возможных уровней только 1 000, что недостаточно для прецизионных приводов). В этом случае применяются модули ШИМ высокого разрешения, которые позволяют дополнительно увеличивать количество квантов задания скважности – так называемая Hi Resolution PWM (HRPWM). На рис.3 показан простейший трехфазный инвертор напряжения, требующий шести каналов ШИМ. Однако во многих реальных задачах (дополнительный контур управления обмоткой возбуждения, многофазный двигатель с расщепленными обмотками, многоуровневый и даже матричный инвертор из 12 или 18 силовых ключей) требуется несколько дополнительных каналов ШИМ-генератора. В структуру привода может входить промежуточный DC/DC-преобразователь или активный выпрямитель – количество необходимых каналов ШИМ возрастает. К1921ВК01Т имеет девять двухканальных модулей ШИМ (всего 18 каналов), что достаточно для сложных применений. Каналы ШИМ могут работать как асинхронно, так и синхронно. Имеется возможность фазового сдвига ШИМ-сигналов, что особенно важно для управления мощными источниками питания.
• Микроконтроллер должен содержать АЦП для измерения аналоговых сигналов с датчиков токов фаз двигателя, напряжения звена постоянного тока, температур двигателя и инвертора, множества других величин, например, технологических переменных (давления, расхода и т. д.). К1921ВК01Т имеет встроенный АЦП на двадцать четыре 12-разрядных аналоговых канала, а также развитый менеджер управления измерениями с функцией автоматического усреднения, взаимодействия с контроллером прямого доступа в память DMA и модулями ШИМ-генератора (запуском процесса преобразования по сигналам ШИМ).
• Микроконтроллер должен иметь интерфейсы для приема сигналов с датчиков положения ротора. В электроприводе применяют датчики четырех основных типов: квадратурные энкодеры, датчики на элементах Холла, абсолютные датчики положения с цифровым интерфейсом связи (SSI) и датчики на основе вращающегося трансформатора (резольверы). К1921ВК01Т имеет все необходимые для сопряжения с ними интерфейсы: два модуля квадратурного декодера (QEP), шесть модулей захвата (CAP), четыре порта последовательного синхронного интерфейса (SPI), аналоговые входы для приема сигналов с резольвера и последующей программной обработки.
• Требуются интерфейсы связи для управления электроприводом. В промышленности для сопряжения с системами управления верхнего уровня применяются интерфейсы RS485 и Ethernet, а для организации локальных сетей внутри комплекса электрооборудования – интерфейс CAN. Микроконтроллер К1921ВК01Т имеет все необходимые интерфейсы связи, причем в нескольких экземплярах. Особенно важно наличие двух встроенных CAN-контроллеров для транспортных применений.
Таким образом, новый микроконтроллер К1921ВК01Т удовлетворяет самым жестким требованиям к специализированной периферии и интерфейсам общего назначения. В качестве ближайшего зарубежного аналога в плане периферии Motor Control можно отметить сигнальный микроконтроллер TMS320F28335 компании Texas Instruments – именно этот микроконтроллер был выбран в качестве прототипа при проектировании периферии К1921ВК01Т. Сравнительные характеристики этих двух микроконтроллеров приведены в табл.2.
Опыт разработки и применения контроллера МК40.1
В прошлом году ООО "НПФ Вектор" начала разрабатывать контроллеры электропривода на новой отечественной элементной базе применительно к задачам управления двигателями переменного тока (асинхронными, синхронными, вентильными и вентильно-индукторными), а также силовыми преобразователями энергии. Контроллер МК40.1 (рис.4) создавался для полноценной замены контроллеров привода на импортной элементной базе (на сигнальных микроконтроллерах Texas Instruments TMS320F2810) в рамках программы импортозамещения по заказу ОАО "КАМАЗ" прежде всего для эффективного управления трехфазными вентильно-индукторными тяговыми двигателями с независимым возбуждением и двухзонным регулированием скорости (режим ослабления поля).
Контроллер содержит 18 выходов ШИМ, восемь входов сигналов аварий от драйверов силовой электроники, гальванически развязанный интерфейс с датчиком положения на элементах Холла, 16 аналоговых входов, а также гальванически-развязанные интерфейсы связи CAN (2 шт.) и RS-485 (2 шт.). При этом все компоненты контроллера – отечественные или произведенные в странах Таможенного союза. Данный контроллер испытан для управления вентильно-индукторными, синхронными и вентильными (БДПТ) двигателями, будучи встроенным в соответствующие силовые преобразователи. Подтверждена возможность реализации на новой отечественной элементной базе самых сложных векторных систем управления двигателями. Все программное обеспечение было написано на языке высокого уровня С/С++.
Сравнение производительности микроконтроллеров К1921ВК01Т и TI TMS320F28335
Если периферии Motor Control у нового К1921ВК01Т достаточно, встает вопрос о производительности процессорного ядра. У микроконтроллера-аналога Texas Instruments TMS320F28335 используется DSP-ядро C28, а у К1921ВК01Т – ядро ARM Cortex M4F.
Было проведено сравнительное тестирование производительности микроконтроллера TI TMS320F2810 с ядром C28 и К1921ВК01Т с ядром ARM Cortex M4F. Тестирование осуществлялось на вычислительной задаче, сходной с вычислениями в структуре векторного управления электродвигателем: вычисления функций синуса/косинуса, множество операций умножения и сложения, логические вычисления, деление, функция atan2. Вычисления производились как в целочисленной математике с фиксированной точкой формата IQ 8.24, так и с плавающей точкой (для ARM Cortex M4F). Кроме того, программный код выполнялся как из оперативной памяти, так и из флеш-памяти. Программный код был реализован на языке Си. В качестве компиляторов для ядра C28 были выбраны фирменные компиляторы Texas Instruments со средой разработки Code Composer Studio v5, для ядра ARM – средства из среды разработки IAR версии 6.30, а также набор кросс-компиляции GCC-сборки Sourcery CodeBench Lite v24.05.28. В качестве библиотеки целочисленных вычислений для C28 использовалась фирменная библиотека IQmath от Texas Instruments, для ARM – собственная реализация аналога этой библиотеки на базе быстрых приближенных вычислений. Расчеты с плавающей точкой проводились с помощью функции из стандартной библиотеки Си при включенном модуле аппаратной поддержки вычислений с плавающей точкой FPU. Результаты тестирования представлены на рис.5.
Большее количество тактов соответствует более худшему результату. Интерпретировать результаты можно следующим образом. Лучшие результаты показывает сигнальный микроконтроллер TMS320F2810 с ядром C28, причем программный код, выполняющийся в оперативной памяти, работает быстрее, чем находящийся во флеш-памяти (два крайних правых столбца диаграммы с результатами 1061 и 1082 такта соответственно). С небольшим отставанием идут вычисления на К1921ВК01Т при использовании самостоятельно разработанной и оптимизированной библиотеки приближенных целочисленных вычислений формата 8.24 при выполнении кода из флеш-памяти: два крайних левых столбца, IAR (1232 такта) и GCC (1257 тактов).
Вычисления, выполненные из оперативной памяти, значительно более медленные (столбцы 3 и 4: 1680 и 1514 тактов), поскольку в сигнальных процессорах TI, в отличие от ARM, используется более эффективная модифицированная гарвардская архитектура центрального процессора. В процессорах ARM программный код также может выполняться из памяти данных, однако по быстродействию оптимизирована только шина доступа к программе в кодовой памяти. Когда код выполняется из оперативной памяти, процесс замедляется. Поэтому перенос кода в оперативную память в К1921ВК01Т возможен, но не эффективен.
Вычисления с плавающей точкой пока не показали достойных результатов, даже при выполнении программы из флеш-памяти. Это объясняется тем, что вычисления в стандартных библиотеках с плавающей точкой (float) не самые эффективные, при использовании float нужно искать оптимальные библиотеки, учитывающие возможности встроенного модуля FPU. Кроме того, при использовании "самодельной" библиотеки IQ математики были использованы в некоторых случаях приближенные вычисления, не обеспечивающие такой же точности, как вычисления в формате с плавающей точкой, но ускоряющие процесс вычисления. Опробование методов оптимального использования модуля FPU продолжается.
Предварительно можно сделать следующий вывод. Ядро Cortex M4F на примере К1921ВК01Т показывает меньшую производительность, чем DSP-ядро C28 микроконтроллера TI. Однако при использовании быстродействующих библиотек целочисленных вычислений отставание не очень велико, благодаря чему проекты, реализованные на микроконтроллерах TI серии C2000, могут быть легко перенесены на К1921ВК01Т. Оптимизировать все же придется, так как у большинства микроконтроллеров C2000 максимальная частота 150 МГц (или MIPS), а у К1921ВК01Т пока только 100 МГц.
Средства разработки программ и отладки
Микроконтроллер К1921ВК01Т основан на стандартном ARM-ядре, поэтому теоретически для него должны подходить любые средства разработки для ARM. Однако у большинства микроконтроллеров собственные регистры для программирования флеш-памяти, которые различаются от производителя к производителю, из-за чего особенности средств разработки зависят от конкретной серии микроконтроллеров.
Одни среды разработки позволяют встраивать собственные алгоритмы программирования флеш-памяти, другие – нет. Разработчики НИИЭТ обеспечили поддержку программирования флеш-памяти К1921ВК01Т для двух самых популярных универсальных коммерческих сред разработки для ARM: IAR Embedded Workbench и Keil MDK. Кроме того, реализованный алгоритм программирования флеш-памяти в программе c открытым исходным кодом OpenOCD (Open On-Chip Debugger) позволяет создать бесплатную среду разработки для К1921ВК01Т на основе IDE Eclipse или IDE Qt Creator при помощи специального плагина, набора кросс-компиляции GCC и OpenOCD.
НИИЭТ предлагает также полностью отечественную среду разработки Codemaster++ [ARM], включая набор компиляторов и редактор кода (создан компанией ООО "Фитон", Москва). Инструкции по использованию микроконтроллеров в различных средах разработки на начало 2016 года можно найти на интернет-форуме на сайте НИИЭТ.
Для программирования и пошаговой отладки можно использовать практически любой JTAG/SWD адаптер (программатор, эмулятор) для ARM, поддерживаемый средой разработки. Так, например, на работу с К1921ВК01Т успешно протестированы такие устройства, как Segger J-Link и ST-Link V2.
Способы отладки
Для отладки структур управления электродвигателями наиболее часто применяется способ просмотра осциллограмм (графиков изменения во времени) внутренних переменных системы управления. Например, при отладке векторного управления программист анализирует осциллограммы мгновенных значений входов/выходов различных регуляторов, форму токов фаз, задания напряжения на инверторе и т. п. Наиболее широко используется способ записи осциллограммы во внутреннюю память микроконтроллера с последующим отображением осциллограммы на экране компьютера – ни один интерфейс связи микроконтроллера не успеет передать данные в реальном времени с той частотой, которая требуется для захвата точек графика с частотой 10–100 кГц.
Как же это реализуется? Например, у производителя микроконтроллеров Texas Instruments есть все средства: режим реального времени микроконтроллера, который позволяет через интерфейс JTAG получать доступ к оперативной памяти микроконтроллера без приостановки ядра, а также среда разработки Code Composer Studio с функцией отображения графиков, построенных на основе данных, прочитанных из оперативной памяти МК. Таким образом, программист может написать специальный программный модуль для микроконтроллера, который в нужный момент запишет данные в виде массива точек в ОЗУ, а среда разработки тут же отобразит их в виде осциллограммы без нарушения работы привода, "забрав" информацию через JTAG. Кроме того, можно строить графики в реальном времени, запрашивая текущее значение переменной и тут же указывая ее на графике. Этот режим можно использовать для наблюдения за "медленными" процессами, такими как изменения скорости, напряжения, температуры.
Как с этим обстоят дела у сред разработки под ARM и, соответственно, у К1921ВК01Т? Ядро ARM имеет режим реального времени и так же, как и ядра Texas Instruments, может отдавать данные через отладочный интерфейс JTAG/SWD. Однако популярные среды разработки, в частности, IAR и Keil, не умеют строить графики на основе прочитанных из массива значений. С помощью функции "логического анализатора" в среде разработки Keil можно строить график изменения аналоговой величины, значение которой запрашивается в реальном времени из выбранной ячейки памяти/переменной микроконтроллера. Однако частота обновления данных ограничена: это не то, что требуется для отладки сложных структур электропривода, где нужно захватывать данные с частотой, сравнимой с протекающими переходными процессами, а именно 10–100 тыс. точек в секунду, на что реально способен только микроконтроллер. Таким образом, для отладки электропривода на К1921ВК01Т программисту необходимо самостоятельно реализовать функцию отправки записанных в микроконтроллере массивов данных с осциллограммами на персональный компьютер, что требует реализации протоколов обмена, драйверов интерфейсов связи, разработки ПО для ПК и т. п.
Фирма ООО "НПФ Вектор" предлагает для отладки систем управления электроприводами средства на основе CANopen-драйвера для интерфейса связи CAN. CANopen-драйвер обеспечивает доступ к переменным микроконтроллера, а программа для ПК (UniCON) взаимодействует с этим драйвером и позволяет настраивать параметры привода и наблюдать осциллограммы, причем как в режиме записи через оперативную память контроллера (используется соответствующий программный модуль в МК совместно с CANopen), так и запрашивая текущее значение переменной в реальном времени с небольшой частотой. Именно это требуется для отладки структур управления. В этом плане средства разработки похожи на инструмент FreeMaster компании NXP, которая предлагает его для своих микроконтроллеров с тем же функционалом. В настоящее время драйвер CANopen успешно перенесен на микроконтроллер К1921ВК01Т, а описанные средства отладки можно приобрести в ООО "НПФ Вектор".
Отладочные комплекты для К1921ВК01Т
С начала 2016 года для разработчиков доступны четыре отладочных комплекта: LDM-HELPER-K1921BK01T (от компании ООО "ЛДМСИС"), MBS-К1921ВК01Т (ООО "НПФ Мехатроника-Про"), NIIET_1921BK01T (ОАО "НИИЭТ") и VectorCARD_K1921BK01T (ООО "НПФ Вектор"). Первые три отладочные платы похожи и представляют собой стандартный набор для отладки микроконтроллера – на них есть драйверы интерфейсов связи, светодиоды, кнопки, ЖК-дисплеи и т. п. Отличие отладочного комплекта ООО "НПФ Вектор" в том, что это не просто плата, а набор для управления электродвигателем, включающий отладочную плату, низковольтный трехфазный инвертор, небольшой синхронный электродвигатель (серводвигатель) с квадратурным датчиком положения и датчиком Холла, JTAG, программное обеспечение для микроконтроллера, реализующее векторное управление электродвигателем на K1921BK01T в открытых исходных кодах, а также ПО для персонального компьютера UniCON для просмотра осциллограмм работы привода и его параметрирования (рис.6).
Данный комплект дает возможность работать с K1921BK01T на конкретной задаче по управлению электродвигателем, а открытый исходный код позволяет значительно сократить время разработки.
* * *
ОАО "НИИЭТ" совместно с ООО "НПП "Цифровые решения" разработали новый микроконтроллер К1921ВК01Т для задач управления электродвигателями. К1921ВК01Т позиционируется как аналог Texas Instruments TMS320F28335: мощный микроконтроллер для самых сложных задач управления двигателями и силовой электроникой. До него все российские микроконтроллеры имели недостаточно производительное ядро или недостаточно развитую периферию для задач подобного класса. Таким образом, К1921ВК01Т вполне может стать основой импортозамещения в энергетике, электромеханике, силовой электронике, в станкостроении, на транспорте.
Его можно использовать и в автомобильной промышленности – в качестве базы для создания отечественных встраиваемых контроллеров дизелей и двигателей внутреннего сгорания, а также в качестве устройств управления электромобилями и многоколесными транспортными средствами.
Микроконтроллер К1921ВК01Т – это только первая ласточка в области отечественных средств управления типа Motor Control. Новый продукт может содержать некоторые неточности как в документации, так и в кристалле. Должны смениться несколько ревизий, чтобы основные недочеты могли быть исправлены. Для ряда применений микроконтроллер будет избыточным, хотя и способен реализовать все необходимые задачи. Чтобы быть востребованным не только для "замещения импорта по требованию", но и по экономическим соображениям, К1921ВК01Т должен превратиться в серию микроконтроллеров разной степени сложности, цены, размера корпуса и производительности. Над этой проблемой специалисты ОАО "НИИЭТ" трудятся.
Работы ведутся с поддержкой государства, в частности, в направлении создания СБИС для управления двигателями высокой мощности и для управления двигателями внутреннего сгорания и трансмиссиями.
В заключение остается заметить, что учебной литературы по микроконтроллерам с ядром ARM–Cortex как на русском, так и на английском языках почти нет. Сотрудники кафедры АЭП НИУ "МЭИ" и фирмы ООО "НПФ Вектор" при поддержке ОАО "НИИЭТ" готовят к изданию интерактивный учебник для студентов электротехнических специальностей вузов и специалистов "Курс микропроцессорной техники на базе микроконтроллеров ARM Cortex-M3/M4/M4F" в двух томах. Вопросы и заявки можно направлять по электронной почте: kozachenkovf@yandex.ru.
ЛИТЕРАТУРА
1. Анучин А.С. Системы управления электроприводов. – М.: МЭИ, 2015. 373 с. ISBN: 978-5-3830-0918-5.
2. Официальный сайт Миландр: www.milander.ru
3. Официальный сайт ОАО "НИИЭТ": www.niiet.ru
4. Официальный сайт ООО "НПФ Вектор":
www.motorcontrol.ru
--------------------------------------------------------------------------------
[1] 1 НИУ "МЭИ", Москва
2 ООО "НПФ Вектор", Москва
3 ОАО "НИИЭТ", Воронеж
ировой[1]рынок микроконтроллерной техники для управления электродвигателями представлен ведущими электронными компаниями, имеющими огромный опыт и наработки в создании целых серий микроконтроллеров для управления электродвигателями и движениями. Например, компания Texas Instruments реализовала полную линейку микроконтроллеров для приложений Motor Control, обладающих (в зависимости от ценовой категории) разными наборами периферийного оборудования, объемами встроенной памяти программ и данных, а также типами процессорных ядер, вплоть до двухъядерных микроконтроллеров Concerto c коммуникационным ARM-ядром и ядром DSP для эффективного управления двигателями и силовыми преобразователями. Наличие такого количества специализированных зарубежных микроконтроллеров позволяет отечественным разработчикам систем управления гибко подходить к решению задач, при этом открывается широкий выбор из множества примерно одинаковых по функциональным возможностям изделий. Самая сложная проблема – сроки и гарантия поставки качественных комплектующих с учетом действующих ограничений. Большое значение имеют также многолетний опыт и квалификация сотрудников фирмы в сфере разработки аппаратной части и программного обеспечения.
Есть ли российская элементная база в области Motor Control?
Еще недавно отечественной элементной базы в области Motor Control не было или она отставала по своим возможностям от изделий западных конкурентов на 10–20 лет. В последние годы ситуация меняется благодаря усилиям двух ведущих электронных компаний – АО "ПКК Миландр" (Зеленоград) и ОАО "НИИЭТ" (Воронеж). Первая компания разработала, освоила производство и поставляет потребителям 32-разрядные микроконтроллеры 1986ВЕ9х с процессорным ядром на базе ARM Cortex-M3 для широкой области применения. С точки зрения использования в приложениях Motor Control периферийные устройства этих микроконтроллеров "слабоваты" (только три таймера общего назначения, правда, с функциями генерации ШИМ-сигналов, в том числе с комплементарными выходами и защитой по "мертвому времени"). Однако на этой основе можно разработать относительно простую скалярную систему управления асинхронным двигателем для преобразователей частоты, управляющих, например, насосами и вентиляторами. Вычислительных ресурсов и встроенных интерфейсов достаточно для решения большинства коммуникационных задач (два CAN-контроллера, контроллеры UART, SPI, I2C и USB).
Интерес для разработчиков представляют и новейшие микроконтроллеры АО "ПКК Миландр" – 1986ВЕ8Т на основе более производительного ядра ARM-Cortex-M4F c модулем аппаратной поддержки вычислений с числами в формате с плавающей точкой однократной точности. Они предназначены для создания сложных и высокопроизводительных информационно-измерительных систем с большим количеством аналоговых входов и выходов, в том числе в устройствах специального и двойного применения. О существенно возросших возможностях российских производителей электроники говорит набор интерфейсов, интегрированных на кристалле (от контроллера Ethernet и USB до специализированных интерфейсов, ориентированных на преимущественное применение в авиационной технике, – ARINC, SpaceWire). Микроконтроллеры имеют ряд встроенных систем контроля, обнаружения и исправления ошибок, в том числе при доступе к памяти и периферии. К сожалению, специализированной периферии для управления двигателями (кроме многоканальных АЦП и ЦАП) в этих микроконтроллерах нет.
В 2015 году ОАО "НИИЭТ" (Воронеж) завершил разработку и выпустил пробную опытно-промышленную партию первых отечественных микроконтроллеров К1921ВК01Т, полностью соответствующих требованиям применения в системах Motor Control, Motion Control и Power Control. У отечественных специалистов в сфере машиностроения, энергетики, транспорта, электромеханики, наконец-то, появилась отечественная элементная база на уровне лучших западных решений. Рассмотрим технические характеристики новых микроконтроллеров и первый опыт их использования в решении задач управления тяговыми электроприводами, а также дадим рекомендации по использованию программных и аппаратных средств отладки.
Микроконтроллер К1921ВК01Т
В микроконтроллере применено одно из лучших в мире микропроцессорных ядер – ARM-Cortex-M4F со встроенным модулем вычислений с плавающей точкой FPU, модулем защиты памяти MPU, контроллером вложенных векторных прерываний NVIC и набором модулей для поддержки интерактивной отладки с выходом на два стандартных отладочных интерфейса JTAG и SW. Процессор обеспечивает производительность до 125 MIPS (миллионов инструкций в секунду). Структурная схема микроконтроллера представлена на рис.1.
Основные технические данные микроконтроллера К1921ВК01Т:
• встроенная флеш-память программ емкостью 1 Мбайт;
• встроенное статическое ОЗУ (RAM) емкостью 192 Кбайта;
• дополнительная флеш-память данных объемом 64 Кбайта;
• возможность расширения памяти – контроллер внешней памяти (SRAM, PROM, NOR флеш);
• 32-канальный контроллер прямого доступа к памяти (DMA);
• система сброса и сторожевой таймер (Watchdog);
• часы реального времени (Real Time Clock) с батарейным питанием;
• синтезатор частоты на основе ФАПЧ (PLL);
• 12 двухканальных 12-разрядных АЦП с временем выборки 2 Mвыб/с. Предусмотрены режимы цифрового компаратора для каждого канала (равно или больше, равно или меньше, попадание в диапазон, выход из диапазона), функция автоматического запуска модулей ШИМ-генератора по событию в АЦП (окончанию преобразования). Имеется дополнительный встроенный датчик температуры (T-Sensor) для контроля температурного режима микроконтроллера;
• 18 модулей ШИМ (PWM) или девять двухканальных модулей с комплементарными выходами, из которых шесть могут работать в режиме "высокого" разрешения (HRPWM), то есть с возможностью прецизионного изменения длительности импульсов на величину, меньшую периода тактового сигнала;
• шесть модулей захвата/сравнения (CAP);
• три аналоговых компаратора с функцией автоматического запуска модулей ШИМ по событию сравнения (равно или больше, равно или меньше);
• три 32-разрядных таймера общего назначения;
• два порта CAN 2.0b;
• два интерфейса I2C, с поддержкой режима High Speed (более 1 МГц);
• два квадратурных декодера (Enhanced Quadrature Encoded Pulse – eQEP) для обработки сигналов импульсных датчиков положения ротора и исполнительного органа в высокопроизводительных системах позиционирования и слежения (определение положения, направления и скорости вращения);
• четыре порта синхронного периферийного интерфейса SPI;
• четыре модуля коммуникационного интерфейса SCI (UART);
• интерфейс USB 2.0 Device / Host с физическим уровнем PHY;
• интерфейс Ethernet 10/100 Мбит/с с интерфейсом MII;
• отладочный интерфейс (JTAG и ARM Serial Wire Debug (SWD);
• не менее 88 выводов портов ввода/вывода общего назначения (GPIO), раздельно программируемых и мультиплексированных со специальными функциями.
Выпускается микроконтроллер в двух корпусах – QFP208L и 4247.144-1 (рис.2).
Почему предпочтение отдано процессорному ядру ARM-Cortex-M4F?
Фирма ARM – одна из немногих "процессорных" фирм, не имеющих собственного производства процессоров и микроконтроллеров. Бизнес-модель этой научной фирмы – создание и совершенствование процессорных архитектур, продажа лицензий на разработку готовых изделий производителям по всему миру. Создание эффективной процессорной архитектуры, системы команд и ее сопровождение (тестирование, устранение недостатков и ошибок) – сложная комплексная задача, требующая значительных временных, финансовых затрат и людских ресурсов. Поэтому большинству производителей процессорной техники, даже ведущим мировым лидерам в этой области, таким как Texas Instruments или STMicroelectronics, порой проще купить лицензию на гарантированно качественное процессорное ядро и, добавив собственные разработки в области памяти и периферии, быстро выпустить на рынок нужную потребителям серию процессоров или микроконтроллеров. Использование такого подхода (покупка процессорных архитектур или лицензий на них) позволило компании ARM занять значительную долю рынка встраиваемых и мобильных решений, развивающегося наиболее быстрыми темпами. Укрепляются позиции ARM и в области классических микроконтроллеров. 32-разрядные микроконтроллеры на базе ARM-процессоров почти вытеснили с рынка традиционные 8- и 16-разрядные микроконтроллеры.
По мере расширения области применения совершенствуются архитектура ARM-процессоров и система команд. Современные процессоры по возможностям порой не уступают процессорам DSP (для цифровой обработки сигналов). Начиная с архитектуры ARMv7 определены три базовых профиля процессоров:
• Cortex-A (Application) – для мощных коммуникационных устройств, типа смартфонов и планшетов;
• Cortex-R (Real time) – для высокопроизводительных систем реального времени;
• Cortex-M (Microcontroller) – для микроконтроллерных применений.
Процессорное ядро Cortex-М предлагается сегодня в модификациях Cortex-M3, Cortex-M4 и Cortex-M4F (табл.1).
В процессорах c ядром Cortex-M3 расширена система как 32-разрядных команд ARM, так и 16-разрядных команд Thumb: добавлены команды работы с битовыми полями и команды табличного ветвления. Новая команда if-then позволяет по одному условию проверить сразу до четырех последовательных команд условного выполнения.
Можно отметить, что отечественные производители электроники, купив лицензии на процессорные ядра ARM Cortex-M3/M4/M4F, сделали экономически правильный выбор – сразу вышли на самый передовой уровень в области архитектуры и системы команд центрального процессора, обеспечили совместимость с имеющимися в мире программными средствами разработки и отладки ПО, получили полную самостоятельность в решении технологических вопросов, в выборе памяти и периферии, нужных потребителям.
Преимущественные области применения нового микроконтроллера
Новый отечественный микроконтроллер К1921ВК01Т состоит из самого современного быстродействующего 32-разрядного процессорного RISC-ядра ARM Cortex-M4F, встроенной памяти программ и данных большого объема, классической коммуникационной периферии, а также специализированной периферии, обеспечивающей прямое цифровое управление силовыми ключами и прямое сопряжение с датчиками. По уровню оснащенности и производительности микроконтроллер вышел на передовые позиции и вполне может конкурировать с такими известными брендами, как Texas Instruments, Analog Devices, Atmel, Infineon. Практически все ведущие фирмы имеют в линейке своих изделий микроконтроллеры Motor Control на базе ядер Cortex-M3/M4/M4F.
Разработанные микроконтроллеры не ориентированы на рынок дешевых потребительских решений, где часто применяются простые 8- или 16-разрядные микроконтроллеры, они предназначены для реализации сложных комплексных проектов, зачастую с нетрадиционными исполнительными двигателями, силовыми преобразователями и исполнительными устройствами.
Области применения микроконтроллера К1921ВК01Т:
• управление электрическими двигателями с разным числом фаз всех возможных типов: асинхронными, синхронными, вентильными, вентильно-индукторными, работающими от преобразователей частоты на современных IGBT-ключах, как с датчиками механических координат, так и в режимах управления без датчиков;
• комплексное управление оборудованием электрических трансмиссий транспортных средств (тяговыми генераторами, тяговыми двигателями, накопителями энергии и т. д., связанными между собой быстродействующими коммуникационными каналами связи);
• силовая преобразовательная техника (инверторы, конверторы, мощные источники питания, многоуровневые инверторы, активные фильтры и т. д.);
• перспективные системы электродвижения судов, магистрального и городского электрического транспорта;
• управление объектами энергетики, в том числе нетрадиционной (ветровой, солнечной);
• управление позиционными, контурными и следящими приводами в станкостроении, робототехнике, медицине;
• реализация прямых безредукторных приводов – мотор-колес и мотор-редукторов;
• создание "мехатронных" модулей с полной конструктивной интеграцией рабочего органа, электрического двигателя, силового преобразователя и системы управления в одном устройстве.
Микроконтроллер К1921ВК01Т может использоваться в автомобильной электронике для управления дизелями и двигателями внутреннего сгорания.
Наиболее перспективным видится применение нового микроконтроллера для высокопроизводительных систем управления электроприводами, где, помимо развитой периферии, требуется быстродействующее вычислительное ядро с поддержкой вычислений с плавающей точкой, а также поддержка промышленных сетевых интерфейсов CAN, Ethernet, RS-485. Перечень электроприводов довольно широк: от позиционных электроприводов лифтов до приводов многокоординатных станков и высокоскоростных шпинделей. Разумеется, микроконтроллер можно использовать для создания подсистем автоматизации производственных процессов, включая средства распределенной автоматизации и управления.
Из чего состоит эффективная периферия Motor Control?
Полноценное управление электрическим двигателем требует четкого распределения задач, а также реагирования на события в рамках требуемых временных ограничений. Такое управление должно реализовываться в реальном времени. В этом случае ресурсы микроконтроллера тратятся согласно выставленным приоритетам и переключаются последовательно от задачи к задаче. Подобный класс систем использует периферийные модули совместно с расширенной системой прерываний, охватывающих все возможные внутренние и внешние события. Применение микроконтроллера К1921ВК01Т рассмотрим на примере векторного датчикового управления синхронным электродвигателем (рис.3).
Принцип работы не нуждается в комментариях, так как эта традиционная структура векторного управления описывается в любой литературе по электроприводу, например в [1]. Какие аппаратные возможности должен иметь микроконтроллер для обеспечения работоспособности такой структуры управления?
• Достаточно мощное вычислительное ядро для выполнения необходимых для такой структуры расчетов: вычисление тригонометрических функций, сложение, умножение, деление – все это с точностью минимум 16, а лучше – 32 разряда. Вычисления должны производиться циклически, с частотой 10–20 кГц. С этими задачами успешно справляется вычислительное ядро К1921ВК01Т Cortex-M4F с частотой 100–125 MIPS (миллионов операций в секунду).
• Микроконтроллер должен содержать несколько ШИМ-каналов, позволяющих управлять скважностями на шести ключах инвертора с реализацией так называемого "мертвого времени", когда одновременная работа верхнего и нижнего ключей любой стойки блокируется. В случае применения в области малых и средних мощностей двигателей (сервопривод) частота ШИМ может достигать 100 кГц из-за малых индуктивностей фаз двигателя. При этом частоты микроконтроллера 100 МГц может не хватить для получения достаточного разрешения при изменении скважности ШИМ-сигналов (при частоте 100 МГц число возможных уровней только 1 000, что недостаточно для прецизионных приводов). В этом случае применяются модули ШИМ высокого разрешения, которые позволяют дополнительно увеличивать количество квантов задания скважности – так называемая Hi Resolution PWM (HRPWM). На рис.3 показан простейший трехфазный инвертор напряжения, требующий шести каналов ШИМ. Однако во многих реальных задачах (дополнительный контур управления обмоткой возбуждения, многофазный двигатель с расщепленными обмотками, многоуровневый и даже матричный инвертор из 12 или 18 силовых ключей) требуется несколько дополнительных каналов ШИМ-генератора. В структуру привода может входить промежуточный DC/DC-преобразователь или активный выпрямитель – количество необходимых каналов ШИМ возрастает. К1921ВК01Т имеет девять двухканальных модулей ШИМ (всего 18 каналов), что достаточно для сложных применений. Каналы ШИМ могут работать как асинхронно, так и синхронно. Имеется возможность фазового сдвига ШИМ-сигналов, что особенно важно для управления мощными источниками питания.
• Микроконтроллер должен содержать АЦП для измерения аналоговых сигналов с датчиков токов фаз двигателя, напряжения звена постоянного тока, температур двигателя и инвертора, множества других величин, например, технологических переменных (давления, расхода и т. д.). К1921ВК01Т имеет встроенный АЦП на двадцать четыре 12-разрядных аналоговых канала, а также развитый менеджер управления измерениями с функцией автоматического усреднения, взаимодействия с контроллером прямого доступа в память DMA и модулями ШИМ-генератора (запуском процесса преобразования по сигналам ШИМ).
• Микроконтроллер должен иметь интерфейсы для приема сигналов с датчиков положения ротора. В электроприводе применяют датчики четырех основных типов: квадратурные энкодеры, датчики на элементах Холла, абсолютные датчики положения с цифровым интерфейсом связи (SSI) и датчики на основе вращающегося трансформатора (резольверы). К1921ВК01Т имеет все необходимые для сопряжения с ними интерфейсы: два модуля квадратурного декодера (QEP), шесть модулей захвата (CAP), четыре порта последовательного синхронного интерфейса (SPI), аналоговые входы для приема сигналов с резольвера и последующей программной обработки.
• Требуются интерфейсы связи для управления электроприводом. В промышленности для сопряжения с системами управления верхнего уровня применяются интерфейсы RS485 и Ethernet, а для организации локальных сетей внутри комплекса электрооборудования – интерфейс CAN. Микроконтроллер К1921ВК01Т имеет все необходимые интерфейсы связи, причем в нескольких экземплярах. Особенно важно наличие двух встроенных CAN-контроллеров для транспортных применений.
Таким образом, новый микроконтроллер К1921ВК01Т удовлетворяет самым жестким требованиям к специализированной периферии и интерфейсам общего назначения. В качестве ближайшего зарубежного аналога в плане периферии Motor Control можно отметить сигнальный микроконтроллер TMS320F28335 компании Texas Instruments – именно этот микроконтроллер был выбран в качестве прототипа при проектировании периферии К1921ВК01Т. Сравнительные характеристики этих двух микроконтроллеров приведены в табл.2.
Опыт разработки и применения контроллера МК40.1
В прошлом году ООО "НПФ Вектор" начала разрабатывать контроллеры электропривода на новой отечественной элементной базе применительно к задачам управления двигателями переменного тока (асинхронными, синхронными, вентильными и вентильно-индукторными), а также силовыми преобразователями энергии. Контроллер МК40.1 (рис.4) создавался для полноценной замены контроллеров привода на импортной элементной базе (на сигнальных микроконтроллерах Texas Instruments TMS320F2810) в рамках программы импортозамещения по заказу ОАО "КАМАЗ" прежде всего для эффективного управления трехфазными вентильно-индукторными тяговыми двигателями с независимым возбуждением и двухзонным регулированием скорости (режим ослабления поля).
Контроллер содержит 18 выходов ШИМ, восемь входов сигналов аварий от драйверов силовой электроники, гальванически развязанный интерфейс с датчиком положения на элементах Холла, 16 аналоговых входов, а также гальванически-развязанные интерфейсы связи CAN (2 шт.) и RS-485 (2 шт.). При этом все компоненты контроллера – отечественные или произведенные в странах Таможенного союза. Данный контроллер испытан для управления вентильно-индукторными, синхронными и вентильными (БДПТ) двигателями, будучи встроенным в соответствующие силовые преобразователи. Подтверждена возможность реализации на новой отечественной элементной базе самых сложных векторных систем управления двигателями. Все программное обеспечение было написано на языке высокого уровня С/С++.
Сравнение производительности микроконтроллеров К1921ВК01Т и TI TMS320F28335
Если периферии Motor Control у нового К1921ВК01Т достаточно, встает вопрос о производительности процессорного ядра. У микроконтроллера-аналога Texas Instruments TMS320F28335 используется DSP-ядро C28, а у К1921ВК01Т – ядро ARM Cortex M4F.
Было проведено сравнительное тестирование производительности микроконтроллера TI TMS320F2810 с ядром C28 и К1921ВК01Т с ядром ARM Cortex M4F. Тестирование осуществлялось на вычислительной задаче, сходной с вычислениями в структуре векторного управления электродвигателем: вычисления функций синуса/косинуса, множество операций умножения и сложения, логические вычисления, деление, функция atan2. Вычисления производились как в целочисленной математике с фиксированной точкой формата IQ 8.24, так и с плавающей точкой (для ARM Cortex M4F). Кроме того, программный код выполнялся как из оперативной памяти, так и из флеш-памяти. Программный код был реализован на языке Си. В качестве компиляторов для ядра C28 были выбраны фирменные компиляторы Texas Instruments со средой разработки Code Composer Studio v5, для ядра ARM – средства из среды разработки IAR версии 6.30, а также набор кросс-компиляции GCC-сборки Sourcery CodeBench Lite v24.05.28. В качестве библиотеки целочисленных вычислений для C28 использовалась фирменная библиотека IQmath от Texas Instruments, для ARM – собственная реализация аналога этой библиотеки на базе быстрых приближенных вычислений. Расчеты с плавающей точкой проводились с помощью функции из стандартной библиотеки Си при включенном модуле аппаратной поддержки вычислений с плавающей точкой FPU. Результаты тестирования представлены на рис.5.
Большее количество тактов соответствует более худшему результату. Интерпретировать результаты можно следующим образом. Лучшие результаты показывает сигнальный микроконтроллер TMS320F2810 с ядром C28, причем программный код, выполняющийся в оперативной памяти, работает быстрее, чем находящийся во флеш-памяти (два крайних правых столбца диаграммы с результатами 1061 и 1082 такта соответственно). С небольшим отставанием идут вычисления на К1921ВК01Т при использовании самостоятельно разработанной и оптимизированной библиотеки приближенных целочисленных вычислений формата 8.24 при выполнении кода из флеш-памяти: два крайних левых столбца, IAR (1232 такта) и GCC (1257 тактов).
Вычисления, выполненные из оперативной памяти, значительно более медленные (столбцы 3 и 4: 1680 и 1514 тактов), поскольку в сигнальных процессорах TI, в отличие от ARM, используется более эффективная модифицированная гарвардская архитектура центрального процессора. В процессорах ARM программный код также может выполняться из памяти данных, однако по быстродействию оптимизирована только шина доступа к программе в кодовой памяти. Когда код выполняется из оперативной памяти, процесс замедляется. Поэтому перенос кода в оперативную память в К1921ВК01Т возможен, но не эффективен.
Вычисления с плавающей точкой пока не показали достойных результатов, даже при выполнении программы из флеш-памяти. Это объясняется тем, что вычисления в стандартных библиотеках с плавающей точкой (float) не самые эффективные, при использовании float нужно искать оптимальные библиотеки, учитывающие возможности встроенного модуля FPU. Кроме того, при использовании "самодельной" библиотеки IQ математики были использованы в некоторых случаях приближенные вычисления, не обеспечивающие такой же точности, как вычисления в формате с плавающей точкой, но ускоряющие процесс вычисления. Опробование методов оптимального использования модуля FPU продолжается.
Предварительно можно сделать следующий вывод. Ядро Cortex M4F на примере К1921ВК01Т показывает меньшую производительность, чем DSP-ядро C28 микроконтроллера TI. Однако при использовании быстродействующих библиотек целочисленных вычислений отставание не очень велико, благодаря чему проекты, реализованные на микроконтроллерах TI серии C2000, могут быть легко перенесены на К1921ВК01Т. Оптимизировать все же придется, так как у большинства микроконтроллеров C2000 максимальная частота 150 МГц (или MIPS), а у К1921ВК01Т пока только 100 МГц.
Средства разработки программ и отладки
Микроконтроллер К1921ВК01Т основан на стандартном ARM-ядре, поэтому теоретически для него должны подходить любые средства разработки для ARM. Однако у большинства микроконтроллеров собственные регистры для программирования флеш-памяти, которые различаются от производителя к производителю, из-за чего особенности средств разработки зависят от конкретной серии микроконтроллеров.
Одни среды разработки позволяют встраивать собственные алгоритмы программирования флеш-памяти, другие – нет. Разработчики НИИЭТ обеспечили поддержку программирования флеш-памяти К1921ВК01Т для двух самых популярных универсальных коммерческих сред разработки для ARM: IAR Embedded Workbench и Keil MDK. Кроме того, реализованный алгоритм программирования флеш-памяти в программе c открытым исходным кодом OpenOCD (Open On-Chip Debugger) позволяет создать бесплатную среду разработки для К1921ВК01Т на основе IDE Eclipse или IDE Qt Creator при помощи специального плагина, набора кросс-компиляции GCC и OpenOCD.
НИИЭТ предлагает также полностью отечественную среду разработки Codemaster++ [ARM], включая набор компиляторов и редактор кода (создан компанией ООО "Фитон", Москва). Инструкции по использованию микроконтроллеров в различных средах разработки на начало 2016 года можно найти на интернет-форуме на сайте НИИЭТ.
Для программирования и пошаговой отладки можно использовать практически любой JTAG/SWD адаптер (программатор, эмулятор) для ARM, поддерживаемый средой разработки. Так, например, на работу с К1921ВК01Т успешно протестированы такие устройства, как Segger J-Link и ST-Link V2.
Способы отладки
Для отладки структур управления электродвигателями наиболее часто применяется способ просмотра осциллограмм (графиков изменения во времени) внутренних переменных системы управления. Например, при отладке векторного управления программист анализирует осциллограммы мгновенных значений входов/выходов различных регуляторов, форму токов фаз, задания напряжения на инверторе и т. п. Наиболее широко используется способ записи осциллограммы во внутреннюю память микроконтроллера с последующим отображением осциллограммы на экране компьютера – ни один интерфейс связи микроконтроллера не успеет передать данные в реальном времени с той частотой, которая требуется для захвата точек графика с частотой 10–100 кГц.
Как же это реализуется? Например, у производителя микроконтроллеров Texas Instruments есть все средства: режим реального времени микроконтроллера, который позволяет через интерфейс JTAG получать доступ к оперативной памяти микроконтроллера без приостановки ядра, а также среда разработки Code Composer Studio с функцией отображения графиков, построенных на основе данных, прочитанных из оперативной памяти МК. Таким образом, программист может написать специальный программный модуль для микроконтроллера, который в нужный момент запишет данные в виде массива точек в ОЗУ, а среда разработки тут же отобразит их в виде осциллограммы без нарушения работы привода, "забрав" информацию через JTAG. Кроме того, можно строить графики в реальном времени, запрашивая текущее значение переменной и тут же указывая ее на графике. Этот режим можно использовать для наблюдения за "медленными" процессами, такими как изменения скорости, напряжения, температуры.
Как с этим обстоят дела у сред разработки под ARM и, соответственно, у К1921ВК01Т? Ядро ARM имеет режим реального времени и так же, как и ядра Texas Instruments, может отдавать данные через отладочный интерфейс JTAG/SWD. Однако популярные среды разработки, в частности, IAR и Keil, не умеют строить графики на основе прочитанных из массива значений. С помощью функции "логического анализатора" в среде разработки Keil можно строить график изменения аналоговой величины, значение которой запрашивается в реальном времени из выбранной ячейки памяти/переменной микроконтроллера. Однако частота обновления данных ограничена: это не то, что требуется для отладки сложных структур электропривода, где нужно захватывать данные с частотой, сравнимой с протекающими переходными процессами, а именно 10–100 тыс. точек в секунду, на что реально способен только микроконтроллер. Таким образом, для отладки электропривода на К1921ВК01Т программисту необходимо самостоятельно реализовать функцию отправки записанных в микроконтроллере массивов данных с осциллограммами на персональный компьютер, что требует реализации протоколов обмена, драйверов интерфейсов связи, разработки ПО для ПК и т. п.
Фирма ООО "НПФ Вектор" предлагает для отладки систем управления электроприводами средства на основе CANopen-драйвера для интерфейса связи CAN. CANopen-драйвер обеспечивает доступ к переменным микроконтроллера, а программа для ПК (UniCON) взаимодействует с этим драйвером и позволяет настраивать параметры привода и наблюдать осциллограммы, причем как в режиме записи через оперативную память контроллера (используется соответствующий программный модуль в МК совместно с CANopen), так и запрашивая текущее значение переменной в реальном времени с небольшой частотой. Именно это требуется для отладки структур управления. В этом плане средства разработки похожи на инструмент FreeMaster компании NXP, которая предлагает его для своих микроконтроллеров с тем же функционалом. В настоящее время драйвер CANopen успешно перенесен на микроконтроллер К1921ВК01Т, а описанные средства отладки можно приобрести в ООО "НПФ Вектор".
Отладочные комплекты для К1921ВК01Т
С начала 2016 года для разработчиков доступны четыре отладочных комплекта: LDM-HELPER-K1921BK01T (от компании ООО "ЛДМСИС"), MBS-К1921ВК01Т (ООО "НПФ Мехатроника-Про"), NIIET_1921BK01T (ОАО "НИИЭТ") и VectorCARD_K1921BK01T (ООО "НПФ Вектор"). Первые три отладочные платы похожи и представляют собой стандартный набор для отладки микроконтроллера – на них есть драйверы интерфейсов связи, светодиоды, кнопки, ЖК-дисплеи и т. п. Отличие отладочного комплекта ООО "НПФ Вектор" в том, что это не просто плата, а набор для управления электродвигателем, включающий отладочную плату, низковольтный трехфазный инвертор, небольшой синхронный электродвигатель (серводвигатель) с квадратурным датчиком положения и датчиком Холла, JTAG, программное обеспечение для микроконтроллера, реализующее векторное управление электродвигателем на K1921BK01T в открытых исходных кодах, а также ПО для персонального компьютера UniCON для просмотра осциллограмм работы привода и его параметрирования (рис.6).
Данный комплект дает возможность работать с K1921BK01T на конкретной задаче по управлению электродвигателем, а открытый исходный код позволяет значительно сократить время разработки.
* * *
ОАО "НИИЭТ" совместно с ООО "НПП "Цифровые решения" разработали новый микроконтроллер К1921ВК01Т для задач управления электродвигателями. К1921ВК01Т позиционируется как аналог Texas Instruments TMS320F28335: мощный микроконтроллер для самых сложных задач управления двигателями и силовой электроникой. До него все российские микроконтроллеры имели недостаточно производительное ядро или недостаточно развитую периферию для задач подобного класса. Таким образом, К1921ВК01Т вполне может стать основой импортозамещения в энергетике, электромеханике, силовой электронике, в станкостроении, на транспорте.
Его можно использовать и в автомобильной промышленности – в качестве базы для создания отечественных встраиваемых контроллеров дизелей и двигателей внутреннего сгорания, а также в качестве устройств управления электромобилями и многоколесными транспортными средствами.
Микроконтроллер К1921ВК01Т – это только первая ласточка в области отечественных средств управления типа Motor Control. Новый продукт может содержать некоторые неточности как в документации, так и в кристалле. Должны смениться несколько ревизий, чтобы основные недочеты могли быть исправлены. Для ряда применений микроконтроллер будет избыточным, хотя и способен реализовать все необходимые задачи. Чтобы быть востребованным не только для "замещения импорта по требованию", но и по экономическим соображениям, К1921ВК01Т должен превратиться в серию микроконтроллеров разной степени сложности, цены, размера корпуса и производительности. Над этой проблемой специалисты ОАО "НИИЭТ" трудятся.
Работы ведутся с поддержкой государства, в частности, в направлении создания СБИС для управления двигателями высокой мощности и для управления двигателями внутреннего сгорания и трансмиссиями.
В заключение остается заметить, что учебной литературы по микроконтроллерам с ядром ARM–Cortex как на русском, так и на английском языках почти нет. Сотрудники кафедры АЭП НИУ "МЭИ" и фирмы ООО "НПФ Вектор" при поддержке ОАО "НИИЭТ" готовят к изданию интерактивный учебник для студентов электротехнических специальностей вузов и специалистов "Курс микропроцессорной техники на базе микроконтроллеров ARM Cortex-M3/M4/M4F" в двух томах. Вопросы и заявки можно направлять по электронной почте: kozachenkovf@yandex.ru.
ЛИТЕРАТУРА
1. Анучин А.С. Системы управления электроприводов. – М.: МЭИ, 2015. 373 с. ISBN: 978-5-3830-0918-5.
2. Официальный сайт Миландр: www.milander.ru
3. Официальный сайт ОАО "НИИЭТ": www.niiet.ru
4. Официальный сайт ООО "НПФ Вектор":
www.motorcontrol.ru
--------------------------------------------------------------------------------
[1] 1 НИУ "МЭИ", Москва
2 ООО "НПФ Вектор", Москва
3 ОАО "НИИЭТ", Воронеж
Отзывы читателей