Современное электронное оборудование невозможно представить в отрыве от программного обеспечения. В зависимости от решаемой задачи, наши компетенции позволяют осуществлять разработку следующих видов ПО:

 

Программное обеспечение микроконтроллеров (MCU)

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

Архитектура Cortex-M:

  • STMicroelectronics: STM32F1, STM32F3, STM32F4 (не используем в новых проектах);
  • Миландр: MDR32F9Q2I, К1986ВЕ92У (не используем в новых проектах);
  • GigaDevice: GD32F1, GD32F4

Архитектура RISK-V:

  • GigaDevice: GD32VF103;
  • Микрон: MIK32 АМУР;
Плата контроллера пульта

Программное обеспечение для системы на кристалле ESP32

Для построения систем, в которых предполагается использование технологий беспроводной связи Wi-Fi и Bluetooth, мы используем SOC от компании Espressif: ESP32, ESP32-S3.

Опыт разработки устройств на базе ESP32 демонстрирует широчайшие возможности применения:

  • воспроизведение или передача в сеть аудио-данных с потоковым кодированием;
  • визуализация на дисплеях среднего разрешения;
  • передача видео-кадров в сеть;
  • управление электродвигателями;
  • получение данных с цифровых датчиков и оборудования с частотным выходом;
  • организация сетевого доступа для управления различным оборудованием, ранее не имевшим такого функционала и многое другое.

Для удобства организации web-интерфейса для MCU и SOC нами была разработана свободно распространяемая программа IonMakeFs.

Web-интерфейс контроллера ППУ трех-программного звукового вещания

Сервисное программное обеспечение

Сервисное ПО обычно создается параллельно со встраиваемым ПО и в ходе разработки используется для отладки и тестирования. После постановки изделия на производства сервисное ПО может быть использовано для:

  • первичной (заводской) настройки изделия;
  • сбора сервисных (скрытых от конечного пользователя) данных в процессе испытаний;
  • визуализации сигналов и сервисных параметров при поиске неисправностей.

Наша практика предполагает разработку сервисного ПО под ОС MS Windows на языке C# с использованием .NET Framework.

Сервисное ПО контроллера ППУ трех-программного звукового вещания

Системное и прикладное ПО одноплатных компьютеров

В ходе нашей работы мы получили опыт создания одноплатных компьютеров на базе процессоров:

  • NXP: iMX 6 Series;
  • STMicroelectronics: STM32MP1;
  • Allwinner: A64.

Каждый из проектов требовал корректировки системного ПО под конкретную аппаратную архитектуру:

  • U-boot: калибровка DDR, инициализация экрана, параметры запуска Kernel;
  • Kernel: DeviceTree, модули ядра;
  • RootFs: компоненты, необходимые для работы прикладного ПО.

В своей практике мы используем Yocto и Debian сборки, адаптированные под конкретную аппаратную архитектуру.

Для разработки прикладного ПО мы используем:

языки программирования: С/С++ (CMake, QT), C# (.Net Core);

Сборка OS Debian для контроллера "Антарес А64"


Графические терминалы и пульты управления

Существует множество задач, когда разрабатываемое изделие необходимо:

  • оснастить цветным экраном или touch-панелью диагональю 7-10 дюймов;
  • организовать развитый пользовательский интерфейс;
  • осуществлять обработку и хранение значительных объемов данных;
  • взаимодействовать с другими устройствами по интерфейсам RS-232, RS-422/485, USB, Ethernet;
  • опционально иметь возможность подключения к ЛВС по Wi-Fi.

Мы обладаем значительным опытом и наработками в области создания данного вида ПО, а в качестве аппаратной платформы для решения подобных задач в 2019 году нами было разработано типовое решение – модуль “Модуль управления и индикации РГЦС.433811.002” на базе процессора iMX6.

Пульт трансмиссометра на контроллере РГЦС.433811.002

Системы сбора и обработки данных, серверы IoT устройств

Современный уровень развития информационных технологий все в большей степени позволяет автоматизировать рабочие процессы, возложив на оператора лишь задачи контроля и ручного управления в экстренных ситуациях. Данный подход позволяет повысить эффективность и качество труда за счет снижения влияния “человеческого фактора”.

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

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

Главный экран метеокомплекса