Новый отечественный motor-control микроконтроллер к1921вк01т оао «нииэт»

Новый отечественный motor-control микроконтроллер к1921вк01т оао «нииэт»

Как-то прошла мимо новость о появлении нового микроконтроллера К1921ВК01Т ОАО «НИИЭТ». Чем он примечателен? Собственной периферией, предназначенной для управления электродвигателями (motorcontrol). Это не просто пара-тройка ШИМ каналов.

Это девять навороченных двухканальных модулей ШИМ (PWM), из них три модуля (HRPWM) с режимом «большого» разрешения. Это шесть отдельных 32х разрядных модулей захвата CAP. Двадцать четыре(!) канала 12ти разрядных АЦП с эластичным менеджером их запуска, встроенным усреднителем и цифровыми компараторами.

Два квадратурных декодера (QEP), куча интерфейсов связи, внутренняя пользовательская память, часы – и всё это на ядре ARM Cortex-M4F с мегабайтом флеш-памяти «на борту» и производительностью 100 MIPS! Весьма интересно?
Смотрите кроме этого: Samsung демонстрирует новые возможности Smart TV

Компания Samsung Electronics представила новые возможности применения умного телевизора с улучшенным интерфейсом пользователя Smart Hub и функцией Smart Control для удалённого управления данными и подключенными устройствами. Обновлённая версия сервиса снабжает эргономичный доступ ко всей нужной информацим и контенту с возможностью единого удалённого контроля в одном месте. Smart Hub разрешит избавиться от громадного количества различных источников данных и устройств, объединив целый сервисы и контент на одной платформе.Индустрия ТВ всегда меняется.

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

А в статье лучше поведаю что-нибудь такое, чего в даташитах не напишут.Мало из истории созданияРаботы над микроконтроллером (потом МК) начались в 2012м году компанией ООО «НПП «Цифровые ответы» по заказу ОАО «НИИЭТ» (г. Воронеж.).

На ядро ARM Cortex-M4F и часть коммуникационных периферийных модулей были куплены лицензии, а часть модулей были созданы данной компанией самостоятельно: модули ШИМ, контроллер АЦП (не сам АЦП, а менеджер по управлению им), модуль захвата CAP и модуль квадратурного декодера QEP. НПП «Цифровые ответы» сперва изготовила макет микроконтроллера на ПЛИС Kintex7, что реализовывал всю логику будущего микроконтроллера, включая ARM ядро.

Но ПЛИС – это вольно перепрограммируемое изделие, что разрешает исправлять неточности в логике МК, если они обнаруживаются по окончании прохода тестов (это кроме тестирования на симуляторе). Но как тестировать motorcontrol микроконтроллер? Кроме синтетических тестов, конечно же на настоящей задаче управления электродвигателем!

Для этого НПП «Цифровые ответы» обратились к нам – в ООО «НПФ Вектор», так как у нас очень обширный опыт работы в сфере электропривода на базе МК Texas Instruments, не смотря на то, что скорее вследствие того что мы сидим в соседнем строении. В совместных дискуссиях при проектировании периферии для управления электродвигателям было решено забрать за пример TMS320F28335 Texas Instruments (TI), так как данный микроконтроллер имеет, возможно, самую замечательную и эластичную периферию motorcontrol, заслуженно пользующуюся мировым уважением.

Исходя из этого, вооружившись даташитами TI, «Цифровые ответы» создали на их базе внутреннюю логику работы модулей ШИМ, CAP и QEP для К1921ВК01Т. Помимо этого, по опыту работы с МК TI мы дополнительно внесли предложение кое-какие улучшения, которых не достаточно у TI.

Это фильтр маленьких импульсов в модуле ШИМ (не все драйверы силовых ключей обожают открытие/закрытие не надолго, IGBT может попасть в линейный режим), это кое-какие нюансы в модуле квадратурного декодера, каковые разрешают избавиться от неприятностей с переключением делителей счетчиков на ходу и т.п. «Цифровые ответы» учли их и расширили соответствующим образом функционал периферии если сравнивать с модулями TI. На протяжении того, как НПП «Цифровые ответы» разрабатывали внутреннюю логику работы модулей, мы в «НПФ Вектор» делали стенд для тестирования будущего микроконтроллера.

