基于FPGA实现的高速等效采集系统
2011-06-03刘俊斌吴松林周卫星
刘俊斌,吴松林,周卫星
(华南师范大学 物理与电信工程学院,广东 广州510006)
在现代电子测量、通信系统、雷达等领域,经常涉及对高频模拟信号进行数据采集和存储,以便进一步进行数据处理。根据奈奎斯特采样定理,对高速模拟信号进行不失真采集,采样频率必须为信号最高频率分量的两倍以上,当信号频率较高时,对器件速度的要求很高。高速模数转换器的关键技术被国外所掌握,市场售价相当昂贵。当采集的模拟信号是周期性信号时,利用信号的周期性,采用等效时间采样原理就可以用较低速的ADC实现高速的数据采集,从而减小系统的实现难度,简化周期性宽带模拟信号的高速数据采集问题[1]。等效采样是一种欠采样技术,它利用信号的周期性,以增加采集时间为代价,降低对高速采样电路的压力,通过重组恢复原始信号,可以实现周期信号或者重复信号的数字化。
1 等效采样的原理
根据奈奎斯特定律,采样频率在信号最高频率分量的两倍以上就可恢复原波形。而如果使用等效采样,在信号的每个周期或相隔几个周期取一个样,而每个取样点分别取自每个输入信号波形不同的位置上,若干个取样点成为一个周期,可以组成类似于原信号的一个周期的波形[2]。相对于实时采样,等效采样技术在采样重复信号时可以实现很高的数字化转换速率。
等效时间采样的基本原理是利用取样技术把高频的、快速的重复信号转换成低频的、慢速的信号。等效采样分为两种方式:随机采样和顺序采样。随机采样,是从若干连续的信号周期中采集到多组采样点来构成波形,每一组新的触发点都是由一个新的触发事件来启动采集的,一个触发事件到来以后,就采集信号波形的一部分,经过若干周期以后存储器内存贮了足够的采样点,就可以在屏幕上重建一个完整的波形[3]。顺序等效采样在每个触发捕获一个样值,而不依赖于时间/格的设置和扫描速度,每发现一个触发经过一个虽然很短却明确的延迟,就获得采样值。当发生下一次触发时,延迟增加一段小的增量Δt。这个增量就是等效采样的周期。该过程重复多次延时不断增加到前一个捕获量中,直到时间窗口填满[2]。 如图 1所示[4]。
2 设计思路
在高速等效采样中,普遍存在难以确定触发点的问题。本系统采用Cyclone III的可重配置PLL产生与被测信号周期相差1 ns的时钟作为ADC的采样时钟对信号进行等效采样,有效地解决高速等效采样中触发点位置难以确定的难点。系统的工作流程图如图2所示。系统初始化后,首先计算输入信号的周期,根据差频公式(f=1/t=1/(k×T+Δt),其中 f为采样频率,k 为常数,T 为信号周期,Δt为等效采样周期1 ns)计算出系统的采样频率,然后利用穷举法找出PLL输出的时钟最接近这个采样频率的相关参数值。把参数值赋给ALTPLL_RECONFIG模块,PLL经过重配置后输出的时钟即为ADC采样时钟。ADC采样输出的数据保存到片内RAM中,最后通过串口输出到计算机显示。
系统框图如图3所示。外围电路主要有分频器和ADC。分频器的主要作用是把输入的模拟信号变成脉冲信号,同时把高频信号分频为较低频的信号,便于计算被测信号的周期(相对于输入信号),ADC则负责采样。其他部分功能由FPGA实现。采用NIOS II处理核和Avalon总线控制系统搭配各个模块,这与使用MCU方案相比,系统更加小型化,集成度更高,运行速度更快,同时还减少了物理连接。这样不仅降低了功耗,还增强了系统的稳定性。
3 系统设计
本系统主要功能模块包括频率计算模块、采样频率生成模块、数据存储模块和串口通信模块等。
3.1 频率计算模块
首先把被测信号通过分频器进行分频,通过对分频后脉冲信号计数可得信号周期T。根据自定义的差频公式 f=1/t=1/(k×T+Δt)(t为实时采样周期,k为可变整数,T为信号周期,Δt为等效采样周期),可计算出实时采样频率。
3.2 采样频率生成模块
利用ALTPLL_RECONFIG宏功能和ALTPLL宏功能产生采样频率,此频率可根据被测信号实时改变。根据前面计算出的实时采样周期,使用穷举法得到PLL的M、N和G1、G2参数的最佳值。根据这些参数重新配置PLL,PLL生成的采样频率即可满足要求。重配置PLL的仿真图如图4所示。当write_param有效时,改变其中一个寄存器的值,修改寄存器值其间,busy为高电平,此时write_param无效。当busy为低电平时,可以继续修改下一个寄存器的值。当需要改变的寄存器修改完以后,使reconfig为高电平,ALTPLL_RECONFIG模块开始对PLL进行重配置,以产生采样所需要的时钟。重配置完成后过一段时间,PLL重新锁定,输出采样时钟c0。
3.3 数据存储模块
由于采样的频率较高,ADC输出的数据率很高,由于受AVALON总线速度的限制,采用直接把采样数据写入片内RAM的方式。考虑到被测信号是周期信号,所以只需要一个周期的采样数据,采样数据比较少,片内RAM已足够。
3.4 串口通信模块
存入片内的采样数据可以通过串口发送到计算机,由计算机显示采样数据得到的波形。
4 实验结果及误差分析
完成设计以后,对系统进行了测试。当被测信号为频率100 MHz、峰值为4 V的锯齿波信号时,计算机上通过采样数据得到的波形如图5(a)所示,系统工作正常。图5(b)是当被测信号为频率 50 MHz、峰值为5 V的正弦波时,根据采集数据得到的波形。
本系统采用高频PLL对输入信号周期进行测量,当输入频率为100 MHz时,测量所得信号周期为10.016 ns。测量周期误差为0.16%。此时采样频率应为90.777 05 MHz,PLL实际输出的频率为90.777 00 MHz,PLL输出频率误差为0.000 1%可忽略不计。等效采样频率为984.3 MHz,总误差为1.57%。当输入频率为50 MHz时,测量所得信号周期为19.984 ns,误差为0.08%。此时采样频率应为47.655 36 MHz,PLL实际输出的频率为 47.655 00 MHz,PLL输出频率误差为0.000 7%可忽略不计。等效采样频率为1 016.1 MHz,误差为1.61%。两次测量所得误差都较小,可以接受。
本文采用Cyclone III器件内置的可重配置PLL输出采样时钟,很好地解决了等效采样中顺序采样的控制延时的难点。基于FPGA以及SoPC的设计方式使得系统结构明晰,处理性能得到提升,便于升级。在调试的过程中,系统一直稳定工作,只要加上一个显示器,就可以当作示波器使用,非常方便采集高频周期信号。
[1]庞晓晖,黄鹰,胡修林,等.基于等效时间采样原理的高速数据采集系统研究[J].无线电工程,1999(4):29-30.
[2]任斌,余成,陈卫,等.基于 EDA技术的等效采样的设计实现[J].微计算机信息,2007(05z):293-295.
[3]温智宁,曾杜.基于EDA实时与等效采样技术的多功能数字示波器系统[J].科协论坛,2008(2):28.
[4]高素芳,徐大诚.一种基于等效采样技术的高速数据采集系统[J].化工自动化及仪表,2009,36(2):72-74.