王 昊,韩 萌,刘 静*,2
1 中国科学院理化技术研究所,北京,100190;
2 清华大学医学院生物医学工程系,北京,100084
无线获取人体足底压力动态信息的手机监测平台
【作 者】王 昊1,韩 萌1,刘 静*1,2
1 中国科学院理化技术研究所,北京,100190;
2 清华大学医学院生物医学工程系,北京,100084
研制了一种基于Windows Mobile系统手机蓝牙通信的人体足部压力传感系统,在单片机控制和蓝牙模块的基础上,通过设计传感电路和A/D转换电路以及Visual Studio 2008下的软件开发,实现了人体足底动态压力信号的实时监测、数据发送,并将其显示、存储于手机。该方法为随意获取人体步态信息提供了一种重要的低成本手段。
足底压力;无线监测;手机;Windows Mobile;蓝牙
根据美国足部医学会统计,人一生行走的距离约为地球周长两周半以上,步行时足部所承受的地面反作用力达到体重的1.5倍[1]。据美国足踝整形外科学会统计,每六个人中就有一人脚部健康有问题,导致行走不便[2],因此足部健康值得人们关注。
通常,步态分析主要涉及4个方面:临床分析、动力学分析、运动学分析以及动态肌电图评估[3]。其中,动力学分析主要研究行走时足底和支撑面之间的相互作用力,即足底压力状态,由此可揭示人体在不同状态下的足底压力特征,即运动过程中足的动力学特性。事实上,该措施是对步态加以量化评估的关键环节,已逐渐成为现代医学中用以诊断病理足与评定足部康复过程的一种重要的生物力学方法[4]。
众所周知,糖尿病足部病变是其最常见的并发症,15%以上的糖尿病病人会发生足溃疡或坏疽,而其中14%~24%需要截肢治疗[5],这给家庭和社会带来了沉重的负担。足溃疡发生的最显著特征之一是病人足底压力异常增高和异常分布[6]。研究表明,足底压力增大可用于预测糖尿病足溃疡,二者之间的相关性高达70%~90%[7]。为采取有效措施预防糖尿病足发生,近年来有关糖尿病足的研究已从过去局限于周围神经病变和血管病变的研究,逐步向足底压力研究扩展,糖尿病患者的足底压力分析受到了日益广泛的关注。
此外,运动性疲劳[8]、脑性瘫痪儿童平衡能力[9-12]以及畸形步态[13]等,都在足底压力上有所体现。通过对足底压力的测量分析,可更准确地反映患者自然步行时的步态,从而为科学指导锻炼、减少运动损伤提供参考。
关于足底压力测量方法的研究,经历了如下几个发展阶段:对足底压力及分布做出定性判断的足印技术,基于光学反射原理的足底压力扫描技术,以及利用传感器的测力技术等。随着新型传感器技术的发展和计算机技术的广泛应用,足底压力测量技术逐渐成熟,指标越来越丰富,测量精度也有所提高,在临床医疗诊断及康复中的应用逐步普及。它能为临床足疾患者(如糖尿病足、畸形步态等)和特殊人群(如孕妇、老年人、小儿麻痹症患者等)的足底压力测量和步态特征分析提供技术支持,为足疾的功能康复、疗效评定和手术后效果鉴定提供客观评价。因此,对足底压力的研究由于测量技术的进步已逐步成为热点。
与此同时,可对人体健康状况进行实时监测的移动医疗(M-Health)技术正日益受到重视[5]。近年来,科学技术的发展显著改善了社会的医疗卫生状况,然而,根据世界卫生组织(World Health Organization)的报告[14],诸如心脏疾病、中风、癌症、呼吸道疾病以及糖尿病等慢性病,至今仍是引起死亡的最主要原因。大量的慢性病患者和比例不断增长的老年人口以及日益增加的医疗费用,将会给医疗事业带来巨大的压力,尤其对发展中国家更是如此。此外,随着人们健康意识和保健要求的不断加强,随时关注自身的身体状况已成为一种很普遍的需求。于是,提供一个能随时探测自身健康的环境,即移动医疗技术,就显得越来越重要[15]。
移动医疗技术通常包含传感器,用户终端以及服务器等。近年来,计算机和互联网在全球范围内已广泛普及。越来越多的移动计算设备,诸如智能手机、掌上电脑、便携式计算机等,可以通过可穿戴式传感器采集和处理数据,并借助声音或图像界面与用户进行交互。而且这些设备的尺寸、重量、价格也日益符合大众需求。其中,手机的普及率最高。根据工业和信息化部运行监测协调局2010年4月26日发布的报告[16],全国移动电话用户合计超过7亿7千万,移动电话普及率达到58.4%。而且,手机拥有简单可靠的用户交互界面,已经在一定程度上取代一些常用设备如手表、闹钟、日历等。以手机为交互载体,将其与个人健康检测相结合,可为患者及关注自身健康的人群提供十分便捷的途径。由于手机普及率高,直接应用可大大降低由此带来的成本,而其功能的日益强大也为这种结合提供了可能。
综合以上因素,本文通过集成蓝牙功能的单片机控制电路模块,将置于鞋内的压电传感系统与研制有Windows Mobile软件的手机建立连接,实现足底压力数据的实时无线获取及传输,可实时显示动态压力曲线,并将数据存储以及查看历史曲线等。该系统利用常见移动设备与用户交互,易被广大用户接受,且利于数据的管理,并可借助手机的通信功能对系统作进一步拓展,已展示出一定的临床及日常应用前景。
本文所述足底压力监护系统是在集成蓝牙功能的单片机控制模块工作基础上完成的。该模块的硬件电路如图1所示,可在处理器芯片控制下,通过数据采集模块采集生理数据,并将其存储于数据存储模块中,其通信接口包含与PC通信的miniUSB接口以及可与手机通信的蓝牙模块。
图1 集成蓝牙功能的单片机控制电路Fig.1 Singlechip control circuit integrated with Bluetooth function
2.1 传感器及A/D转换电路
系统所使用的传感器内部是一组半桥应变片(图2)。使用方法可以有以下三种:使用一只传感器配合外接电阻组成全桥测量,量程为一个传感器的量程50 kg;使用两只传感器组成全桥测量,量程为两只传感器的量程之和,即100 kg;使用四只传感器组成全桥测量,量程为四只传感器的量程之和,即200 kg。为确保量程,本文使用两只传感器接成全桥测量。
图2 半桥称重传感器Fig.2 Half bridge weighing sensor
文中采用的A/D芯片型号为HX711,是一款专为称重传感器而设计的24位A/D 转换器芯片。该芯片集成了稳压电源和片内时钟振荡器。通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分别为±20 mV或±40 mV。通道B 则为固定的64增益,用于系统参数检测。
图3 A/D转换电路PCB板设计线路图Fig.3 PCB circuit diagram for A/D conversion
半桥式传感器与A/D连接的单层PCB板设计板如图3所示。该电路可直接与现有控制和蓝牙模块连接,由此实现压力数据的无线发送接收(图4)。
2.2 Windows Mobile系统蓝牙通信
Windows CE支持基于两种传输技术的个人局域网(Personal Area Network, PAN)连接:红外和射频[17],其中射频网络标准为蓝牙标准。典型的Windows Mobile设备提供的蓝牙功能包括对象交换、文件传输和免提或者无线耳机的服务。
2.2.1 蓝牙协议栈
蓝牙协议栈体系结构如图5所示。它是由底层硬件、中间层以及应用层三大模块组成。底层模块是蓝牙技术的核心模块,其与上层(软件)模块之间的消息和数据传递通过蓝牙主机控制器接口(HCI,Host Controller Interface)完成。主机运行HCI层以上的协议软件实体,而HCI以下的功能则由蓝牙设备来完成。
图4 压力传感器与A/D转换电路Fig.4 Weighing sensor and A/D conversion circuit
图5 蓝牙协议栈体系结构[17]Fig.5 System structure for Bluetooth protocol
应用程序可采用两种方法和蓝牙协议栈进行交互:Winsock API和虚拟串口。采用Winsock API时,应用程序使用标准的Winsock函数来打开和蓝牙协议栈相关的套接字,通过WSAxxx系列函数完成控制。数据传输采用标准的套接字send和recv函数。应用程序操作蓝牙的另一个方法是通过虚拟串口。通过这个方法,应用程序加载一个蓝牙独立串口驱动。对协议栈的控制通过对COM驱动的DeviceIoControl调用来完成。调用WriteFile和ReadFile函数,通过COM端口从蓝牙连接读写数据。
另外,Windows Mobile系统提供设备和服务发现的功能,可直接加以利用。
2.2.2 通过虚拟串口进行蓝牙通信
使用Winsock和虚拟串口操作蓝牙协议栈均要求其中一个设备是服务器,而另外一个设备是客户端。服务器的职责包括加载驱动程序、打开驱动程序、决定指派给端口的RFCOMM通道等。Windows Mobile系统可直接为蓝牙设备分配串口,简化了步骤。
在分配好虚拟串口后,与一个串口交互涉及打开串行设备驱动程序以及与其通信。与传统的大部分现代操作系统一样,Windows Mobile中的应用程序是通过文件系统API访问设备驱动程序的,使用的函数包括:CreateFile,ReadFile,WriteFile和CloseHandle。
(1)打开和关闭串行端口
串行端口使用CreateFile函数打开。关闭串行端口时调用CloseHandle函数,与关闭文件句柄用法相同。
(2)配置串行端口
利用CreateFile成功打开串口后,还必须对串口的波特率、字符长度等进行配置。一般使用GetCommState和SetCommState来实现。另外,可以用SetupComm函数来设置串口内部的输入和输出缓存。
(3)设置端口超时值
超时值是指在ReadFile和WriteFile函数自动返回之前,Windows Mobile等待读或写操作的时间长度,控制函数为GetCommTimeouts和SetCommTimeouts。
(4)读写串行端口
成功打开串口后,读写串口使用ReadFile和WriteFile函数。
值得注意的是,由于Windows Mobile不支持重叠(Overlapped)I/O,因此若尝试从主线程或已经创建了一个窗口的线程里读写大量串行数据,这些线程负责处理的其他窗口消息队列将被相对较慢的串行读写操作阻塞。操作中应使用单独的线程来读写串口。
(5)多线程异步串行I/O
虽然Windows Mobile不支持重叠I/O,但可以使用多线程来实现相同功能的异步操作。
在使用单独的线程来处理读写串口之外,Windows Mobile支持WaitCommEvent函数,其功能是阻塞一个线程直到某预先设定事件发生。要等待某一事件,首先需要通过SetCommMask来设置事件掩码,该函数参数是串行设备的句柄以及一些事件标志的组合。
2.3 蓝牙通信软件实现
在本研究中,将串口通信相关函数封装为CSerial类,主程序采用对话框方式实现,实现了串口设置、连接、断开、读取数据的存储、双缓冲区波形显示以及数据采集的暂停和继续以及压力过大报警等基本功能。
3.3.1 串口类封装
为简化串口操作,本研究将以上所述串口操作封装为CSerial类,提供了较简单的操作接口。
(1)打开串口
CSerial类中,将打开串口以及对串口进行配置的相关函数放入Comm_Open函数中:
该函数形参为串行端口序号以及与端口配置相关的参数,如波特率、校验、数据位等。调用该成员函数时,实际完成的工作包括检查串口是否已打开、打开串口、设置缓冲区、配置串口、设置串口超时值和清空串口缓冲区,其中完成这些功能的函数都单独封装成类的成员函数。打开串口函数在串口打开和配置成功时返回值为TRUE,否则显示相应错误提示信息,并调用Comm_ Close函数关闭串口。
(2)串口数据处理
当串口接收数据成功时,若数据需要进行预处理或与其他线程进行通信,可调用Comm_Process函数,对数据进行格式转换,用SendMessage函数发送消息等。
(3)清除串口缓冲区内容
BOOL CSerial:Comm_Clear (DWORD dwFlags);该函数调用PurgeComm函数,清除当前串口输入和输出缓冲区。
(4)关闭串口
void CSerial::Comm_Close(void); 该函数在检查串口已经打开的前提下调用CloseHandle函数,若关闭失败,则将串口句柄置为INVALID_HANDLE_VALUE。
以上概要阐述了如何对串口类进行封装,通过CSerial类的封装接口,简化了对串口的相应操作过程。3.3.2 主程序实现
为实现压力数据传输的实时文字和波形显示,并尽量完善软件功能,设计友好软件界面,主程序采用对话框(CPressureMonitor类)方式,具体实现如下。
(1)成员变量
使用CSerial类的对象作为CPressureMonitor类的成员变量,以便于程序内部对串口进行操作。
(2)串口设置
在Windows Mobile系统中为温度监护蓝牙设备分配好串口后,主程序中可设置串口相关参数,该功能通过CDlgCommSet对话框类实现。
(3)串口连接
在完成设置后,可通过指定串口与蓝牙设备进行连接,并将设置参数传递给CSerial类中的串口配置函数。由于本文研制程序的目的在于实时记录蓝牙传送数据,故在串口连接成功后,应创建文件,文件名为当前系统时间,以防覆盖其他数据。
(4)串口数据读取
据前文所述,串口数据读取操作应采用多线程的方式实现。在串口连接成功后,创建串口数据读取线程CommReadThread。在该串口读线程中,首先通过SetCommMask函数设置事件掩码。本程序中将事件掩码设置为EV_RXCHAR,即事件为接收到一个字符。然后用WaitCommEvent函数等待事件发生,即等待串口接收到一个字符。读取成功后,便可调用Comm_Process函数对接收到的数据进行格式调整。格式化后,向主线程发送WM_COMM_RECV消息,以进一步处理。
以上过程一直循环直至串口被关闭。
(5)压力数据处理和显示
主线程捕捉到由串口读取线程发送的WM_ COMM_RECV消息后,响应OnMyRecv函数。该函数中,将接收到的字符作为形参传递给RecvShow函数,
RecvShow函数主要实现数值和曲线的实时显示。对于曲线显示,本程序界面只显示最新30秒压力曲线,并同时允许用户拖动查看历史曲线。
本程序显示的波形界面要求实时更新曲线,并且界面中应包含坐标刻度以便及时观察和读取数值。为实现以上功能并防止出现绘图闪烁的情况,本文采用了多缓冲区的方法。
在本研究中,由于除了曲线本身,还需要绘制格子便于读取数值,故应创建两个内存DC。将绘制好的曲线图形添加到一个DC上,即得到包含格子与曲线的波形图,再将其复制到屏幕DC上,即完成整个波形绘制过程。另外,坐标轴的坐标范围可根据当前屏幕显示内容自动调整。
(6)压力数据存储及历史数据浏览
本研究通过边采集边存储的方式,实现压力数据的存储功能,存储的文件以开始采集时的时间为文件名。在软件界面中,可以用打开数据文件的方法,浏览采集到的历史数据波形和数值。
该压力传感模块需要对采集的数据进行定标。由于该传感器的响应一般呈线性,故可通过测量若干不同质量物体的传感器响应,来标定响应曲线。
我们对三种不同质量的物体进行了测量,所得结果如表1。
表1 三种不同质量物体的测量结果Tab.1 Measured results for three objects with different weight
在传感器压力为0时,其响应值应为0(在本研究中,由于传感器本身存在一定漂移,导致系统在压力为0时,需要经过一段时间后,响应值才可稳定在0左右)。根据上表所测数据,可近似得到压力传感器的响应曲线方程如下:
其中,G为响应值,M为所测质量。
确定响应曲线后,即可进行足底压力数据采集。
根据初步实验采集到的足底压力数据显示,正常步行与跑步时的足底压力存在明显区别,如图6所示。从中不难看出,压力幅度较大、波峰较密集处代表跑步过程中所测得的数据。注意跑步时波形中出现有压力值突变的情况,此为跑步姿态发生改变所致。于是可根据压力值变化情况来判断步态是否正确,从而为体育运动或康复训练等的效果评定提供一种十分便捷的依据。
本研究中,足底压力分析系统所使用的压力传感器本身存在一定的漂移现象。系统启动后,当传感器所受压力为零时,传感器响应需经过一定时间后才可稳定为0。同时传感器体积稍大,今后需进一步采用微型化传感器代替。另外,临床足底压力分析涉及足底多个不同部位,而本系统仅为单点压力,此方面功能有待进一步研发。
研究显示,新型器件可应用于糖尿病足、运动性疲劳、脑性瘫痪儿童平衡能力以及畸形步态等的研究。而目前临床上的足底压力测试系统尚无法对患者正常步行时的足底压力进行动态连续监测。本文提出的方法将压力传感器置于鞋底或鞋垫内,对人体无任何干扰,患者可自由步行,且数据可通过蓝牙进行无线传输到手机中予以直观显示,从而更准确、方便地反映患者自然步行时的步态。
通过足底压力分析,可揭示人体在不同状态下的足底动态压力特征,即运动过程中足的动力学行为。它已逐渐成为临床研究中诊断病理足与足部康复评定的一种重要的生物力学方法。本研究在现有蓝牙和控制模块的工作基础上,通过压力传感电路设计以及编制Windows Mobile系统手机蓝牙通信软件,实现了足底压力数据的实时无线传输。并通过对正常步行以及跑步时的压力数据采集,初步验证了该系统的足底压力监测功能。该方法使得足底压力实时监测更具实用性,为进一步拓展相关研究奠定了基础。
图6 手机屏幕显示的跑步(左)与正常步行(右)交替时压力数据曲线Fig.6 Pressure stress curve switching during running displayed on mobile phone (left) and normal walking (right)
致谢:
作者感谢中国科学院科技助残基金及清华-裕元医学科学研究基金资助。
[1] 吴俊豪. 足踝生物力学与足踝辅具之相关研究[A]. 4th世界生物力学年会[C], 2002.
[2] http://www.richeyandco.com/html/comfort_justforu.html[OL], accessed on 2009.10.
[3] 王明鑫,俞光荣. 正常人足底压力分析的研究进展[J]. 中国矫形外科杂志, 2006,14(22):1722-1724.
[4] 梁成军. 足底压力测量在步态分析及病理评估中的应用[J]. 中国组织工程研究与临床康复,2007,11(40):8149-8152.
[5] A. J. Boulton, P. R. Cavanagh, G. Rayman. The foot in diabetes[M]. 4th ed. England: Wiley-Blackwell, 2006: 1-16.
[6] L. A. Lavery, D. G. Armstrong, R. P. Wunderlich, et al. Predictive value of foot pressure assessment as part of a population-based diabetes disease management program [J]. Diabetes Care, 2003, 26 (4): 1069-1073.
[7] S. Inlow, T. P. Kalla, J. Rahman. Downloading plantar foot pressures in the diabetic patient [J]. Ostomy Wound Manage, 1999, 45(10): 28-38.
[8] 许敬法. 运动性疲劳的产生与消除[J]. 山西体育科技,2006,26(2):45-46.
[9] A. F. Cordero, H. J. Koopman, F. C. T. van der Helm. Use of pressure insoles to calculate the complete ground reaction forces [J]. Journal of Biomechanics, 2004, 37: 1427–1432.
[10] E. B. Titianova, P. S. Mateev, I. M. Tarkka. Footprint analysis of gait using a pressure sensor system [J]. Journal of Electromyography and Kinesiology, 2004, 14: 275–281.
[11] 李海, 丁建新, 周安艳, 等. 足底压力式步态分析技术在痉挛型脑性瘫痪儿童步态研究中的应用[J]. 中华物理医学与康复杂志,2006,28 (12):8182-8211.
[12] 李海, 周安艳, 黄东锋, 等. 动态足底压力检测痉挛型脑性瘫痪儿童步行时的特征[J]. 中国组织工程研究与临床康复,2007,11 (22):4457-4460.
[13] 霍洪峰, 吴艳霞, 付丽敏, 等. 女青年异常步态行走时的足底压力特征[J]. 中国康复医学杂志,2009,24(9):841-843.
[14] http://www.who.int/topics/chronic_diseases/en[OL], accessed on 2009.10.
[15] H. Wang, J. Liu. Mobile phone based health care technology[J]. Recent Patents on Biomedical Engineering, 2009, 2(1): 15-21.
[16] http://yxj.miit.gov.cn/n11293472/n11295057/n11298508/13172551. html[OL], accessed on 2009.10.
[17] D. Boling. 著,何宗建 译.Windows CE6.0开发者参考[M]. 北京:机械工业出版社,2009:423-441.
Mobile Phone Platform for Wireless Monitoring of Human Dynamic Plantar Pressure
【 Writers 】Wang Hao1, Han Meng1, Liu Jing1,2
1 Technical Institute of Physics and Chemistry, Chinese Academy of Sciences, Beijing, 100190
2 Department of Biomedical Engineering, School of Medicine, Tsinghua University, Beijing, 100084
Plantar pressure, Wireless monitoring, Mobile phone, Windows Mobile, Bluetooth
R319
A
10.3969/j.isnn.1671-7104.2010.06.004
1671-7104(2010)06-0403-05
2010-07-05
刘静,E-mail: jliubme@tsinghua.edu.cn
【 Abstract 】This paper constructed a plantar pressure sensing system based on Bluetooth communication of mobile phone with embedded Windows Mobile system. With the MCU (Microprocessor Control Unit) and Bluetooth module, the pressure sensor and the data acquisition circuit was designed and integrated, with software developed under Visual Studio 2008 environment. The real-time monitoring of human dynamic plantar pressure signal, and transferring, displaying and storing the recorded data on a mobile phone were achieved. This method offers an important measure to acquire human gait information via a pervasive and low cost way.