Это был маленькой преобразователь частоты на шести транзисторах («сервоусилитель»), что цепями управления подключался к макету микроконтроллера на ПЛИС, а силовой частью подключался к маленькому серводвигателю с датчиками положения Холла (для проверки модуля CAP) и квадратурным датчиком положения (для проверки модуля QEP). Отечественная цель была такая: написать ПО для микроконтроллера, дабы обеспечивалось полноценное векторное управление электродвигателем, применяя любой датчик положения по выбору либо оба сходу.

И, конечно же, информировать о всех отысканных проблемах в периферии «Цифровым ответам». Не обращая внимания на множество собственных тестов МК у «Цифровых ответов», на протяжении опробований на живом электродвигателе было обнаружено много неточностей. По большей части они были связаны с неточной реализацией внутренней логики блоков, которая не была обрисована в явном виде в даташитах Texas Instruments.

К примеру, что обязан выдавать модуль ШИМ, в случае если уставка сравнения задана выше периода таймера? Либо в случае если для квадратурного декодера включен делитель входного сигнала, обязан ли модуль детектировать смену направления вращения по дроблённому сигналу либо по уникальному входному? Ответы на эти вопросы смогут быть очевидны электроприводчику, но не очевидны архитектору логики микроконтроллеров. Как мы смогли, так мы подобные баги совместно с «Цифровыми ответами» выловили.

Привод удачно получил в векторном управлении без каких-либо неприятностей. Но все баги таким тестированием мы, конечно же, охватить не могли – точно в других задачах неточности начнут вылезать еще. Но для этого и существует errata и новые ревизии микроконтроллеров: дабы исправить баги, необходимо их сперва насобирать.

По окончании завершения отладки логики МК на ПЛИС, «Цифровыми ответами» была сделана «разводка» МК (либо как в том месте это именуется у микроконтроллеров? Топология?), по окончании чего все результаты работы были переданы в НИИЭТ. К слову, мы уже нашли пара неточностей по окончании выпуска МК в «камне», но НИИЭТ посчитал их до тех пор пока не хватает критичными, дабы поменять разводку МК: накопятся еще – исправят.НазваниеЕще нужно заявить, что микроконтроллер пережил пара названий.

Сперва на протяжении разработки он имел кодовое имя «МС01», после этого умелая партия камней именовалась NT32M4F1, а после этого он уже стал К1921ВК01Т (причем в заглавии в одних местах буквы пишут русские, в других британские). Исходя из этого в случае если заметите эти заглавия в публикациях и ранних статьях по этому МК, не удивляйтесь.Как дорого?На данный момент (на начало 2016г) у НИИЭТ готова к продаже первая партия микроконтроллеров, которая уже начала поступать к клиентам.

Кристаллы корпусированы часть в пластик, часть в керамику (дабы в важных применениях не получилось как сами_знаете_с_чем). Цена камня в пластике на конец 2015-го года, думается, была чуть меньше 3 т.р., что выше цены TI TMS320F28335 при покупке в Российской Федерации (на момент написания статьи коэффициент пересчета «их» стоимостей в «отечественные» составлял 76). Но в TMS320F28335 нет EEPROM и часов, необходимо ставить внешние, почему цена в итоге делается сравнимой.

Это делает К1921ВК01Т перспективным не только в плане импортозамещения, но и для несложных «меркантильных заинтересованностей». Не смотря на то, что это сравнение, само собой разумеется, не совсем корректное – возможно отыскать кучу примеров более недорогих кристаллов на Cortex-M4F и с большей тактовой частотой, но с меньшем числом периферии. Исходя из этого для несложных задач К1921ВК01Т будет избыточно и громадным, и дорогим.

