基于嵌入式的血压测量系统设计与实现

基于嵌入式的血压测量系统设计与实现六足机器人
祝磊;阮宇静;曹凯敏;何小宇;韩自营
微型压力传感器芯片【摘 要】设计了一种基于ARM和Linux的嵌入式血压测量系统.血压信号通过袖带、信号处理电路传送到ARM处理器,在建立了交叉编译环境的Linux系统下利用Qt编程分析处理血压信号,通过网络编程实现了系统和上位机软件之间的数据通信,实现了血压测量数据的存储功能.实际测量表明,测量系统使用方便、测量精度高,有很高的应用价值.%Blood pressure is an important physiological parameter of human body,accurate measurement of blood pressure has a positive effect on health;this paper describes the design principle and implementation of an embedded blood pressure measurement system based on ARM and Linux:ARM processor received blood signal through cuff and signal processing circuit,then Qt programming was used to analyze and process the signal under Linux with cross compiling environment,network programming was adopted to realize data communication between system and upper-computer software,and realized data display and storage function of blood pressure measurement.The actual measurement shows that measurement system is easy to use and has high measurement precision and high application value.
【期刊名称】《杭州电子科技大学学报》
【年(卷),期】2017(037)001
钢结构运输【总页数】5页(P71-75)
蒸汽减压减温装置【关键词】血压测量;嵌入式;上位机软件;数据通信
【作 者】祝磊;阮宇静;曹凯敏;何小宇;韩自营
【作者单位】杭州电子科技大学生命信息与仪器工程学院,浙江 杭州 310018;杭州电子科技大学生命信息与仪器工程学院,浙江 杭州 310018;杭州电子科技大学生命信息与仪器工程学院,浙江 杭州 310018;杭州电子科技大学生命信息与仪器工程学院,浙江 杭州 310018;杭州电子科技大学生命信息与仪器工程学院,浙江 杭州 310018
【正文语种】中 文
【中图分类】TH772+.2
长时间精确监测人体血压有利于诊断人体的健康状况.血压测量方式分为有创测量和无创测量.有创测量得到的结果准确但较多应用于急救、心血管手术[1];无创测量方法中包括柯氏音法、示波法、动脉张力法[2-4]等,因其测量技术要求较有创测量技术低、无创伤、方便操作等优点得到较为广泛的应用.无创血压测量可借助袖带、无袖带设备[5]获得血压值,其中无袖带设备可以避免由于袖带尺寸过大而造成血压测量数值偏小[6]的问题,但考虑到借助袖带测量的成本较无袖带设备成本低,袖带测量方式仍得到广泛应用.
本文提出了一种基于高级精简指令集计算机(Advanced Reduced Instruction Set Computer Machines,ARM)和Linux的血压测量系统,采用支持多任务同时独立运行的Linux系统[7]以提高系统工作效率,并借助无创测量中成本较低的袖带采集血压信号,满足了血压数据在精度方面的要求,实现了血压数据的存储和数据通信功能.
血压测量系统主要完成对人体血压的实时测量、存储和显示,由血压采集模块、ARMS3C2440处理器和上位机软件组成,系统框架如图1所示.血压采集模块根据ARMS3C2440处理器传输的指令进行血压信号的采集和处理,并封装成血压数据包发送给ARMS3C2440处理器;在上位机软件中通过Qt编程对血压数据进行解析、存储,并将处理
结果显示在LCD液晶屏上;根据TCP/IP协议通过网络编程实现处理器与上位机软件的数据通信.
1.1 血压采集模块
血压的标准单位是千帕(kPa),但考虑到国内的实际应用中多采用毫米汞柱(mmHg),本文中血压单位采用mmHg.本文血压采集模块基于示波法原理设计,主要由ARM控制电路、气泵驱动电路、压力传感器电路、滤波放大电路和AD转换电路等构成.测量时,血压采集模块根据ARMS3C2440处理器的指令控制气泵对袖带充气,当袖带气压达到180 mmHg时开始放气,此时压力传感器开始采集袖带压,通过滤波放大、AD转换等方法获取实时的袖带压力值.血压采集模块将数据封装后发送给ARM处理器进行解析和显示,测量完成后处理器根据血压模块传送的数据包计算获得收缩压、舒张压和平均压等生理参数.血压采集模块采用串行通信方式,输出为串口的ASCII码,波特率为4 800 bps,数据格式为“起始位+8位数据位+1位停止位,无校验码”.血压采集模块开始工作后,首先发送系统状态数据包,然后每秒发5个数据包,发送实时压力数据.
1.2 ARMS3C2440处理器
ARMS3C2440处理器的工作频率为400 MHz,可用于各类小型移动终端、手持设备和网络产品的开发与应用.本文应用以S3C2440为处理器的TQ2440开发板,选用液晶显示屏为天嵌3.5寸触摸屏,分辨率较高.
1.3 上位机软件
Linux系统在软件层面可以分为4个层次:1)引导和加载Linux内核的程序;2)Linux内核;3)Linux文件系统;4)用户应用程序.本文PC机的操作系统为红帽RedHat Linux9.0操作系统,开发板移植linux2.6.30.4系统.
u型玻璃幕墙
1.3.1 嵌入式开发环境
嵌入式系统一般采用“宿主机-目标机”的方式进行程序的交叉开发.利用宿主机的资源和开发环境进行开发目标机的软件,编译完成后利用超级终端或者DNW通过串口将生成的应用程序传送到目标机运行.本设计中,PC宿主机的系统环境为红帽RedHat Linux9.0操作系统,目标机系统环境为TQ2440开发板移植Linux系统.
嵌入式开发需要建立交叉编译环境,即在PC宿主机上生成可在目标机执行的程序.本文搭
建交叉编译环境的步骤如下:
1)复制并解压工具压缩包.将开发板自带的交叉编译压缩包复制到宿主机相关目录下,在Linux终端输入解压命令将其解压;
2)配置生效交叉编译器.在终端打开profile文件,修改后保存,在终端输入相应命令使交叉编译生效.
TQ2440开发板中Linux系统的启动需要烧写3部分,分别为uboot、Linux内核和文件系统.本文按照TQ2440开发板提供的镜像资源和用户手册的指示,依次将uboot、Linux内核和文件系统移植到开发板中,并建立了具有友好用户界面的QTopia平台.
1.3.2 Qt编程
Qt是诺基亚提供的C++图形用户界面框架,具有优良的跨平台开发和移植特性.本文的图形界面是在Linux平台下,基于Qt/Embedded嵌入式系统完成编写和开发的,其功能分为采集控制模块、数值显示模块和数据处理发送模块.
1.3.3 数据通信
在完成血压测量后,设计的上位机软件需要接收ARMS3C2440处理器传送的测量数据以实现显示、存储和分析测量数据等功能.利用TCP/IP协议进行网络编程,实现ARMS3C2440处理器和上位机软件之间的数据通信.
在进行血压测量时,通过袖带实现动脉血流的阻断,同时在袖带逐渐放气的过程中利用压力传感器检测袖带内气体的振荡波.袖带的缓慢放气造成了袖带容积的逐渐变化,进而改变了袖带内部的气压,通过压力传感器得到气压值为一个近似斜坡的信号量,将此信号量进行滤波、放大、模数转换等处理后得到实时的袖带压.血压采集模块接收处理器的指令进行血压数据的采集、处理和封装,并将数据包上传给处理器,根据血压采集模块数据协议的字节定义,处理器可以实现串口设置和实时数据的解析,得到血压测量数值.
血压按照如下指标进行测量软件的设计:收缩压范围为6.7~33.3 kPa(50~250 mmHg);平均压范围为3.4~26.6 kPa(25~200 mmHg);舒张压范围为2.0~24.0 kPa(15~180 mmHg).软件流程如图2所示.
破窗器
软件流程主要步骤描述如下:
1)设置串口.根据血压采集模块的数据格式,设置开发板的COM1口为软件程序的串口,数据校验为无校验,数据位数为8位,波特率为4 800 bps.
2)发送测量命令.测量开始前,处理器向血压采集模块发送测量指令,其基本命令格式为〈STX〉ab;;cd〈ETX〉.其中ab表示命令代码对应的ASCII码值,本文使用手动测量状态.
3)读取解析数据.处理器接收采集到的数据包并触发scan()函数实现处理功能,采集到的数据包中包含实时袖带压的数据,scan()函数以numBytes存放获取的字节,处理后存放在last_record_buff中并对数据进一步处理和分析.当袖带放气完成后,血压采集模块向ARM处理器发送测量结束标志包.处理器接收到测量结束标志包后计算获得的数据,即本次测量舒张压、收缩压和平均压的数值.
4)显示数据并存储.处理器得到测量的舒张压、收缩压和平均压值后,根据数据协议触发value_show()函数,将所获得的数据中收缩压、舒张压、平均压等数据值计算转化为十进制数值,并在图形界面上进行显示;通过MeasureParameter_Save()函数存储获得的测量数据,再通过网线实现处理器与上位机软件之间的通信将测量数据传送至上位机软件.
3.1 测量结果
测量血压数据前,在ARM处理器和上位机软件之间通过网线建立连接;在宿主机上编写应用程序的代码,代码进行交叉编译后生成可执行文件,使用超级终端将可执行文件通过串口传到开发板的Linux系统中,运行可执行文件后开始测量血压数据.为测试血压测量软件的准确性,在同一天里分别选择不同时刻8:00,12:00,18:00和22:00对同一个测量对象进行血压参数测量,其测量结果如图3所示.
根据测量结果可知,4次测量的人体舒张压分别为116 mmHg,111 mmHg,105 mmHg,117 mmHg,人体收缩压分别为73 mmHg,70 mmHg,83 mmHg,89 mmHg,得到的4个人体平均血压基本持平(分别为82 mmHg,90 mmHg,93 mmHg,96 mmHg).根据医学原理可知,人体正常的舒张压范围在90~140 mmHg之间,收缩压范围在60~90 mmHg之间,且特定时刻的人体血压值与当时所处的环境和人体兴奋度有一定关系.本次的测量对象血压范围在正常范围内,4个时刻的测量结果虽然存在一些差异,但忽略环境的干扰后,测量差异处在可接受范围内.这说明了本文设计的血压测量系统可以较好地反应人体的血压状况,测量精度较高.

本文发布于:2024-09-21 15:37:00,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/135952.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:测量   血压   处理器   采集   数据   系统   袖带
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议