Мы, русские, не обманываем друг друга.

Прочитал новость, которую любой желающий может найти по запросу «Elbear ACE UNO”, https://www.ixbt.com/news/2024/04/22/sdelano-v-rossii-predstavlena-polnostju-otechestvennaja-plata-sovmestimaja-s-arduino.html, особенно порадовали абзацы (не удержусь от цитирования) про «полностью российская» и «продажи в ЮВА». Новость явно технологическая, относится к сфере IT, поэтому простительно желание поделится мыслями, данных сообщением навеянными.
Всем, кому интересно, является ли правдивой информация, изложенная в новости, могут нажать на кнопку ниже (для остальных спойлер — нет, не является).
И в чем нас пытаются обмануть?

Поскольку речь идет о вполне конкретной плате на основе вполне конкретного микроконтроллера (МК), будет логичным представить его технические характеристики в сравнении с некоторым условным «одноклассником». В качестве последнего я выбираю МК от фирмы WCH, конкретно серию CH32V003. Примечание на полях (пнп): я сознательно выбрал младшую модель семейства, поскольку уже следующее изделие китайского производителя (CH32X035) нет никакого смысла сравнивать с отечественным МК, проще сразу сказать, что по всем параметрам микросхема из КНР лучше.

Параметр

АМУР

CH32V003

Оценка*

Изготовитель

Микрон (РФ)

WCH (КНР)

+20

Ядро

RISC-V RVIMC (3)

RISC-V RVEC (?)

0

Технология

180нм

? (90нм - мне подсказали)

0

Частота(МГц)

30(32)

48

-1

Тактирование

32МГц, 32кГц, 1~32МГц, 32кГц

24МГц, 128 Кгц, 4-25МГц

0

Память программ (кБ)

8(8000)

16

-1 (+3)

Память данных (кБ)

16

2

+4

Таймеры

3*32,3*16, WDT

2*16, 2*WDT

+3

Интерфейсы/DMA

2SPI, 2USART, 2I2C, ADC:12b*1M*8 DAC:12b*1M*2 /1*4

SPI, I2C, UART
ADC: 10b*1.7M*(8+2)
/1*7 (Ring?)

+4

Опции

RTC, AES+, CRC

OPA

+2

Питание (В)

2.9~3.6

2.7~5.5

-2

Потребление (мА)

50, 2

8-0.4->0.01

-10

Корпус

LQFP48

SOIC8, SOIC16, SOIC20

-2

Температура

-40+85

-40+85

0

Программирование

MikronIDE

MounRiverStudio

?

Документация (стр.)

301

33+185

0 (-10 каждому)

Наличие ВП

нет

нет

0

Цена ($US)

30

0.6-0.1

-50

*Оценка дана с точки зрения отечественного МК.
Из таблицы видно, что по техническим параметрам МК действительно весьми близки, так что аналог выбран правильно. (вопросы означают отсутствие у автора достоверных данных). Теперь пройдемся по отдельным позициям подробнее.

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

Ядро.
Пнп: честно говоря, не очень понимаю выбор именно RISC-V, на мой взгляд, оно ничем не лучше (но и не хуже), чем естественный конкурент (ARM). Соображения относительно стоимость лицензии не принимаются, насколько мне известно, Cortex-M0 также может применяться свободно, и, например, Миландр полностью самостоятельно его синтезировал по описанию (ну так они мне говорили и я склонен верить), так что задача вполне решаемая. Не исключаю версии, что V – это «стильно, модно, молодежно», но моим мнением при выборе архитектуры точно не интересовались.
Ядро практически одинаковое, в 2 нет блока умножения/деления, в 1 только базовая система команд, так что ничья.

Технология изготовления.
В общем то, также ненужный параметр, дан только с целью расширения кругозора, так что оценивать этот параметр глупо, ничья. Для 1 явно указан на сайте производителя, для 2 отсутствует (у меня вообще сложилось впечатление, что это fabless компания, но кто китайцев знает). Пнп: есть интересная новость, что МИЭТ и YADRO совместно разработали и изготовили на Микроне по тем же 180 нм «учебный» RISC-V микроконтроллер с совсем другими параметрами (80 МГц, 128 кБ оперативка), можем же, когда захотим.

