基于FPGA的高速高精度频率测量的研究
图3所示为测频主系统框图。一片FPGA(EPF10K10LC84)可完成各种测试功能,可利用单片机完成数据处理和显示输出。在标准频率信号为60MHz的情况下,其测量精度可达到1.1×10 -8,即能够显示近8位有效数字。其中A0~A7和B0~B7为两计数器的计数值输出。计数器是32位二进制计数器(4个8位计数值)。单片机通过[R1,R0]数据读出选通端分别从这两个计数值输出端读出4个8位计数值,根据测频和测脉宽原理公式计算出频和脉冲宽度。STR为预置门启动输入;F/T为测频和测脉宽选择;CH为自校/测频选择;Fa为自校频率输入端;Fs为标准频率信号输入端;Fx为经过放大整形后的被测信号输入端;END为计数结束状态信号。
FPGA中各功能模块如图4所示。
图4中,CH1和CH2为选择器,CH1进行自校/测频选择,CH2进行测频和测脉宽选择。CONTRL1为控制模块,控制被测信号fx和标频信号fs的导通,以及两个计数器(CONTa和CONTb)的计数。CONTa和CONTb为32位计数器,分别以4个8位二进制数输出。
图4 FPGA中各功能模块
FPGA与单片机AT89C51的接口比较简单。图3中的输入/输出端与单片机连接:A[7..0]与单片机P2端口相连接;B[7..0]与单片机P0口相连接;其它输入/输出端与单片机P3口相连接。
结语
随着EDA技术和FPGA集成度的提高,FPGA不但包括了MCU(微控制器或单片机)特点,并兼有串、并行工作方式和高速、高可靠性以及宽口径适用性等诸多方面的特点。单片机完成的数据处理功能也可集成在FPGA芯片中。基于FPGA的电子系统设计仅仅是各种逻辑模块与IP核的逻辑合成和拼装。测频系统的标准信号频率的提高,可进一步提高测频的精度或缩短测频时间。