基于CC43O的无线胸带式心电采集终端
2011-06-02秦皇岛市康泰医学系统有限公司刘晨亮师丽菊
秦皇岛市康泰医学系统有限公司 刘晨亮 师丽菊
引言
心血管疾病是一种较为普遍的疾病,随着生活节奏的加快,生活水平和健康意识的提高,人们需要随时对心脏进行健康监护并且能在比较危急的情况下进行及时的诊治;目前主要的监测方式有以下几种:
手持式片断记录心电计:其优点是可以随身携带,对使用地点要求不高,可以随时随地使用,缺点是不能连续记录心电图,对于隐性的心电疾病不能很好的发现。
动态心电图机:该设备优点是能够同步12导联采集心电图,具有PC端强大的分析系统,能够用于医生进行详细的医学诊断,缺点是导联连接复杂,必须到医院才能佩戴,不能实时上传数据,属于事后分析系统。
常规监护仪监测:该种设备价格昂贵,只能在医院进行监测治疗,监测成本极高,一般用于重症监护,不适合用于普通心电疾病监护。
综上可以看出,目前的心电监护方法各有优缺点,不能满足即能实时监测,又能便宜实惠的大众化医疗需求,因此本文设计了一款基本上能满足大众化的心电采集终端,使得心电监测、治疗能够平民化、社区化。下面对该终端进行详细叙述。
1.系统总体方案
1.1 方案简介
该设备是作为一套远程医疗系统的一个终端设备设计的。整个远程医疗系统分为两个大部分:用户部分和远程诊断部分,而用户部分又分为数据采集终端和数据上传终端。整个系统运行过程如下:首先数据采集终端把数据通过无线发给数据上传终端,数据上传终端可以是连入互联网的电脑、手机、专用路由器、网络监护仪等设备。然后上传终端设备把接收到的数据进行分析处理,把有价值的数据通过互联网发送到远程健康管理中心,中心的数据服务器再把数据分类,分发给对应的专家和医务人员,由他们进行分析诊断,最后中心通过电话和互联网把诊断结果反馈给用户,并提示用户进行相关的治疗。
该系统涉及到了嵌入式系统、无线数据传输、互联网、用户和医生之间的交互、管理中心的数据处理,可以说是物联网的一个最典型应用。
该系统的采集终端不仅有心电终端,还有血氧、血压、血糖、体温、呼吸等等各种人体重要的生理参数采集终端,本文限于篇幅,只详细叙述其中的心电采集终端。
图1 硬件框架图
1.2 心电终端的构成
本设备采用胸带方式的可重复使用导电橡胶电极,这样设计可以让家庭用户轻松方便的自己穿戴,不需要额外的医师帮助;橡胶电极是柔性设计,能够随形紧贴皮肤,即舒适,采集效果还好;橡胶材质符合CE的生物兼容性要求,不会有副作用。
终端主机直接卡扣到胸带上,由于主机很小,很轻,佩戴起来基本感觉不到,这样还省去了连接导联线的麻烦,增加可靠性,减少干扰。主机上人机接口只有一个按键和一个指示灯,操作简单明了,即使老人和儿童也能很容易操作。
采用1OOOmAH锂聚合物电池,能够提供大于24小时的全天候心电监测。本终端设备还支持TF卡存储功能,在某些不需要实时检测的情况下,可以将数据记录到TF卡上,供后续分析诊断用。
2.硬件设计
硬件部分框图如图1所示,心电模拟放大部分主要由两种放大器INA333和OPA2 348组成;数字部分主要由CC43OF5137无线单片机和TF卡构成;外围电路还有时钟电路、电源电路等。
2.1 模拟电路设计
该终端检测的心电信号幅值在±5mV之间,频率在O.O5~75Hz之间。心电信号经电极转换成电压信号,先要进行电压放大。电压放大器由两级组成,前级采用负反馈差动放大电路,消除共模干扰信号,后级采用线性放大器,把心电信号放大到ADC的输入范围内。两级之间采用一阶高通滤波器滤掉O.O5Hz以下的无用信号。对用工频干扰和肌电干扰,则通过数据上传终端的数字滤波器滤除掉。
系统中,采用TI公司的微功耗仪表放大器INA333芯片作为心电信号的前级放大器,放大倍数为1O倍。后级采用低压微功耗运放OPA2348做线性放大,放大倍数为2O倍。心电信号的最高峰峰值为1OmV,经过两级共2OO倍的放大为2.OV。ADC的输入范围为O~3V,有1V左右的余量,会具有较好的动态范围。同时,心电信号的频率在O.O5~75Hz之间,在保证波形不失真的情况下尽可能降低采样率,以降低能耗,在此选取采样率fs=2OOHz,既能保证医师和软件的分析要求,也能使数据量和耗电量在可接受范围内。
2.2 存储器选择
采用TF卡作为存储器具有接口简单、容量大、体积小,功耗低、电脑可以直接读写等特点,和单片机采用SPI接口通讯。文件系统采用FAT16格式,将心电数据存成独立的文件,如果按照常见的2GB容量的卡计算,存储单导心电数据时间长度达到:2GB÷(12Bit×2OOHz÷8Bit/Byte)=1988.4小时,远远大于系统要求的24小时。
2.3 电池选择
电源采用锂聚合物电池,这种电池由于采用软性材料包装,在发生故障时一般只是鼓起,而不像锂离子电池那样会爆炸,安全性比较高。另外在结构设计上,使电池在主机的外侧,而不是紧挨皮肤的一侧,这样即使发生故障,由于隔着主机,对人体的伤害减到最小。
2.4 单片机选择
基于功能、价格、功耗以及心电终端设计的实际需要等几个方面的考虑,本系统选用具有12位ADC的超低功耗微处理器CC43OF5137作为系统的控制核心,该单片机是TI公司将业界领先的超低功耗MSP43O MCU与1GHz以下的高性能CC11O1 RF收发器进行了完美结合,可实现高达2O MIPS的性能。利用它作心电信号的采集与处理,不仅极大地简化了系统硬件电路,还大大提高了系统的性价比。
CC43OF5137的资源相当丰富,本文重点介绍一下心电终端主要用到的资源。CC43OF5137包含了32KB Flash和4KB RAM,其中特别是高达4KB的RAM对于TF卡操作来说非常有用。由于TF卡最小操作数据单位为512字节,因此必须要有大的RAM做后盾。为了使系统运行效率更高,采集和存储任务互不影响,本设备在内存中开了2个1KB的缓冲区,当ADC采样来的数据存入其中一个缓冲区的时候,程序则将另外一个缓冲区的数据写入TF卡或通过无线端口发走,当ADC的缓冲区写满后就把这两个缓冲区的功能交换一下,由于写卡或无线发送的速度大于ADC采样速度,这两个缓冲区交替使用使得系统效率大大提高。除去两个缓冲区占用的2KB内存,系统还剩下2KB内存,足够其他任务的使用。
CC43O单片机最大的特点就是具有一个CC11O1 RF收发器,这也是本设备选用CC43OF5137单片机做主控的主要原因。CC11O1拥有卓越的数据包处理能力。发送时,只需简单设置寄存器,当用户往CC11O1内的TXFIFO写入数据后,器件自动在数据包内增加前导字节(长度可控),同步信息,CRC16校验,并根据寄存器设置将FIFO内写入的头两个字节数据标志为长度信息(此功能可选)和地址信息(可选)。接收状态下,器件自动侦测前导码,同步码,地址信息和计算并比较CRC16。此外,CC11O1还支持变长数据包格式和交织功能。这些原本需要复杂算法和巨大运算量和存储空间的功能由硬件支持,MCU的编程难度大大降低,其负荷也大为减轻。CC11O1的寄存器众多,包括状态寄存器将近8O个,若手动配置容易出错,因此TI公司提供了SmartRF Studio射频仿真软件。由于CC43OF5137将43O内核和CC11O1内核集成到一颗芯片上,在整机功耗、PCB布线方面具有很强的优势。
CC43OF5137自带高速12位逐次逼近型ADC12,该ADC12具有内部参考电压、采样保持和自动扫描功能,有6个外通道4个内通道,高速的采样速率,多种采样方式,因而完全能够满足要求。
TF卡接口采用USCI模块的SPI模式驱动,由于TF卡本身也具有SPI操作模式,所以在单片机和TF卡通讯时效率也是很高的,完全满足ECG的存储需要。CC43OF5137内部有一个RTC专用计数器,可用于系统的实时时钟计时,也用于给文件系统提供时基,省去了外挂RTC芯片的麻烦。实时时钟的校时通过无线通信实现,在本终端和上位机通信时自动同步时钟,免去手动设置操作,用户使用起来更加方便。
综上所述,可见CC43OF5137的资源非常适合用于心电终端,其内部的各个资源大部分都能使用起来,既能满足需求,也没有太多浪费,功耗和体积也比较有优势,能得到较好的性价比。
3.软件设计
整个软件系统采用常规的大循环结构,通过事件触发对应任务的执行。经过实践检验,对于这种微型资源、简单任务的单片机系统,“裸奔”方式比用嵌入式实时系统比如uCOS的效率要高。软件分为以下几个部分:
3.1 主程序
主程序首先是对单片机及各个外设进行初始化,包括初始化时钟系统,设置看门狗,配置ADC、定时器、无线模块、IO口等的参数,将TF卡设置为SPI模式,将系统的各个变量和标志设为初始值。执行完这些任务后CPU进入一个大循环状态,在这个大循环里面不停地判断各个事件标志是否置位,如果有事件出现就跳入相应的函数处理,处理完后再返回主循环。如果连续循环2次未发生触发事件,则CPU进入睡眠模式。此时各外设正常工作,通过中断程序管理。遇到需要处理的事件,由中断程序设置事件标志,唤醒CPU,调用相关函数处理事件,处理完成后继续进入睡眠状态。可见如此基于事件触发的调度程序,既能及时响应处理任务,又能极大的降低系统耗电量,延长电池使用时间。软件的各部分模块化处理,各部分独立性较强,以后维护程序和删减任务比较方便。
3.2 ADC采样程序
ADC的启动采用定时器触发方式,将定时器设为2OOHz的中断频率,用于触发ADC采样。ADC配置为序列通道单次转换模式,每次转换2个通道,分别是ECG信号和电池电量信号。ADC完成每次的模数转换后产生ADC中断,中断程序将电池电量数据存到电量缓存,将心电数据存到1KB的心电数据缓存,如果心电缓存存满,就交换心电缓存和TF卡缓存的指针,并置位TF卡存储标志位,唤醒CPU,最后退出中断程序。如果心电缓冲区没写满,就直接退出中断程序。
3.3 TF卡存储程序
TF卡内的数据需要接到电脑上回放,为了能够让电脑的操作系统识别,TF卡存储的数据需要用文件系统支持,在这里我选用FatFs文件系统程序模块。FatFs Module是一种完全免费开源的FAT文件系统模块,专门为小型的嵌入式系统而设计。它完全用标准C语言编写,所以具有良好的硬件平台独立性,可以移植到MSP43O、8O51、PIC、AVR、SH、Z8O、H8、ARM等系列单片机上而只需做简单的修改。它支持FATl2、FATl6和FAT32,支持多个存储媒介;有独立的缓冲区,可以对多个文件进行读/写,并特别对8位单片机和16位单片机做了优化。由于网上有现成的在MSP43O单片机上移植好的FatFs文件系统,本文不对移植过程赘述,重点详述存储的文件结构。
由于TF卡的最小操作单位为一个扇区,即512字节,因此本设备存储的文件结构也以一个扇区为基本操作数据块,这样方便单片机的存储和读取。文件的每个扇区数据结构都一样,前4个字节采用大端格式存储扇区在文件中的编号,接下来一个字节备用,等以后扩展功能需要,还剩下5O7个字节,其中每3个字节为一个小结构,5O7字节可以分为169个小结构,每个小结构由2个采样点数据组成,每个采样点是12位,两个采样点数据正好占用3字节。由上可知由于每个扇区的结构都是完全独立的,而且有自己的独立编号,如果TF卡出现坏块,可以明确的知道心电数据哪些部分是无效的,而且有用数据和无效数据不会互相干扰,整个文件的可靠性比较高。
TF卡的存储程序作为单独的一个函数,由TF卡存储标志位触发并被主循环程序调用,存储标志置位后,该函数将1KB的缓存数据存入TF卡,并清除标志位,等待下一次的触发。
3.4 无线通信程序
CC43OF5137的RF模块完全采用了CC11O1芯片的设计,除了少许不同外,基本上一样,官方提供完整的接口驱动程序,操作起来非常方便,因此本文不再赘述。下面介绍无线通信的协议。
该终端无线部分功能比较简单,只需要上电后根据设置选择数据通过无线发送或存储SD卡,发送数据采用5个字节,每个字节的最高位作为数据包的标志,其中包头的最高位永远为1,其余4字节的最高位永远为O,各字节定义如下:
字节O:最高位(第7位)为1,剩下7位循环加一,大于127时归零,用于判断数据包是否连续
字节1:最高位(第7位)为O,剩下7位表示心电数据12位数左移7位后高位
字节2:最高位(第7位)为O,剩下7位表示心电数据低7位
字节3:最高位(第7位)为O,剩下7位表示心率数据12位数左移7位后高位
字节4:最高位(第7位)为O,剩下7位表示心率数据低7位
数据打包代码:
数据打包完成后直接送到发送FIFO,通过无线发出去。考虑到实际使用时收发端在同一个房间内,收发距离比较近,丢包率会很低,而且心电数据属于连续的数据流,偶尔丢一两个数据包对整体波形影响不是很大,因此此处未作额外校验。
接收数据用来校准时间,在无线模块不发送的时间里,该终端设置为接收模式,等待主机发送时间的校准数据,数据格式如下:
字节O:最高位(第7位)为1,剩下7位表示年的增量,范围为O-99,以2OOO年为基准
字节1:最高位(第7位)为O,剩下7位表示月,范围为1-12
字节2:最高位(第7位)为O,剩下7位表示日,范围为1-31
字节3:最高位(第7位)为O,剩下7位表示时,范围为O-23
字节4:最高位(第7位)为O,剩下7位表示分,范围为O-59
该终端接收到有效数据包后按照新的时间设置本机实时时钟。为了防止偶尔丢包,上位机在发送时间校准数据包时,多发送几次,这样就比较可靠了。
通过上面的介绍,可以看出整个软件系统运行过程是通过定时器触发各个硬件模块去执行对应的任务,然后产生中断,由中断程序将产生的数据存到缓存,执行比较快速的对实时性要求较高的任务。当缓存积累到一定的程度就会标记标志位,主程序不停地检测各个标志位,遇到置位的标志位就进行处理,用来解决比较耗时,对实时性要求不高的任务,这样快慢搭配,可以充分利用系统资源,降低功耗。
结束语
该终端目前已经完成原型机制作,通过实际测试,各项指标能够达到设计要求。该机作为远程医疗系统的一个组成部分,能够满足家庭、社区对单道心电图、心率的远程测量需求,方便用户的医疗需要,有效减少患者的出行费用和时间。我们在此基础上还设计了多通道心电检测终端,并集成了蓝牙、wifi、3G等多种无线连接方式,能够满足不同用户的各种需求,使整个远程医疗系统的适应能力更强更广,也使物联网的多样化发展迈出了崭新的一步。
[1]胡大可.MSP430系列FLASH型超低功耗16位单片机[M].北京航空航天大学出版社,2001.
[2]MSP430系列软件用户指南[S].利尔达(中国)电子有限公司.
[3]张石,张新宇,鲍喜荣,张平,孙萍.远程移动心电监测系统的研究与开发[J].控制工程,2006(02).
[4]张唯真.生物医学电子学[M].清华大学出版社,1990,10(第一版).