Скорость работы.
Частота у 1 несколько ниже, скорее всего это связано с коротким конвейером в 3 стадии (обычно делают 5 стадий), хотя, может быть, и с технологическими ограничениями (я не настоящий сварщик в области технологий). В любом случае характеристики сопоставимы и реальное быстродействия будет зависеть не сколько от тактовой частоты, сколько от особенностей реализации МК (организации и количества шин, особенностей постоянной памяти и так далее), но все равно небольшой перевес у 2. Пнп: у современного разработчика фраза из технического описания 1 «высокая рабочая частота» ассоциируется с несколько иными цифрами, нежели 30 (или даже 32) МГц.

Память программ.
Оба конкурента не блистают в данном аспекте, 16 кБ памяти программ— это всего лишь четыре или максимум восемь тысяч команд (хотя, с другой стороны, это 100 экранов кода на ассемблере). Так что, для большинства приложений вполне достаточно, даже RTOS уместится. Но у 1 есть еще одна интересная фича — возможность напрямую исполнять код из внешней FLASH памяти (практически неограниченного размера), подключенной по интерфейсу QSPI через кэш на 256 слов. Понятно, что в таком режиме будут существенные лаги при смене страницы, но «маленькая рыбка лучше большого таракана», так что 1 побеждает с существенным отрывом. Пнп: что характерно, в описании 1 информация об этой фиче не представлена, ее нужно вычитывать из соответствующего раздела технического описания, в котором, что интересно, есть фраза «большой запас встроенной памяти» - или это о оперативке? Еще одна особенность 1 — память программ имеет схему коррекции по Хэмингу — не очень понятно, это плюс или минус и зачем мне вообще такая информация, но мне теперь придется жить дальше с этим знанием. Пнп: в ДВК такая организация оперативной памяти была необходимостью в силу низкой надежности микросхем памяти — при отключенной коррекции одиночная ошибка в НКУ имела место раз в 3-4 часа, при включенной двойная ошибка не наблюдалась в течении 3 суток в диапазоне температур.

Память данных.
У обоих конкурентов ее немного, но у 2 очень уж немного, если учесть разрядность данных, мы сможем разместить только 512 4х байтных слов. Так что 1 побеждает с уверенным преимуществом.

Память прочая.
Изделие 1 содержит 256 бит OTP памяти, оба изделия содержат 64 байта энергонезависимой памяти для хранения настроечной информации, оба имеют уникальный 64 битный уникальный код — паритет.

Интерфейсы.
Наблюдаем стандартный набор у обоих участников, у 1 номенклатура существенно шире, так что зафиксируем небольшое преимущество.
Интересная опция USART у 1 — возможность смены ножек Tx и Rx – пустячок, а приятно.

Дополнительные опции.
Часы реального времени и домен батарейного питания — неплохое преимущество 1, действительно удобная и полезная фича. Пнп: я бы предпочел подключать внешний кварц на 32.768 кГц, но на 32 кГц тоже купить можно. Пнп: но, уважаемые коллеги, BCD (так Вы ее назвали в документации) кодировка с переменным (4-3-2) числом бит в поле (!!!!) - Вы это серьезно, на мой взгляд решение из серии «Уши отрезал, сварил и съел, ты бы догадался?»
Встроенный блок шифрования в 1 - «ну пусть комары будут, раз французы без них не могут» - шифрование программным способом вполне реализуемо, (я совершенно не уверен, что этот способ настолько плох, как написано в документации на 1), но аппаратный блок тоже не помешает.
Операционный усилитель в 2 - тоже классная вещь для нормирования слабых сигналов, так что почти ничья, но у 1 позиция все же сильнее.

Питание.
Входной диапазон отличается не сильно, но все-таки отличается. Оба прибора можно запитать от батарейки, но 2 еще и от литий-ионного аккумулятора напрямую и от USB, так что счет в его пользу.