Но для главного применения (управление электродвигателями и сложной силовой электроникой) – он конкурентоспособен.Что у нас с производительностью? Мы годом ранее выступали с докладом на выставке по этому поводу, презентацию возможно отыскать тут. Совершённые нами тесты, само собой разумеется, не претендуют на особенную точность – всё-таки мы запускали не настоящие бенчмарки, а «закатали» в тест всё ту же векторную совокупность управления (а что ещё может тревожить электроприводчиков?).

Но краткий пересказ презентации таков: архитектура ARM Cortex-M4F отстает от DSP ядра в один раз28 TI на среднестатистических расчетах, требуемых для задач электропривода. В случае если снизить точность расчетов, в том месте, где это возможно, применяв аппроксимированные тригонометрические функции и другое, возможно сократить данный разрыв где-то до 15%. Но наряду с этим тактовая частота топовых ядер С28 (тот же TMS320F28335) образовывает 150МГц, а частота К1921ВК01Т – 100МГц.

Исходя из этого со всеми оптимизациями библиотек К1921ВК01Т эквивалентен по вычислительной мощности где-то МК TI серии piccolo частотой 90МГц. Что возможно трактовать как… весьма хорошо, на отечественный взор, по причине того, что в случае если верно применять все аппаратные навороты нового МК типа DMA и самофильтрующего измерения АЦП, то возможно хорошо сэкономить на тактах.

Так или иначе у нас оказалось «запихать» в К1921ВК01Т отечественный самый требовательный к производительности проект, базирующийся на TMS320F2810 (150МГц, ядро C28), что с треском уже влезает в данный самый 2810.Что у нас со средствами разработки?А что с ними возможно, это же ARM! Простой, без всяких «но». Берете любой JTAG, любую среду разработки, но… нет, все-таки каждая не получит. «Но» содержится в firmware флеш-памяти.

Не обращая внимания на то, что само ядро ARM стандартизировано и любой JTAG и среда к К1921ВК01Т подключатся, с firmware флеша не всё так легко. Думается, любой производитель микроконтроллеров вычисляет своим долгом сделать как раз собственные регистры для работы с firmware собственной флеш-памяти, исходя из этого создатели средств разработки мучаются с помощью всего этого зоопарка. Не отстает в этом замысле и К1921ВК01Т – в том месте способы работы с флеш также собственные.

Но в случае если для именитых производителей программаторы флеш памяти (драйвер, прошивальщик либо как это назвать?) в средах разработки написаны и трудятся «из коробки», то для К1921ВК01Т всё трудится лишь для тех сред, для которых написали программаторы в НИИЭТ. К счастью, для IAR и Keil все уже готово и примеры проектов с руководствами по firmware смогут быть обнаружены форуме НИИЭТ, а также в открытом репозитории на Bitbucket, что ведет НИИЭТ.

Помимо этого, мы в «НПФ Вектор» написали помощь программирования флеш К1921ВК01Т для OpenOCD (Open On-Chip Debugger). Это такая прослойка между отладчиком GDB и железом в виде различных JTAG-разных камней и эмуляторов. Но пока мы тянули с разрешением распрей и «код ревью» в репозитории OpenOCD, разработчики НИИЭТ написали всё также самое, но собственное и лучше (они еще добавили кроме прожига главной флеш-памяти функцию прожига пользовательской), но… это всё лирика. Что же дает данный OpenOCD?

Это необычный слой абстракции железа, что разрешает сделать собственную свободную и бесплатную среду разработки для К1921ВК01Т на базе любой популярной IDE. Мы в «Векторе» любим Eclipse (по причине того, что среда Code Composer Studio от TI, начиная с v4 на нем основана, мы к нему привыкли и по большому счету, нет на свете IDE лучше Eclipse). А разработчики НИИЭТ сделали среду разработки на Qt Creator.

Но, в общем, суть и в том месте и в том месте один: берется среда, берется комплект свободных кросс-средств разработки GCC, берется плагин для работы с OpenOCD, сам OpenOCD, мало конфигов, мало магии… и вы уже полноценно трудитесь с К1921ВК01Т, забыв про IAR и Keil. На момент написания статьи собственную сборку Eclipse (назвали мы её VectorIDE) для К1921ВК01Т мы выложили у себя на сайте, рецепт по приготовлению Qt Creator смотрите на форуме НИИЭТ.

