作者:阮三元 李刚 天津大学精密仪器与光电子工程学院
摘要:本文介绍了一种微型家用心电图机。该仪器具有强大的功能:显示监测、存储、回放、打印、记录管理、电源报警、电话或者互联网络传输。与其他心电图机的突出不同之处在于,本系统采用新型低功耗的16 位单片机--MSP430 F135 作为整个系统的控制核心,并配备相应的16 位低功耗存储器AT29LV1024 和液晶显示模块LMS0192A,从而简化了系统硬件电路,同时也大大降低了系统成本,因而该家用心电图机具有极为广阔的应用前景。
一、概述
心血管疾病是一种较为普遍的疾病,随着生活节奏的加快,生活水平和健康意识的提高,人
们需要随时对心脏进行健康监护并且能在比较危急的情况下进行及时的诊治;同时,如果长
期住在医院里面进行监护和治疗,那样花费高而且也给医院带来了不小的门诊压力。心电图
机是诊断心脏病的重要仪器之一,目前市场上有多种心电图机,但是这些心电图机都不太适
合在家庭中使用。为此,一种能够在家庭中应用、操作简单、价格便宜的低功耗家用电图机
的设计方案应运而生。总所周知,随着科学技术的推进、人类社会的发展进步,全球医疗仪器的发展也是日新月异。
21 世纪的医疗行业主要呈现以下两个特点:第一、未来的医疗世界,主要的代表产品是纳
米机械元件、随身佩戴式化学感测器、居家保健应用医疗器材等。第二、信息与医疗技术紧
密地结合在一起。家用心电图机的设计正是顺应这两个大趋势。另外,从这次SARS 病毒爆
发来看,可以预计,它将会推动居家保健应用医疗器材的发展。因此,家用心电图机在国内
外都是一种新型产品,具有极大的市场发展潜力。
二、功能与基本原理
(一)总体设计
为了实现心脏的"健康监护"和"家庭门诊",该家用心电图机具有以下基本功能:
• 利用液晶显示系统实时显示心电波形和工作菜单;
• 利用外部存储器将需要存储的心电信息保存以便日后作为诊治参考;
• 利用打印机将心电图打印存档;
• 可整理保存用户的记录信息;
• 多种操作模式,自动,手动操作可以任意选择;
• 可以方便的将从人体采集到的心电信号传送到相关的医疗机构。
考虑到用户实际使用的需要,家用心电图机还必须满足以下的特点:
• 抗干扰能力强;
• 体积小,重量轻,携带方便;
• 操作简单;
• 功耗低;
• 为了得到广泛推广使用,生产成本要低,必须有比较好的性能价比。
该家用心电图机采用的是干电池供电,而干电池供电需要解决的一个基本矛盾是:低功耗要求系统采用比较低的时钟频率而与此同时要求系统对一些基本的操作能够快速反应和启动,这就要求系统最少具备两种高低不同的频率,必要时两种频率可以切换使用。正因为MSP430 F135 具有丰富灵活的时钟模块,所以本系统选取它来作为控制核心,与此同时还选用了与之配套的低功耗外部存储器AT29LV1024 和液晶显示模块LMS0192A。
德州仪器公司所提供的MSP430 为高整合、高精度的单芯片系统,是目前工业界中具有最低功耗的flash 16-bits RISC 微控制器。MSP430 F135 具有强大的处理功能和丰富的外围模块,可方便地实现心电信号的采集、处理、存储、打印以及传输。另外,将其作为系统的控制核心,可以极大地简化整个硬件电路和提高系统的性价比。
心电信号由电极或导联线从人体采集,经放大、滤波处理后进入单片机进行A/D 转换,送液晶显示。如需存储则按下存储键后心电数据就会存储到外部存储器中,而且在需要回放、打印、传输时,可以直接从外部存储器中调出使用,进而实现各种功能。可以直接利用网络或电话将家用心电图机所监测的数据传送到相关的医疗机构,经过诊断、处理之后由医疗机构反馈回来,因而方便和高效地实现了"家庭门诊"和"健康监测",既节省了用户开支又相对减轻了医院的门诊压力。本系统采用了图1 所示的电路结构。 [imga]../../upload/2007/01/06/020950.gif[/imga]
(二)心电信号的检测及采集 家用心电图机所需检测的心电信号幅值在0.05~4 mV,频率在0.05~72Hz。而检测中存在的主要干扰信号有电极板与人之间的极化电压、50Hz 工频干扰、仪器内部噪声和仪器周围电场磁场电磁场的干扰等等。心电信号中50Hz 工频干扰可以利用自适应模板法消除,则心电图机模拟部分可以采用如图2 所示的硬件结构。心电信号经电极或导联线采集后,先要进行电压放大。电压放大器一般由两级组成,前级采用负反馈差动放大电路。系统中,采用TI 公司的基于双运放电路的微功耗仪表放大器INA321 芯片作为心电信号的前级放大器,放大倍数为10 倍。由于72Hz 以上的干扰信号较强而0.05Hz 以下的干扰信号相对较弱,所以在滤波电路中,采取先低通滤波取出72Hz 以下的信号,然后接高通的方式,这样就能滤除极化电压信号得到心电信号。由于在前面的滤波电路中采用了RC 高通滤波电路,该电路具有较高的输出阻抗,所以后级放大采用了同相放大电路,放大倍数为20 倍。
心电信号的最高幅值为4mV,经过200 倍的放大为0.8V,而A/DC 的输入范围为0~2.5V,设计时取中间值1.25V 为参考,所以放大后的心电信号叠加参考电压1.25V 后大小为(1.25±0.8)V,正好落在A/DC 的模拟输入信号范围。同时,心电信号的频率在0.05~72Hz之间,为了保证采样定理的要求和保证转换速率可以选取采样率fs=200Hz。MSP430 F135自带高速12 位逐次逼近型ADC12,该ADC12 具有内部参考电压、采样保持和自动扫描功能,有8 个外通道4 个内通道,高达200KHz 的采样速率,多种采样方式,因而完全能够满足要求。 [imga]../../upload/2007/01/06/021002.gif[/imga]
(三)单片机系统--MSP430 F135 基于功能、价格、功耗以及家用心电图机设计的实际需要等几个方面的考虑,本系统选用具有12 位ADC 的超低功耗微处理器MSP430 F135 作为系统的控制核心,它是TI 公司2000 年底新推出的超低功耗Flash 型16 位RISC 指令集单片机。它具有丰富的片内外围,是一款性价比极高的单片机。利用它作心电信号的采集与处理,不仅极大地简化了系统硬件电路,还大大提高了系统的性价比。MSP430 F135 的结构原理如图3 所示。
由结构原理图可知,MSP430 F135 包含了16KB Flash 和512B RAM,还带有以下几种外设:基本时钟系统(片内DCO 和两个晶体振荡器)、看门狗定时器/通用目的定时器、带3 个捕获/比较寄存器3 和PWM 输出的16 位定时器Timer_A、带3 个捕获/比较寄存器和PWM 输出的16位定时器Timer_B3、I/O 端口1~6(每一个有8 个I/O,其中端口1 和2 均具有中断功能)、比较器_A、12 位A/D 转换器ADC12、通用串行同步/异步接口USART0。
MSP430 F135 包含了一个具有八个外部通道的12 位高性能A/D 转换器、一个具有自动扫描功能的容量为16 个字的可编程缓冲器、片内参考电压、一个温度传感器以及电池低压时的检测电路,A/D 转换器的速度可高达200KHz。利用芯片内置的自动扫描功能,A/D 转换器可以不需要中央处理器的协助而独立工作,并且将转换后的数据自动存入缓冲区。这样,中央处理器的工作负担就大为减轻。换言之,可以让处理器去执行其它的数字信号运算或进入省电工作模式。除此之外,内置的参考电压以及温度传感器可以减少外部器件数目并且降低系统的整体成本。心电信号经过200 倍放大之后经端口6 进入该A/D 转换器进行模数转换,转换的结果自动存放在相应通道的寄存器中,然后再送到外部心电信号存储器中。
由于内置了功耗极低的快速闪存,MSP430 F135 在待机模式下所消耗的电能还少于电池未使用时的自然损耗。除此之外,它可在6ms 之内从待机模式立刻转回到完全工作模式,因为在启动过程中器件不会浪费任何时间,从而可延长电池的寿命。在正常的工作状态下,如果工作电压为2.2V,器件每个MIP 所消耗的电流只有250μA。
MSP430 F135 有片内Flash ROM,给用户的开发调试带来极大的方便。目前的开发环境大都采用IAR 公司的WINDOWS WORKBENCH 软件,与之配套的有TI 公司提供的开发套件MSP-FET430P140,可实现的功能为程序的下载、更新、运行、调试。由PC 环境下的JTAG控制实现FLASH 的编程,由片内仿真逻辑控制的全速调试可设3 个断点。用户在自己的目标板上引出JTAG 引线到调试装置便可实现程序的下载与调试。
MSP430F135 的基本时钟系统包括一个片内DCO 和两个晶体振荡器,可以产生三种系统适用的时钟信号:ACLK、MCLK 和SMCLK。其中,主系统时钟MCLK 用于CPU 和系统,辅助时钟ACLK和子系统时钟SMCLK 用于外围模块。可以通过对不同模块操作模式和CPU 状态的智能化管理,使得MSP430 F135 的工作方式可以适应多种超低电压和超低功耗的需求,即使在中断处理期间也一样,一个中断事件可以把系统从各种低功耗方式唤醒并且通过RETI 指令返回到中断以前的工作状态。下面是MSP430 F135 芯片支持的六种工作方式:
1)活动方式(AM):CPU 和不同组合的外围模块被激活,处于活动状态; 2)低功耗方式0(LPM0):CPU 停止工作,外围模块继续工作,ACLK 和SMCLK 有效,MCLK 的环路控制有效; 3)低功耗方式1(LPM1):CPU 停止工作,外围模块继续工作,ACLK 和SMCLK 有效,MCLK 的环路控制无效; 4)低功耗方式2(LPM2):CPU 停止工作,外围模块继续工作,ACLK 有效,SMCLK 和MCLK 环路控制无效; 5)低功耗方式3(LPM3):CPU 停止工作,外围模块继续工作,ACLK 有效,SMCLK 和MCLK 环路控制无效并且数字控制振荡器DCO 的DC 发生器被关闭;
6)低功耗方式4(LPM4):CPU 停止工作,外围模块继续工作(如果提供外部时钟),ACLK 信号
被禁止,晶体振荡器停止工作,SMCLK 和MCLK 环路控制无效并且数字控制振荡器DCO 的DC
发生器被关闭。
由上可知,MSP430 F135 的超低功耗性能的实现主要与它对时钟的产生与控制密切相关。在超低功耗的设计中CPU 的大部分时间都处于休眠状态。MSP430 F135 有5 种低功耗模式,在主程序中CPU 完成了相应的设置或任务之后就让CPU 进入适当的低功耗模式。CPU 所需完成的大部分工作都在中断服务程序中完成,由相应的中断唤醒CPU 完成中断服务,执行完成之后再进入低功耗模式。从而可以通过软件对内部时钟系统的不同设置来控制芯片,使它处于不同工作方式。整个时钟系统提供丰富的软硬件组合形式以达到最低的功耗并发挥最优的系统性能。
(四) 外部心电数据存储器--1 兆位3V 供电的闪速可编程可电擦除的16 位存储器AT29LV1024AT29LV1024 是一种3V 系统供电的闪速可编程可电擦除的16 位存储器(PEROM),具有1M位的存储空间,1M 位的存储空间分成512 个分区,每一分区128 个字。该芯片采用ATMEL公司先进的非易失性的COMS 工艺制造,在使用温度范围内存取时间为150ns,此时功率消耗仅为54mW。当AT29LV1024 处于休眠状态时,CMOS 的维持电流不超过50μA。AT29LV1024的每一分区可擦写超过10,000 次。
AT29LV1024 具有掉电保护功能,方便的在线编程能力不需高的输入电压,指令系统在3V 电压下即可控制AT29LV1024。从AT29LV1024 中读取数据与EPROM 的操作相似,再编程能力是以每一分区为单位的,128 字的数据装入AT29LV1024 的同时完成编程。在一个再编程周期里,存储单元的寻址和128 字的数据通过内部锁存可释放地址和数据总线,这样可为其他操作提供地址和数据总线。编程周期开始AT29LV1024 会自动擦除分区的内容,然后对锁存的数据在定时器的作用下进行编程。编程周期的结束是通过查询I/O7 或者I/O15 的有效时实现的,一旦编程周期结束,就可开始一个新的读或编程操作。AT29LV1024 的工作原理如图4 所示。 [imga]../../upload/2007/01/06/021006.gif[/imga] AT29LV1024 是一种新型的存储器,具有以下特点:
(1)3V~3.6V 供电范围;
(2)单一3V读写操作;
(3)硬件和软件数据保护;
(4)快速读取时间:150ns;
(5)低功率消耗:15mA有效电流,50μA CMOS 维持电流;
(6)分区程序操作:擦除、编程单向循环方式,512 个分区(128 字/分区),内部地址和128 字数据锁存;
(7)快速的的分区编程周期:20ms;
(8)内部程序和定时器控制;
(9) 查询程序是否结束;
(10)典型擦除、编程可超过10000 次;
(11)CMOS 和TTL 可兼容的输入输出;
(12)有商用和工业用的温度可选范围。在家用单导心电图机中,利用AT29LV1024 作为单片机片外扩展的数据存储器,存放心电数据,这些存放的数据可在线实时使用或需要时从存储器中读取。AT29LV1024 的掉电保护的功能可以在意外掉电或关闭电源的情况下保存数据,这样不仅确保了数据的可靠性,还可以省电。由于AT29LV1024 可作程序存储器也可作数据存储器,因而在这里存放从人体采集的心电数据,这些数据是通过单片机的A/D 转换获得的心电信号的数字量,这些数字量首先存放在单片机的内部RAM 中,当内部RAM 存满128 字之后数据便依次存放在外部数据存储器AT29LV1024 中,今后需要使用这些数据时,便可从AT29LV1024 中读出。AT29LV1024 可存储或修改几段不同时期的心电波形,例如:用户的日常病例,以供日后参考。当需要更新这些数据时可以通过电擦除更新已存储的数据,以重新存储新的心电数据。
由于从AT29LV1024 的再编程能力是以每一分区为单位的,128 字的数据装入AT29LV1024 的同时完成编程,它的每次操作时是以128 字单位的,每次存储、更新都是128 字,并且每次在送128 字数据之前都需要进行初始操作,程序如下: MOV A, #AAAAH MOV DPTR, #5555H MOVX @DPTR, A MOV A, #55H MOV DPTR, #2AAAH MOVX @DPTR, A MOV A, #A0A0H MOV DPTR, #5555H MOVX @DPTR, A
AT29LV1024 在系统中的应用使用户不仅能快速地实现所需功能,而且电擦除的方式为程序和数据的存储和更新提供了方便,特别是其掉电保护的功能可以在意外掉电或关闭电源的情况下保存数据,确保了存储的可靠性并减少了耗电,是以往采用RAM 所不具有的功能,对于心电数据的存储有很大的方便,例如从人体所采样的A/D 值可随时存储在AT29LV1024 中,以便回放、打印、传输时调用。
(五)液晶显示系统--LMS0912A 液晶显示模块 LMS0192A 液晶模块是一种小型的液晶系统,它的外观尺寸为79×42mm,44 个引脚。160×64点阵显示,点大小为0.30×0.34(mm),点间距0.34×0.38(mm)。内部拥有大规模集成并带有驱动器和控制器,它直接受单片机控制,接收8 位的串行或并行显示数据的同时可将数据显示,并将数据存储在片内的数据存储器中(DDRAM)。DDRAM 中的数据显示单元与液晶屏的点阵单元存在一一对应关系,并且LMS0192A 液晶模块数据的读写操作不受外部时钟的控制,因而LMS0192A 的显示具有很高的灵活性。LMS0192A 液晶模块带有液晶必须的电源驱动电路,这样可用最少的元件和最小的功耗实现模块的功能。 在微型家用心电图机中采用LMS-0192A 液晶显示模块作为菜单和心电波形的显示。它以
MSP430 作为液晶的微处理器,通过单片机采集和处理心电数据,输出给液晶显示。
1、接口方式:MSP430 与LMS-0192A 的接口如图5 所示。 [imga]../../upload/2007/01/06/021013.gif[/imga]
3、汉字菜单的显示:菜单主要是由汉字组成,可通过汉字字库将每个汉字转换为16×16
点阵共32 个16 进制的数据送液晶显示。每个汉字的数据分别对应一个数据表,程序可通过
查表的方式显示汉字。
4、心电波形显示:心电波形是一系列的曲线,在液晶上要显示这些曲线需要将相应的点阵显示,对于一条心电曲线,起始显示数据点在起始列只显示一点,从第二个数据点开始,要在下一列显示上一数据点到此次数据点之间的线段。具体方法可通过16 进制的数据除以总页数8 得到商和余,得到的商为此数据点所在的页,得到的余为此数据点所在页的行数。注意的是每一数据点应在相应的列,因为列地址每送一个数据自动加1,因而在每次从DDRAM
中读取数据时一定要保证列位置的正确,否则会出现曲线的混乱。这样利用LMS-0192A 液晶
模块将心电波形打印或直接从液晶上读取信息,为诊断提供依据。
5、液晶初始化的程序如下(模块使用前,必须往引脚/RES 送/RES 信号,送/RES 信号后,模块可自动设定默认值。): MOV DBUS, #0ABH ;内部晶振打开 MOV DBUS, #02FH ;置供电路控制,本模块典型值为02FH MOV DBUS, #024H ;V5 电压调节内部电阻比值,可以根据用户调节 MOV DBUS, #081H ;电控设置,两语句配合使用 MOV DBUS, #018H ;预设对比度调节该值,可以调节LCD对比度 MOV DBUS, #0A2H ;置LCD 偏压比,1/7 偏压 MOV DBUS, #0A0H ;ADC 选择,设置列正向输出 MOV DBUS, #0C0H ;COMMON 输出状态选择,设置扫描方向正常 ;如果ADC=1,请选择反向 MOV DBUS, #0AFH ;显示开
(六)心电信号的电话传输--脉宽调制法 在家用心电图机中,设有脉宽调制电话传输这一功能。这里采用了脉宽调制的基本原理,并且根据实际需要提出了一种改进的脉宽调制方法,使脉宽调制和解调的硬件和软件方法简单,信号解调后失真小,可以实现快速的电话传输。其主要原理如图6 所示。用户在家中或任何有电话的地方都可将存储在家用心电图机中的心电信号驱动扬声器经声音耦合后通过电话网络发送到医院。医院的接收系统经过放大、滤波,利用比较器产生脉冲波形,此波形进入单片机后通过程序计算出每一个脉冲所代表的采样值,此后单片机将获得的采样值利用串口通讯发送到计算机中,计算机经VC++程序处理再现心电波形。
1.发送部分 MSP430 F135 将心电的12 位A/D 采样值存储在外部数据存储器中,当需要进行电话发送时从外部RAM 中取出,并且取低10 位用来控制定时器产生宽度随采样值变化的脉冲,这一脉冲就可认为是经过采样调制过的脉冲信号(图7,其中τ1 为第一个采样值对应的脉冲宽度,T1 为第一个采样值的脉冲周期,同理τ2 为第二个采样值对应的脉冲宽度,T2 为第二个采样值的脉冲周期),这样的脉冲驱动扬声器通过电话网络发送到医院。电话传输信号的频率范围为300-1300Hz,300Hz 的采样值对应时间τ 应为1.667ms=1667μs,对应定时器的定时值τ'=0682H,定时器TH0TL0=F97DH(定时器0 加计数),1300Hz 则对应定时器的定时值τ'=0180H,定时器TH0TL0=FE7FH(定时器0 加计数)。因而所有采样值的定时值0180H<τ'<0682H,由于采样值可能为零,所以在采样值的基础上加上0200H(>0I80H)的基值,这样采用10 位采样值,最大为03FFH,最小为0000H,加上基值后的0200h≤τ' ≤05FFH在τ'的允许范围之内,因而可以准确无失真的传输。 [imga]../../upload/2007/01/06/021019.gif[/imga]
2.接收部分 微型家用心电图机配有接收系统,扬声器BEEP 接收到信号之后由双运放TL062 构成低通滤波器,截止频率f=1/2ΠC1R2=1300Hz,并且放大倍数为3.3×106/100×103=33,TL062 的第二级构成比较器,使输入的信号经比较器后成为宽度变化的脉冲方波,每一个变化的脉冲宽度代表了一个接收到的心电信号采样值,此脉冲波进入单片机后通过计算恢复出心电采样值。
(七)菜单界面及键盘接口 在家用心电图机中,提供四个按键供用户操作,对应于液晶显示器上相关菜单。菜单包括:欢迎菜单、主菜单、次级菜单等三个层次,均由液晶显示提供。每一级菜单提供给用户简单的提示方便用户使用,因而用户只需在菜单的提示下按一键(有A、B、C、D 四个键)便可完成所需要的操作。例如:主菜单显示如图9 所示: [imga]../../upload/2007/01/06/021023.gif[/imga] 本机采用的是独立式按键,直接用I/O 口线构成单个按键电路。每个按键单独占有一根I/O口线,且其工作状态不会影响其它I/O 口线的工作状态。由于MSP430 F135 的端口1、2 均具有中断功能,所以可以采用了中断方式的独立式按键电路,电路连接如图10 所示:
由于在使用过程当中,每个按键和液晶菜单相联系,从而要在单一按键上要实现不同的功能,所以简单的独立式按键电路还不能满足设计的需要,在这里就必须使用软按键轮询技术。软按键轮询技术是用于将菜单和按键组合在一起的用户界面新技术。该技术使得用户可以在单一的功能键上进行多种选择。也就是说,每个按键可以和一个命令菜单或参数菜单相联系,用户可以通过按合适的键(如光标键)来选择所需要的命令, 也就是说采用按键嵌套的方法来使同一按键实现不同的功能。
三、小结 心电图机是诊断心脏病的重要仪器之一,目前市场上有多种心电图机,但是这些心电图机都不太适合在家庭中使用。微型家用心电图机正是面向广大用户而设计的。它体积较小,携带方便,便于出门在外使用。操作简单,功能齐全、价格便宜、功耗低,性价比高,适用于在广大家庭中推广应用,因而将为人们及时、随地的心脏监测和保健带来方便。 该微型家用单导心电图的突出特点就是功耗低,性能好。与其他心电图机的突出不同之处在于,本系统采用新型低功耗16 位单片机--MSP430 F135 来作为整个系统的控制核心。由于采用了功能强大的MSP430 单片机,本系统设计的硬件电路与以往有较大差异。MSP430 F135有着丰富的外围模块,因此比较容易地实现了心电信号的采集、处理、存储、打印以及发送,从而使整个硬件电路得到极大地简化。
参考文献
1.Teaxs Instrument, Inc., MSP430 F135 User's Manual,2001
2.Teaxs Instrument, Inc.,MSP430 F13X/14X Data's Manual,2001
3.Teaxs Instrument, Inc.,MSP430 WINODWS WORKBENCH 接口指南,2001
4.AT29LV1024A,Atmel Corporation,2001
5.李素芬、李刚,电话传输心电信号的数字脉宽调制法,电子测量与仪器学报2002 年增刊,1457~1460
6.Topway,Inc.,LMS0192A 液晶模块使用指南,2002
7.蔡建新,张唯真编著,生物医学电子学,北京大学出版社1997
8.王保华主编,生物医学电子学,高等教育出版社,1998
9. 孙涵芳、徐爱卿,单片机原理及应用,北京航空航天大学出版社,1988.
10.生物医学工程手册(美)J.克兰(Kline,Jacob)编著徐振耀等译,天津科技翻译出版,1993 |