Потребление.
Здесь у 1 все откровенно плохо, такое ощущение, что на Микроне плохо представляют, что такое IoT. Потребление одной цифрой и какое потребление — 50 мА (!!!) - это провал. Причем указано наличие различных режимов энергосбережения, но смысл их использования (снижение потребление до приемлемых цифр) в документации совершенно не отражен. По тексту рассыпаны данные о потреблении отдельных узлов МК, но в целостную картину они не складываются. И как вишенка на торте — потребление часов реального времени в 2 mA (тешу себя надеждой, что это ошибка в документации), которое высушит CR2032 менее, чем за неделю. Пнп: как Микрону удалось добится такого показателя, ведь у Миландра потребление аналогичного блока составляет 5 мкА. Изделие 2 имеет потребление на порядок меньший, в КД явно указано изменение тока в режимах энергосбережения вплоть до 9 мкА в глубоком сне.

Программирование.
Пока воздержусь от оценок, с 2 я уже работал (хотя с другим МК), надо будет скачать 1 и внимательно посмотреть, хотя вроде обе сделаны на одной платформе.

Документация.
В 1 представлена техническим описанием, которое оставляет двойственное впечатление. С одной стороны, дано много интересных технических подробностей, которые, в общем то, не так уж и нужны пользователю, хотя и не помешают (например, описание TCB). Пнп: «Пользы, правда, с него было, как с козла молока, но вреда, однако, тоже никакого». С другой стороны, часть действительно нужной информации либо рассыпана по тексту (искусно спрятана), либо вообще отсутствует (смотри описание контроллера прерываний). Имеются ошибки, как синтаксические (тем более обидные, что они легко фиксятся чекером), так и фактические, но они почти всегда не критичны - «ну ты же понял, что я хотела сказать». Пнп: интересно, где можно ознакомиться со схемой «сигма-дельта АЦП на переключающихся конденсаторах».
Общий вывод — у обоих конкурентов документация не отвечает моим высоким требованиям, так что ничья. Пнп: Бог с ними, с китайцами, обращаюсь с Микрону, если кто-нить из руководства проектом читает данный опус, ну сколько можно, наймите специалистов для подготовки нормальной КД, можете даже ко мне обратится.

Приемка.
Вполне естественно, что производитель из КНР не думает о потребностях индустрии в РФ, которая должна изготавливать изделия в интересах МО РФ. Однако от отечественного производителя мы вправе были ожидать несколько иного подхода, но наши ожидание на оправдались. Вместе с тем, я понимаю резоны изготовителя 1 — наши военные с упорством, достойным лучшего применения, требуют герметичного корпуса (технология CotS прошла мимо них), что почти автоматом означает металло-керамику и соответствующее (кратное) увеличение стоимости.

Стоимость.
Представителя 2 можно приобрести в ЧиД за 58 рублей, а на Али за такую же сумму можно купить лот из 5 штук, что приводит к 10 центам за штуку. Конечно, это не 3 цента, как за Padauk, но все равно цена очень и очень достойная. Что же касается 1, то больше всего подходит фраза, приписываемая Озерову «Да, ничего не скажешь, а остальное Вы уже видели»: три тысячи рублей, и это в пластике. Пнп: мне в комментариях наверняка расскажут про эффект масштаба и про законы ценообразования. Я все понимаю, Тищенко Микрон, но 750 30 долларов за ЭТУ картину МК со столь скромными параметрами — я могу только удивиться оптимизму представителя Микрона, в интервью заявившему о выходе на рынки ЮВА. Лично у меня громадные сомнения в перспективам данного изделия на мировом рынке вообще, а по указанной цене в особенности.

Далее читателю предоставляется составить свою целевую функцию и провести стоимостно-функциональный анализ вариантов применения рассматриваемых конкурентов в реальных изделиях.

Обещаное пнп: что касается перспектив 1 на отечественном рынке, то в честной конкуренции у него нет ни единого шанса, но есть нюансы. Если Вы производите, к примеру, мониторы и применяете 2, то себестоимость составит, допустим, 58 тыс. рублей и продать Вы его сможете, предположим, за 69 тыс. рублей. Но, если Вы примените 1 и получите дополнительные баллы для включения в реестр МинПромТорга (МПТ), то Вы сможете участвовать в тендерах на закупки, получите преимущество в соответствии с действующим порядком проведения оных и продадите изделие себестоимостью в 58+3=61 тысячу уже за 120 тысяч — вполне себе коммерчески выгодное решение. И я нисколько не собираюсь осуждать предприятия, которые пойдут по такому пути, поскольку таковы правила игры в ГосЗакупки.
А вот что касается данных правил и создавших их чиновников, включая, но не ограничиваясь руководителем МПТ, то здесь можно было бы привести множество определений, включающих «непереводимую игру слов с использованием местных идиоматических выражений», но компактнее и четче, чем руководитель МИД РФ, не скажешь, так что присоединяюсь.

