Преобразование данных с портов модуля 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с.