конференция_Буй_Ван_Шонx - Томский политехнический

advertisement
Преобразование данных с портов модуля E154 в величины, исследуемые с помощью
компьютерного пневмотахографа
Буй Ван Шон
Национальный исследовательский Томский политехнический университет
Научный руководитель- Скороспешкин В.Н.
Введение
Компьютерная технология развивается непрерывно и быстро с момента появления
первого компьютера в 1950-тых годах. Компьютеры несомненно очень мощные и
универсальные и применяются в многих областях жизни и техники. В том числе и в
системах диагностики, мониторинга и управления. Напрямую использовать компьютеры в
таких системах невозможно. Дело в том, что компьютеры имеют дело только с цифровыми
сигналами, т.е. сигналами с двумя состояниями 0 и 1. А сигналы, которые используются в
системах мониторинга управления является дискретными и аналоговыми. Следовательно,
для применения компьютеров в данных системах необходимо модули ввода-вывода
аналоговых и цифровых сигналов или микропроцессорные контроллеры со встроенными
модульными ввода-вывода аналоговых и цифровых сигналов.
Из-за высокой цены контроллеры используются в основном в промышленности. А
модуль ввода-вывода применяются для построения информационно- управляющих систем
с малым числом входных и выходных сигналов. В данной статье, рассматривается
применение модуля ввода-вывода и синхронизации E154 для преобразования сигналов,
снимаемых с многофункционального пневмотахографа в величины, характеризующие
давление и объём лёгких человека.
Краткая характеристика модуля АЦП/ЦАП ввода- вывода аналоговых и дискретных
сигналов E154
Модуль E-154 – это USB-устройство на основе 32-битного ARM-микроконтроллера
AT91SAM7S64 корпорации Atmel [1]. Модуль E154, внешний вид которого
представленный на рисунке 1, подключается к компьютеру по интерфейсу USB. Модуль
имеет аналого-цифровой преобразователь (АЦП), цифрово-аналоговой преобразователь
(ЦАП), а так же дискретно-цифровой и цифро-дискретный преобразователи.
Аналого-цифровой преобразователь имеет следующие характеристики: разрядность
12 бит, частота 120 кГц, с коммутатором на 8 однофазных входов (с общей землей),
поддиапазоны ±5 В, ±1.6 В, ±0.5 В, ±0.16 В. Преобразователь характеризуется гибкими
возможностями задания количества опрашиваемых каналов, последовательности опроса
каналов, быстродействия АЦП.
Цифрово-аналогой преобразователь
обеспечивает формирование следующих
сигналов: ±5 В, ±10 мА.
Структурная схема пневмотахографа
Структурная схема пневмотахографа, разрабатываемого на кафедре АиКС Томского
политехнического университета, представлена на рисунке 2:
На рисунке использованы следующие обозначения:
•
М –Монитор персонального компьютера;
•
БК-Блок клавиатуры (включает в себя манипулятор типа «мышь»);
•
ПК- персональный компьютер;
•
СК- силовые ключи;
•
ЭК - электроклапан ;
•
ДО-датчик объёма;
•
•
ДД- датчик давления;
Е154- цифровой модуль ввода-вывода аналоговых и дискретных сигналов.
Особенностью
конструкции
пневмотахографа
является
использование
электроклапана, обеспечивающего прерывание воздуха, что обеспечивает более полное
исследование состояния легких человека. В данном приборе ввод сигналов в компьютер и
вывод управляющих сигналов осуществляется с помощью цифрового модуля E-154.
Процедура преобразования данных с порта в величину, характеризующую давление
в лёгких человека.
Данная процедура предназначена для преобразования машинного кода, снятого с
порта, в реальную единицу измерения, в качестве которой используется паскаль.
Входными данными является машинный код с порта. Выходными данными является
величина давления, представленная в паскальх. Для работы с портами в C++ необходимо
использовать функция ADC_SAMPLE [2]. Данная функция устанавливает заданный
логический канал и осуществляет его однократное аналого-цифровое преобразование. Эта
функция удобна для осуществления достаточно медленного, порядка нескольких десятков
Гц, асинхронного ввода данных с задаваемого логического канала АЦП. Программа
снимает данные с порта и преобразует их по формуле: P=K-M, коэффициент М
определяется экспериментальным путем. В данной формуле: P- реальное давление, Кмашинный код. Код преобразования имеет вид:
D[n]:= ADC_SAMPLE(&AdcSample1, (WORD)(0x00 | (InputRangeIndex << 6)))-M.
Процедура преобразования данных с порта в величину, характеризующую объём
легких человека.
Данная процедура предназначена для преобразования машинного кода, снятого с
порта в реальную единицу измерения, в качество которой используется литр. Входными
данными является машинный код с порта. Выходными данными является объём легких
человека.
Для преобразования входных данных в выходные необходимо определить площадь
фигуры неопределенной формы, полученный в результате обследования человека с
помощью описанного выше пневмотахографа. Известно, что фигура замкнута, и ее
контуры не пересекаются друг с другом [3]. Для этих цели был выбран алгоритм подсчета,
основанный на суммирований площадей прямоугольника и треугольника. Для того, что бы
определить текущий объём необходимо проинтегрировать сигнал, поступающий с
датчика расхода воздуха. Расход воздуха определяется на основе перепада давления на
входе и выходе трубки Флейша.
Сигнал с датчика снимается с периодичностью 0.1 сек. После приема сигнала на
графике, характеризующим изменение расхода строится точка. Между двумя точками
получается фигура неопределенной формы (рисунок 3), площадь которой подсчитывается
сложением площадей прямоугольника и треугольника.
Для определения площади этапа находим также площадь прямоугольника и
треугольника и суммируем их. Для этих цели находим наименьший отрезок из AD и BC.
Затем помножив минимальный отрезок на отрезок DC находим площадь прямоугольника.
Следующим действием из максимального отрезка вычитаем минимальный, разность
умножаем на отрезок DC, произведение делим пополам и тем самым определяем площадь
оставшегося треугольника. Если же отрезок AD равен отрезку BC, то площадь
треугольника определять не требуется, т.к. треугольник отсутствует.
Площадь прямоугольника находим по формуле:
S Ï  DC  BC.
Площадь треугольника находим по формуле:
SÒ 
( AD  BC )
 DC.
2
Площадь этапа находим по формуле:
S 'ЭТ  S П  SТ .
Для того, что бы определить площадь текущего этапа нужно проинтегрировать
площадь всех предыдущих этапов. Площадь текущего этапа находится по формуле:
SÎ ÁÙ  1 S Î ÁÙ  S 'ÝÒ[i ].
n
Для того чтобы преобразовать машинный код в литры необходимо умножить корень
машинного кода на коэффициент К. Преобразование площади этапа из машинного кода в
объём осуществляется по формуле:
SÝÒ  K  S 'ÝÒ .
Алгоритм процедуры преобразования машинного кода в литры представлен на
рисунке 4.
По данным алгоритмом составлены программные модули на языке C++, которые
включены программное обеспечение пневмотахографа.
Литература
1. Руководство
пользователя
модуля
E-154.
http://www.lcard.ru/download/e154_manual.pdf
2. 3Описание
программного
обеспечения
для
модуля
E-154.
http://www.lcard.ru/download/e154_programmers_guide.pdf
3. Тетенев К.Ф. Биомеханика дыхания.- Томск: Изд-во Том. ун-та, 1981.- 145с.
Download