ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

2
Publication date:
16 June 2024

The article was published in issue no. № 1, 2009 [ pp. 89 ]
Abstract:
Аннотация:
Author: () -
Keywords: operation modes, , ,
Page views: 9418
Print version
Full issue in PDF (3.60Mb)

Font size:       Font:

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

Рассмотрим характерные проблемы, возникающие при разработке программных моделей комплексной диагностики состояния пациента:

·     правильная формализация метода диагностики,

·     автономность диагностического комплекса,

·     простота и удобство интерфейса.

Была поставлена задача создания программной модели, позволяющей решить указанные проблемы, для реализации в рамках программно-аппаратного комплекса «Измеритель RR&T». В качестве метода комплексной диагностики выбран метод вариационной пульсометрии, основанный на анализе вариабельности сердечного ритма [1].

Комплекс состоит из следующих структурных частей.

1. Аппаратная часть – автономное устройство «Измеритель RR&T» на основе микроконтроллера ATMEGA32.

2. Программа для аппаратной части комплекса обеспечивает в автономном режиме комплексную диагностику состояния пациента, прием данных с датчиков электрокардиограммы (ЭКГ)/фотоплетизмограммы (ФПГ) и протоколирование их. Результаты диагностики должны выводиться на экран устройства и при необходимости пересылаться на COM-порт компьютера. Интерфейс должен позволять пользователю легко управлять работой устройства.

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

Схема основных алгоритмических блоков

При разработке модели учитывалось то, что реализовываться она будет на микроконтроллере ATMEGA32 (8-разрядный AVR-микроконтроллер с расширенной RISC-архитектурой). Программирование на языках высокого уровня для микроконтроллеров имеет ряд особенностей:

-     ограниченность в ресурсах памяти (для ATMEGA32 – 32 Кб энергонезависимой, перепрограммируемой (до 10 000 циклов перезаписи) Flash-памяти; 1 Кб энергонезависимой EEPROM-памяти (до 100 000 циклов перезаписи); 2 Кб энергозависимой памяти) и, как следствие, необходимость проведения оптимизации по объему кода программы;

-     низкая разрядность контроллера;

-     относительно низкая производительность (рабочая частота – до 8 МГц) и, как следствие, необходимость проведения оптимизации по времени выполнения;

-     невозможность применения стандартных оптимизаторов.

Основные алгоритмические блоки модели показаны на рисунке.

В алгоритмическом блоке диагностики собраны действия по обеспечению работы метода вариационной пульсометрии. Сам процесс съема ЭКГ и ФПГ осуществляется с помощью стандартных датчиков и не требует программной поддержки. Аналогово-цифровой преобразователь (АЦП) входит в состав периферии микроконтроллера. Работа с АЦП сводится к приему с него данных в обработчике прерывания от АЦП по завершении конвертации.

Алгоритмический блок человеко-машинного интерфейса состоит из нескольких составных частей:

·     блока вывода на ЖК-экран;

·     блока поддержки клавиатуры и навигации по меню; клавиатура устройства состоит из 4 кнопок и предназначена для перехода между режимами работы, а также для перемещения по многоуровневому меню, с помощью которого можно устанавливать различные параметры;

·     блока поддержки генерации звука.

Блок работы с ЭВМ обеспечивает отправку устройством ответов на запросы, посылаемые компьютерной программой через интерфейс RS232. Связь с компьютером обеспечивается с помощью модуля УСАПП (универсальный синхронно-асинхронный приемник-передатчик).

Блок работы с памятью состоит из двух частей: блока работы с внешней памятью Flash AT45DB16 через интерфейс SPI (последовательный периферийный интерфейс) и блока файловой системы, обеспечивающей оптимальное хранение данных в памяти.

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

Следует также выделить основные режимы функционирования устройства: установки параметров и обмена информацией с компьютером; проведения измерений; просмотра результатов измерения – вывода результатов измерений на экран устройства для просмотра пользователем, а также режим заряда, в который устройство автоматически переходит после подключения к сети и находится в нем до окончания цикла «разряд–заряд».

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

В связи с этим удобно использовать событийно-ориентированную парадигму разработки программ.

Программа имеет следующую структуру.

1. Ядро программы. Код ядра находится внутри функции main() и представляет собой бесконечный цикл, в котором происходит проверка ряда событий. Если событие произошло, вызывается функция его обработки.

·     Проверка флага прихода данных с АЦП.

·     Проверка флага односекундного события.

·     Проверка заполненности буфера данных, принимаемых по УСАПП. Если буфер не пуст, вызывается функция обработки поступивших данных.

·     Проверка флага необходимости отправки данных по УСАПП (протоколов).

·     Проверка текущего режима работы. Для режимов проведения измерений, «Меню» и просмотра результатов измерений вызываются функции особых обработок событий, зависящих от текущего режима. В режиме заряда особых обработок событий нет.

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

·     прерывание от таймера с периодом 1 сек. – генерирование односекундного события;

·     прерывание от таймера с периодом 5 мсек. – для запуска АЦП с заданной периодичностью;

·     прерывание от АЦП – для приема данных с АЦП;

·     два прерывания от УСАПП – для приема и передачи;

·     прерывание от аналогового компаратора – для контроля подключения/отключения сетевого кабеля (при заряде источников питания).

3. Функции обработки событий и служебные функции низкого уровня составляют большую часть кода. Время выполнения обработчиков событий не столь критично, как в обработчике прерывания, однако тоже не должно быть излишне большим, поскольку при долгом исполнении каких-либо обработчиков событий ядро не сможет обеспечить обработку других событий. Исходя из этого, все затратные по времени процессы (например, пересылка протоколов по УСАПП) сделаны дискретными – то есть выполняются не за один заход в соответствующий обработчик события, а за несколько.

Программно-аппаратный комплекс «Измеритель RR&T» прошел апробацию в ряде медицинских учреждений города Ростова-на-Дону. Комплекс успешно применяется для диагностики состояния часто болеющих детей в ходе комплексной терапии, для исследования исходного вегетативного тонуса больных бронхиальной астмой в целях выбора оптимального вида лечения; для контроля состояния других групп пациентов в процессе лечения [2].

Литература

1. Математические методы анализа сердечного ритма. / Под ред. В.В. Парина и Р.М. Баевского – М.: Наука, 1968.

2. Лебеденко А.А., Тараканов А.В., Милютина Н.П. Комбинированное лечение бронхиальной астмы у детей. СКЭНАР-терапия и СКЭНАР-экспертиза. – Таганрог, 2005. – Вып. 9–10. – С. 123–128.


Permanent link:
http://swsys.ru/index.php?page=article&id=2035&lang=en
Print version
Full issue in PDF (3.60Mb)
The article was published in issue no. № 1, 2009 [ pp. 89 ]

Perhaps, you might be interested in the following articles of similar topics: