《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于FPGA的脉搏信号采集系统设计
基于FPGA的脉搏信号采集系统设计
来源:微型机与应用2013年第15期
全卫泽,阮 军,黄 成
(武汉理工大学 信息工程学院,湖北 武汉 430070)
摘要: 介绍了一种人体脉搏信号的采集系统,通过专用的脉搏传感器采集信号,将得到的信号经过预处理后送到FPGA,暂存到RAM中,同时用FPGA驱动VGA接口实时显示脉搏波形。利用FPGA的片内资源RAM实现了脉搏波形图像的动态显示,实时性好、画面清晰,为后续的生理病理信息提取提供了有效支持。
关键词: FPGA 脉搏信号 VGA RAM
Abstract:
Key words :

摘  要: 介绍了一种人体脉搏信号的采集系统,通过专用的脉搏传感器采集信号,将得到的信号经过预处理后送到FPGA,暂存到RAM中,同时用FPGA驱动VGA接口实时显示脉搏波形。利用FPGA的片内资源RAM实现了脉搏波形图像的动态显示,实时性好、画面清晰,为后续的生理病理信息提取提供了有效支持。
关键词: 脉搏信号;FPGA;VGA;RAM

 脉搏信号中包含人体重要的生理病理信息,常作为心血管疾病诊断和治疗的依据。随着信息采集技术以及生物医学的迅速发展,脉搏信号的获取也有了新的方法。本文提出将脉搏信号实时显示出来,为诊治医师提供足够的病理信息,提高传统脉诊的效率。
 本系统的脉搏信号显示借助VGA接口来实现。以往对于VGA显示的研究侧重于VGA接口驱动技术,主要实现VGA静态显示[1-2]。基于此种现象,本文提出了利用双口RAM来实现脉搏采集数据的存储与读取,从而可以实现实时显示,结果证明此方案可以很好地满足要求。同时,本系统充分利用了FPGA的硬件资源,取代了VGA的专用显示芯片,降低了系统的开发成本,提高了系统的集成度。
1 总体设计
 采集到的脉搏信号往往比较微弱,而且伴随着很多噪声。因此需要滤波、放大等处理电路进行预处理。脉搏信号属于模拟信号,要想送到FPGA处理,需进行模/数转换。FPGA将数字信号存储在内部RAM中,并利用Verilog HDL语言编写VGA显示控制模块,驱动显示器显示脉搏波形。整个系统的原理框图如图1所示。

2 系统实现
2.1 信号处理电路

 脉搏信号存在频率低、信号弱、噪声严重等问题。脉象频谱分析表明,脉象能谱中99%的能量集中在10 Hz以下[3],而且正常成人的脉搏跳动次数为60~100次/min,脉率是1~1.67 Hz。为了滤除噪声,又不影响脉搏信号的能量,选择0.8~20 Hz作为信号的频带宽度。因此,本设计的信号处理电路主要由前置放大器、高通滤波器、低通滤波器、主放大器组成。信号处理电路图如图2所示。


 经分析,信号处理电路的频率带宽为0.72 Hz~20 Hz,放大倍数为300多倍,可以完成功能要求。另外,实际中将R7用10 k?赘的电位器代替,从而实现放大倍数可调的目的,适用更多的场合。
2.2 A/D转换
 A/D转换芯片主要完成模拟信号到数字信号的转换。ADC0804是逐次比较型集成A/D转换器,分辨率为8位,转换时间为100 μs,输入电压范围为0~5 V,而且价格便宜、操作简便。基于以上特点,本设计选用ADC0804作为A/D转换芯片。对经过处理电路处理的脉搏信号进行采样,并将得到的数字信号送到FPGA中。
2.3 FPGA控制
 本系统的FPGA控制部分主要由分频模块、RAM、VGA控制模块三部分组成。
