全同步数字频率计的VHDL设计与仿真
1 引 言
频率测量不仅在工程应用中有非常重要的意义,而且在高精度定时系统中也处于核心地位,±1个计数误差通常是限制频率测量精度进一步提高的重要原因。
由于测频技术的重要性,使测频方法也有了很大的发展,常用数字频率测量方法有M法,T法,和M/T(等精度测量法)法。M法,T法,和M/T法都存在±1个计数误差问题:M法存在被测闸门内±1个被测信号的脉冲个数误差,T法或M/T法也存在±1个字的计时误差,这个问题成为限制测量精度提高的一个重要的原因。全同步频率测量法[1],从根本上消除了限制测量精度提高的±1个计数误差问题,从而使频率测量的精度和性能大为改善。
基于对FPGA器件和EDA技术以及全同步测频方法的研究[2,3],介绍一种利用FPGA实现DC~100 MHz全同步数字频率计的实现方法,并给出VHDL实现代码和仿真波形。整个系统在研制的FPGA/CPID实验开发系统上调试通过。本设计采用了高集成度的现场可编程门阵列(Field Program-mable Gata Array,FPGA)Flex EPF10k20TCl44-4芯片[4],通过软件编程对目标器件的结构和工作方式进行重构,能随时对设计进行调整,使得本设计具有集成度高、结构灵活、开发周期短、可靠性高的优点。
在文献[2,5]中所描述的等精度频率测量方法中,其测频原理如图1所示。
![]() |
![]() |
由文献[1,6]可知:设开启闸门时脉冲同步时间差为△t1,关闭闸门时脉冲同步时间差为△t2,脉冲同步检测最大误差为△t,则有:△t1≤△t,△t2≤△t。频率测量的相对误差如式(2)所示:
由式(1)可知,误差只与脉冲检测电路准确度有关,显然,控制△t来提高频率测量精度是有效的,而且实现走来比提高标准时钟频率更容易。
![]() |
在以上分析的基础上,本设计采用FPGA来实现全同步数字频率计。其系统原理框图如图3所示。由图3可知,设计的绝大部分由FPGA完成,只有脉冲同步检测电路由74LS系列与非门来实现,以及显示部分由数码管构成。
![]() |
由系统原理框图3,则其FPGA内部模块电路设计原理如图4所示。
![]() |
3.1 脉冲同步检测电路
脉冲同步检测电路没计原理图如图5所示。U1~U8为74LS系列与非门,同步检测电路利用门电路的延时来构成。当被测信号及标准时钟都处在低电平时,U1,U2输出为高电平,U3,U4的输出为高电平,U5,U6输出为低电平,则U8输出为低电平。当被测信号(Fx)及标准时钟的上升沿同时到来时,由于门电路具有延时特性,因此U1,U2并不马上变为低电平,而是要经过一个延时才变为低电平。于是U3,U4的输入端都是高电平,则U3,U4
输出为低电平,U5,U6的输出为高电平,则U8输出为高电平。但是当且仪当Fx与CLK的上升沿在在延时时间内同时到达时U8才会输出高电平。74LS系列与非门的延时最小为4 ns,最大为15 ns,因此最大误差为11ns。根据公式(2)得:
当T0为1 s时,其精度可达到10-7,如再减小相位误差,则可提高频率计的精确度。
![]() |
FPGA芯片内部模块电路设计和仿真结果如图6到图9所示。
3.2.1 计数器
此计数播为27位二进制,具有计数使能端(ena)、异步清零端(clr)、时钟输入端(clk)、进位输出端(ov)等。当异步清零端(clr)为高电平时,不管计数使能端是否有效,时钟上升沿是否到来,计数器都立即清零,即q=0。只有异步清零端(clr)为低电平,并且汁数使能端为高电平,有上升沿到来时,计数器才开始计数,当计数器计满时,进位输出为高电平。计数器VHDL程序仿真图如图6所示。
![]() |
3.2.2 乘法器
由于本设计所用的乘法器位数较宽,而组合逻辑乘法器位数越多耗用的硬件资源成倍增长,并且本设计不需要有很高的运算速度,考虑到硬件资源与运算速度,因此采用时序电路来实现乘法器,其原理是通过逐项移位相乘相加来实现。他是一种牺牲运算时间换取硬件资源的方案。乘法器的VHDL程序仿真图如图7所示。
![]() |
3.2.3 除法器
除法器则可通过移位相减相除来实现,其工作原理与剩法器是一样的,其VHDL程序仿真图如图8所示。
![]() |
3.2.4 控制器
控制器工作时序如下:当同步信号(clk)上升沿到来时,计数使能信号(cp)立即变成高电平,锁存信号(creg)及清零信号(clr)变成低电平,同步信号(clk)的上升沿再次到来时,除清零信号(clr)外,其余信号均取反,当同步信号(clk)的下降沿到来时,清零信号(clr)变成高电平。当同步信号又到来时,重复上述过程,其仿真结果如图9所示。
![]() |
3.2.5 顶层设计
由模块电路设计原理图4,经过VHDL编程,得到各模块的VHDL设计实体,然后对各模块的设计实体在Max+PlusⅡ中进行仿真,验证各模块的正确性。最后再设计一个顶层文件把各模块按图4连接起来,便构成了一个全同步数字频率计的FPGA内部硬件电路。下面给出顶层文件的仿真结果,由仿真图10可看出:124×108/93=13 333 333,由于使用的是10 MHz的晶振,因此还有一位小数点最终显示的结果应该是1 333 333.3Hz。由仿真图11知,小数位在数码管的第二位上有效,其余位均无效。仿真结果与期望结果一致。至此,本设计得到成功验证。
![]() |
4 结 语
本文利用Altear公司的FPGA芯片FlexEPF10k20TC144-4 [5],使用VHDL语言设计了全同步数字频率计,在Max+PlusⅡ中进行了各模块的仿真,达到了预期结果。全同步数字频率计是目前精度最高的频率计之一。在高速时钟随处可见的现代电子系统,有着非常广泛的研究价值。从某种程度上说他是以牺牲时间来换取精确度的,但一般情况下测频系统对时间的要求并不高,并且由于电子系统对系统时钟的准确度越来越高,因此全同步数字频率计有着广泛的应用空间。
本文来源:《现代电子技术》 作者:包本刚 何怡刚 朱湘萍
关于 测试测量 的相关解决方案
- 2008-01-18全同步数字频率计的VHDL设计与仿真
- 2008-01-18腹腔压力动态测量系统设计
- 2008-01-17FPGA实现中的SERDES接口设计和测试
- 2008-01-16电动汽车分布式电机驱动测试系统研究与应用
- 2008-01-15LVDT传感器在爆炸环境地运动测量中的应用
测试测量 相关产品动态
- 2008-01-10NI发表USB-5680首款由USB控制的RMS RF功率计
- 2007-12-19KLA-Tencor推出45nm节点晶片几何度量解决方案
- 2007-12-11安捷伦针对WiMAX应用的测试解决方案
- 2007-11-22横河电机发布新型光谱分析仪AQ6375
- 2006-12-13美国理想携全线测试测量产品亮相全国电子展











