心电监护终端的硬件设计
从体积小、功耗低、操作简便的角度设计心电监护终端硬件电路。图1为整个监护终端的硬件框图,主要由调理电路、心电数据采集模块、ARM7微处理器模块、网口模块、电源模块5部分组成。该监护终端完成心电信号的采集和预处理,并通过网口实时发送至监护中心服务器,从而实现远程实时监护。
2.1 信号调理电路设计
人体心电信号是一种低频微弱电信号,其幅值约10μV~5 mV,频率范围为0.05~100 Hz。需要放大上千倍(即达到V量级)才便于观察以及A/D转换,具体增益还需结合A/D转换模块的测量范同确定。通过心电导联线获取的心电信号首先经仪表放大器AD620进行差分放大,由于体表液体与电极之间可能形成原电池,致使电极之间存在固定电位差,因此第1级的差分放大增益不能太高,否则容易饱和.所以第1级增益选为20;为了使信号满足A/D转换要求,需将信号放大至V量级,因此设置次级放大增益为30,这里采用普通的四运放LM324。由于心电信号中常混有直流和基线漂移干扰,因此应在第1级和次级放大电路之间加高通滤波器,可有效避免心电信号的基线漂移,相应的高频干扰信号可通过放大器输入端电路和一个截止频率为100 Hz的二阶低通滤波器予以滤除。此外,通过陷波器滤除50 Hz工频干扰。经上述信号处理后,心电信号接入微处理器LPC2210的P0.27引脚(AIN0)由其内部A/D转换模块完成A/D转换。根据采样定理,采样频率应保证高于其2倍,因此在A/D转换中将采样频率设置为500 Hz。图2为信号调理电路。
2.2 ARM7微处理器及外围电路
LPC2210是PHILIPS公司开发的基于一个支持实时仿真和跟踪的16/32位ARM7TDMI CPU的微控制器。该器件具有144引脚封装、极低功耗、多个32位定时器、8路10位A/D转换器、PWM输出以及多达9个外部中断,使其适用于工业控制、医疗系统、访问控制和电子收款机(POS)。
该系统设计的A/D转换部分采用LPC2210自带的8通道10位A/D转换模块,简化电路设计。由于LPC2210无片内Flash,且LPC2210片内SRAM仅有16 KB,考虑到系统中需加载一个嵌入式操作系统μC/OS-II和TCP/IP协议栈,16 KB空间远远不够,所以片外加载一个SRAM IS61LV25616AL和一个Flash SST39VF160,具体电路如图3所示。
2.3 网口电路
由于LPC2210不带以太网接口控制器,因此需增加一块以太网控制器实现以太网传输。目前比较常用的10 Mb/s嵌入式以太网器件有RTL8019、CS8900等,这里选用RTL8019AS。RTL8019AS是一款NE2000兼容的ISA总线以太网控制器,该器件的主要特点为:符合IEEE 802.310 Base2和1OBaseT标准;网络传输速率为10 Mbit/s,支持CSMA/CD传输协议;自动奇偶检测及纠错;支持即插即用方式(PnP)和非即插即用方式(Non-PnP),可通过软件设置中断、输入和输出地址等网络参数;支持两种接口类型,并能自动侦测介质类型,BNC端口用于连接同轴电缆,RJ45端口用于屏蔽双绞线;支持全双工模式;内建16 KB SRAM。
系统中RTL8019AS工作在跳线模式,其基地址为0x300。所以电路上RTL8019AS的引脚SA6,SA7,SA10~SA19均接地,SA9接电源,SA8与LPC2210地址总线A22相连,SA5与LPC2210的外部存储器Bank3片选CS3相连。RTL8019AS与LPC2210的具体连接关系如表1所示。当SA8为1,SA5为0时,选中RTL8019AS,即LPC2210与RTL8019AS之间的映射关系是:0x83400000~0x8340001F,0x300~0x31F。
3 系统软件设计
由于μC/OS-Ⅱ操作系统是源代码公开的、共享的并且可移植性、可裁减性非常好,通过信号、邮箱及队列能够很好的实现任务问的实时通讯、系统同步及多任务间的管理和调度,所以这里选用μC/OS-Ⅱ嵌入式实时操作系统作为平台。
首先进行μC/OS-II的移植,对μC/OS-II的移植实际上就是重写或修改与处理器有关的代码。主要是编写OS_CPU.H,OS_CPU_ A.S,OS_CPU_C.C这3个文件。在完成μC/OS-Ⅱ代码移植后,把TCP/IP协议栈加载到该系统中,即完成程序运行平台的搭建工作。
该系统设计的主程序主要通过3个任务来实现,即在主函数main()中先利用OSInit()初始化μC/OS-Ⅱ操作系统,给应用程序中用到的消息队列、信号量等清零,然后利用OSTaskCreateExt()创建第一个任务task0,通过OSStart()启动操作系统的多任务调度机制,开始运行该系统的主要应用程序。
3个任务中,设置任务task0的优先级最高,任务task2的优先级最低。任务task0主要负责接收数据,调用RTL8019AS的驱动函数Rec_Packet()接收远端计算机的连接请求(本地设置为服务器端)。若有请求帧,则设置消息队列RecTcpQFlag,然后删除任务本身;若没有请求帧,则持续利用Rec_Packet()接收数据,直到接收到连接请求。task0的流程图如图4所示。
该系统设计的监护模块与医院内心电监护中心的心电实时监控服务器都工作于客户/服务器模式下。在工作状态下,心电数据接收转发器客户端应用程序,首先初始化以太网接口,然后主动与医院内心电实时监控服务器建立连接;连接成功后,进入工作状态,不断接收心电数据,并通过已建立的连接将数据发送到心电实时监控服务器。
4 结论
由于采用嵌入式Internet技术,利用以太网传输被监护病人心电数据,理论上整个系统中被监护病人的个数无限制,只要网络的带宽和服务器的处理能力足够强,就可以任意扩展。被监护病人既可位于医院的病房,也可位于家庭、办公室,只要该处有宽带网接入端口即可。因此.该系统将大大增强和扩展医院的医疗服务能力,同时也使更多的病人得到低成本和周到的心电监护服务,具有很高的推广价值和显著的社会经济效益。