基于MSP430F1611的便携式12导心电导心电数据采集系统设计
2012-08-28 11:11:45
来源:《半导体器件应用》2009年9月刊
点击:2243
1 引言
当今心血管疾病已成为发病率极高的常见病之一,极大威胁人们的生命。而心电图ECG(特别是同步12导心电图)是最为直接、有效、简单易普及的检查手段,因此心电检测属于常规医疗、保健检测项目。心电图机是医院、诊所和卫生保健机构的基本医疗仪器。为了能够突破必须在医院或诊所等卫生保健机构才能做静态心电图的限制,就要使心电图机便携化。随着电脑的普及,设计一款只需导联线直接与PC机连接就能完成心电图的显示、打印、分析及诊断的人体心电信号采集系统,将极大方便心电图检测。基于MSP430F1611的使携式12导心电数据采集系统,就是针对这两个问题而设计。该系统通过利用 MSP430F1611和ADS1258以精简的电路形式,同时采用SPI和I2C两种串口通讯方式,实现12导联高采样率心电信号的采集、转换和传输,并使产品具有高性能和高可靠性。
2 系统设计
图1为系统整体结构框图。6个心脏导联线和4个肢体导联线经保护电路输入缓冲模块实现高输入阻抗;组成8路心电信号送入放大模块,放大倍数设置为8倍,满足300mV极化屯压经放大后不饱和;然后微控制器控制A/D转换并以SPI方式传输数据;最后以I2C方式将信号输出至后端心电图机或通过USB输出至PC机。
2.1 系统硬件设计
2.1.1 电源模块
该系统没计采用5V单电源供电,使用医用隔离电源模块满足系统要求。因此选用5V~3.3V的LDO电源模块为微控制器等其他需用3.3V的器件供电。这样可方便使用电脑USB或其他接口的5V电源,并减少电源模块数量。
2.1.2 导联信号缓冲
为提高共模抑制比和输入阻抗,采用低漂移低功耗运算放大器OPA2335以射极跟随器电路作为输入级。6个心脏导联和4个肢体导联通过输入级接入,同时还接入去抖保护电路和共模抑制电路。图2为一路输出缓冲电路。
2.1.3 输入信号放大
采用8组零漂移、低功率、高共模抑制比仪表放大器。
INA326组成放大电路,使用差分输入方式组合心电信号。放大电路放大8路独立心电信号,在后续数字信号处理电路中运算产生标准12导联心电信号。低通滤波电路也在本级接入。低通滤波的截止频率暂用150Hz。因为ADS1258模数转换器为过采样,采样频率远高于高频心电信号的最高频率值,并满足奈奎斯特采样定理fs≥2fm,所以可将低通滤波的截止频率提高到1000Hz甚至更高作为高频心电图监测的信号采集。图3为信号输入放大电路。
2.1.4 控制模块
图4为控制电路。选用MSP430F1611控制A/D转换和数据传输,完成信号的采集和输出。MSP430F1611单片机是一款超低功耗的混合信号处理器,它具有低电压、超低功率、处理能力强大、系统工作稳定、片内外没丰富、方便开发等优点,并具有高性价比。MSP430F1611具有两组USART接口,可使用SPI模式和I2C模式;片内具有高达10K的RAM空间;方便的DMA控制器[1-3]。采集部分是由MSP430F1611通过SPI方式控制ADS1258,并以SPI方式接收转换后的数字信号,以DMA的方式将信号数据存入内部的10K RAM中。ADS1258是一款24位8路差分输入或16路单端输入的精密模数转换器。其具有低功牦、低噪声、高转换速率的特点。内部集成多路开关和数字滤波电路,可采用SPI串行通讯方式没置内部控制寄存器并输出数字信号。该器件可适用于医疗设备或其他高速数据采集场合[4-5]。而输出部分再以I2C方式将接收到的数据传送至心电图机或以USB方式传送给PC机。这样可省去外接RAM,从而方便快速地传输信号并简化硬件电路设计。
在MSP430F1611控制下,多通道模数转换器ADS1258以SPI方式通讯,从而实现同步转换8个通道信号。心电数据转化为数字信号后通过I2C串行方式传送至后级设备或接口电路,并以I2C同步传送方式将采集心电信号实时传送至后级心电图机,或经USB后传送至PC机[6]。
2.2 系统软件设计
图5为系统软件设汁的总流程图。
2.2.1 ASD1258通过SPI方式采集心电信号
读取数据时,MSP430F1611首先通过SPI串口通讯方式将初始命令发送给ADS1258,按照系统要求对ADS1258初始化,然后发送读数据命令,在发送读命令完毕后,再发送4组8位无关数据至ADS1258,移出所采集的数据,经40个SCLK就完成一次读操作[7]。以下给出了相关程序代码。
unsigned char spiSendByte(const unsigned char data)
{
TXBUF1=data; ∥发送数据
while((IFG2 & UTXIFGl)==0); ∥等待发送中断标志
while:((IFG2 & URXIFG1)==0);∥等待接收完成标志
return(RXBUF1); ∥接收数据
}
2.2.2 DMA方式
由于MSP430F1611内部具有10K RAM空间,可以方便地直接存储所接收的数据,使得硬件电路简化,传送速度更快。系统采用DMA方式将数据存放入RAM中,为后面的I2C从方式发送数据提供方便。其DMA方式使用通道0,以收寄存器标志化为触发模式,使用块传送模式,目的地址为自动增加方式,目的单元存储单位和字源单元存储单位为字节形式。其相关程序代码如下:
void Init_dma(void)
{ DMACTL0 |= DMA0TSEL_9; ∥使用DMA通道0,触发模式为URXIFG1
DMA0CTL|=DMADT_0+DMADSTINCR_3+DMASBDB+DMAD_STBYTE+DMAEN; ∥选择块传输模式,目的地址为自动增加目的单元存储单位为字节
∥源单元存储单位为字节
DMA0SA=U1RXBUF; ∥DMA源地址为RXBUF
DMA0DA=0X2000; DMA目的起始地址为0X2000
DMA0SZ=0X64; ∥传输大小为字节
}
2.2.3 I2C发送数据
I2C模块可支持主模式和从模式。该模块有一个数据端口(SDA)呼一个时钟端口(SCL)。每个I2C模块都有独立的地址,并且可发送或接收数据。当I2C模块接入I2C总线时,在发送数据时既能被当做主机也能当做从机。发送数据传输并产生时钟信号的是主机,而由主机按地址寻找的则是从机。
因为MSP430F1611具有两组通用串行通讯设备,其中一组用于和ADS1258以SPI方式通讯,而另外一组则用来和心电图机以I2C方式通讯。另外MSP430F1611内部集成了I2C模块,无需模拟。该系统设计采用从模式发送数据[8]。以下给出相关的程序代码:
void slave_WriteInit(void)
{ U0CTL &=~MST; ∥从模式
I2COA=0X01A5; ∥设置本身地址
I2CTCTL |=I2CTRX; ∥传输模式,R/W为0
I2CIFG&=~TXRDYIFG; ∥清除中断标志
I2CIE=TXRDYIE; ∥发送中断全能
}
void slave_Write(unsigned int nVal)
{ int I2CBuffer[1];
I2CBuffer[1]=nVal;
}
3 应用与注意事项
该系统可制成心电数据采集盒,与心电图机或PC机连接,显示、打印、分析、诊断心电数据。图6是该系统设汁与便携心电图机连接后,模拟实现的心电图形的其中三导联。该系统在硬件设计时应注意:ADS1258的片选信号直接置为低电平使相关电路始终处于工作状态;而在软件设计时,在数据传输前应利用软件来复位SPI等相关电路,保证电路工作正常,读数据时要注意时序配合,而且要使用输入无关数据的方法将有用信号移出。
4 结语
该系统设计采用高性能微处理器MSP4301611为主控制器,ADS1258模数转换器首次应用于心电图机进行人体12导联心电数据采集。配合使用SPI和I2C串口方式传输数据,使得硬件电路简洁可靠,功耗低、可靠性高,整个系统体积非常小巧,实现便携式要求。此外,该系统也为配合电脑利用软件技术显示、分析心电图形,完成常规心电自动诊断以及打印输出奠定了基础,不仅适合于各级医疗机构,而且也适合于小型诊所和农村医疗机构、教学试验,同时病人也可在家中进行自我检测。
参考文献
[1] Teaxs Instrument, Inc. MSP430x15x, MSP430x16x, SP430x 161x mixed signal microcontroller[EB/OL]. 2007. http://www.ti.com/lit/gpn/msp430f1611.pdf.
[2] Teaxs Instrument, Inc. MSP430x1xx family user's guide[EB/OL]. 2007. http://www.ti.com/litv/pdf/slau049f.pdf.
[3] Teaxs Instrument, Inc. MSP430F16X/161X device erratasheet[EB/OL]. 2007. http://www.ti.com/lit/gpn/adsl258.pdf
[4] Teaxs Instrument,Inc. 24-Bit analog-to-digital converter ADS12-58[EB/OL]. 2007. http://www.ti.com/lit/gpn/ads1258.pdf.
[5] Teaxs Instrument, lne. ADS1258EVM user guide[EB/OL]. 2007. http: //www.ti.com/litv/pdf/sbau 126b.pdf.
[6] 李萍, 刘国忠. 基于USB的12导联同步心电采集系统[J]. 仪器仪表学报, 2004, 25(4)增刊: 344-346.
[7] 张唏, 王德银. 张晨. MSP430系列单片机实用C语言程序设计[M]. 北京: 人民邮电出版社. 2005.
[8] 秦龙. MSP430单片机常用模块与综合系统实例精讲[M]. 北京: 电子工业出版社. 2007.
转载自《电子设计工程》2009年第4期
当今心血管疾病已成为发病率极高的常见病之一,极大威胁人们的生命。而心电图ECG(特别是同步12导心电图)是最为直接、有效、简单易普及的检查手段,因此心电检测属于常规医疗、保健检测项目。心电图机是医院、诊所和卫生保健机构的基本医疗仪器。为了能够突破必须在医院或诊所等卫生保健机构才能做静态心电图的限制,就要使心电图机便携化。随着电脑的普及,设计一款只需导联线直接与PC机连接就能完成心电图的显示、打印、分析及诊断的人体心电信号采集系统,将极大方便心电图检测。基于MSP430F1611的使携式12导心电数据采集系统,就是针对这两个问题而设计。该系统通过利用 MSP430F1611和ADS1258以精简的电路形式,同时采用SPI和I2C两种串口通讯方式,实现12导联高采样率心电信号的采集、转换和传输,并使产品具有高性能和高可靠性。
2 系统设计
图1为系统整体结构框图。6个心脏导联线和4个肢体导联线经保护电路输入缓冲模块实现高输入阻抗;组成8路心电信号送入放大模块,放大倍数设置为8倍,满足300mV极化屯压经放大后不饱和;然后微控制器控制A/D转换并以SPI方式传输数据;最后以I2C方式将信号输出至后端心电图机或通过USB输出至PC机。
2.1 系统硬件设计
2.1.1 电源模块
该系统没计采用5V单电源供电,使用医用隔离电源模块满足系统要求。因此选用5V~3.3V的LDO电源模块为微控制器等其他需用3.3V的器件供电。这样可方便使用电脑USB或其他接口的5V电源,并减少电源模块数量。
2.1.2 导联信号缓冲
为提高共模抑制比和输入阻抗,采用低漂移低功耗运算放大器OPA2335以射极跟随器电路作为输入级。6个心脏导联和4个肢体导联通过输入级接入,同时还接入去抖保护电路和共模抑制电路。图2为一路输出缓冲电路。
2.1.3 输入信号放大
采用8组零漂移、低功率、高共模抑制比仪表放大器。
INA326组成放大电路,使用差分输入方式组合心电信号。放大电路放大8路独立心电信号,在后续数字信号处理电路中运算产生标准12导联心电信号。低通滤波电路也在本级接入。低通滤波的截止频率暂用150Hz。因为ADS1258模数转换器为过采样,采样频率远高于高频心电信号的最高频率值,并满足奈奎斯特采样定理fs≥2fm,所以可将低通滤波的截止频率提高到1000Hz甚至更高作为高频心电图监测的信号采集。图3为信号输入放大电路。
2.1.4 控制模块
图4为控制电路。选用MSP430F1611控制A/D转换和数据传输,完成信号的采集和输出。MSP430F1611单片机是一款超低功耗的混合信号处理器,它具有低电压、超低功率、处理能力强大、系统工作稳定、片内外没丰富、方便开发等优点,并具有高性价比。MSP430F1611具有两组USART接口,可使用SPI模式和I2C模式;片内具有高达10K的RAM空间;方便的DMA控制器[1-3]。采集部分是由MSP430F1611通过SPI方式控制ADS1258,并以SPI方式接收转换后的数字信号,以DMA的方式将信号数据存入内部的10K RAM中。ADS1258是一款24位8路差分输入或16路单端输入的精密模数转换器。其具有低功牦、低噪声、高转换速率的特点。内部集成多路开关和数字滤波电路,可采用SPI串行通讯方式没置内部控制寄存器并输出数字信号。该器件可适用于医疗设备或其他高速数据采集场合[4-5]。而输出部分再以I2C方式将接收到的数据传送至心电图机或以USB方式传送给PC机。这样可省去外接RAM,从而方便快速地传输信号并简化硬件电路设计。
在MSP430F1611控制下,多通道模数转换器ADS1258以SPI方式通讯,从而实现同步转换8个通道信号。心电数据转化为数字信号后通过I2C串行方式传送至后级设备或接口电路,并以I2C同步传送方式将采集心电信号实时传送至后级心电图机,或经USB后传送至PC机[6]。
2.2 系统软件设计
图5为系统软件设汁的总流程图。
2.2.1 ASD1258通过SPI方式采集心电信号
读取数据时,MSP430F1611首先通过SPI串口通讯方式将初始命令发送给ADS1258,按照系统要求对ADS1258初始化,然后发送读数据命令,在发送读命令完毕后,再发送4组8位无关数据至ADS1258,移出所采集的数据,经40个SCLK就完成一次读操作[7]。以下给出了相关程序代码。
unsigned char spiSendByte(const unsigned char data)
{
TXBUF1=data; ∥发送数据
while((IFG2 & UTXIFGl)==0); ∥等待发送中断标志
while:((IFG2 & URXIFG1)==0);∥等待接收完成标志
return(RXBUF1); ∥接收数据
}
2.2.2 DMA方式
由于MSP430F1611内部具有10K RAM空间,可以方便地直接存储所接收的数据,使得硬件电路简化,传送速度更快。系统采用DMA方式将数据存放入RAM中,为后面的I2C从方式发送数据提供方便。其DMA方式使用通道0,以收寄存器标志化为触发模式,使用块传送模式,目的地址为自动增加方式,目的单元存储单位和字源单元存储单位为字节形式。其相关程序代码如下:
void Init_dma(void)
{ DMACTL0 |= DMA0TSEL_9; ∥使用DMA通道0,触发模式为URXIFG1
DMA0CTL|=DMADT_0+DMADSTINCR_3+DMASBDB+DMAD_STBYTE+DMAEN; ∥选择块传输模式,目的地址为自动增加目的单元存储单位为字节
∥源单元存储单位为字节
DMA0SA=U1RXBUF; ∥DMA源地址为RXBUF
DMA0DA=0X2000; DMA目的起始地址为0X2000
DMA0SZ=0X64; ∥传输大小为字节
}
2.2.3 I2C发送数据
I2C模块可支持主模式和从模式。该模块有一个数据端口(SDA)呼一个时钟端口(SCL)。每个I2C模块都有独立的地址,并且可发送或接收数据。当I2C模块接入I2C总线时,在发送数据时既能被当做主机也能当做从机。发送数据传输并产生时钟信号的是主机,而由主机按地址寻找的则是从机。
因为MSP430F1611具有两组通用串行通讯设备,其中一组用于和ADS1258以SPI方式通讯,而另外一组则用来和心电图机以I2C方式通讯。另外MSP430F1611内部集成了I2C模块,无需模拟。该系统设计采用从模式发送数据[8]。以下给出相关的程序代码:
void slave_WriteInit(void)
{ U0CTL &=~MST; ∥从模式
I2COA=0X01A5; ∥设置本身地址
I2CTCTL |=I2CTRX; ∥传输模式,R/W为0
I2CIFG&=~TXRDYIFG; ∥清除中断标志
I2CIE=TXRDYIE; ∥发送中断全能
}
void slave_Write(unsigned int nVal)
{ int I2CBuffer[1];
I2CBuffer[1]=nVal;
}
3 应用与注意事项
该系统可制成心电数据采集盒,与心电图机或PC机连接,显示、打印、分析、诊断心电数据。图6是该系统设汁与便携心电图机连接后,模拟实现的心电图形的其中三导联。该系统在硬件设计时应注意:ADS1258的片选信号直接置为低电平使相关电路始终处于工作状态;而在软件设计时,在数据传输前应利用软件来复位SPI等相关电路,保证电路工作正常,读数据时要注意时序配合,而且要使用输入无关数据的方法将有用信号移出。
4 结语
该系统设计采用高性能微处理器MSP4301611为主控制器,ADS1258模数转换器首次应用于心电图机进行人体12导联心电数据采集。配合使用SPI和I2C串口方式传输数据,使得硬件电路简洁可靠,功耗低、可靠性高,整个系统体积非常小巧,实现便携式要求。此外,该系统也为配合电脑利用软件技术显示、分析心电图形,完成常规心电自动诊断以及打印输出奠定了基础,不仅适合于各级医疗机构,而且也适合于小型诊所和农村医疗机构、教学试验,同时病人也可在家中进行自我检测。
参考文献
[1] Teaxs Instrument, Inc. MSP430x15x, MSP430x16x, SP430x 161x mixed signal microcontroller[EB/OL]. 2007. http://www.ti.com/lit/gpn/msp430f1611.pdf.
[2] Teaxs Instrument, Inc. MSP430x1xx family user's guide[EB/OL]. 2007. http://www.ti.com/litv/pdf/slau049f.pdf.
[3] Teaxs Instrument, Inc. MSP430F16X/161X device erratasheet[EB/OL]. 2007. http://www.ti.com/lit/gpn/adsl258.pdf
[4] Teaxs Instrument,Inc. 24-Bit analog-to-digital converter ADS12-58[EB/OL]. 2007. http://www.ti.com/lit/gpn/ads1258.pdf.
[5] Teaxs Instrument, lne. ADS1258EVM user guide[EB/OL]. 2007. http: //www.ti.com/litv/pdf/sbau 126b.pdf.
[6] 李萍, 刘国忠. 基于USB的12导联同步心电采集系统[J]. 仪器仪表学报, 2004, 25(4)增刊: 344-346.
[7] 张唏, 王德银. 张晨. MSP430系列单片机实用C语言程序设计[M]. 北京: 人民邮电出版社. 2005.
[8] 秦龙. MSP430单片机常用模块与综合系统实例精讲[M]. 北京: 电子工业出版社. 2007.
转载自《电子设计工程》2009年第4期
本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
暂无评论