Лично мы ведем все проекты для К1921ВК01Т в бесплатной среде и вам рекомендуем – комплект компиляторов GCC не очень отстает от фирменных IARовских (смотрите всю ту же отечественную презентацию), а но, если вы надёжная компания, вам не требуется закупать дорогое импортное ПО (уже с коэффициентом пересчета 76, Карл! 78!).Ах, да. Имеется еще кое-что. Именуется оно Codemaster++[ARM]. Это 100% отечественная среда разработки, включая компиляторы, и предназначенная кроме этого для К1921также01.

Мы изучили годом ранее её первые версии, но нашли что она была еще не готова, мало по части компиляторов и очень сильно по части удобства редактирования кода (не смотря на то, что в этом она может посоревноваться с IAR, кто осознаёт, о чём я). Но она маленькая и стремительная, а по интерфейсу напоминает какой-нибудь «хакерский» отладчик типа OllyDbg (сравните: раз и два). В общем, быть может, кому-то будет весьма интересно.

Нужно заявить, что разработчики (компания «Фитон» www.phyton.ru) весьма старались, кроме того запрашивали в свое время отечественный бенчмарк а-ля «векторное управление двигателем» дабы оптимизировать собственные компиляторы.Что у нас с отладочными наборами?На начало 2016г в природе известно четыре отладочных платы на К1921ВК01Т. Это отечественная VectorCARD K1921BK01T и другие… от соперников. Хорошо, так и быть, вот ссылки LDM-HELPER-K1921BK01T и MBS-К1921ВК01Т.

Еще, думается, у самого НИИЭТ имеется собственная плата NIIET_1921BK01T, но на их сайте, по всей видимости, она от меня скрывается – в случае если кто-то найдёт ссылку, с наслаждением дополню статью. В чём между ними отличие?

Мы реализовываем не обнажённую плату, а набор с инвертором, электродвигателем, векторным управлением в исходных кодах на Си (на базе того, что писали в свое время для «Цифровых ответов»), и с программой верхнего уровня и драйвером CANopen для наблюдения всех процессов в привода — смотрите отечественную первую статью. Исходя из этого если вы желаете с новым МК, мигая светодиодом либо пересылая эти по всяким интерфейсам связи, то оптимальнее будет приобрести отладочные платы соперников (не смотря на то, что у нас также имеется вариант обнажённой платы, но она совсем «обнажённая» — одни выводы).

Но если вы желаете создать на новом МК электропривод, то отечественный отладочный набор и ПО может сэкономить вам полгода-год времени разработки (быть может и больше, в зависимости от того, понимаете ли вы теорию электропривода и имеется ли у вас личные средства отладки и осциллографирования, подобные отечественным). Если вы пристально просматривали первую статью, то, возможно, не забывайте, что отладить совокупность управления для электропривода без средств визуализации процессов в – нереально.

И в случае если у Texas Instruments среда разработки может «из коробки» показывать осциллограммы, выстроенные согласно данным массива оперативной памяти МК, то для ARM в универсальных средах разработки (не от конкретного производителя МК) таковой функции пока не отмечается (в случае если это просматривают разработчики «Фитон» – не желаете ли доработать построителем осциллограмм собственную Codemaster++[ARM]? Это же несложно сделать!).

В отечественном отладочном наборе такие средства визуализации осциллограмм присутствуют, исходя из этого возможно сходу заметить всё, что надеется для управления электродвигателями: форму токов фаз, напряжения, входы/выходы всех регуляторов и т.п. Цена отечественного набора – громадная, ориентировочно около 130 т.р. (один лишь электродвигатель со всеми датчиками положения стоит на данный момент около 30 т.р.).

Но для организации, хотящей освоить новое изделие, это не должно быть критично – одна лишь коммерческая среда разработки под ARM может стоить больше. Недочёты К1921ВК01ТКакие главные недочёты нового К1921ВК01Т необходимо отметить уже на данный момент? • Во-первых, это без сомнений сырой продукт, поскольку его по-настоящему программировали до тех пор пока от силы человек 10-20. В то время, когда большее количество разработчиков на него насядут, будут обнаруживаться баги – будут выходить новые ревизии.

