Компания Gigabyte объявила о выпуске новой компактной видеокарты GTX 970, которая получила номер..
Как-то прошла мимо новость о появлении нового микроконтроллера
Собственно, чтобы в статье не перечислять все технические характеристики изделия, отправляю на страницу
Еще надо сказать, что микроконтроллер пережил несколько названий. Сначала во время разработки он имел кодовое название «МС01», затем опытная партия камней называлась NT32M4F1, а затем он уже стал К1921ВК01Т (причем в названии в одних местах буквы пишут русские, в других английские). Поэтому если увидите эти названия в ранних статьях и публикациях по этому МК, не удивляйтесь.
Как дорого?
В настоящее время (на начало 2016г) у НИИЭТ готова к продаже первая партия микроконтроллеров, которая уже начала поступать к заказчикам. Кристаллы корпусированы часть в пластик, часть в керамику. Цена камня в пластике на конец 2015-го года, кажется, была чуть меньше 3 т.р., что выше цены TI TMS320F28335 при покупке в России (на момент написания статьи коэффициент пересчета «их» цен в «наши» составлял 76). Однако в TMS320F28335 нет EEPROM и часов, нужно ставить внешние, из-за чего стоимость в итоге становится сравнимой. Это делает К1921ВК01Т перспективным не только в плане импортозамещения, но и для простых «меркантильных интересов». Хотя это сравнение, конечно, не совсем корректное — можно найти кучу примеров более дешевых кристаллов на Cortex-M4 °F и с большей тактовой частотой, но с меньшем количеством периферии. Поэтому для простых задач К1921ВК01Т будет избыточно и большим, и дорогим. Но для основного применения (управление электродвигателями и сложной силовой электроникой) — он конкурентоспособен.
Что у нас с производительностью?
Мы год назад выступали с докладом на выставке по этому поводу, презентацию можно найти
На начало 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. Но теперь — полная свобода для самых сложных структур управления и самой сложной силовой части. Особенно хочется отметить перспективы этого микроконтроллера для станочных сервоприводов. До настоящего времени в России не было возможности изготовить полностью отечественный многокоординатный прецизионный станок, так как (одна из причин) не на чем было сделать качественный сервопривод. Теперь такой микроконтроллер есть.