根据电视原理有关VGA显示的内容可知,VGA显示采用逐行扫描方式。扫描是从屏幕的左上方开始,从左到右、从上到下。本系统采用640×480@60 Hz显示模式,其中60 Hz为场扫描频率。对于一个场扫描频率为60 Hz、分辨率为640×480的显示模式,其典型的VGA时序表如表1所示。

 由表1可以计算出VGA驱动所需的时钟频率为800×552×60 Hz=25.2 MHz。而FPGA的时钟频率为50 MHz,因此需要一个分频模块,实现二分频的功能。
 VGA控制部分主要是产生行同步信号(Hsync)和场同步信号(Vsync),模拟VGA的显示时序表。此模块的设计思想是模拟逐行扫描的过程,每行800个像素点,扫完一行,接着扫第二行,一共有525行。因此,可以设计两个计数器,行计数器(h_cnt)和列计数器(v_cnt)。h_cnt从0开始计数,计到799后归零;v_cnt也从0开始计数,计到524后归零,并且在h_cnt计到799后,v_cnt加1,clk_25m作为两个计数器的触发脉冲。当h_cnt=96时,Hsync=1;当h_cnt=0时,Hsync=0。类似的,当v_cnt=2时,Vsync=1;当v_cnt=0时,Vsync=0。从而实现了行同步信号和列同步信号的产生,并模拟了VGA显示时序表。行计数器的程序流程图如图3所示。

 

 

 显示器是由一个个像素点组成的,如果是640×480的显示模式,就意味着每行有640个像素点,每列有480个像素点,一共是307 200个像素点。图像在显示器上显示,其实就是点亮相应的像素点。因此,基于这种理解,可以将脉搏波形当作一幅图像,波形走过的地方就是相应的像素点被点亮了。因此对脉搏信号采样,得到的就是相应的像素点。如果将采样值作为列坐标,第几次采样作为行坐标,就可以确定一个像素点,继而可以描绘出一幅脉搏波形图。
 通过上面的分析过程,提出一个解决方案,就是寻找一个存储介质,既可以读,又可以写。而FPGA正好有这样的资源,于是采用RAM来充当这个存储介质。从VGA显示原理已经知道,VGA显示采用的是逐行扫描的方式。如果将采样值作为RAM的地址,也是列坐标,而将第几次采样作为相应的存储单元存储的内容,同时也是行坐标。这样既有了行坐标,又有了列坐标。当VGA扫描时,扫描到某一行,就到相应的RAM存储单元取出其中的内容,并判断是否与当前扫描到的行坐标相同,如果相同则点亮此像素点,否则就不点亮。这就是RAM部分的设计思想。
3 系统调试
3.1 脉搏采集部分

 将处理电路测试完毕,并连接上脉搏传感器,对人体脉搏信号进行采集,利用示波器显示脉搏波形,如图4所示。可见该部分电路工作正常,并且能满足设计要求。

    图中clk_50m为系统时钟输入,频率为50 MHz;rst_n为复位信号,低电平有效;clk_25m为分频器的输出,频率为25 MHz,用于VGA驱动部分;hsync为行同步信号,vsync为场同步信号;h_cnt为行计数器,v_cnt为列计数器。可以发现VGA驱动模块完全可以正常工作。
3.3 系统结果
    将各模块调试完毕,组成整个系统,测试结果如图6所示。

    从图6看出脉搏波形可以基本实现在VGA显示器实时显示的设计要求。通过分析脉搏波形在一定时间内的变化趋势以及脉搏的跳动次数,为评价测试者的心血管系统的健康状况提供参考信息。
    本系统利用了微压脉搏传感器对脉搏信号进行采集,通过处理电路进行滤波、放大以及A/D采样,并利用FPGA驱动VGA显示器显示。实验表明,此系统能够实时采集人体脉搏信号,并且能正常、稳定地显示。
本系统利用RAM实现了采集波形的实时动态显示,对实时性要求高的数据采集系统设计具有很高的参考价值。同时,对本系统可以进行二次开发,将脉搏波形数据通过无线网络发送到医疗中心,以便为就诊专家提供足够的病理信息,在一定程度上提高了医疗救助的效率。
参考文献
[1] 姜世杰,余红英,洪永学,等.基于FPGA的VGA接口驱动技术[J].电子测试,2012(12):29-32.
[2] 刘峰.基于FPGA的VGA控制器实现[J].电子元器件应用,2010,12(11):33-35.
[3] 王国力,赵子婴,白金星.PVdF压电薄膜脉搏传感器的研制[J].传感技术学报,2004(4):688-692.
[4] 吴友宇.模拟电子技术基础[M].北京:清华大学出版社,2010.

此内容为AET网站原创,未经授权禁止转载。