基于C8051单片机的无线心电监护系统设计方案
扫描二维码
随时随地手机看文章
1 引言
随着经济的快速发展和人们生活水平的不断提高,健康已成为人们关注的焦点。心脏疾病是危害人类健康的一大杀手,其偶然性与突发性的特点使得心电监护系统具有重要的临床应用价值。由于传统的心电监护仪不能进行远距离的实时监护,所以便携式无线心电监护系统显得更加重要。无线医疗监护系统主要由生理信息与数据采集、无线数据通信、控制和显示等单元组成。目前国内已有用于临床的无线心电监护产品,但其采用的方案大都是“采集器+发送器(PDA或手机)”,从成本上看其价格昂贵;从无线传输方面看,大多是将心电数据以模拟信号传输,这必然导致信号在传输过程中发生失真。此外,由于人体电阻差异导致心电信号在1~10 mV之间变动,固定放大倍数系统缺乏适应性。
基于此,这里提出基于C8051F320单片机的无线监护系统。该系统分为数据采集盒和PC监护终端两部分。数据采集盒在设计中充分考虑其体积小、功耗低、操作快捷的要求,因此全部采用SMT封装的元器件;PC监护终端通过USB接收数据。采用VC++编写显示、存储、分析处理和报警等功能程序。实验结果表明该系统能满足病人在100 m范围内活动,并能根据不同病人选择合适的放大倍数;由于心电信号在数据采集盒内经MD转换器处理后才发送,信号抗干扰能力更强。
2 系统硬件设计
2.1 系统整体构成
系统由数据采集盒和PC监护终端两部分构成,见图1。数据采集盒采用C8051F320单片机为核心采集心电数据并控制程控放大器,采用NRF24L01模块收发数据与PC监护终端通信。PC监护终端中 C8051F320单片机通过NRF24L01模块接收心电数据并通过自带的USB接口将数据送至PC机。
2.2 心电采集与程控放大电路
心电信号属于微弱信号,由于个体差异,体表心电信号的测量幅值范围为 1~10 mV,在测量心电信号时存在较强干扰,包括测量电极与人体之间构成的化学半电池所产生的直流极化电压;以共模电压形式存在的50Hz工频干扰;人体运动、呼吸引起的基线漂移;肌肉收缩引起的肌电干扰等。针对极化电压和肌电干扰,采用HOLTER遥测三导连线和一次性心电电极与人体接触,其中一次性心电电极采用氯化银和医用压敏胶制成,能很好地减小肌电干扰。共模干扰的存在要求前置放大器具有极高共模抑制比(CMRR),不低于80 dB。根据以上要求,前端放大器采用仪用AD620放大器,放大倍数约50倍;同时为抑制基线漂移和高频噪声的影响,后端电路采用0.05~100 Hz的带通滤波器进一步处理信号进行,然后通过50 Hz的陷波电路再次处理信号。
为充分利用A/D转换的精度,在转换前先将信号放大到A/D转换器电路参考电压的70%左右,考虑到信号中有附加的直流成分,需在A/D转换电路前增加电平调节电路。个体心电幅度的差异要求电路中设计程控放大电路,又为便于心电信号的标定和考虑到实际器件放大倍数与理论值的偏差,在程控放大前设置一个手动可调的放大电路(1~10倍)。综合上述分析,心电采集与程控放大部分应包括:AD620前端放大、0.05~100 Hz的带通滤波、50Hz陷波、手动放大、程控放大和电平提升等电路,如图2所示。其中程控放大功能的实现主要利用CD4051电子开关的数字选通功能,能够实现1~50倍的调节范围。
2.3 NRF24L01无线发射电路
NRF24L01是单片射频收发器件,工作于2.4~2.5 GHzISM频段,工作电压为1.9~3.6 V,有多达125个频道可供选择。通过SPI写人数据,其速率最高可达10 Mb/s,数据传输速率最高可达2Mb/s,并有自动应答和自动再发射功能。和上一代NRF2401相比,NRF24L01数据传输率更快,数据写入速度更高,内嵌的功能更完备。器件内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合增强式ShockBurst技术,其中输出功率和通信频道可通过程序配置。器件能耗非常低,以-6 dBmW的功率发射工作电流仅9 mA,接收时工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。结合C8051F320内部资源.采用自带的SPI接口控制NRF24L01的读写,节省硬件资源也方便软件的编写。图3为无线发射控制电路。
2.4 PC监护终端设计
C8051F320集成了全速/低速USB功能控制器,用于实现USB接口的外部设备(不能被用作USB主设备)。USB功能控制器(USB0)由串行接口引擎(SIE)、USB收发器(包括匹配电阻和可配置上拉电阻)、1 KB FIFO存储器和时钟恢复电路(可以不用晶体)组成,无需外部元件。USB功能控制器和收发器符合通用串行总线规范2.0版。监护终端中的单片机也采用 C8051F320,无线接收部分和图3相同。C8051F320通过自带的USB接口与PC进行数据通信(见图1)。
3 系统软件设计
3.1 数据采集盒程序设计
数据采集盒中以C8051F320单片机为核心,该器件是完全集成的混合信号片上系统MCU,具有以下特性:(1)高速、流水结构的8051兼容的微控制器内核(可达25 MI/s);(2)全速、非侵入式的在系统调试接口(片内);(3)通用串行总线(USB)功能控制器,有8个灵活的端点管道、集成收发器以及1 KB FIFO RAM;(4)真正10位200 ks/s的17通道单端/差分A/D转换器,带模拟多路器;(5)硬件实现的SMBus/I2C、增强型UART和增强型SPI串行接口。
采集参数分析与确定:(1)心电能量主要分布在0.05~100 Hz之间,根据采样定理可知A/D转换器的采样频率应大于200 Hz。综合考虑A/D转换器采样速度高和低功耗,将其采样率设置为2000Hz;(2)由于A/D转换器每次采样时问并不相等,所以采用TIME2定时器触发每个采样周期;(3)为提高传输速度和数据传输效率以及达到低功耗的要求,将NRF24L01设置为数据块传输模式,每采样32个点发起一次无线数据传输;(4)C8051 F320中的SPI口设置为4线主方式,NRF24L01的SPI为从方式。这样不仅满足实时采样要求,还充分利用硬件资源和能源。图4为数据采集盒软件流程。
3.2 PC监护终端软件设计
3.2.1 C8051F320固件程序
单片机与NRF24L01间通过SPI接口交换数据,USB设置为块状传输模式与PC机进行数据通信。为和数据采集盒相兼容,仍将每32个数据打成一个数据包,也可充分利用硬件资源并提高数据传输效率。其流程图与数据采集盒类似。
3.2.2 PC机软件设计
PC机软件采用VC++6.0编写。VC++6.0中集成MFC开发环境,该环境提供丰富的接口函数同时透明化程度较高,界面编写灵活且方便,同时大部分硬件开发商都提供标准的C++接口函数供客户使用,DLL也是VC++的便捷之处,它是基于Windows程序设计的一种装置。其中USB通信接口的控制部分通过调用SIXUSB.DLL动态连接库实现;显示部分调用:MFC提供的库函数如Lineto()、Moveto()等,数据存储采用数据流的方式存储;调用SetTimer(1,0,NULL)每1 ms产生1次时钟中断消息,便于及时更新数据显示。由于USB模式设置为块状数据传输模式,所以PC机读取速度要大于数据采集盒采集速度才能保证数据包不丢失,故每次预读128字节,然后判断真实读到的数据量,将其放到数据存放地址以供显示。具体流程如图5所示。
4 联机调试及数据记录
4.1 数据采集盒的调试
在心电信号输入端加10 mV、70 Hz的正弦波信号,将程控放大部分增益设置为1,观察A/D转换器输入端波形,调节手动放大器上的可调电阻,使整个电路的增益为200倍,这样在A/D转换器处信号幅值应为1 V;将示波器设置为直流模式,调整抬高电平电路至信号的中心线位于1.5 V左右。这样整个数据采集盒调试完毕,打开PC机端软件,将程控放大增益设为1,在显示屏上应能看到正弦波信号。
4.2 数据记录
一次性心电电极同定位置:在左右肋骨下靠近胳膊处分别贴一个,在腹部右侧贴一个。将 HOLTER导联线连接到电极上,并将另一端插到数据采集盒上,打开电源后,测试者便可做一些基本活动。此时打开PC机端HeartECG软件,先手动选择程控放大倍数,使心电信号处于屏幕中央,也可以选择自动模式,这样软件会根据算法自动调节放大倍数便于心电信号的观测。实测数据如图6所示,其中图左是放大500倍波形,图右是放大1 000倍波形。
5 结束语
实验结果表明该系统具有较强的抑制基线漂移能力、低功耗、操作简单和支持多个病人同时监护等特点。在空旷环境下,测试者可在50 m范围内活动,室内可穿过1面水泥墙。因全部采用SMT封装,数据采集盒尺寸仅为5 cm×6 cm,佩戴方便,是一款廉价实用的无线心电监护系统。