В заключение примечаний хотел бы высказаться по недавнему скандалу с мониторами и «ненужными» контроллерами Миландра в них.
С одной стороны, на спроектированных мною платах есть множество конденсаторов, половину из которых можно снять и даже не заменять их перемычками, причем, скорее всего, работа плат не нарушится. Дает ли такое наблюдение нам право реально не устанавливать фильтрующие конденсаторы — конечно же нет, это плата за неполноту наших знаний о свойствах микросхем, так что наезд на производителя мониторов от блогера мне сразу не очень понравился. Пнп: а вот в случае с пере-маркированными китайскими кремниевыми транзисторами, которые должны были создать российской компании имидж отечественного производителя арсенид галлия, я целиком и полностью на стороне блогера, раскрывшего откровенный обман.
Так что в резкой отповеди, прозвучавшей со стороны производителя упомянутых мониторов, есть свои резоны. Но, даже если МПТ захочет разобраться в данной ситуации (они заявили о таком намерении, но я не верю в его реализацию), я категорически не рекомендую обращаться ко мне за экспертной оценкой в силу следующего обстоятельства - мне это не интересно.
На самом деле это «драка трех нищих за 2 гроша». В мониторе есть два основных компонента, определяющих его параметры, стоимость и страну происхождения — это ЖК-панель и маппер/скаллер, все остальное может быть сделано где угодно и кем угодно. И никакие «свистелки и перделки» дополнительные функции, независимо от их бесполезности для потребителя, реализуемые на отечественных МК, не могут изменить такого положения вещей. Если МПТ не организовывает разработку и производство в РФ вышеупомянутых компонентов, то все игры с баллами за печатную плату, корпус и микроконтроллер лучше всего охарактеризовать термином «enjoy yourself” в худшем смысле этого слова

Общий вывод по МК.

Является ли МК АМУР отечественным изделием — несомненно, иначе трудно объяснить отсутствие в МК образца 2020+ года векторных прерываний. Пнп: в документации на 1 описание механизма прерываний отсутствует чуть менее, чем полностью, так что опираюсь на найденную в Интернете (не на сайте Микрона) программу обработки прерываний. Что характерно, с точки зрения программистов Микрона (я сделал такой вывод, посмотрев представленную ими набор функций для работы с прерываниями) работа с прерываниями заключается единственно в установке и сбросу битов разрешения конкретных прерываний.
Является ли 1 хорошим контроллером с точки зрения железа — ну скорее, неплохим, на уровне младшего ценового сегмента, на нем вполне можно делать несложные устройства, если захотите.
Могу ли я рекомендовать его к применению — нет, если не принимать во внимание привходящие обстоятельства, описанные в разделе о цене.

С контроллером закончили, перейдем к «предметам народного творчества» - отладочной плате на его основе. Когда я увидел фразу о «полностью отечественном», то первая мысль была следующей: чисто теоретически это возможно, но стоить будет, как крыло от самолета. Поэтому, когда я увидел цену отладочной платы в 6000 (были варианты и в 9000) рублей, то сразу понял, что меня обманывают, и вопрос только, кто это делает? Сниму все подозрения с производителей платы (фирма Элрон)— у них на сайте https://elron.tech/russian-arduino-compatible-board/ честно написано «самая российская плата», а уже измышления на тему «полностью российской платы» оставим на совести «акул пера». Я понимаю, что второй вариант звучит намного привлекательней, особенно в свете импортозамещения, но врать-то зачем. Пнп: хотя рендер платы на сайте производителя с явно прописанной маркировкой «Амур МК» на контроллере и стыдливыми «SOP8” и «SOP18” на других компонентах платы несколько удивили, ожидалось честное «CH232” и так далее.

