在线情况
楼主
  • 头像
  • 级别
  • 门派
  • 职务总版主
  • 声望+9
  • 财富5
  • 积分3065
  • 经验390674
  • 文章6744
  • 注册2006-03-07
超低功耗微型心电听诊仪的设计
作者:张虎军 陈光杰  第一军医大学生物医学工程系

摘要:主要介绍了一种适应于临床医师使用的可以用于诊断心脏疾病的仪器。该仪器将普通
听诊器与心电图机有机结合在一起,用于诊断各种心脏疾病,并且具有低功耗、使用简便、
便于携带等优点,是传统听诊器的替代产品。

1 引言
听诊器(stethoscope)是临床医师必备的诊断设备,通常用来诊断心肺疾病。但是,为了对心脏疾病作出初步诊断,必须借助心电图(ECG)进行诊断。然而传统的心电图机体积较大使用不便,现在虽然出现了各种便携式的心电图机,可是操作使用较复杂且耗电量大。更重要的是听诊与心电图无法同时、实时进行,所以无法对心脏病作出有效的诊断。本文讨论的心电听诊仪正是针对以上问题提出的一种仪器设计。巧妙地将心电图监视仪同传统听诊器有机地结合在一起,使得临床医师在听诊的同时可以得到病人的心电图显示,并且使用特定算法实现心率的实时显示。并且根据各个心音(PCG)出现的时间与心电的各个波群的对应关系,将心脏病变定位到特定部位,从而对心脏的功能作出初步的诊断。

2 医学原理
心电图(ECG)的基本波形:P 波:反映心房电激动的电压改变。QRS 波:反映心室电激动的电压改变。PR 间期:代表电激动由心房传到心室的时间。T 波:反映心室电激动恢复期的电压改变。QT 间期:代表心室电激动的全部时间。心音图(PCG)能记录心音、杂音与附加音,是弥补心脏听诊的重要辅助检查。

心音分类:
(1)正常心音正常情况下可有四种心音:
第一心音:相当于心电图上QRS 波开始后0.02~0.04 秒,占时0.08~0.135 秒左右。是由心室收缩,二尖瓣关闭,三尖瓣关闭与心室收缩时,血流进入大血管引起的。

第二心音:相当于心电图上T 波终末部。是由心室舒张时心室壁振动,主动脉瓣与肺动脉瓣关闭和房室瓣开放时血流自心房进入心室引起的。

第三心音:相当于心电图上T 波以后距S 为0.12~0.20 秒,占时0.05 秒,频率、振幅低。是由于心室快速充盈,心室壁振动引起的。
第四心音:相当于心电图P 波后0.18~0.14 秒,振幅低,是由于心房收缩时血流急速
进入心室,振动心室壁而引起的。

(2)不正常的心音
心音增强或减弱:
第一心音增强:见于甲状腺机能亢进、高热、二尖瓣狭窄与心室肥厚。
第一心音减弱:见于心肌炎、心肌梗塞、二尖瓣关闭不全与主动脉关闭不全。
主动脉瓣区第二心音减弱:见于高血压病、主动脉硬化。
肺动脉瓣区第二心音增强:见于二尖瓣狭窄、左心功能不全与左向右分流的先天性心脏
病。
主动脉瓣区第二心音减弱:见于主动脉瓣狭窄或关闭不全。
肺动脉瓣区第二心音减弱:见于肺动脉瓣狭窄或关闭不全。

心音分裂:
第一心音分裂:由于二尖瓣和三尖瓣的关闭时间有同步,相差0.04 秒以上造成的。常
见于右侧束支传导阻滞。
第二心音分裂:由于主动脉瓣和肺动脉瓣的关闭时间不同步,相差0.035 秒以上所致。常见于二尖瓣狭窄、房间隔缺损、动脉导管关闭、右束支传导阻滞、原发性肺动脉扩张等。因此,心电图与心音听诊的结合对心脏疾病的判断有重要意义。它是临床医师对心脏疾病进行初步确定和筛选的有效方法。尤其是在急诊和野战救护方面具有现实的意义。
         [IMG=0,middle]../../upload/2007/01/06/012635.gif[/IMG]
