心电监护系统中WIFI传输的设计与实现
2013-12-30黄建凡堵国樑
黄建凡,朱 为,堵国樑
(东南大学电子科学与工程学院,南京210096)
心电图诞生于20世纪初,荷兰大学生理学威廉·爱因托芬教授于1903年记录了世界上第一份人体心脏完整的心电图[1]。近年来,随着人们生活节奏的加快,以及工作压力的不断增大,心血管疾病的发病率呈现逐年增高的趋势,已成为危害人类健康的头号杀手[2-4]。并具有“发病率高、死亡率高、复发率高、并发症多”等特点。20世纪60年代,各医院开始建立心电监护室,明显降低了心机梗死发病的概率[5-7]。随着心电监护室的产生以及移动通讯网络的迅速发展,远程监护也逐渐被世人所接受。远程监护中一个重要的环节是数据的传输,在数据传输过程中如何实现数据不丢帧的实时传输是心电监护系统中的一个关键技术[8]。
1 通信方式的选择
1.1 3种无线通信方式的比较
近几年来,无线通信成为通讯行业的主流,无线通信减少了通信之间复杂的连线布局,不过无线通信也增加了设计的复杂性。在无线通信中,除了最近比较热门的3 G、4 G网络,近距离的无线通讯也得到了很大的发展,如 Zigbee、蓝牙、WIFI[5]。
(1)Zigbee是一种低速短距离传输的无线网络协定,是IEEE 802.15.4协议的代名词。Zigbee的传输距离短;数据传输速率低,在2.4 GHz的频段只有250 kb/s;时延不易确定,由于Zigbee不支持时分复用的信道接入方式,因此不能提供高质量的实时数据的传输。
(2)蓝牙是一种支持设备短距离通信(一般10m内)的无线电技术,使用IEEE802.15协议。与其他工作在相同频段的系统相比,蓝牙高速跳频使蓝牙比其他系统更稳定,但带来的代价是传输的数据包比较短,数据传输遇到瓶颈问题。
(3)WIFI(Wireless Fidelity,意思是“无线保真度”)是使用802.11标准协议的局域网,定义了介质访问接入控制层(MAC层)和物理层。现有的通信标准有 802.11a,802.11b,802.11g,802.11n 等等[9-10]。WIFI是一种短程无线传输技术,能够在数百米范围内(室内100 m,室外300 m)支持互联网接入的无线电信号。
1.2 WIFI技术的优势
1.2.1 无线覆盖范围广
蓝牙的覆盖范围非常小,半径大约只有15 m,而Wi-Fi的半径则可达100 m左右,在整栋大楼中都可以使用。
1.2.2 传输速度高
传输速度非常快,可以达到54 Mbit/s,符合个人和社会信息化的需求。
1.2.3 健康安全
IEEE802.11规定的发射功率不可超过100 mW,实际发射功率约60 mW~70 mW,而手机的发射功率约200 mW~1 W,手持式对讲机高达5 W。从对比可以看出,WIFI产品对人体的辐射很小[11]。
由于WIFI高速的传输速率,WIFI成为与互联网的无线高速“接口”,在远程监护系统中,以无线AP作为接入点,患者的心电数据能快速上传至监护中心,并且依靠互联网的优势,实现资源的共享,弥补了传统远程监护的点对点的模式,数据可以传至各大医院网站或监护中心,接受多方面的医疗指导。结合上述远程监护的实现方法选择WIFI的监护系统可以形成高速、实用、经济的监护系统。
2 WIFI模块的实现
2.1 WIFI在整个心电监护系统中的作用
整个心电监护系统包括前端的心电采集模块、微处理器的处理模块、WIFI数据传输模块以及服务器端的数据接收与分析模块。
心电采集模块把采集到的数据传给微处理器,微处理器处理后再把数据写到WIFI模块的缓冲区中,WIFI模块再通过TCP协议把缓冲区中的数据发送到服务器终端。服务器端软件实时地接收受监护者的心电数据,并解析为心电波形。实现实时的数据采集传输与显示。若受监护人的心电数据成功上传至服务器,便可以通过以太网传至医生电脑,可以进行远程分析诊断。
2.2 WIFI模块的选择
对WIFI模块的选取特别重要,首先要考虑到能否与单片机之间进行高速的数据传输。由于此监护系统为便携式设备,再者要考虑WIFI模块的体积、重量、功耗(电池供电)等问题。而且在实现数据传输过程中应减少数据的差错率。本方案结合以上特点,选用的是 REDPINE SIGNALS公司的RS9110-N-11-22模块。
RS9110-N-11-22模块的体积很小,只有23 mm×29 mm;模块工作在2.4 GHz频段;无线速率支持802.11b/g/n,最高速率可以达到54 Mbit/s;在功耗方面:模块在功耗模式0下不进行节约功耗,工作电流为128 mA;在功耗模式2下模块关闭基带和RF模块,内核控制模块常开,模块可以正常接收数据命令,实际执行发送数据要等模块醒来时执行,执行完自动睡眠,在睡眠状态下的工作电流为17.2 mA。
RS9110-N-11-22模块支持UART和SPI数据接口,市面上的微处理器都能很好地开发此WIFI模块。RS9110-N-11-22模块的系统框图如图1所示,WIFI模块可以通过UART或者SPI接口与MCU相连,实现两者之间的通讯,而且模块内置了TCP、UDP协议,能很好地与服务器进行通讯。
图1 RS9110-N-11-22模块的系统框图[12]
2.3 WIFI模块接口的选择
(1)UART接口:模块启动时能够进行模块波特率自适应,支持的波特率有9.6 kbit/s/19.2 kbit/s/38.4 kbit/s/57.6 kbit/s/115.2 kbit/s/200 kbit/s/230.4 kbit/s/460.8 kbit/s/921.6 kbit/s/1.8432Mbit/s/3.6864 Mbit/s。由于传输的过程中需要加上帧头,实测使用3.6864 Mbit/s的波特率传输TCP包时的速度为346.7 kbyte/s。一般的MCU都是单线程运行,所以要求实际数据传输速率要低于346.7 kbyte/s,才能预留一部分时间给MCU其他的程序块,在这种情况下3.6864 Mbit/s的波特率是能满足要求的。但使用UART接口有时会有丢帧的现象,实验指定发送一个字节长度1 208 byte的数据包,连续发送10 000次,总数据长度1 208×10 000=12.08 Mbyte,实际接收12.006 312 Mbyte,可以看出丢帧率为1-0.9939=0.61%。
(2)SPI接口:与UART接口相比较,对应的操作比较复杂,但SPI接口的通讯速率可达25 MHz,可以大大提高传输的数据量,在数据量比较大的情况下可以选择SPI接口。WIFI模块和服务器之间通过TCP/UDP协议进行传输。TCP(Transmission Control Protocol)协议是是一种面向连接的、可靠的、基于字节流的运输层(Transport layer)通信协议,由于TCP传输的可靠性,在传输过程不会发生丢帧的现象。
由于UART接口的WIFI模块受到串行接口速度的影响,而且要实现高速传输必须对串口的波特率进行超频(正常波特率的最大值为115.2 kbit/s),波特率提高会引起传输的不稳定而导致丢帧现象的发生,所以在设计中选择SPI接口的RS9110-N-11-22模块,提高了传输的数据量,也保证了系统的稳定性,使系统不发生丢帧。
2.4 SPI接口的WIFI模块
(1)WIFI模块和微处理器连接方式如图2所示。
图2 WIFI模块接口图
(2)WIFI模块的基本命令
MCU---->模块:C1----C2----C3----C4-----数据;
模块---->MCU:C1----C2----C3----C4-----数据(MCU主机数据)----等待状态-----数据(模块数据)。其中C1~C4的含义如图3所示。
图3 模块基本命令中C1~C4的含义
WIFI模块在于MCU通讯过程中,模块会返回数据发送成功、模块忙、发送数据错误、模块已经准备好的信息。MCU可以通过模块返回的信息来判断数据是否发送成功,这种应答方式确保了WIFI模块与MCU之间数据通讯的正确性。
(3)MCU与服务器之间的通讯
MCU发送数据给WIFI模块可以通过模块的返回信息来判断MCU是否已经把数据成功发送给了WIFI模块,如果收到WIFI模块返回的“数据发送成功”说明WIFI模块已经成功接收到数据;WIFI模块和服务器之间通过可靠的通讯协议(TCP协议)使这一通信环节不会丢帧。从而MCU与服务器通讯能够实现不丢帧的传输。
图4 WIFI模块正常联网的软件流程图
(4)WIFI模块联网的过程
RS9110-N-11-22模块具有正常连接和快速连接。①正常联网的流程图如图4所示。模块在正常连接时,先从底层引导过程启动WIFI模块,而后配置模块的发射频段、扫描信道和网络名、设置共享密匙(PSK)、加入/创建网络、设置模块的IP地址,然后就可以连接到服务器进行数据传输。②快速连接和正常连接的区别在于:在正常连接的过程中把“扫描信道和网络名、共享密匙(PSK)设置、加入/创建网络、设置模块IP地址”这些参数保存起来,并允许下次启动时自动连接到已经建立好的连接点AP(Access Point)。这样在下次连接的过程中就可以快速连接到网络中,再执行连接到服务器就可以进行数据通讯,这样就可以大大减小RS9110-N-11-22模块连接到网络的时间。快速连接的流程图如图5所示。
图5 WIFI模块快速联网的软件流程图
3 实验结果
服务器(可以是手机、平板或者电脑)上的接收软件能接收通过RS9110-N-11-22模块传输的二进制心电数据,并解析出心电波形,实现心电波形的实时显示。心电数据传至服务器后,就能通过以太网在网络上传播,医生和专家也能第一时间获取受监护人的心电信息,对受监护人的心电数据进行分析诊断。
3.1 数据丢帧率测试
心电采集模块把心电数据采集后传给MCU,在MCU内存区开辟一个缓存空间来存储采集到的心电数据,此缓存空间是为了MCU发送给WIFI模块出现错误能实现出错重发的功能而设计的。而后再通过一定的数据格式传给RS9110-N-11-22模块,WIFI模块通过TCP协议将数据传输到服务器,最终在服务器上解析出心电波形,实现数据的实时传输与显示。
实测在WIFI信号强度为-70 dB~-80 dB(相邻的实验室,中间隔一堵墙)的情况下,测量时间为87 220 s(24.23 h),服务器接收到的数据量为1 214×1 744 400=2 117.7 Mbyte,都没有发生丢数据的情况。这个结果能够满足心电监护系统的要求。
3.2 解析后的心电波形
为了完整记录心脏的电活动状况,常用水平和垂直方向的12种不同导联做记录,称为标准十二导联,即Ⅰ、Ⅱ、Ⅲ、aVR、aVL、aVF 导联(肢体导联)和V1、V2、V3、V4、V5、V6 导联(胸导联)。其中Ⅱ、aVR、V3导联的波形如图6所示,其他导联的波形就不一一列举了,如图所示的心电波形中能很好地表示出心电图上的各种波形(包括P波、QRS波群、T波和U波)。实时不丢帧的传输能把最真实的心电波形传给医生,帮助医生进行心电诊断。
图6 心电波形
4 结论
本文考察了MCU和WIFI组成数据传输处理的系统,并在WIFI信号强度为-70 dB~-80 dB(相邻的实验室,中间隔一堵墙)的情况下实现心电数据实时不丢帧的传输。WIFI网络数据传输由于其覆盖范围广和传输速率高,将会是未来远程监护系统发展的趋势。心电监护系统中的一个关键技术是在数据实时传输过程中如何实现不丢帧传输。目前兆量级的数据传输速率可以满足现有远程监护系统的要求。由于未来远程监护系统需要传输更多的人体生理信息,对传播速率的要求也更高,这也是今后实现实时不丢帧传输面临的一个重大问题。
[1]Li Hongwang,Yang Yong,Fan Qingan,et al.Design and Implementation of Remote ECG Monitoring System[J].Journal of Biomedical Engineering Research,2009,28(2):128-131.
[2]Yang Xue,Wu Shuicai,Zhang Song.New Development of Family ECG Telemonitoring System[J].Biomedical Engineering and Clinical,2006,10(6):391.
[3]Gu Jukong,Xiao Zheyou.Far-Distance Monitoring Electrical Cardiology[M].Beijing:People’s Military Medical Press,2009:1-21.
[4]宋莉,盂庆建,张光玉,等.3G双处理器远程心电实时监护系统的研制[J].中国医学物理学志,2010,3:1758-1761.
[5]Cheng Jingming,Zhu Xiaoying,Pan Xiaoming.Comparison of Head-Chest Lead and Wilson Leads of Electrocardiogram in Patients with Right Ventricular Inforction[J].Jouranl Clin Cardiol,2005(2):35-37.
[6]杜遥.基于WIFI的心电信号传输系统[D].天津理工大学,2011:1-6.
[7]Jin Hailong,Miao Bing.Design of Holter ECG System Based on MSP430 and USB Technology[J].Bioinformatics and Biomedical Engineering,2007:976-979.
[8]Liang Jing,Wu Yinqin.Wireless ECG Monitoring System Based on OMAP[J].Computational Science and Engineering,2009:1002-1006.
[9]金纯,陈林星,杨吉云,等.IEEE802.11无线局域网[M].北京:电子工业出版社,2004:1-54.
[10]周洁.基于WIFI传输与接入技术的发展[J].信息通信,2012(2):115-116.
[11]杜遥,刘晓琴,孙鹏.基于WIFI的心电实时监护系统[J].天津工大学学报,2011(27):31-34.
[12]Redpine Signals,Inc.RS9110-N-11-22 Wireless Device Server Module Integration Guide[Z].Redpine Signals,2012:1-10.