远程心电医疗信号监测系统的设计与实现
引言
本文引用地址:http://www.amcfsurvey.com/article/149756.htmHHCE(Home Health Care Engineering)这门学科正随着人类对健康的重视和远程医疗的发展而逐渐走进人们的生活,本实用新型涉及一种基于无线传输和互联网传输的远程心电监护系统,包括心电监护仪、心电服务器、心电监控终端、短信报警器、医生终端和护士终端。心电监护仪采集病人的心电生理参数,通过网络输送至心电服务器中的心电数据库,心电监控终端从心电数据库中取得实时数据并显示、分析、处理;当病人的心电生理参数出现异常时,心电监控终端通过短信报警器自动给监护发送报警信息;医生终端通过互联网连接心电服务器和心电监控终端;护士终端通过本地无线网络与心电监护仪连接。本实用新型实现了采集的心电生理参数与医务人员的无线信息交换方式,适用远程心电监护,使用互联网模块,成本低,易于推广,且特别适用于病人的家庭监护。
HHCE系统提供一种对于家庭、社区医疗、出诊医生有效便捷的医疗监测解决方案,具有心电信号监测功能的监测器是HHCE系统的重要组成部分。就国内而言,该类产品的研究也属于刚起步阶段,远程网络也只是简单的完成数据库医疗数据的存储和传输,还没有真正完成将网络与医疗器械相结合。
本设计采用了Altera公司的NiosⅡ软核处理器作为CPU,并移植了当今主流的μClinux操作系统。该系统具有系统稳定、便携式、功能可升级扩展、面向用户、远程控制等特点。一方面,它将家庭保健和远程医疗结合起来,主要面向用户终端设计,使个人能够方便的对自身心电信号的进行自我检测与分析,实时了解自己的身体健康状况;另一方面,采集到的数据还可以通过存储卡存储,以便对数据进行长期分析处理和诊断;NiosⅡ处理器具有完全的可定制性,包括处理器的定制,外设的定制和接口的定制等;32位的NiosⅡ处理器具有超过200 DIMP的性能,而其成本只有同级别性能ARM处理器的l/10。此外,SD存储卡以其大容量和小尺寸的特点,成为市面上各种嵌入式消费产品最常见的存储媒介,探讨SD卡设备的设计具有广泛的应用价值。这里将结合NiosⅡ处理器的总线架构,分析SD卡的接口协议和驱动程序设计方法,并给出SD卡设备在NiosⅡ处理器的设计实例。
2 系统介绍
远程心电医疗信号监测系统主要由心电信号的前端采集与调理模块、心电信号处理与存储模块、数据显示模块和远程传输控制模块等4个关键模块组成。
该监测系统的硬件平台采用ALTERA公司CycloneⅡ2C35 FPGA芯片,采用SOPC(片上可编程系统)技术将NiosⅡ软核处理器、存储器、功能接口和扩展I/O口等集成在一块FPGA芯片上,外围扩展心电数据采集板、网络、LCD屏、触摸屏/键盘、SD存储卡等硬件来实现系统的硬件架构,且带有可扩展的I/O接口,便于以后系统功能升级与扩展。
3 系统关键模块的设计
3.1 NiosⅡ嵌入式软核处理器简介
Nios Ⅱ嵌入式处理器是ALTERA公司推出的采用哈佛结构、具有32位指令集的第二代片上可编程的软核处理器, 其最大优势和特点是模块化的硬件结构, 以及由此带来的灵活性和可裁减性。相对于传统的处理器, Nios Ⅱ系统可以在设计阶段根据实际的需求来增减外设的数量和种类。设计者可以使用ALTERA 提供的开发工具SOPC Builder, 在PL D器件上创建软硬件开发的基础平台, 也即用SOPC Builder创建软核CPU和参数化的接口总线Avalon。在此基础上, 可以很快地将硬件系统(包括处理器、存储器、外设接口和用户逻辑电路)与常规软件集成在单一可编程芯片中。而且, SOPC Builder还提供了标准的接口方式,以便用户将自己的外围电路做成Nios Ⅱ软核可以添加的外设模块。
NiosⅡ处理器采用Avalon交换式总线,该总线是Altera开发的一种专用的内部连线技术。Avalon交换式总线由SOPC Builder自动生成,是一种用于系统处理器、内部模块以及外设之间的内联总线。Avalon交换式总线使用最少的逻辑资源来支持数据总线的复用、地址译码、等待周期的产生、外设的地址对齐、中断优先级的指定以及高级的交换式总线传输。
3.2 心电信号采集调理模块设计
对ECG信号采集采用模块化的设计方式,主要由前端的导联传感器、信号滤波放大调理电路和A/D采样电路组成。人体心电信号的主要频率范围为0.05~100 Hz,幅度约为0~4 mV,信号十分微弱。同时心电信号中通常混杂有其他生物电信号,加之体外以50 Hz工频干扰为主的电磁场干扰,使得心电噪声背景较强,测量条件比较复杂。为了不失真地检测出有临床价值的心电信号,信号滤波与放大调理部分主要由一下几个电路组成:前置放大电路、高低通滤波电路、陷波电路与A/D转换电路。
首先心电导联采集过来的微弱心电信号通过前置放大电路进行放大,此部分包括右腿驱动以抑制共模干扰、屏蔽线驱动以消除引线干扰,增益设成10倍左右,AD620由传统的三运算放大器发展而成,为同相并联差动放大器的集成。其具有电源范围宽(±2.3~±18 V),设计体积小,功耗低(最大供电电流仅1.3 mA)的特点,因而适用于低电压、低功耗的应用场合。放大后的信号经滤波、50 Hz陷波处理后再进行二次放大,后级增益设成100倍左右。由于ECG信号幅度最大就几mV,而A/D转换中输入信号的幅度要求在1 V以上,其中,滤波采用压控电压源二阶高(低)通滤波电路,用于消除0.05~100 Hz频带以外的肌电等干扰信号,工频中的其余高次谐波也可被滤除掉。
A/D采样芯片采用TI公司的8位串行芯片TLC549,该芯片采用SPI接口,仅用三条线即可实现采集控制和数据传输;具有4 MHz的片内系统时钟和软、硬件控制电路,转换时间小于17μs,采样速率达40kS/s;采用差分基准电压技术这个特性,TLC549可能测量到的最小量值达1 000 mV/256,也就是说0~1 V信号不经放大也可以得到8位的分辨率。
3.3 数据采集控制器设计
在自TLC549的I/O CLOCK端输入8个外部时钟信号期间需要完成以下工作:读入前次A/D转换结果;对本次转换的输入模拟信号采样并保持;启动本次A/D转换。则一路采集时间为:0.5μs×(3+8×2+1)=10μs,而芯片转换时间小于17μs,则整个过程时间花费为27μs。为了有效的利用该控制器,在一路A/D转换期间,同时进行另外一路A/D采样,这样就可以在40μs时间内完成对四路信号的采集,大大提高了工作效率。
Din为采集数据的串行输入,时钟由系统时钟通过分频系数得到。设计中,设置了fsm作为采样控制时钟,这样可以根据需要来调整采样速率。为了取得连续和正确的采集数据,实现无缝缓冲,鉴于FPGA设计的灵活性,本设计采用了双缓冲存储的乒乓操作结构。本设计通过将AD采样时序控制器交替存储在两个512 B的双口RAM中实现数据的缓存,当其中一个DPRAM1存储满后即转为存储到另一个DPRAM2中并产生一次中断,这样在控制器写数据到DPRAM2中时系统将有非常充足的时间将DPRAM1中的数据取出。
3.4 显示模块设计
本设计采用的LCD面板是TFT 320*240 LCD。该LCD模块没有显示控制器,因此需要设计显示控制器IP核来驱动LCD面板。图像存储器lcd_fifo是采用片内FIFO,可以根据需要进行词整。256色的颜色查找表采用片内RAM来存储。图像信息能够通过AvaIon总线主端口写入的突发块传输方式进行传输,利用DMA从内存中自动读取,在SDRAM图像存储器image_ram与片上图像数据缓存器lcd_fifo之间建立了一条专用DMA通道。
IP核(Intellectual Property core)是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可以移植到不同的半导体工艺中去生产集成电路芯片。该LCD控制器IP核主要由4个模块组成:接口模块、内存模块、颜色转换模块和时序模块。
接口模块主要是NiosⅡ处理器对LCD控制器进行控制及状态读取。接口模块主要是以寄存器方式存在的,其中寄存器有:控制寄存器、状态寄存器、DMA地址寄存器和中断寄存器。
内存模块是Avalon总线的主接口部分,在系统启动之后,利用DMA传输模式,通过Avalon总线主端口写入的突发块传输方式,完成图像数据存储器image_ram中的图像数据到片上图像数据缓存器lcd_fifo的独立读取。采用DAM传输方式是为了把NiosⅡ软核处理器从频繁地进行数据读取操作的工作中解脱出来。
时序模块严格按照LCD的时序编写,其中LCD时钟为5 MHz。通过控制数据使能信号启动lcd_fifo数据输出,逐行扫描显示。同时,设计该模块时,在数据有效信号(DE)有效前,须检查lcd_fifo中是否存有数据,以确定是否进行数据读取和传输;须进行调色板模式设置,在帧传输过程中需要进行模式锁定,以免出现传输错误;须根据不同bpp模式,确定不同的读取时间段,18bpp每次都读取,16bpp间隔1次读取,8bpp间隔4次读取。
3.5数据存储模块设计
本设计选用SD卡作为外接存储硬盘。SD存储卡具有大容量、高性能、安全性好等特点的多功能存储卡,被广泛用于数码相机、掌上电脑和手机等便携式设备中。SD卡上所有单元由内部时钟发生器提供时钟,接口驱动单元同步外部时钟的DAT和CMD信号到内部所用时钟。SD卡有两种通信协议,即SD通信协议和SPI通信协议,与SPI通信协议相比,SD通信协议的最大优点是读写速度快,单根数据线理论上可以达到25 MB/s,四线传输可以达到100 MB/s。
本设计中对SD卡的协议采用软件编写:首先在SoPC Builder里定义了6个I/O口:SD_CMD,SD_DAT0-DAT3,SD_CLK,分别对应SD卡的命令、数据、时钟端口,然后在NiosⅡIDE上按照SD卡的传输协议编写C程序来对6个I/O口进行操作,以此来实现SD卡的传输协议。
3.6 数据传输模块设计
设计采用DM9000A作为以太网控制芯片。DM9000AEP是一款完全集成的和符合成本效益单芯片快速以太网MAC控制器与一般处理接口,一个10/100M自适应的PHY和4K DWORD值的SRAM 。它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容。 DM9000Aep还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器。该DM9000AEP支持8位, 16位和32 -位接口访问内部存储器,以支持不同的处理器。DM9000Aep物理协议层接口完全支持使用10MBps下3类、4类、5类非屏蔽双绞线和100MBps下5类非屏蔽双绞线。
基于DM9000A的HAL设备驱动设计主要分为两步:首先是DM9000A的Avalon总线接口逻辑设计;其次DM9000A的读写驱动程序设计;最后按照HAL的驱动模式将DM9000A的驱动程序移植进HAL。DM9000A是作为Avalon总线的从外设与NiosⅡ进行通信。
DM9000A不允许直接访问芯片内部的寄存器,需要通过数据端口和索引端口来读写。而这两个端口由CMD管脚控制:当CMD接高电平时为数据端口,CMD接低电平为控制端口。支持处理器读写内部存储器的数据操作命令以 字节/ 字/ 双字的长度进行,集成10/100M自适应收发器,支持介质无关接口,支持背压模式半双工流量控制模式,IEEE802.3x流量控制的全双工模式,支持唤醒帧,链路状态改变和远程的唤醒,4K双字SRAM 。
应用程序设计采用TCP/IP、HTTP协议,把监测器作为Web服务器端,远程PC端作为客户端通过网页显示采集到的心电波形。
4 实验结果
系统对人体心电信号进行了采集,通过LCD面板进行实时显示。通过SD卡存储数据,同时采用以太网网络将数据发送到远程的PC端上,以下是对系统功能的验证与测试结果。
4.1 信号采集调理模块
心电信号采集调理模块是自行设计的采集板,主要测量参数为前置放大器的通道带宽、放大能力和陷波特性。经测试,测试信号在1~1 kHz的频带带宽内放大增益基本稳定在12.1 dB,即其通道带宽能≥1 kHz;在频率为20 Hz和50 Hz时,放大器对40~800 mV信号的放大能力增益并无明显变化,基本稳定在11.7~13.1 dB;同时,陷波器在对50 Hz信号滤波时能将放大增益控制到0.5 dB以下。
4.2 信号显示模块
图5是采集后的心电信号通过本地的LCD面板实时显示。从显示结果看,心电信号的PQRST五个特征点明显,波形平滑,并且在实际测量中稳定无干扰,能真实反映出采集后的心电信号。
4.3 网络传输模块
在设计中,网络接口功能的实现使采集到的心电信号通过以太网发送到远程PC端,实现数据的远程传输。根据TCP/IP协议与HTTP协议,信号经过打包处理后发送到网络上。在远程PC端,通过网页浏览器就可以观看到服务器端采集到的心电波形。
5 结语
本文描述了一种基于NiosⅡ软核处理器的远程心电医疗信号监测系统的设计,该设计已完成了系统平台的搭建,并通过了EDA软件仿真验证和在DE2开发板上板级验证,能够实现对心电信号的采集调理、信号波形和数据的LCD显示、数据的存储、网络传输。
System-on-a-Programmable-Chip,即可编程片上系统。 用可编程逻辑技术把整个系统放到一块硅片上,称作SOPC。可编程片上系统(SOPC)是一种特殊的嵌入式系统:首先它是片上系统(SOC),即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。设计中采用了SOPC技术与IP核复用技术,缩短了系统开发周期,同时使系统具有便携式、灵活性、功能可扩展等功能。
评论