MILUINO — совместная разработка сотрудников кафедры конструирования приборов и установок № 18 Института физико-технических интеллектуальных систем МИФИ и АО «НПО КАДЕТЕК».
Через отладочную плату микроконтроллер или процессор подключается к компьютеру, и программист может увидеть на экране, как работает написанная им программа, используемая при создании различных приборов. Изделие изготовлено по образцу известной во всем мире итальянской отладочной платы Arduino Uno, созданной в начале XXI века. Однако начинка и софт устройства — российская оригинальная разработка, комплекс предназначен для работы с микросхемами российского производителя микросхем — АО «ПКК Миландр» (участник проекта «Национальные чемпионы»).
Поясним, что на Arduino российские процессоры отлаживать нельзя, потому что на этих платах стоят старые — 1990-х годов разработки — 8-битные микроконтроллеры на архитектуре AVR производства США. А в MILUINO используется чип компании «Миландр» на ядре Cortex-M3 с другой архитектурой — ARM.
«Мы сотрудничаем с НПО КАДЕТЕК относительно недавно, с 2021 года. Являемся поставщиками микроконтроллеров и иных микросхем для продукции, производимой этой компанией, — рассказал “Стимулу” специалист по маркетингу компании “Миландр” Семен Хузин. — У них ведется активная работа по внедрению курсов программирования на отечественных микроконтроллерах, в том числе производства “Миландра”, в ряде крупных компаний, занимающихся онлайн образованием, таких как SkillBox и Академия SoftLine. Кроме того, программа КАДЕТЕК уже несколько лет как успешно внедрена в НИЯУ МИФИ, а комплекты MILUINO выполняют роль лабораторных стендов».
По словам специалистов компании «Миландр», изготовление и дизайн комплектов — высокого качества, на уровне мировых стандартов.
«Это решение призвано популяризировать отечественные микроконтроллеры и в целом отечественную элементную базу в гражданском секторе российского рынка и рынка дружественных государств, что для нас, как для производителя элементной базы, тоже является немаловажным фактором, открывающим новые горизонты экспортного потенциала», — говорит Семен Хузин.
Кроме основной отладочный платы в набор MILUINO входят еще восемь плат расширения периферии, которые предназначены для отладки взаимодействия с периферийными устройствами, такими как различные ЖК-индикаторы, светодиодные панели, интерфейсные микросхемы отечественного производства и потенциометр для работы с АЦП. Можно работать и со многими другими платами расширения сторонних производителей, соответствующих стандарту Arduino Uno R3, что существенно расширяет возможности программирования в соответствии с российским национальным стандартом электроники, применяемым во всех сферах промышленности, а также при исполнении государственного оборонного заказа.
Чтобы узнать предысторию проекта — почему изначально родилась одна плата, а потом возник целый набор, для чего он нужен и каковы его перспективы, — мы поговорили с вдохновителем этой идеи генеральным директором АО «НПО КАДЕТЕК» Виталием Флоренцевым. Его компания занимается производством электроники и приборостроением в области измерительной техники и систем автоматизации исключительно с использованием отечественных комплектующих. А сам Виталий — выпускник и бывший аспирант НИЯУ МИФИ, в ближайшее время он планирует защитить в университете диссертацию в области квантовой механики.
«Я занимаюсь приборостроением и являюсь инженером-программистом, а не только руководителем компании. И в одном из проектов потребовалось создать цифровое устройство — дозиметрический комплекс для исследования нейтронных потоков. По требованию заказчика нужно было использовать только отечественную элементную базу. Это связано с тем, что данная продукция изготавливалась в основном для “Росатома”. А все, что делают коллеги из “Росатома”, нацелено на долгую перспективу и максимальную независимость от каких-либо внешних факторов, связанных с санкционной политикой. Да и мы, как русские инженеры, хотим в своей стране производить изделия из своих компонентов», — рассказывает Виталий Флоренцев.
Но возникла непредвиденная сложность: чтобы создать полноценный продукт, нужно было отечественные электронные компоненты по отдельности отладить и испытать прототип устройства.
«Это решение призвано популяризировать отечественные микроконтроллеры и в целом отечественную элементную базу в гражданском секторе российского рынка и рынка дружественных государств»
«Без отладки никак, — говорит гендиректор КАДЕТЕК. — Ты можешь все долго и продуманно проектировать, моделировать, симулировать. Но потом собираешь устройство, а оно не работает. Вроде все правильно, а оно не функционирует».
Участники команды начали искать отладочные средства. Это так называемый одноплатный компьютер с целевым процессором. Должна быть также возможность заливки кода и отслеживания на экране компьютера, как этот код будет вести себя внутри чипа, взаимодействуя с иными компонентами прибора.
«Такие средства были, но они нас не устраивали либо по срокам поставки, либо по цене и функционалу, — продолжает Виталий Флоренцев. — И мы посмотрели, что есть у западных коллег. На Западе давно этим занимаются. Они не только чипы продают, а еще и отладочные комплекты. Чтобы пользователи смогли разобраться в этой электронике, написано очень много вспомогательного материала. Все зарубежные производители современных отладочных плат стандартизируют их под Arduino Uno, потому что под нее сделано очень много всяких плат — расширений. А наши отладочные решения не пользуются спросом, потому что, чтобы в них что-то воткнуть, чтобы правильно подключить все проводки, надо быть доктором наук. И, работая с этими платами, ты не понимаешь, где ты ошибся: в проводках, программе, подаче питания или просто контакта нет».
В результате был создан отладочный комплект, который позволил сотрудникам компании КАДЕТЕК решить задачи по разработке дозиметрического комплекса. Этот комплект соответствует общемировой стандартизации, в нем также можно использовать отладочные средства из западных решений, которые у нас пока еще не повторили.
Отладочная плата должна быть сделана в соответствии с мировыми стандартами, которые предусматривают легкое подключение широкой номенклатуры отладочных средств разных производителей, наличие программатора и справочной информации.
«Платформа Arduino Uno, как и наша MILUINO, — это “мозги”, — рассказывает Виталий Флоренцев. — К Arduino у меня, к примеру, накопилось много плат расширения, или, говоря на сленге, шилдов: дисплейчики, чипы интерфейса, межмашинного обмена данными, датчики, акселерометры, гироскопы и многие другие типы интегральных устройств, которые необходимы, чтобы собрать какой-то прибор. К нынешним средствам отладки, которые есть в России, эти так называемые шилды можно подключить только с помощью паяльника и проводов. А к нашему комплекту они подсоединяются просто — USB-шнурами. Мы и дальше планируем развивать экосистему шилдов, только уже отечественных, чтобы они подходили и к плате Arduino, и к нашей».
Второй важный момент — наличие программатора. Это устройство, которое соединяет среду разработки на компьютере, где пишется программа, непосредственно с памятью чипа. Функция программатора — записать программу на микросхему. На нынешних российских платах предусмотрено подключение стороннего программатора. То есть надо купить отладочную плату, купить программатор, все это соединить, подключить, настроить, прописать драйвера.
А в MILUINO программатор уже встроен, можно сразу начинать писать программу и ее отлаживать. В самом простом варианте, чтобы помигать заветным светодиодом, единственное, что надо сделать, — воткнуть его в плату через кабель мини-USB.
И третье — это наличие дополнительной информации. В отличие от других российских средств отладки к плате MILUINO прилагается большое количество примеров и решений. Причем они пригодятся не только студентам, но и инженерам, которые проектируют устройства. Потому что, когда специалист берется за новую задачу, он всегда изучает справочную литературу, он не может знать всего.
Как рассказывает гендиректор КАДЕТЕК, постепенно стали привлекать к разработке продвинутых студентов, умеющих работать с аналогичными платами Arduino. И выяснилось, что эти студенты берут из интернета уже написанные блоки, копируют, меняют ряд параметров, что-то дорабатывают, но делают это совершенно неосознанно, не понимая происходящего внутри кристалла.
«В связи с этим мы с ребятами из МИФИ, с кафедры конструирования приборов и установок, где я обучался в лаборатории, решили расширить функционал комплектов и научить уже не одного-двух студентов разбираться в написании кода, а сразу группу. И внедрили в образовательный процесс дисциплину по программированию микроконтроллеров производства компании “Миландр”. В результате, получив эти знания, студенты не только миландровские микроконтроллеры научились программировать, но вообще поняли принципы работы с любыми ARM-чипами», — говорит Виталий Флоренцев.
Разработчики также написали учебную программу для применения отечественных микроконтроллеров для управления беспилотными авиационными системами, то есть для создания полетных контроллеров на наших микроконтроллерах.
«Ты можешь все долго и продуманно проектировать, моделировать, симулировать. Но потом собираешь устройство, а оно не работает. Вроде все правильно, а оно не функционирует»
После этого участники команды составили методическое пособие, которое впоследствии превратилось в учебник. Теперь студенты уже могут проходить двухсеместровый учебный курс. Выпускники работают на госпредприятиях, а те, кто поступил в магистратуру и параллельно окончил этот курс, стали полноценными инженерами.
«Сейчас активно развиваем экосистему. Она подразумевает наличие комплекта: коды, примеры, материалы для обучения. Мы не просто сами написали примеры, примеров на все случаи жизни не бывает, а именно создали правила, этот учебник, который позволяет людям понять, как все работает, и самим уже становиться участниками этой экосистемы. Кроме того, мы получили активную поддержку от “Миландра”, чтобы наш продукт можно было интегрировать и для других решений этой компании», — отмечает Виталий Флоренцев.
Человек, окончивший курс, получает от МИФИ официальный сертификат программиста отечественных микроконтроллеров. Разработчики учебной программы предлагают свое решение средним образовательным учреждениям, инженерным классам. К примеру, на занятиях робототехникой можно заменить платформу Arduino Uno на MILUINO, к тому же более современную, которая с точки зрения процессорного ядра существенно превосходит эту платформу.
Проект MILUINO, по словам разработчиков, не только подходит для обучения, но и полностью закрывает потребности инженеров, которые хотят перейти на отечественные микросхемы. В коробке — платы, решения, справочные материалы.
Виталий Флоренцев приводит такой пример. У каждого процессора или микроконтроллера есть дефекты, вызванные человеческим фактором. В программировании существует такое понятие — «костыль» (когда на аппаратном уровне реализован функционал, к которому нельзя получить прямой программный доступ, требуется написать такой код для устойчивой работоспособности микроконтроллера, который в обход стандартных процедур инициализации позволяет активировать труднодоступный функционал). И иногда программами-«костылями» приходится залечивать какой-то аппаратный дефект. Такие особенности есть и у Intel, и у STM, и у «Миландра», и у «Элвиса». Об этих «костылях» очень хорошо написано у западных коллег, но почти ничего не написано в России, только указано, что такие дефекты существуют. И каждый инженер, работая с процессором, должен сам эту проблему решать. В MILUINO же все это описано, и приложены решения, как с этими дефектами справиться.
«Если кому-то надо быстро, буквально за несколько дней, создать какое-то устройство на отечественной электронике, по-научному говоря, “прототипировать устройство”, наш набор тоже можно использовать. На нашей плате стоит чип “Миландра”, который является целевым. Чтобы не надо было ничего паять, просто бери и программируй», — говорит гендиректор КАДЕТЕК».
Проект MILUINO, по словам разработчиков, не только подходит для обучения, но и полностью закрывает потребности инженеров, которые хотят перейти на отечественные микросхемы. В коробке — платы, решения, справочные материалы
А потом надо на такой же чип перенести программу, отлаженную на демонстрационном макете. В комплекте MILUINO есть платы под разные виды процессоров и микроконтроллеров.
«Значительная часть наших компонентов сделана в России, степень локализации мы стараемся повышать максимально. Первый наш партнер — зеленоградский “Миландр”. Платы также произведены в Зеленограде, на заводе “Резонит”. Периферийные устройства — это МЭЛТ, все наши жидкокристаллические дисплеи. Брянский завод “Группа Кремний ЭЛ” поставляет нам ряд сопутствующих полупроводниковых электронных компонентов», — рассказал Виталий Флоренцев.
Компания КАДЕТЕК также начала взаимодействовать с воронежским НИИЭТ для создания полноценного отладочного комплекса под производимые ими микроконтроллеры на развивающейся в настоящее время архитектуре RISC-V. Она открыта для всех чипмейкеров мира и свободна от санкционной политики.
«В ближайшее время мы представим полностью российский одноплатный компьютер на процессоре Baikal-T1 — функциональный и габаритный аналог платы Raspberry Pi, только на “Байкале”, не уступающий зарубежным решениям по техническим характеристикам. Это одновременно и одноплатный компьютер, и отладочная плата», — делится планами гендиректор КАДЕТЕК.
Темы: Инновации