该仪器硬件设计的关键是超低功耗(Ultralow-PowerConsumption)和便携。为了达到这一目的,仪器的微处理器(MCU)采用美国TI公司超低功耗MCU---MSP430F149,该MCU在标准模式(Standby mode)下耗电1.3 mA在RAM保持关闭模式下(RAM RetentionOff Mode)耗电仅0.1mA,在在休眠模式下,耗电低至0.1uA,可以进行中断快速唤醒,唤醒时间小于6微秒。显示器采用香港精电公司的LCD显示器模块,液晶控制驱动器为HD61202其显示分辨率为128*64,其工作电流为14mA/5V(无背光情况下);放大电路采用低功耗零漂移运放AD8522;A/D采用MCU集成的12Bit A/D转换器,采用速率为250Hz。系统的总体结构图如图一。采用常规听诊器作为机体,最大体积以液晶显示器模块为基准制作一个集心电显示与听诊为一体的仪器,达到便于携带的目的。其正反面示意图如图二。正面主体为LCD液晶显示器,最上面显示工作模式和心率,以及充电电池电量指示。中间主体显示心电波形。LCD下面是两个按键,其中一个为模式选择键,一个为开关机键。背面中间部分为听诊膜片,四周为三个镀金心电电极,用于从体表获取心电信号。整体体积为:54.5mm*54.5mm*25mm。
             [IMG=0,middle]../../upload/2007/01/06/012640.gif[/IMG]
4 系统软件设计
系统软件设计主要采用MSP430 的RISC 精简指令用汇编语言编写。系统主要分为以下几个部
分:
(1)系统初始化。主要包括系统时钟的校准,A/D 转换参数初始化,看门狗(WATCHDOG)的初始化,LCD 控制器的初始化等。
(2)图形化液晶显示部分。包括:汉字的显示,心电波形的显示。
(3)中断处理系统。包括键盘的中断处理,心电采样的中断处理,电池电量不足的中断处理等。
(4)心率计算部分。采用逐点微分法进行心率计算,每秒显示一次。
(5)电池电量检测部分。
(6)动态存储回放部分。可以存储、回放4 屏实时心电数据和参数。
(7)心电模拟数据显示。可以显示模拟心电图,便于演示。
(8)模式选择部分。可以选择3 种扫描方式6.25mm/s12.5mm/s 25mm/s。
(8)异常心率报警部分。对于心率超过200 次/s、低于30次/s 给出报警声音和显示。其软件结构框图如图三。下面以心率计算显示部分程序说明软件的编制及详细注解。首先,设定采样值的上下界,然后每采样一点
与前一点进行差值,并去除干扰点的影响,然后取差分值的极大值,并记录下极大值出现的时刻,在取到下一个极大值时,求两个极大值之间的时间。这就是两个QRS 波群的周期,取其倒数即是心率,然后再进行异常心率的判断、显示。程序清单见程序一。
       [IMG=0,middle]../../upload/2007/01/06/012644.gif[/IMG]

5 临床应用与展望
该仪器在医院使用得到临床医生的认可。但是也提出了一些问题。首先,由于屏幕显示的限制,心电图的细节不清楚,这有待采用更高分辨率的LCD 显示器和更低功耗的显示方式。再次,由于基线漂移存在,心电图稳定显示时间较长(10s),这需要采取在电极表面加导电胶,或者采用更好的电极减少接触阻抗的影响。第三,有待进一步开发无线产品,使得显示与电极分离,无线传输心电、心音便于大屏幕显示、诊断。这样,既可以解决分辨细节的问题,又可以将终端做得更小、更省电。

 程序清单一:
[CODE]ZHJ_AD BIC.B #BIT2,&P1OUT      ;清除触发信号
       BIS #ADC12SC,&ADC12CTL0 ;软件启动A/D

WAITAD BIT #BIT0,&ADC12IFG
       JZ WAITAD               ;等待A/D 转换结束
       MOV &ADC12MEM0,R4
       MOV R4,R5
       CMP #0EEEH,R5            ;判断是否高端触发,门限为2.8V
       JC ADG0
       CMP #88H,R5              ;判断是否低端触发,门限为0.1V
       JNC ADG0
       BIC.B #BIT2,&P1OUT      ;清除触发信号
       JMP ADNG0