Давайте сами оценим возможность создания полностью российской отладочной платы на контроллере АМУР снизу вверх.

Собственно печатная плата — несложная, вполне делается на двух слоях, а уж на четырех вообще влет. Класс сложности 3-4, так что с производством в РФ проблем не будет - вполне возможно.

Рассыпуха — резисторы, конденсаторы, разъемы — в общем то, имеются и не уступают по техническим параметрам своим зарубежным аналогам. Есть значительные проблемы со сроками поставки и цена будет раз в 10 выше аналога, но это общая проблема любых отечественных комплектующих и далее я ее упоминать не буду - вполне возможно.

Питание — понижающий преобразователь напряжения, диоды, транзисторы — почти как в предыдущем абзаце — вполне возможно.

QSPI Flash память 8/16MB – вот отсюда подробнее, подобных отечественных изделий я не знаю, есть Миландровская память на 8 Мб, но у нее обычный (одно-проводной) SPI и параллельный интерфейс. Можно, конечно сделать преобразователь интерфейсов на Миландровской же CPLD, но нужного объема памяти все равно не достигнуть — так что российский компонент весьма маловероятен — нет возможности.

Интерфейс программирования — аналог FTDI либо CH (кстати, от той же фирмы WCH) – я совершенно точно не знаю отечественного аналога, но можно поставить сюда тот же самый (но другой) АМУР с соответствующей прошивкой и закрыть позицию. Пнп: выcший пилотаж — чтобы целевой МК сам реализовывал аппаратный и программный интерфейс с ПК, смотри UNO. Резюмирую — реализация на отечественных компонентах теоретически возможна, практически на данной плате не выполнена.

Общий вывод — представленная плата никак не является «полностью» российской, ее нельзя назвать даже «самой российской» в общем случае, поскольку сам Микрон на своем сайте представляет аналогичные отладочные платы, но они не в форм-факторе Ардуино, так что в сочетании с дальнейшими определениями изготовитель плат (Элрон), в общем то, более-менее честен.

А вот теперь посмотрим, что это замечание насчет "более-менее", то есть насколько честен.

Что такое быть Ардуино совместимым?

Нулевое требование. Железо - следует иметь аналогичный форм-фактор, расположение и распиновку разъемов подключения. С этим вопросом все хорошо — я даже проверять не буду, поскольку уважаю коллег из Новосибирска. Пнп: хотя я свомим глазами видел отечественную плату с отечественной SoC (фирмы Модуль) в формате Pi-Zero, у которой раскладка ножек на разъем MXM отличалась кардинально, у нас так бывает.

Первое требование софта. Необходимо иметь стандартный интерфейс программирования — вот тут у меня возникают сомнения, поскольку в комплект поставки может входить внешний программатор, да и в тексте описания об этом сказано. Значит загрузка скетчей из оригинальной среды пока невозможна — уже несовместимость.

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

Третье требование софта — должны иметься библиотеки, предоставляющие стандартный интерфейс к ресурсам конкретного МК. Опять я их не вижу, есть фраза о разработке BSP для данной платы — опять несовместимость. Пнп: мне казалось, что реализация набора библиотек для Ардуино должна занять у квалифицированного программиста не более одного месяца, хотя, возможно, я не все знаю.

Итого — совместимость с Ардуино только по одному пункту из четырех, так что итоговая формулировка должна звучать так «самая российская потенциально Arduino-совместимая плата на отечественном микроконтроллере MIK32 АМУР (Микрон)».

Подводя итоги всему сказанному, можно заявить, что мы имеем дело с классическим случаем «изнасилования ученым журналиста».
В тоже время я обозначил проблемы (и наметил пути их решения) при создании устройства, которое будет полностью соответствовать кликбейтному заголовку новости - дерзайте, мои молодые коллеги (ММК).

