论文部分内容阅读
摘要:设计了一种基于Cortex-M3处理器的红外式脉搏数据采集系统,详细阐述了红外式脉搏传感器、抗混叠滤波调理电路和STM32F103VET6处理器等软硬件设计的技术要点。此外,基于内置USB接口模块,系统实现了与上位机之间实时快速的数据通信。测试结果表明,系统采集的脉搏波形清晰,满足病理分析对脉搏波形的要求。本文网络版地址:http://www.eepw.com.cn/article/274764.htm
关键词:红外脉搏仪;数据采集;抗混叠滤波器;通用串行总线DOI:10.3969/j.issn.1005-5517.2015.5.023
引言
从脉搏波信号中提取人体的生理病理信息作为临床诊断和治疗的依据,历来都受到中外医学界的重视。脉搏波信号包含了大量的具有临床医学参考意义的信息,准确、高效的采集和分析处理脉搏波信号对观测人体生理病理信息有着重要意义。但是,掌握中医诊脉技巧难度较大,不仅需要名医的指导传授,更需要长时间的经验积累。可以看到,随着现代生物医学的发展,借助仪器仪表实时获取脉搏信息(例如脉象仪),不仅能精确绘制脉搏波形,同时能进行频谱分析。而受到仪器自身体积和销售价格的限制,脉象仪无法得到广泛的应用。目前,传统的便携式脉搏测试装置只能统计脉搏跳动的次数,不能反映出脉搏波形特征等重要信息。因此,本文设计一种低成本便携式的脉搏波形数据采集系统显得尤为迫切。
本文采用HKG-07B型红外脉搏传感器获取人体指尖脉搏波信号,并基于Cortex-M3内核的微控制器进行数据采集、分析与传输工作,可实现对患者的长时间实时监护,利用上位机将存储数据提交到专业医疗机构做进一步的分析和诊断。
1 系统整体硬件设计
数据采集系统使用了HKG-07B型红外传感器将脉搏波信号转换为模拟信号,通过内部ADC转换模块转换为数字信号,由处理器完成对波形的特征提取与识别任务:采用DMA直接存取技术,不占用微控制器内核工作时间,直接将转换数据通过USB总线方式传送至PC机,由上位机软件实现数据的波形还原、分析等工作。系统整体硬件结构见图1。图中,虚线框内的ADC转换模块、DMA传输模块和USB接口模块是基于处理器内部资源完成的,既减小了设计开发难度,也节约了硬件成本。
系统中,处理器所承担的工作任务较为繁重,既要实时的完成对前级输入信号的数字化转换,同时还要对脉搏波形数据进行波形特征提取与识别,将转换的脉搏波形数据以及波形特征提取、识别结果通过USB接口上传至PC机系统。而系统所采用的STM32F103VET6芯片是一款基于Cortex-M3内核的32位处理器。该芯片内部资源丰富,集成USB、I2C和CAN等多种接口模块,以及12位精度的AD转换器和DMA控制器等功能模块,运行速度快,最大时钟频率可达72MHz,而且功耗低,非常适合于本系统中。
1.1 信号调理电路设计
在测控系统的数据采集过程中,不可避免地会有高频干扰信号混杂在有用信号当中。当这些信号的频率超过奈奎斯特采样定理所规定的范围时,会采集到一些不确定的信号并对有用信号造成干扰,即频率混叠。为了最大程度地抑制或消除混叠现象对动态测控系统数据采集的影响,需要利用抗混叠滤波器将无用信号进行衰减和滤除。
HKG-07B红外脉搏传感器输出信号幅值在0.2V~1V范围内,噪声纹波大。考虑到脉搏仪输出波形频率参数在0.8Hz~8Hz之间,包含了高频噪声,由于该传感器的输出的有效信号频率范围极小,需要设计一种拥有更敏锐截止频率的高品质滤波器,实现对噪声信号的滤除。
比较巴特沃斯、贝赛尔及切比雪夫低通滤波器的幅频、相频特性,可以得出,巴特沃斯滤波器有着最为平坦的通带幅值响应,但高于截止频率的衰减度略小,相位线性度略差;贝赛尔滤波器的相位特性最好,但高于截止频率的衰减度最小,且通带幅值响应较差;而切比雪夫滤波器在高于截止频率时有着最大的衰减度,但相位线性度最差,且在通带范围内会发生谐振现象。由于脉搏波滤波电路要求良好的相位线性特征,同时要求幅度响应的平坦度要好,这两方面的参数要求使得巴特沃斯滤波器成为一个最佳的选择。
设计了一款4阶有源正反馈巴特沃斯抗混叠滤波器,截止频率设定为15Hz,用来滤除源信号以外的干扰信号;运算放大器选用TI公司的LF353N型芯片,该款芯片自身具备内部电压补偿、宽增益带宽、高转换率、微功耗、高阻抗以及高响应速度等优势,完全满足本设计中信号调理电路的要求。
根据巴特沃斯LPF归一化表格,可以得出抗混叠滤波器器件的参数选择,根据信号固有频率的要求选择滤波器关键电容的数值大小为:C1=C2=CS=C6=O.luF。由截止频率计算公式代入数据,可计算出
设计的抗混叠滤波器由两个二阶巴特沃斯低通滤波电路级联而成,根据巴特沃斯低通滤波器电路阶数与增益之间的关系,四阶巴特沃斯第一级增益A1=1.152,第二级增益A2=2.235,因此总的通带增益:
A=AiA2=1.152×2.235≈2.575
现选R3=10KQ,R7=10KQ,则根据已知的增益可以计算出:
R4=(1.152-1)R3—1.5KQ
R8=(2.235-1) R产12.3KQ
设计的抗混叠滤波电路如图2所示,均选用1%精度的电阻及电容器件。
1.2 Cortex-M3处理器
1.2.1 ADC模块
STM32F103VET6微控制器集成了3个12位精度的ADC,最大采样率可达1MSPS。ADC总转换时间为:
TCONV=采样时间+12.5个周期
其中AD转换过程中有12.5个固有周期。
由于人体的心率一般为60~100次/分,婴儿的心率可达到150次/分,一个脉搏的持续时间为400~lOOOms。为了使获得的脉搏波形包含足够大的信息量,将ADC1时钟配置为14MHz,采样时间配置为1.5个周期,选用通道o进行数据采集,总转换时间为: TCONV= 1.5个周期+12.5个周期=14个周期=lus,即达到最大1MSPS的采样率。设置3.3V参考电压,单通道软件触发模式连续转换。
1.2.2 DMA模块
直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。本设计使用DMA1的通道1进行数据传输,配置为最高优先级循环传输模式。无须CPU干预,数据可以通过DMA快速地移动,节省了CPU的资源来完成对脉搏波形数据进行波形特征提取与识别操作。
1.2.3 USB模块
芯片集成的USB2.0通信模块,不需要外接USB控制芯片,为微控制器和PC主机所实现的功能之间提供了符合USB规范的通信连接。微控制器和PC主机之间的数据传输通过共享一个专用的数据缓冲区来完成。USB模块同PC主机通信,根据USB规范实现令牌分组检测,数据发送、接收处理和握手分组处理,CRC的生成和校验,整个传输的格式由处理器集成的硬件控制器完成。
2 系统程序设计
整个系统软件程序在RealViewMDK集成开发环境下,采用C语言编写完成。系统启动时,按要求完成时钟控制、ADC、DMA、中断控制器、GPIO以及USB模式的配置工作,然后使能USB并启动ADC采集功能,延时一段时间等待系统稳定,以避免系统刚启动时出现误码。开始数据的实时采集与传输工作,在进行数据传输的同时,处理器进行脉搏波数据的波形特征提取与识别,并将分析结果通过USB发送至计算机。
脉搏波形是一种周期信号,通过计算相邻两个波形的最大值间隔的时间即可得出脉率,同时计算单个脉搏波的最小值,则脉搏波的峰一峰值可由最大值与最小值之差得出。HKG-07B红外脉搏传感器输出信号幅值在0.2V~1V范围内,抗混叠滤波器增益为2.575,为了显示出没有脉搏信号时的水平线,将输入信号电位抬升o.6V,则采集得到的信号幅值范围为0.6V~3.175V。选取2.5V信号幅值为示意临界值,正常人的心率范围为60~100次/分,当处理器计算出脉搏波形数据异常(幅值小于2.5V,脉率小于60次/分或大于100次/分),向计算机发送异常结果及指令,提醒注意。
系统程序设计流程如图3所示。
STM32微控制器的ADC进行数据转换需要占用内核,但是利用DMA方式进行数据传送的过程不耗用内核时钟周期,方便了处理器进行脉搏波形数据的特征提取与识别任务。因此,可以避免普通数据传送模式过程中,大量占用CPU资源,出现对部分采集到的波形数据丢失的现象,实现了数据采集实时传送的要求,提高了脉搏波形信号的采集效率以及完整度。
3 系统测试
采集系统硬件预留TP1为脉搏仪输出信号测试点,TP3为信号调理电路输出测试点。通过USB接口电缆连接采集板与PC机,采集板上的LED电源指示灯亮,说明系统供电正常。红外脉搏仪通过3.5mm标准音频接口与采集板相连接。使用Agilent公司生产的DSO-X2012A型示波器进行测量。
将红外传感器接入系统的传感器接口,示波器测得的原信号波形与处理后的波形如图4所示。通道1测得的波形为HKG-07B红外脉搏传感器输出波形(上),通道2测得的波形为采集板信号调理电路输出信号波形(下)。信号经过4阶巴特沃斯抗混叠滤波器后,噪声得到了明显的抑制,输出信号明显比传感器原始输出信号光滑。
利用上位机软件进行分组测试。上位机对数据进行了一次滤波处理,以使得到的波形更加平滑,如图5所示,分别为采集的2位测试者的脉搏波形。
由测试结果可知,数据采集系统较好的完成了数据采集任务,采集波形清晰完整,无明显失真现象,USB数据传输未出现误码,工作正常稳定。
4 结论
采用Cortex-M3内核32位处理器设计红外式脉搏数据采集系统是一次成功的尝试。系统研制过程中,STM32F103VET6处理器内部集成高速ADC模块和USB接口模块等丰富的资源为系统设计带来了诸多便利。此外,抗混叠滤波器在抑制干扰噪声方面的优势也是系统成功开发的关键之一。可以预见,探索脉搏信号波形特征与生理疾病之间的内在联系,并将其应用于实际,必将成为医疗卫生领域内的又一研究热点。最后,随着数字信号处理技术和实时高速数据采集技术的广泛应用,研究数字化抗混叠滤波器,从而克服采用分立元件设计电路固有的参数漂移等诸多弊端,也必将进一步提升系统综合性能。
关键词:红外脉搏仪;数据采集;抗混叠滤波器;通用串行总线DOI:10.3969/j.issn.1005-5517.2015.5.023
引言
从脉搏波信号中提取人体的生理病理信息作为临床诊断和治疗的依据,历来都受到中外医学界的重视。脉搏波信号包含了大量的具有临床医学参考意义的信息,准确、高效的采集和分析处理脉搏波信号对观测人体生理病理信息有着重要意义。但是,掌握中医诊脉技巧难度较大,不仅需要名医的指导传授,更需要长时间的经验积累。可以看到,随着现代生物医学的发展,借助仪器仪表实时获取脉搏信息(例如脉象仪),不仅能精确绘制脉搏波形,同时能进行频谱分析。而受到仪器自身体积和销售价格的限制,脉象仪无法得到广泛的应用。目前,传统的便携式脉搏测试装置只能统计脉搏跳动的次数,不能反映出脉搏波形特征等重要信息。因此,本文设计一种低成本便携式的脉搏波形数据采集系统显得尤为迫切。
本文采用HKG-07B型红外脉搏传感器获取人体指尖脉搏波信号,并基于Cortex-M3内核的微控制器进行数据采集、分析与传输工作,可实现对患者的长时间实时监护,利用上位机将存储数据提交到专业医疗机构做进一步的分析和诊断。
1 系统整体硬件设计
数据采集系统使用了HKG-07B型红外传感器将脉搏波信号转换为模拟信号,通过内部ADC转换模块转换为数字信号,由处理器完成对波形的特征提取与识别任务:采用DMA直接存取技术,不占用微控制器内核工作时间,直接将转换数据通过USB总线方式传送至PC机,由上位机软件实现数据的波形还原、分析等工作。系统整体硬件结构见图1。图中,虚线框内的ADC转换模块、DMA传输模块和USB接口模块是基于处理器内部资源完成的,既减小了设计开发难度,也节约了硬件成本。
系统中,处理器所承担的工作任务较为繁重,既要实时的完成对前级输入信号的数字化转换,同时还要对脉搏波形数据进行波形特征提取与识别,将转换的脉搏波形数据以及波形特征提取、识别结果通过USB接口上传至PC机系统。而系统所采用的STM32F103VET6芯片是一款基于Cortex-M3内核的32位处理器。该芯片内部资源丰富,集成USB、I2C和CAN等多种接口模块,以及12位精度的AD转换器和DMA控制器等功能模块,运行速度快,最大时钟频率可达72MHz,而且功耗低,非常适合于本系统中。
1.1 信号调理电路设计
在测控系统的数据采集过程中,不可避免地会有高频干扰信号混杂在有用信号当中。当这些信号的频率超过奈奎斯特采样定理所规定的范围时,会采集到一些不确定的信号并对有用信号造成干扰,即频率混叠。为了最大程度地抑制或消除混叠现象对动态测控系统数据采集的影响,需要利用抗混叠滤波器将无用信号进行衰减和滤除。
HKG-07B红外脉搏传感器输出信号幅值在0.2V~1V范围内,噪声纹波大。考虑到脉搏仪输出波形频率参数在0.8Hz~8Hz之间,包含了高频噪声,由于该传感器的输出的有效信号频率范围极小,需要设计一种拥有更敏锐截止频率的高品质滤波器,实现对噪声信号的滤除。
比较巴特沃斯、贝赛尔及切比雪夫低通滤波器的幅频、相频特性,可以得出,巴特沃斯滤波器有着最为平坦的通带幅值响应,但高于截止频率的衰减度略小,相位线性度略差;贝赛尔滤波器的相位特性最好,但高于截止频率的衰减度最小,且通带幅值响应较差;而切比雪夫滤波器在高于截止频率时有着最大的衰减度,但相位线性度最差,且在通带范围内会发生谐振现象。由于脉搏波滤波电路要求良好的相位线性特征,同时要求幅度响应的平坦度要好,这两方面的参数要求使得巴特沃斯滤波器成为一个最佳的选择。
设计了一款4阶有源正反馈巴特沃斯抗混叠滤波器,截止频率设定为15Hz,用来滤除源信号以外的干扰信号;运算放大器选用TI公司的LF353N型芯片,该款芯片自身具备内部电压补偿、宽增益带宽、高转换率、微功耗、高阻抗以及高响应速度等优势,完全满足本设计中信号调理电路的要求。
根据巴特沃斯LPF归一化表格,可以得出抗混叠滤波器器件的参数选择,根据信号固有频率的要求选择滤波器关键电容的数值大小为:C1=C2=CS=C6=O.luF。由截止频率计算公式代入数据,可计算出
设计的抗混叠滤波器由两个二阶巴特沃斯低通滤波电路级联而成,根据巴特沃斯低通滤波器电路阶数与增益之间的关系,四阶巴特沃斯第一级增益A1=1.152,第二级增益A2=2.235,因此总的通带增益:
A=AiA2=1.152×2.235≈2.575
现选R3=10KQ,R7=10KQ,则根据已知的增益可以计算出:
R4=(1.152-1)R3—1.5KQ
R8=(2.235-1) R产12.3KQ
设计的抗混叠滤波电路如图2所示,均选用1%精度的电阻及电容器件。
1.2 Cortex-M3处理器
1.2.1 ADC模块
STM32F103VET6微控制器集成了3个12位精度的ADC,最大采样率可达1MSPS。ADC总转换时间为:
TCONV=采样时间+12.5个周期
其中AD转换过程中有12.5个固有周期。
由于人体的心率一般为60~100次/分,婴儿的心率可达到150次/分,一个脉搏的持续时间为400~lOOOms。为了使获得的脉搏波形包含足够大的信息量,将ADC1时钟配置为14MHz,采样时间配置为1.5个周期,选用通道o进行数据采集,总转换时间为: TCONV= 1.5个周期+12.5个周期=14个周期=lus,即达到最大1MSPS的采样率。设置3.3V参考电压,单通道软件触发模式连续转换。
1.2.2 DMA模块
直接存储器存取(DMA)用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。本设计使用DMA1的通道1进行数据传输,配置为最高优先级循环传输模式。无须CPU干预,数据可以通过DMA快速地移动,节省了CPU的资源来完成对脉搏波形数据进行波形特征提取与识别操作。
1.2.3 USB模块
芯片集成的USB2.0通信模块,不需要外接USB控制芯片,为微控制器和PC主机所实现的功能之间提供了符合USB规范的通信连接。微控制器和PC主机之间的数据传输通过共享一个专用的数据缓冲区来完成。USB模块同PC主机通信,根据USB规范实现令牌分组检测,数据发送、接收处理和握手分组处理,CRC的生成和校验,整个传输的格式由处理器集成的硬件控制器完成。
2 系统程序设计
整个系统软件程序在RealViewMDK集成开发环境下,采用C语言编写完成。系统启动时,按要求完成时钟控制、ADC、DMA、中断控制器、GPIO以及USB模式的配置工作,然后使能USB并启动ADC采集功能,延时一段时间等待系统稳定,以避免系统刚启动时出现误码。开始数据的实时采集与传输工作,在进行数据传输的同时,处理器进行脉搏波数据的波形特征提取与识别,并将分析结果通过USB发送至计算机。
脉搏波形是一种周期信号,通过计算相邻两个波形的最大值间隔的时间即可得出脉率,同时计算单个脉搏波的最小值,则脉搏波的峰一峰值可由最大值与最小值之差得出。HKG-07B红外脉搏传感器输出信号幅值在0.2V~1V范围内,抗混叠滤波器增益为2.575,为了显示出没有脉搏信号时的水平线,将输入信号电位抬升o.6V,则采集得到的信号幅值范围为0.6V~3.175V。选取2.5V信号幅值为示意临界值,正常人的心率范围为60~100次/分,当处理器计算出脉搏波形数据异常(幅值小于2.5V,脉率小于60次/分或大于100次/分),向计算机发送异常结果及指令,提醒注意。
系统程序设计流程如图3所示。
STM32微控制器的ADC进行数据转换需要占用内核,但是利用DMA方式进行数据传送的过程不耗用内核时钟周期,方便了处理器进行脉搏波形数据的特征提取与识别任务。因此,可以避免普通数据传送模式过程中,大量占用CPU资源,出现对部分采集到的波形数据丢失的现象,实现了数据采集实时传送的要求,提高了脉搏波形信号的采集效率以及完整度。
3 系统测试
采集系统硬件预留TP1为脉搏仪输出信号测试点,TP3为信号调理电路输出测试点。通过USB接口电缆连接采集板与PC机,采集板上的LED电源指示灯亮,说明系统供电正常。红外脉搏仪通过3.5mm标准音频接口与采集板相连接。使用Agilent公司生产的DSO-X2012A型示波器进行测量。
将红外传感器接入系统的传感器接口,示波器测得的原信号波形与处理后的波形如图4所示。通道1测得的波形为HKG-07B红外脉搏传感器输出波形(上),通道2测得的波形为采集板信号调理电路输出信号波形(下)。信号经过4阶巴特沃斯抗混叠滤波器后,噪声得到了明显的抑制,输出信号明显比传感器原始输出信号光滑。
利用上位机软件进行分组测试。上位机对数据进行了一次滤波处理,以使得到的波形更加平滑,如图5所示,分别为采集的2位测试者的脉搏波形。
由测试结果可知,数据采集系统较好的完成了数据采集任务,采集波形清晰完整,无明显失真现象,USB数据传输未出现误码,工作正常稳定。
4 结论
采用Cortex-M3内核32位处理器设计红外式脉搏数据采集系统是一次成功的尝试。系统研制过程中,STM32F103VET6处理器内部集成高速ADC模块和USB接口模块等丰富的资源为系统设计带来了诸多便利。此外,抗混叠滤波器在抑制干扰噪声方面的优势也是系统成功开发的关键之一。可以预见,探索脉搏信号波形特征与生理疾病之间的内在联系,并将其应用于实际,必将成为医疗卫生领域内的又一研究热点。最后,随着数字信号处理技术和实时高速数据采集技术的广泛应用,研究数字化抗混叠滤波器,从而克服采用分立元件设计电路固有的参数漂移等诸多弊端,也必将进一步提升系统综合性能。