Так что подготавливайтесь. Но, однако, двигатели им крутить возможно – крутил лично.• На данный момент документация также сыровата. Неточностей в том месте мало, но кое-какие вещи растолкованы… не совсем ясно.

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

Уже на данный момент НИИЭТ думает над серией МК на его базе, с набором периферии и разными корпусами. Но пока — имеется лишь К1921ВК01Т.• У него своеобразный АЦП. Довольно часто производители МК ставят один стремительный (12 MS/s) модуль АЦП и мультиплицируют его по нескольким каналам — к примеру, так сделано у Texas Instruments в серии C2000.

Но в К1921ВК01Т стоит 12 двухканальных медленных (1.7MS/s) модулей АЦП, трудящихся параллельно. Чем это не хорошо кроме неосуществимости весьма скоро что-то измерить? В случае если АЦП в МК один, то на плате контроллера возможно на два неиспользуемых канала подать калиброванные референсные сигналы, скажем, 1В и 2В, и по ним вычислить и скомпенсировать ошибку смещения и мультипликативную ошибку этого одного АЦП, распространив коррекцию на все каналы (АЦП же один).

В то время, когда АЦП в МК большое количество, таковой трюк не пройдет – все они будут иметь собственные персональные неточности. Трюк с калибровкой мы использовали на МК Texas Instruments типа TMS320F2810 (это описывается в даташите и рекомендуется), тут же в К1921ВК01Т без калибровки мы взяли более низкую точность АЦП если сравнивать с калиброванным TMS320F2810. Нам было нужно сделать особый стенд для калибровки независимо каждого модуля АЦП К1921ВК01Т и зашить калибровочную таблицу во встроенный EEPROM.

Тогда точность аналоговых измерений оказалась сравнимой (от температуры калибровка практически не уплывает — контролировали). Возможно, НИИЭТ стоит прошивать такую таблицу на заводе, было бы комфортно. Но пока во флеше пусто.• Частота 100МГц, само собой разумеется, низковата, хотелось бы стремительнее. Но что имеется, другими словами.

Не смотря на то, что в некоторых местах пишут частоту 125МГц – всё зависит от температуры воздуха. «Цифровые ответы» сказали такую неофициальную данные: в кристалл запланирован на максимум 125 градусов. Температура на нём выше приблизительно на 15 градусов, чем окружающая среда. По проекту К1921ВК01Т обязан действующий при 85 градусах внешней среды + запас, что гарантировано достигается на 100МГц. По факту возможно разгонять МК выше 100МГц, отдельные образцы трудились и на 140-170МГц, но зависит от примера.

Исходя из этого, в случае если кристалл не перегревать (а у него имеется встроенный датчик температуры, заведен на АЦП), то его возможно разгонять, в случае если кому-то это требуется. Но в случае если в вашем применении жарко (+85), то лучше выше 100МГц не задирать.• До тех пор пока нет никакого официального загрузчика (программатора) через интерфейсы связи (CAN, RS). Шить МК возможно лишь через JTAG/SWD.

Соответственно, в случае если контроллер изделия находится в закрытом корпусе, то необходимо писать собственный загрузчик для желаемого интерфейса связи. Либо ожидать, пока напишет НИИЭТ. До тех пор пока — нет, но, думаю, покажется.ЗаключениеХотя какое еще заключение?

Всё лишь начинается! Наконец-то имеется отечественный микроконтроллер, на котором вправду возможно сделать электропривод! До этого все существующие отечественные МК были либо не сильный ядром, либо не сильный периферией, дабы справляться с задачами motorcontrol. Но сейчас – полная свобода для самых сложных структур управления и самой сложной силовой части.

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

Случайная статья:

Следящий привод на VectorCARD K1921BK01T


Похожие статьи:

Комментирование и размещение ссылок запрещено.

Обсуждение закрыто.