Комментарии (20)


  1. mpa4b
    18.06.2024 11:17
    +2

    Ядро практически одинаковое

    Ну нифига ж себе "практически одинаковое"! Вы в курсе, что значит RV32E? Половины регистров нет, ABI идёт по известному месту, вещь в себе. Да и отсутствие умножений и делений это тоже вполне себе минус.

    Не пытаюсь выступать защитником Микрона, но всё же надо быть более дотошным, что ли. НИКАКИХ преимуществ у "CH" тут нет.


    1. GarryC Автор
      18.06.2024 11:17
      +2

      Хм, я не знал такой тонкости, мне казалось, что Е означает "расширенный" в противовес I, которая явно обозначена, как "базовый набор инструкций". Сходил на сайт RISCV, почитал, оказывается набор инструкций точно такой же, а регистров только 16 вместо 32, спасибо за поправку. Оценка по данной строке таблицы меняется на +2.

      Наверное, ABI не совсем идет по указанному адресу, а смещается ?


      1. mpa4b
        18.06.2024 11:17
        +1

        ABI не совсем идет по указанному адресу, а смещается ?

        Не знаю. Везде пишут про ABI на случай 32 регистров, на случай 16 я не видел (или пропустил)


        1. GarryC Автор
          18.06.2024 11:17

          Ну у gcc есть два флаг для E версии - march=rv32e и -мabi=rv32e.


  1. Gryphon88
    18.06.2024 11:17
    +2

    По поводу CHv003:

    документация у китайцев довольно своеобразная, но там и на v003, и на v203/303 она написана в духе "если чего непонятно, читай доки от аналога стм". Обычно принцип работает, раскладка регистров и битов примерно совпадает, часть имен тоже. Документацию на "Амур" не читал.

    у WCH патченный gcc и gdb. Патчи связаны с вендорной обработкой прелюдии для прерываний с атрибутом "WHC-interrupt-fast". Документировано это похабно, но статьи на хабре были. Что в "Микроне" накрутили - без понятия.


    1. GarryC Автор
      18.06.2024 11:17

      А что, вполне себе рабочий метод, то есть если периферия снята с STM8 в режиме "1 к 1"?


      1. Gryphon88
        18.06.2024 11:17

        С стм32. У gd32 сходный подход к документации, про Artery не скажу. Вообще похоже, что все китайцы так на документации экономят


        1. GarryC Автор
          18.06.2024 11:17

          Ну они вроде совместимость по корпусу и ножкам с STM8 декларировали.


    1. mpa4b
      18.06.2024 11:17
      +2

      Что в "Микроне" накрутили - без понятия.

      В этом и фишка RISC-V -- можно взять и накрутить, добавив например аппаратное сохранение регистров при входе в прерывание, а можно сделать по дефолту (по базовому мануалу), тогда конечно удобностей будет не очень, но жить всё ещё можно. А вот в каком-нибудь cortex-M3 без вариантов -- за вас прибили гвоздями контроллер прерываний и аппаратный пуш регистров и живите только с этим.


      1. Gryphon88
        18.06.2024 11:17

        зато какой геморрой получается с тулчейном. он как бы опенсорсный, но собрать его и подключить к неродной IDE становится приключением. Ну и у того же WCH версия ИДЕ по линукс заметно отстает от виндовой.


        1. mpa4b
          18.06.2024 11:17
          +2

          Да ладно, никакого геморроя с gcc и бинутилями нет. К обработчикам прерываний они никак не относятся. Конечно приятно, когда в cortex-m3 вместо пролога и эпилога единственного обработчика на асме (как для ARM7TDMI) можно писать хендлеры сразу на сях с сигнатурой void fname(void) и потом удобненько расставлять векторы в линкер-скрипте, но всё же тулчейн для этого менять не обязательно -- не он определяет, что именно и как вы компилируете в проект и какие у вас там обработчики.

          подключить к неродной IDE становится приключением

          Ну так любители свистопердящих IDE и должны страдать :)


    1. mpa4b
      18.06.2024 11:17

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


      1. Gryphon88
        18.06.2024 11:17

        А можно не надо? Когда я хочу писать на ассемблере, я пишу на ассемблере, но обычно не хочу


  1. IvGrad2
    18.06.2024 11:17
    +2

    Микроконтроллеры MIK32 АМУР с отладочной платой от непосредственно АО "Микрон" уже попадают в цепкие руки разработчиков.


  1. checkpoint
    18.06.2024 11:17
    +2

    Является ли МК АМУР отечественным изделием — несомненно, иначе трудно
    объяснить отсутствие в МК образца 2020+ года векторных прерываний. Пнп: в документации на 1 описание механизма прерываний отсутствует чуть менее, чем полностью, так что опираюсь на найденную в Интернете (не на сайте Микрона) программу обработки прерываний. Что характерно, с
    точки зрения программистов Микрона (я сделал такой вывод, посмотрев
    представленную ими набор функций для работы с прерываниями) работа с
    прерываниями заключается единственно в установке и сбросу битов
    разрешения конкретных прерываний.

    Настоятельно рекомендую автору прочесть спецификацию RISC-V, она очень короткая. Более половины его текста это тезисы и домыслы основанные на полном непонимание архитектуры. Такое ощущение, что у автора в голове RISC-V и ARM это две почти одинаковые архитектуры, что категорически не так. Единственный весомый аргумент в статье это цена MIK32. Да, цена китайского шлака в десятки раз дешевле, ну и что ? А если китайцы завтра подчинятся американскому давлению и оставят автора даже без таких устройств, что он будет делать ? Профессию менять ?

    Вообще странно всё это. Многие с пеной у рта вопрошали "где наше, отечетсвенное, а не сделанное на TSMC". Так вот оно, настоящее, сделанное в Зеленограде. Но теперь мы и этим не довольны - цена панимаишь не та. Интересно, если Микрон начнет раздавать эти микрсохемы по 1 руб за ведро, какой будет следующий уровень недовольства ?

    Я отчетливо помню как в разгар ковидабесия и "дефицита полупроводников" все смело покупали STM32 по цене в десятки тысяч за штуку и не пыхтели, потому как надо было выполнять договорные обязательства. А иначе штрафные санкции и попадание в "Реестр недобросовестных поставщиков". Я сам тогда приобрел партию STM32F429 для выполнения проплаченной ранее серии изделий по цене 18 000 за штуку и был рад, что вообще что-то удалось выхватить.

    PS: Как можно сравнивать МК в корпусе SOIC8 с аналогичным в корпусе QFN48 ?


    1. GarryC Автор
      18.06.2024 11:17

      1.Если какая либо части технического описания МК требуют для своего описания привлечения сторонних ресурсов, то в тексте это должно быть явным образом указано и в конце документа должен быть представлен перечень используемой литературы. Это по поводу призыва читать описание на RISC-V, какого бы размера оно не было.

      2.Да, по моему мнению, две архитектуры весьма близки, и процедура обработки прерываний весьма похожа. А то, что ядро ARM само прячет рабочие регистры на стек, а в RISC-V это делается обработчиком - не принципиальное отличие, на мой взгляд.

      3.И отсутствие векторов прерываний я ничем иным, кроме как отечественностью разработки, объяснить не могу. Если я неправ и на самом деле в МК АМУР наличествуют векторные прерывания и нет необходимости полингом определять источник, то укажите соответствующее место документации, поскольку я в ней нашел только фразу

      1. встроенный интегрированный программируемый контроллер прерываний отключен;

      4.Отнюдь не только цена, хотя это, наверное, главные недостаток. И питание и потребление и размер память программ не являются сильными сторонами АМУР - но это совсем не означает, что его нельзя применять - надо просто понимать недостатки и нивелировать их. Идеальный вариант - устранять недостатки, но, похоже, с Вашей точки зрения, это необязательно, если оно "настоящее".

      5. Что касается китайского "шлака", то в чем именно заключается "шлаковость" конкретно CH32V003? Параметры, как я показал в статье, весьма близки, значит и АМУР тогда тоже "шлак"? Хотя конечно же нет, ведь он "настоящий". Отметьте, что я подобного вывода не делал.

      6.Я никогда "с пеной у рта" не спрашивал, хотя прекрасно понимал шаткость конструкции, основанной на зарубежных фабриках. И замечательно, что появляются отечественные ("по настоящему") МК. Но, как говорил незабвенный МихМих, "Общим видом овладели, теперь про подробности надо не забывать", так что испытывать гордость я бы пока поостерегся.

      7.Если Вы не смогли оперативно перейти на изделия Giga Device и приобретали оригинал по конских ценам (и при этом радовались, что характерно), у меня для Вас не очень хорошие новости. Хотя, возможно, именно этот тип МК наши китайские друзья не заместили, вполне допускаю, но повода для радости не нахожу. Пнп: при этом я предполагаю, что в Вашем изделии функциональность конкретного МК была именно необходима, и он при разработке не выбирался по принципу "Давайте поставим кристалл пожирнее, он стоит всего лишь 15 баксов, зато сколько памяти, нам будет проще".

      PS. Ну, вообще то, китайцы пакуют свой МК в разные корпуса, в том числе 20-ноговые и это явно указано в таблице. А почему нельзя сравнивать МК в разных корпусах, я так и не понял, просветите.


      1. checkpoint
        18.06.2024 11:17

        Постараюсь ответить коротко. RISC-V и ARM это две совершенно разные архитектуры. ARM это проприетарный CISC (буква "R" в его названии это рудимент), в то время как RISC-V это классический RISC с полностью открытой архитектурой. Подходы к обработчика прерываний у них совершенно разные. RISC-V в какой-то мере позаимствовал многое от MIPS, в том числе и способ обработки прерываний и Ваша фраза "иначе трудно
        объяснить отсутствие в МК образца 2020+ года векторных прерываний" показывет что Вы совершенно не рубите в теме. EPIC в MIK32v0 был заблокирован (читай отключен) по причине того, что в нём закрался баг. Его исправят в следующих версиях, если уже не исправили в MIK32v2. Во всяком случае в репозитории я вижу примеры работы с прерываниями, сомниваюсь что их туда выложили для мебели (у меня есть девборд с MIK32v2 - проверю).


      1. checkpoint
        18.06.2024 11:17

        Я немного полистал доку по MIK32. С контроллером прерываний все прозаично.

        В RISC-V ядрах спецификацией предусматривается наличие встроенного контроллера презываний (PLIC), в MIK32 использовано Синтакоровское ядро SCR1 в котором по-дефолту имеется PLIC. В MIK32 этот контроллер отключен и заменен другим более гибким контроллером EPIC (внешним по отношению к ядру). В общем, еще раз рекомендую Вам погрузиться в спецификауию RISC-V хотя бы поверхностно, чтобы не порочь Чушь. ;)

        Про цену STM32 в эпоху "кризиса полупроводников". Есть готовое, разработанное и оттестированное изделие для которого написана тяжелая математика. Софт написан заказчиком (и не одним). Представляете реакцию заказчика если бы я предложил ему переписать всё нафик на корню и переориентироваться на какую-то китайской подделку ? Помимо того, что это совершенно не надежно, это куча времени и денег на разработку, тестирование "в поле" и сертификацию. Изделие это входит в состав другого более сложного изделия, а это значит что весь процесс нужно повторить вверх по цепочке. И там где-то на верху есть люди которые совершенно не станут разбираться что такое "кризис", кто в и чём виноват, а просто открутят мне, как конечному исполнителю, голову за одну эту мысль. С серьезными людьми не шутят! Изделие из области нефтянки, не ВПК, если Вы вдруг что-то подумали.


  1. Gudin
    18.06.2024 11:17

    наймите специалистов для подготовки нормальной КД, можете даже ко мне обратится.

    Иронично...


  1. IvGrad2
    18.06.2024 11:17
    +1

    Появились сборки SOM (System on module) с микроконтроллером MIK32 АМУР

    https://elron.tech/elsom/

    Параметры и состав сборки:

    • Микроконтроллер MIK32 АМУР

    • Память NOR FLASH 8 Мб (может быть изменена)

    • EEPROM содержит загрузчик по UART

    • Кварцевый генератор часовой 32 кГц

    • Кварцевый генератор высокочастотный 32 МГц

    • Отлаженные обвязки по питанию, обвязки кварцев, цепь сброса, подтягивающие резисторы

    • Размер: 25,4*25,4 мм, толщина текстолита 0,71 мм

    • Производство: Россия, Новосибирск

    • SOM не содержит опознавательных идентифицирующих знаков (позволяет использовать данные сборки в качестве OEM узлов в устройстве)

    ELSOM BASE
    ELSOM BASE