心电图是心脏疾病诊断的重要工具之一,目前在医院临床中有广泛的应用,给医生诊断病症带来很大的帮助。传统的心电仪虽能有效地监测心电、降低心脏病患者的死亡率 ,但不能对患者进行长时间的实时监护,而且存在体积大、功耗高、携带不便等缺点。鉴于此,本文设计了一种结构简单、性能稳定、可靠的便携式心电仪,能够在家庭、野外等一些场所对心电进行实时监测,具有广泛的应用前景。
1 系统硬件结构及原理
低功耗便携式心电仪由msp430f169、心电信号采集调理电路、液晶显示模块、数据存储模块、按键输入模块等组成,如图1所示。
通过以标准导联方式i和人体相连的电极取得的心电信号,因为环境中存在各种干扰(人体自身的肌电干扰,外部的工频干扰等),所以必须经过模拟放大电路的放大、滤波等调理之后才可进入msp430f169单片机,利用单片机内部的a/d模块对模拟信号进行模数转换,然后存储数据,并在液晶屏上显示,观察者可以直观地看到心电信号波形和每分钟心跳的次数。系统采用sd卡来存储采集的数据,采集的心电信号数据可以长时间存储,这对于心电信号异常且有偶发性的病人具有重要价值。系统还可以通过串口把采集的心电信号实时传输到上位机,由上位机显示并进行实时分析。
1.1 微控制器
微控制器采用ti公司的msp430f169单片机,它是一款低功耗单片机,当所有器件均采用低功耗模式工作时,总功率不到1 w,ram 数据保持方式下耗电仅 0.1 ?滋a,活动模式下耗电250 μa/mips,特别适合于便携式设备;片内集成有12 bit a/d转换模块,4种转换模式,转换速度最快达到200 kb/s,足以满足心电采集的要求。
1.2 心电信号调理电路
心电信号调理电路是本系统的重要环节之一,主要由前置放大、高通滤波、50 hz陷波、低通滤波和后级放大电路组成,如图2所示。因为体表ecg心电仪一般只有0.05 mv~5 mv,具有微弱和易受干扰等特点, 因此,采用高输入阻抗、高共模抑制比的差分放大电路进行前置放大,以增大输入阻抗、减少共模信号干扰;带通滤波电路主要由高通滤波器和低通滤波器组成,通频带为0.5 hz~100 hz,滤除心电频率范围以外的干扰信号;50 hz 陷波处理器滤除工频干扰;后级放大器将ecg信号进一步放大100倍左右到合适范围,然后输出到核心控制器msp430f169的a/d模块。
1.3 数据存储模块
本系统中使用sd卡存储采集的心电信号数据。sd卡是一种体积小、容量大、性价比高、访问接口简单的存储卡,具有低功耗、非易失性等特点,被大量应用于数码照相机、手机等便携式设备中。使用sd卡可将心电数据传送到功能更强大的pc机中进行进一步的分析处理,其接口电路如图3所示。其中,dat0~dat3为数据线,cmd为命令线,clk为时钟线,为存储模块提供时钟,cd_sw用于控制sd卡的热插拨。
msp430f169的p1.1~p1.5连接5个独立按键,其中4个用于调整心电波形显示的周期和幅值,1个用于串口数据发送。
2 软件系统设计
系统软件部分是在iar430开发平台下进行开发调试完成的。iar430是专门为ti公司的msp430单片机而设计的一款开发软件,它提供了工程管理、程序编辑、代码下载、软硬件调试等几乎所有的功能。
系统流程图如图5所示。首先系统进行初始化(包括看门狗、系统时钟、i/o口、uart1、adc12、timerb及lcd等初始化),开总中断后系统进入主循环体,当采集满一屏数据时,主循环体内进行心电波形的刷新显示;不满一屏数据时,进入低功耗状态。a/d采集用中断方式,系统的采样频率通过定时器控制,5个独立按键采用中断方式,通过软件延时消除按键抖动。
2.1 低功耗设计
由于msp430单片机是专为低功耗设计的,所以本系统的程序部分按照其低功耗方案设计。除了心电波形显示、擦除这种必要步骤在大循环内运行外,其余的(包括a/d转换程序、定时器采样频率、按键)全部采用中断方式,只有事件触发时才运行;而在主程序设计中只有在采集完一屏数据之后才运行心电波形显示,其余时间全部进入lpm1低功耗模式;数据的存储不经mcu,直接利用msp430f169内部的dma模块实现数据传输。这一设计方法大大降低了系统的功耗[4]。
2.2 系统各子程序设计
(1)a/d部分
msp430f169的p6.0~p6.7为a/d复用口,本系统采用p6.4,即a4作为a/d的输入口,采用单通道多次转换方式。a/d转换采用中断方式,中断子程序内只编写一条语句,即关a/d中断,不进行其他任何操作,以使a/d最高采样频率达到理想状态。a/d的初始化程序如下:
void adc12_s_s_init(void)
{ p6sel|=bit4;
adc12ctl0=adc12on+refon+ref2_5v+sht0_2
+msc;
adc12ctl1=adc12ssel_0+shp+conseq_2
+cstartadd_4;
adc12mctl4=sref_1+inch_4;
adc12ie |=bit4;
adc12ctl0 |=enc+adc12sc;
}
(2)定时器中断部分
系统的采样频率由定时器控制,并由按键对频率进行缩放,定时器采用子系统时钟、8分频(系统时钟为8 mhz)。定时器亦采用中断方式,中断子程序内对a/d转换后的值进行存储,并查询是否采集完一屏数据,如果采集满屏,即关闭定时器中断和a/d中断,然后满屏标志位置1,退出低功耗模式,退出中断[5]。中断子程序如下:
#pragma vector=timerb0_vector
__interrupt void timer_b (void)
{ results[index]=adc12mem4;
index++;
if(index==102)//如果采集完一屏
{ index=0;
tbcctl0 &=~ccie;//先关闭定时器b
adc12ie &=~bit4;//关adc中断
collect_a_screen=1;//满屏标志位置1
lpm1_exit;//退出低功耗模式
}
else adc12ie |= bit4;//开adc中断
}
(3)sd卡部分
采集的数据通过msp430f169内部集成的dma模块传送到sd卡内。dma选用通道0,触发方式为adc12ifg4,按字节发送。sd卡的操作以命令方式进行,所有的命令都由主机主动发送,sd卡根据不同的命令做出不同的响应。其应答流程如图6所示。
3 应用与注意事项
用本系统采集人体心电,经验证,能够在lcd屏上正确显示出如图7所示的人体的心电波形,并能通过串口或sd卡将采集的数据传送到上位机进行进一步显示分析。本系统设计时需要注意:msp430f169默认是关闭中断嵌套,所以用到中断嵌套时,进入中断子程序后应首先打开总中断,这样才能执行嵌套中断;在lcd上画心电波形时,应采用分列式,即擦一列画一列,这样才能保证心电波形稳定显示。
本文从家用便携式心电仪的特点出发,设计了一款功能适当、功耗极低并且价格低廉适用于家庭保健用的心电仪。同传统的数据采集系统相比,本系统采用低功耗微控制器msp430f169,在软件设计中通过低功耗设计,大大降低了系统功耗,而且性能稳定、可靠,设计过程简便,降低了成本,具有广泛的应用价值。
B28110S-2W非稳压高压电源模块B28100S B12150S-2W
电动车蓄电池修复器电路原理分析
时序逻辑电路有哪些 时序逻辑电路和组合逻辑电路区别
中国动力电池企业实力强劲,中日韩企业在欧洲展开激战
高速接口怎么避免静电放电(ESD)的伤害 TVS二极管阵列(SPA二极管)来帮忙
基于MSP430的低功耗便携式心电仪的设计
LN8199是一款电压输出、电流检测放大器
AutoMet™ 300 Pro磨抛机让用户可轻松地应对多种应用需求
关于GSM与CDMA手机辐射问题
PCB设计电压调节模块关于电磁干扰布局
加速科技ST2500系列测试设备入选浙江省首台套
机器人入侵服务业 但不一定会对员工产生重大影响
LED显示屏的3步调试过程介绍
如何树立正确的观念去实施工业物联网
晶电与隆达公布12月及全年营收 二者营收双双下降
关于《创新者的窘境》的内容分析和介绍
物联网产品的研发测试整体方案
技术前沿:从机器视觉应用看中国制造业发展
MWC 2017专访诺基亚:5G将如同互联网一样改变人类社会
51单片机的学习步骤