基于S3C2410的三导联远程心电监护
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于S3C2410的三导联远程心电监护
1 引 言 随着人们生活水平的提高、生活节奏的加快,心血管疾病的发病率迅速上升,已成为威胁人类身体健康的主要因素之一。而心电图则是治疗此类疾病的主要依据,具有诊断可靠,方法简便,对病人无损害的优点,在现代医学中,变得越来越重要。常规心电图是病人在静卧情况下由心电图仪记录的心电活动,历时仅为几s~1 m,只能获取少量有关心脏状态的信息,所以在有限时间内即使发生心率失常,被发现的概率也是很低的。因此有必要通过相应的监护装置对患者进行长时间的实时监护,记录患者的心电数据。又由于心脏病的发生具有突发性的特点,患者不可能长时间地静卧在医院,但又需实时得到医护人员的监护,所以研发相应的便携式无线心电监护产品就显得更加重要。目前虽说国内已有成型的无线心电监护产品,但其采用的方案大都是“采集器+发送器(PDA或手机)”,这必然导致其价格昂贵,且PDA或手机的其他功能对于绝大部分患者完全没有必要,所以到目前为止国内实用的无线心电监护产品领域还是空白。本文所述的远程心电监护系统是在医院的提案基础之上,进行充分调研之后设计的总体方案,主要实现如下功能:三导联心电信号采集;无线传输紧急情况下40 s的心电数据及诊断结果;24小时心电图连续记录;通过高速USB上传心电数据至PC机;紧急呼叫。2 系统总体设计作为便携式手持远程移动终端,在设计时应充分考虑其体积小,功耗低,存储容量大和处理速度高的要求,因此在CPU的选择上十分慎重。经过资料收集和反复比较,最终选择了Samsung公司推出的基于ARM920T内核的S3C2410处理器,该处理器资料丰富,性价比高。采用RISC架构的ARM微处理器一般具有如下特点:体积小,功耗低,成本低,性能高;支持Thumb(16位)/ARM(32位)双指令集;大量使用寄存器,使指令执行速度更快;寻址方式灵活简单,执行效率高;指令长度固定。可以看出基于ARM的嵌入式处理器是便携式手持终端的最佳选择,所以在设计系统方案时首先定位在该系列处理器上。S3C2410处理器基于ARM920T处理器核,采用0.18 μm制造工艺的32位微控制器,采用五级流水线和哈佛结构,最高运行频率为203 MHz。该处理器具有:独立的16 KB指令Cache和16KB数据Cache、MMU、支持TFT的LCD控制器、NAND闪存控制器、3路UART、4路带PWM的Timer、丰富的I/O口、8路10位ADC、Touch Screen接口、IICBUS接口,以及2个USB主机和1个USB设备等丰富的外围设备。S3C2410提供了一套较完整的通用外围设备,且使整个系统的功耗最低,从而免去了添加、配置附加外围
接口的麻烦,有效地缩小了线路板的面积,这也正是本系统选择该处理器的重要原因。系统的整体结构,以S3C2410为核心,外扩了8 MB的NOR FLASH、64 MB的NAND FLASH以及16 MB的SDRAM等存储芯片,通过GPIO口扩展了键盘、LCD和蜂鸣器等人机接口单元,对外提供USB和UART等通信接口,同时连接了Siemens公司的MC35模块,以实现无线传输和紧急呼叫功能。从系统的总体功能结构来看,可将系统划分为5个模块:电源模块、心电数据采集模块、数据无线传输模块、图形用户界面模块、数据存储管理模块。 图1 系统总体结构2.1 电源模块原文位置系统采用单节1700 mAh锂离子可充电电池供电,但随着电量的释放,电压也在不断降低,变化范围为4.2~2.75 V。而本系统中分别需要一个4.3 V的MC35工作电压、一个3.3 V的I/O电压、一个1.8 V的CPU核电压和一个1.8 V的CPU职守电压。为了满足系统的要求,电源电路中必须同时具备升压稳压器和低压差线性稳压器。为了解决该问题系统采用1个开关型升压DCDC稳压器、1个3.3 V极低压差线性稳压器和2个带有Shutdown引脚的1.8 V低压差线性稳压器来组成供电系统,供电方案。 图2 电源模块方案2.2 心电数据采集原文位置由于心电图信号的检测是属于强噪声背景下的超低频(0.5~100 Hz)微弱(0.1~5 mV)信号检测,具有微弱性、稳定性、低频特性和随机性等特点,故要求前置级应满足高输入阻抗、高共模抑制比(CMRR)、低噪声、低漂移和高安全性。微弱的心电信号受到来自人体内外的多种干扰,其特征被淹没在复杂的信号之中,为了使其特征突出,就有必要对其进行预处理。系统采用的心电信号采集原理。其中前置级采用差动放大电路,其放大倍数为22.4倍;后级放大电路的放大倍数为37倍,则总放大倍数为828.8倍。 图3 心电信号采集原理由于心电信号为低频信号,因此在模拟电路上,设计截止频率为100 Hz的一阶低通滤波器来滤除高频干扰,采用二阶VCVS带阻滤波器来滤除50 Hz工频干扰。在数字处理上,为了抑制对心电信号影响较大的工频干扰和基线漂移,采用2 048点FFT对输入的一帧心电数据进行时域—频域的变换,然后去除0.5 Hz以下的低频和50 Hz的工频;同时为了抑制高频噪声和50 Hz倍频造成的干扰,又滤除了100 Hz以上的频率,然后再进行IFFT将此组数据变换回时域。2.3 数据无线传输模块原文位置本系统为远程移动终端,涉及数据的无线传输,为实现此功能采用了Siemens公司的MC35模块,并移植了TCPIP协议栈和PPP协议,以完成心电数据的发送和诊断结果的接收。MC35是Siemens
公司推出的第一款支持GPRS的GSM/GPRS模块,它体积小,易于集成到便携式手持终端中,支持VOICE、DATA、FAX以及SMS等业务。处理器S3C2410通过异步串行通信接口与MC35相连,并通过AT命令对该模块进行控制和数据传输。在发送数据时,首先,应用层将采集到的心电数据提交给TCPIP协议栈;然后,TCPIP协议栈根据目的地址和端口将该心电数据封装成完整的IP数据报,再提交至PPP层;最后,该IP数据报经PPP层封装之后,通过串口逐字节地提交至MC35并发送。在接收数据时,MC35首先将接收的数据逐字节地提交至PPP层;经PPP层将分散的各字节重组成一帧完整的IP数据报之后,再提交至TCPIP层进行详细的处理,具体流程。在开机初始化时要完成MC35的启动并登录移动梦网网关,建立与服务提供商的连接。一般在发送指令之前先要发送一条测试指令,以检测MC35的当前状态,该指令的格式为“ATr”;在入网网关及流量控制等参数通过AT指令设置完成之后,便可通过服务编码99开始呼叫与服务提供商建立连接,指令格式为ATDT*99***1#rn。若在该指令执行之后给定的时间内返回CONNECT信息,则表明与服务提供商的连接建立成功;否则,表明拨号失败,无线传输功能无法正常启动。MC35成功登录移动梦网网关之后,将自动从命令模式切换到数据通信模式,且串口通信方式由原来的查询式变为中断方式。此时由系统主动发送一帧PPP请求信息,服务提供商接到该请求信息后主动发出询问帧,协商相关参数的设置。待服务参数及用户身份验证成功之后,服务提供商为系统分配一独立IP,至此便可认为GPRS成功上线。 图4 GPRS无线数据传输流程GPRS成功上线后可以认为MC35主要处在两种工作状态:数据传输状态和空闲状态。在数据传输状态,MC35的峰值电流可达400 mA;在空闲状态一般为15 mA。另外,在空闲状态MC35还支持多种休眠模式。考虑到系统的功耗问题,启用了MC35的休眠功能。系统采用了MC35的休眠模式七。在该休眠模式下,电流一般为3 mA左右;MC35无论从串口还是从服务提供商接收到数据,都会立刻将MC35设置为正常模式,待数据传输结束之后自动进入休眠模式。该休眠模式的设置可以通过指令“AT+CFUN=7rn”来完成,且该指令必须在GPRS上线之后执行。这样在空闲状态下即可自动将MC35设置为休眠模式,将电流值从15 mA降到3 mA。在休眠指令执行前涉及MC35的状态切换,因为在执行该指令前MC35处在数据通信模式,所以要通过指令“+++”将其切换到命令模式之后再执行该休眠指令。在休眠指令执行之后还需通过指令“ATOr”将MC35切换到数据通
信模式;否则MC35会把将要发送的数据也当作指令来处理。2.4 图形用户界面原文位置系统采用深圳蓬远公司生产的低功耗、128×64点阵液晶模块MOBI2006来图形化显示系统信息。MOBI2006支持并行和串行两种数据通信方式,工作电压为3.3 V。在本系统应用中,使用S3C2410的I/O口模拟LCD的控制时序来实现对液晶的控制。在具体实现相关信息的显示时采用了Framebuffer技术。首先预分配一块缓冲区并声明为二维数组,数组的一维长度和二维长度分别与液晶的宽和高相对应,这样数组的每个元素都代表液晶中的一个点。在系统运行中若要刷新液晶显示,则首先要更新Framebuffer缓冲区,再从Framebuffer更新液晶显示。MOBI2006列向基于点寻址;横向基于页寻址,每一页由8个点组成。基于液晶的特点,如果不采用Framebuffer技术,刷新屏幕中的一小块,则会导致整个屏幕的变动,给上层应用的开发带来很大困难。因此,虽说采用Framebuffer技术将占用一部分内存和刷新时间,但会为后续的开发带来很大方便:在上层具体应用中不再受页寻址的限制,在上层开发者看来列向、横向均为点寻址,可以方便灵活地操纵液晶。另外,为了保证Framebuffer与液晶的同步,采用基于事件的方法刷新液晶屏并且是局部刷新,这样既节省了液晶的刷新时间又减小了屏幕的抖动。例如,应用层要显示一张图片,只须给出图片的显示位置,即对应于二维数组的行列值、图片的宽和高,以及相应的点阵数据。首先将图片的点阵数据刷新到Framebuffer缓冲区,然后再根据显示位置确定液晶的刷新区域,其中缓冲的列值对应于液晶的列值,而行值要转换为液晶的页面值,可通过如下公式转换:Page_end=(row+high-1)/8其中:Page_start和Page_end分别对应于液晶的起始、终止页面值;row对应于图片显示位置的横坐标;high对应于图片的高度。计算出相应的页面值之后便可通过如下过程刷新液晶的指定区域,完成预期图片的显示。for(page=p_s;page<=p_e;page++){fc=column;for(lc=l_c_b;lc>l_c_e;lc--) //2{GUI_Lcd_SetALL((u8_t)page,(u8_t)lc);for(f_bit=7;f_bit>=0;f_bit--){if(!(Frame_Buffer[page*LCD_PAGE+f_bit][fc]))GUI_Lcd_SendData(0); elseGUI_Lcd_SendData(1); }Delay(10);fc++;}}2.5 数据存储管理原文位置在S3C2410 的BANK0中扩展了1片4M×16位的NOR FLASH;在BANK6中扩展了一片8M×16位的SDRAM,并且利用S3C2410的NAND FLASH控制器扩展了一片64M×8位的NAND FLASH。NOR FLASH主要用来存储程序代码;NAND FLASH主要用来存储采集的心电数据以及部分程序代码。S3C2410支持从NOR和NAND两种方式启动,可以通过配置S3C2410的OM[1:0]来选择CPU的启动方式。系统可以实现全天24小时无间断心电数据采集,这样
必将产生大量数据。为了将大量心电数据传输到PC机中供医护人员分析、诊断,系统采用了通用的USB端口。S3C2410内部集成了USB Device控制器,因此只须设计简单的外围电路,即可实现此功能。该USB Device控制器完全兼容USB1.1协议规范,集成了USB传输器,支持控制传输、中断传输和批量传输;5个具有FIFO的端点,为批量传输的端点提供DMA接口并且支持挂起和远程唤醒功能。3 结束语本系统具有很强的实用性,可以对心脏病患者进行实时监护。由于本系统具有无线传输功能,因而患者可以不受时间和空间的限制使用本系统,无论在家中还是在野外都能对心脏进行实时监护。系统的24小时无间断心电图记录功能,足以捕捉突发性的异常心电数据,为医护人员提供有力的诊断依据。本系统研制成功后受到医疗界专家的高度评价,在临床测试过程中也受到患者和医护人员的一致好评。