ADG0   BIS.B #BIT2,&P1OUT ;触发
       ADNG0 RRA R4
       RRA R4
       RRA R4
       RRA R4
       RRA R4
       RRA R4                   ;信号幅度压缩/64
       CMP.B #2,AD_VOL          ;判断幅度档位
       JZ AD1
       RRA R4                   ;幅度再/2
       AD1 CMP.B #55,R4
       JNC AD1A                 ;判断幅度超出上限,限制在55
       MOV.B #55,R4
       AD1A CMP.B #0,R4
       JNZ AD2A
       MOV.B #1,R4              ;判断幅度为0,则显示在1
       AD2A MOV.B #63,R11
       SUB.B R4,R11
       MOV.B R11,R4              ;幅度数值计算(结果=63-X)
       BIS.B #BIT7,R4            ;结果取反,显示程序需要
       MOV.B POINT_NO,R5
       INC.B R5 ;点数+1
       MOV.B R4,POINT_BG(R5)     ;数据存储
       DEC.B R5
       SUB.B POINT_BG(R5),R4     ;与前一点比较
       CMP.B AD_MAX,R4           ;差值与阈值比较
       JN ZHJ112                 ;小于忽略
       BIT.B #BIT3,TJ_MODE_BIT   ;噪声判断?
       JZ ZHJ112
       MOV.B R5,NO2
       SUB.B NO1,NO2             ;求两点差值
       MOV.B R5,NO1
       CMP.B #3,NO2
       JN ZHJ112                  ;差值<3,忽略
       MOV.B NO2,HEART_RATE_POINTS
       MOV.B AD_TIME_PER_POINT,R5
       MOV.B HEART_RATE_POINTS,R6
       CALL #MUL_R56              ;求点数x 每点时间
       MOV #0,MRESLT_HW
       MOV #60000,MRESLT_LW
       MOV R5,MSTACK
       CALL #DIV_IDE             ;求心率
       MOV RESULT,R12
       CMP #200,RESULT
       JC ZHJ112                  ;心率>200 转忽略
       CALL #BIN_BCD              ;转换为BCD 码

JIADA  MOV R13,HEART_RATE
       CALL #DISPLAY_HEART_RATE  ;心率显示
       CMP #35,HEART_RATE
       JLO ERROR                 ;异常心率<35
       CMP #160,HEART_RATE
       JGE ERROR                 ;异常心率>160
       JMP ZHJ111

 ERROR MOV.B #120,O_XL
       MOV.B #0,O_YL
       MOV.B #25H,MY_CODE
       CALL #CW_PR                ;显示错误心率提示
       JMP ZHJ112

ZHJ111 MOV.B #120,O_XL
       MOV.B #0,O_YL
       MOV.B #00H,MY_CODE
       CALL #CW_PR                 ;清除错误提示

ZHJ112 INC.B POINT_NO               ;显示点数+1
       RET

JIADA2 MOV R13,HEART_RATE           ;显示心率0
        CALL #DISPLAY_HEART_RATE
        MOV.B #120,O_XL
        MOV.B #0,O_YL
        MOV.B #25H,MY_CODE
        CALL #CW_PR
        RET
[/CODE]
作者简介:张虎军,成都军区总医院器材科工程师,第一军医大学生物医学工程系在职硕士研究生研究方向:医疗仪器设计陈光杰,第一军医大学生物医学工程系教授博士生导师
[ 此贴最后由DC在2012-11-9 23:10:22编辑过 ]
[COLOR=#0000ff]欢迎发贴分享设计心得、开源DIY...[/COLOR]
在线情况
2
  • 头像
  • 级别
    • 积分4
    • 经验70
    • 文章3
    • 注册2014-07-06
    大神啊!编程语言[EM10]
    微控网感谢您的参与
    Powered by LeadBBS 9.2 .
    Page created in 0.0781 seconds with 6 queries.