MIK32 / АМУР / К1948ВК018

Оказывается, прямо сейчас в Сочи проходит выставка "Микроэлектроника 2024", на которой Мишустину (это нынешний Председатель Правительства, если кто не в курсе или читает из будущего) презентовали отечественный Микроконтроллер MIK32, он же АМУР, он же К1948ВК018.
Я довольно давно следил за судьбой этого проекта, но как-то закрутился, забегался, давно не заходил на их сайт, потерял из виду и... вдруг выяснилось что уже семь месяцев как Микрон запустил его в массовую продажу!
Ну, супер! Давайте на него посмотрим.
Собственно, почему у меня были большие ожидания именно от этого проекта? Дело в том, что помимо Микрона у нас всего три производителя микроконтроллеров: Ангстрем, Миландр и НИИЭТ. Среди их номенклатуры есть интересные экземпляры, но проблема в том, что они либо отсутствуют в продаже, либо их стоимость колеблется в диапазоне 60-140 тысяч рублей (я не преувеличиваю, полюбопытствуйте сами, или вот, или вот ещё).
Поэтому на Амур у меня были большие надежды, тем более, что с первого взгляда его характеристики выглядят неплохо:
Периферия:
• SPI, I2C, UART.
• Датчик температуры.
• АЦП 12 бит, 8 каналов, частота дискретизации до 1 МГц
• ЦАП 12 бит, 2 независимых канала, частота дискретизации до 1 МГц.
• Часы реального времени с поддержкой полного календаря.
• Поддерживаемые частоты опорного тактового сигнала 1-32 МГц.
• Watchdog.
Память:
• ОПЗУ (Однократно программируемая ПЗУ) – 256 бит.
• ОЗУ - 16 КБ.
• ПЗУ (EEPROM) – 8 КБ.
• Подключаемая внешняя память программ (QSPI Flash) – до 16 МБ.
• Кэш память внешней шины памяти программ – 1 КБ.
Таймеры:
• 16-ти и 32-разрядный с поддержкой ШИМ и захвата/сравнения сигналов.
Дополнительно:
• Аппаратная поддержка крипто-алгоритмов ГОСТ 34.12–2018 и AES128.
• Рабочие температуры -40…+85°C.
• Корпус QFN64.
Кроме того, для чипа доступна интегрированная среда разработки на базе Eclipse (или как вариант VS Code с плагином PlatformIO), есть примеры кода, есть библиотеки для работы с периферией и есть даташит, который я первым же делом и скачал.
На 3-й его странице, мы видим перечень преимуществ МК (надо полагать, перед конкурентами). Цитирую:
- применение открытой архитектуры RISC-V;
- высокая производительность;
- широчайший набор функций и возможностей;
- высокая степень интеграции компонент и блоков;
- высокая рабочая частота;
- большой запас встроенной памяти;
- отечетвенные разработка и производство.
И вот тут у меня начинают появляться первые вопросы. Во-первых, производительность микроконтроллера сильно ограничена его предельной тактовой частотой в 32 МГц, а это по нынешним меркам совсем не много. Видимо, технологические ограничения не позволяют поддерживать стабильную работу на более высоких частотах. Во-вторых, меня смущает фраза "большой запас встроенной памяти". Что тут имел в виду автор мне не совсем понятно, потому что как таковой встроенной Flash-памяти в Амуре нет. Есть 8 кило EEPROM, что очень даже хорошо и полезно, причём эта память мапится на общее адресное пространство и есть возможность запускать прошивку из неё. Круто, удобно, но маловато. Получается какой-то странный диссонанс: даже для небольших проектов уровня Arduino/Mega328 встроенной памяти будет недостаточно. А для более крупных проектов есть вариант с подключением внешней флешки, с этим проблем нет, но вот только производительности чипа недостаточно для нормальной работы чего-то более серьёзного и требовательного к ресурсам. Т.е. ни туда ни сюда.
Далее на борту 16 килобайт ОЗУ. Неплохо, но не сказать что это "большой запас". Ещё есть 256 байт однократно программируемой памяти, что тоже не густо. В ESP32 в зависимости от чипа может быть от 128 до 448 килобайт такой памяти.
Что касается производительности, то в презентации микроконтроллера технический специалист Александр Квашин показывает слайд, на котором сравнивается производительность MIK32 со следующими "сопоставимыми аналогами и конкурентами" (на этой фразе Александр подозрительно хихикнул 🤔):
• Два 32-битных МК (STM32F051C8 и LPC1114), которым MIK32 заметно уступает, причём не в последнюю очередь "благодаря" невысокой тактовой частоте.
• Среди проигравших 16-битный PIC24FJ64GB004, 8-битный PIC18F46K22 и древний 8-битный AT89C51.
Возможно, микроконтроллеры STM серии F100 тоже проиграли бы по производительности Амуру, но это самые медленные 32-битный чипы из того, что есть у STM. Предполагаю что проводить сравнение с ними ребятам из Микрона было не очень комфортно.
Так что насчёт "высокой производительности" тоже есть сомнения.
Надо сказать, что Александр в презентации вполне открыто признаёт что МК достаточно простой. И понятно что все производители склонны описывать свои товары несколько приукрашивая их достоинства, но не до такой же степени... Особенно обращает на себя внимание пункт "широчайший набор функций и возможностей". Запомним его.
Тем не менее я бы от себя среди достоинств дополнительно отметил бы:
• 2 независимых 12-битных ЦАП. Это хороший плюс.
• 8-канальный 12-битный АЦП. Хотя, как я понял, с коммутацией этих каналов есть некоторые неудобства.
• Встроенный 1 килобайт кэша между QSPI и CPU, значительно ускоряющий работу с внешней памятью.
• Единое адресное пространство на 32 бита адресов.
• И ещё раз обратим внимание на наличие IDE, примеров и библиотек, обслуживающих периферийные узлы. Это важно и очень хорошо что всё это есть.
В остальном, в плане функций и возможностей это вполне себе обычный микроконтроллер.
Однако, помимо производительности у проекта есть и другие недостатки, показавшиеся мне существенными.
Среди которых в первую очередь я бы назвал невысокое качество документации. Да, она есть, она доступна для свободного скачивания и это уже очень немало. Но всё же документ, озаглавленный как "Техническое описание MIK32" несколько сыроват. Даже если не принимать во внимание ошибки и опечатки наподобие "неколлибруемый ИОН", то всё равно к документу остаётся ряд вопросов. В частности:
• Немного смущает одновременное применение англо- и русскоязычных аббревиатур, причём они могут отличаться не только от документа к документу, но и в рамках одного документа тоже. Например, аббревиатура ПДП (Прямой Доступ к Памяти) используется в тексте 29 раз, в то время как DMA - 43 раза. В глоссарии при этом нет ни того ни другого, он вообще довольно скуден и сделан чисто для галочки. Ещё пример: в презентации упоминается аббревиатура ЭППЗУ, а вот в даташите это уже EEPROM. В общем, смотрится это несколько грязновато.
• Я не нашёл в документе электрических характеристик, которые обычно даются в виде таблиц на весь чип и на каждый из его выводов (или групп выводов) в отдельности. И кстати, вот ещё вопрос: а как обстоят дела с моделированием в САПР и есть ли, например, IBIS-модель для этого микроконтроллера?
• ВременнЫе диаграммы приведены для USART и I2C, но отсутствуют для SPI.
• Нет графической схемы выводов и нет чертежа футпринта.
• Схема питания чипа довольно непростая: микроконтроллер питается напряжением 3.3 В, при этом цифровая часть запитывается напряжением 1.8 В от внутреннего LDO (либо, вроде как есть возможность подачи внешнего питания 1.8 В), при этом рекомендации по питанию приведены довольно скудные.
В общем, хоть версия документа и обозначена как 2.1.8, но выглядит он как документ версии 0.x. Я даже готов предложить свои услуги в роли технического редактора-корректора (если коллеги из АО Микрон сочтут нужным), потому что оставлять это в таком виде было бы нехорошо. Документ надо как минимум старательно вычитать. Посмотрите в качестве примера на пользовательское руководство на чип 1887ВЕ7Т или на 1986ВЕ1. Эти документы проработаны гораздо более тщательно.
Далее по недостаткам самого чипа:
• Нет PLL. Для максимальной производительности придётся тактироваться от кварца на 32 МГц.
• GPIO не поддерживают Open Drain (помните, "широчайший набор функций и возможностей"?). Т.е. насколько я понимаю, альтернативные функции, обеспечивающие работу периферии (I2C, например) просто переключают пин из режима pull-down в режим входа и обратно. В презентации, к сожалению, этот момент не был подробно объяснён (кому интересно - посмотрите с 40-й минуты).
• На цифровых входах нет триггера Шмитта. Ну, тут я не знаю что сказать... даже в ATtiny10 он есть.
• Один единственный вектор, а следовательно и обработчик прерываний, который должен анализировать причину своего вызова (номер линии прерывания, порт, пин и т.п.). По сравнению с отсутствием OD и ТШ не так критично, но и не круто. И уж точно не соответствует выше упомянутому "широчайшему набору функций и возможностей".
• На сегодня микроконтроллер представлен только одной единственной своей модификацией и только в одном корпусе.
• ЦЕНА! Сейчас в рознице он стоит 3000р. за штуку. Если берёте от 50 штук, то на 100 рублей дешевле. От 2000 штук в год - 1867.55р без НДС за чип! А от 100 000 в год - 778.12 без НДС.
Да, это гораздо лучше чем 60 т.р. за чип, но всё же...
Производитель позиционирует К1948ВК018 в качестве индустриального микроконтроллера. И хотя на сайте и перечислены возможные применения для Умного дома или Интернета вещей, но верится в это слабо, потому что такая стоимость очень заметно снизит конкурентоспособность того устройства, которое будет построено на базе MIK32. Просто в силу заметного повышения конечной цены для потребителя. Для радиолюбителей Амур не подходит по той же причине.
Собственно, я хотел взять этот чип для подробного обзора, потестировать разные его фичи и сделать на эту тему большой ролик. Но я, как любитель, могу себе позволить делать обзоры только на те приборы и компоненты, которые сам планирую где-то использовать. А каким образом я смог бы применить К1948ВК018 в своих устройствах я, честно говоря, не знаю.
Ещё на сайте указано возможное применение в "Транспортной инфраструктуре" и "Медицинской технике". Вот тут уж увольте! Для транспорта Амур не подойдёт просто даже в силу скромного диапазона рабочих температур. +85°C это очень мало. Должно быть +105°C, а лучше +125°C. Зачем вводить в заблуждение потенциальных клиентов? Непонятно.
Подозреваю, что и с медициной могут быть проблемы. Ну, для бытовой медтехники может и ОК, а для профессиональной... у меня есть сомнения что МК соответствует всем установленным требованиям (хотя я могу и ошибаться).
Остаётся только индустриальное применение. Т.е. станки, роботы и прочее оборудование, для которого цена микроконтроллера окажется исчезающе мала по сравнению с ценой всего остального.
Но и тут мы опять возвращаемся к тому, что микроконтроллер относительно слабый, медленный и при этом не имеет достаточного объёма встроенной Flash-памяти, т.е. (это всего лишь моё дилетантское мнение) его применение может быть экономически оправдано только в условиях санкций и прочих государственных рестрикций.
Насколько хороша такая бизнес-модель, при которой продукт может продаваться только в абсолютно нерыночных условиях? Ведь если (и когда) внешние факторы в виде санкций и всевозможных реестров исчезнут или смягчатся - продукт автоматически перестанет быть конкурентным.
Мне, конечно, понятен аргумент что, мол, это полностью отечественный чип, что никто его у нас не отнимет и что его всегда можно произвести своими силами. Но я не очень понимаю почему вот эта "нашесть" всегда должна противопоставляться конкурентоспособности? Может ли быть продукт одновременно "отечественной разработки и производства" и быть при этом конкурентоспособным?
P.S. Я нисколько не умаляю талантов инженеров-разработчиков. Тут стоит сказать что помимо специалистов АО Микрон в разработке участвовали инженеры компании Синтакор (Syntacore), спроектировавшие ядро микроконтроллера. Я искренне всеми этими людьми восхищаюсь и рад, что у нас есть такие специалисты. Это действительно очень высокий уровень, как говорится, не баран чихнул!
Но всё же, вопросы, озвученные выше, остаются для меня открытыми.