Обычное дело: мы используем cookie. Здесь можно узнать зачем
Хорошо

Программное обеспечение для
ЭЭГ-системы

Разработали энергоэффективное встроенное ПО и SDK для медицинской системы ЭЭГ. Обеспечили надежную передачу и сохранность данных, реализовали многозадачность на FreeRTOS и повысили безопасность соединения.
Непрерывная работа до 16 часов без подзарядки
Защищенная передача медицинских данных с аутентификацией
Передача данных в реальном времени

Введение

Медицинские ЭЭГ-системы предназначены для записи электрической активности головного мозга. Для этого на голову пациента накладывают электроды, улавливающие слабые импульсы нейронов, которые усиливаются и визуализируются либо на экране, либо на бумажной ленте.
Благодаря такой диагностике врачи могут выявлять и анализировать различные неврологические расстройства, включая эпилепсию и проблемы с кровоснабжением.

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

Запрос

Наш клиент – компания, которая создает передовые решения для регистрации электроэнцефалограммы. Благодаря собственным запатентованным технологиям она обеспечивает высокоточную регистрацию ЭЭГ и активно сотрудничает с ведущими университетами и исследовательскими центрами.

Когда в штате возник дефицит опытных инженеров-программистов, заказчик решил привлечь внешнюю команду для разработки программного обеспечения новой ЭЭГ-системы. Выбор остановился на КЕДР Solutions – мы предложили глубокий опыт в создании сложных программно-аппаратных решений и оптимальные сроки с выгодной ценой.
Схема ЭЭГ-системы – блок обработки сигналов и ПО на планшете для отображения получаемой с прибора информации. Пунктиром отмечена софтовая часть, которую специалисты КЕДР Solutions должны выполнить в ходе проекта
ЭЭГ-система. Пунктиром выделена программная часть, которую нам поручили разработать.
написать прошивку для блока обработки сигналов ЭЭГ, учитывая все требования по функционалу и энергопотреблению;
создать SDK, который обеспечивает связь блока с ЭЭГ-приложением на медицинском планшете.

Задачи

Решение

Система состоит из одноразовой повязки с четырнадцатью электродами и блоком обработки, которая крепится на голове пациента для регистрации мозговой активности. Блок собирает данные с электродов, сохраняет их на встроенную microSD-карту и передает по Bluetooth на планшет. SDK на стороне планшета принимает поток, преобразует его и обеспечивает стабильную работу приложения.

Наше устройство должно одновременно справляться с несколькими задачами – принимать команды с мобильного приложения, обрабатывать сигналы с аналого-цифровых преобразователей (АЦП) и сохранять их на карту памяти. Для этого мы выбрали операционную систему для встроенных систем FreeRTOS, которая отлично подходит для многозадачности.

FreeRTOS позволяет одновременно принимать команды, обрабатывать данные, хранить их в буфере и записывать на SD-карту. Задачи работают в тесном взаимодействии: одна ждет сигнала на запуск, другая обрабатывает данные, третья сохраняет их.

Кроме того, FreeRTOS помогает экономить энергию. В моменты, когда данные еще не готовы или запись завершена, микроконтроллер переходит в режим сна на несколько миллисекунд, что снижает расход аккумулятора и позволяет устройству работать до 16 часов подряд – идеально для длительных ЭЭГ-сеансов.

Для взаимодействия с приложением мы создали SDK – Java-библиотеку для Android-приложения заказчика. Она распаковывает сжатые данные, превращая их в удобные форматы, и отвечает за передачу команд управления на устройство.

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

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

Для защиты от посторонних мы применили аутентификацию HMAC-SHA256. После подключения ЭЭГ-сканер отправляет планшету уникальное сообщение, которое тот должен правильно обработать и вернуть в течение секунды. Если ответ отсутствует или неверен, соединение разрывается. Так только планшет с нашим SDK может управлять исследованием.

Сложности проекта и их решение

Два микроконтроллера

В предоставленной заказчиком аппаратной платформе используются два микроконтроллера: PIC32 управляет всеми функциями, а модуль NINA-B311 на основе nRF52840 отвечает только за передачу данных по BLE. Такая конструкция повышает стоимость системы и не позволяет максимально эффективно использовать ресурсы.

Команда предложила заказчику упростить систему – заменить два микроконтроллера одним nRF52840 с нужной периферией и подключить АЦП напрямую. Такой шаг позволил бы сократить расходы, повысить энергоэффективность и расширить возможности по управлению Bluetooth-соединением.

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

MicroSD-карта

Наш прибор должен постоянно передавать сигналы ЭЭГ и одновременно сохранять их на microSD-карту. Из-за высокой частоты записи объем данных получался значительным. Нужно было максимально эффективно использовать пространство на карте и при этом поддерживать стабильную скорость передачи данных на планшет.

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

Протокол запаковки данных

Выбор заказчиком Bluetooth-модуля NINA-B311 ограничил свободу в организации передачи данных по Bluetooth и не позволял гибко настраивать BLE. Стандартные сервисы, которые мы обычно реализуем на nRF, здесь работали недостаточно быстро. Для достижения максимальной скорости передачи мы выбрали сервис SPS от производителя u-blox – единственный вариант, обеспечивающий высокую пропускную способность.

Из-за особенностей передачи данных SPS нам пришлось создать собственный протокол поверх этого сервиса.

Выполненные работы

  • Создание встроенного ПО
  • Разработка протокола передачи данных
  • Создание SDK для работы с мобильным приложением для планшета под управлением Android

Использованные технологии

PIC32MX174F256DT-V/ML
микроконтроллер с 32-битной архитектурой, флеш-памятью 256 КБ.
MPLAB X и компилятор MPLAB XC32
для создания ПО для микроконтроллера PIC32.
NINA-B311-01B с чипом nRF52840
BLE-модуль от компании u-blox.
Сервис SPS (Serial Port Service)
от u-blox для передачи данных по BLE.
ADS1298IPAG
аналого-цифровой преобразователь (АЦП).
FreeRTOS и С/С++
для создания встроенного ПО
Android Studio и Java
для создания SDK под Android.
Advantech AIM-75H-2
медицинский планшет для отображения результатов тестирования.
HMAC-SHA256
хэш-алгоритм для реализации аутентификация планшета.

Итоги

Хотя заказчик решил не менять аппаратную архитектуру блока регистрации ЭЭГ, мы довели проект до конца и выполнили все требования:
  • Встроенное ПО, созданное командой Кедра, обеспечивает стабильную работу системы и экономию энергии.
  • Наш протокол передачи данных позволяет быстро и эффективно отправлять информацию на планшет.
  • Мы тщательно настроили работу с microSD-картой, чтобы ни одна запись не была утеряна. Независимо от режима – streaming, когда данные поступают мгновенно, или playback, когда исследование длится без подключения к планшету, а данные выгружаются позже – информация сохраняется надежно и долговременно.
КЕДР Solutions помогли заказчику вовремя завершить разработку современной ЭЭГ-системы, отвечающей высоким стандартам качества. Сейчас клиент активно готовится к сертификации, чтобы вскоре представить новое решение на рынке медицинского оборудования.

Проект позволил нам существенно расширить технический кругозор. Мы получили уникальный опыт, досконально разобравшись в принципах работы высокоточных компонентов, предназначенных для сбора ЭЭГ-сигналов. Помимо этого, проект заставил нас глубоко погрузиться в изучение архитектуры и механизмов функционирования SD-карт, что стало новым и очень полезным знанием для команды.
Связаться с нами
Оставьте контактные данные, и мы свяжемся с вами в ближайшее время