《电子技术应用》
您所在的位置:首页 > EDA与制造 > 设计应用 > 基于FPGA的小数分频实现方法
基于FPGA的小数分频实现方法
来源:电子技术应用2010年第11期
袁 泉, 陈晓龙, 王家礼
西安电子科技大学 机电工程学院, 陕西 西安710071
摘要: 提出了一种基于FPGA的小数分频实现方法。介绍了现有分频方法的局限性,提出一种新的基于两级计数器的分频实现方法,给出该方法的设计原理以及实现框图,利用软件对电路进行仿真,由仿真结果可以看出该方法可有效实现输入信号频率的小数调整,最后分析了方法的优缺点及其应用领域。实验结果表明,设计方法能够高精度地完成对信号频率的微调,并且频率转换时间被缩短到2.56μs。
中图分类号: TN772
文献标识码: A
文章编号: 0258-7998(2010)10-0099-03
Method for realizing the decimal frequency divider based on FPGA
YUAN Quan, CHEN Xiao Long, WANG Jia Li
College of Mechanism and Electronics,Xidian University, Xi′an 710071, China
Abstract: This paper presents a method for realizing the decimal frequency divider based on FPGA, introduces the limitation of the current frequency dividing design in brief, and a new method based on two grades′ counters for implementing the decimal frequency divider is given. The principle of the design and the block diagram of the realization are also presented in this paper. Through simulated by software, this method is proved to be able to effectively implement the adjustment of the fraction of the input signal frequency. The advantages and disadvantages of this method are analyzed. The results show that this method can complete the slight adjustment of the signal frequecy,and the frequency switching time has been reduced to 2.56 μs.
Key words : FPGA; the decimal frequency divider; the slight adjustment of the signal frequecy

    分频器是电子线路设计的重要功能单元,在通信、雷达、微波、仪器等领域有着重要应用。具体实现形式有偶数分频、奇数分频、锁相环分频电路等,这种结构的分频器只能实现整数分频,或者是仅实现半整数分频和奇数分频[1],一般的锁相环分频电路会有几十微秒级的频率转换时间[2],虽然现在少数芯片有所改善,但是时间也较长。同时,在某些场合下,所需要的频率与给定的频率并不成整数或半整数倍关系,或需要实现对输入信号频率的微调整,此时可采用小数分频器进行分频[3]。
 本文提出了一种基于FPGA的小数分频实现方法,给出该方法的设计原理以及实现框图,使用VHDL硬件描述语言和原理图混合输入的设计方式[4],通过Quartus II开发软件,在Altera公司的Stratix II系列EP2S15F484C3型FPGA器件平台上对电路进行仿真,并对仿真结果进行分析,由仿真结果可以看出该方法可有效实现对输入信号的50%占空比的小数调整,解决了在一些场合下整数分频对输入频率调整幅度较大,频率转换时间较长的问题[6]。
1 设计方案及其原理
 该方法是通过两级计数电路来实现小数分频的,第一级利用输入信号对系统时钟计数,并对计数结果进行修正;第二级利用修正后的结果通过定时操作产生频率调整后的输出信号。电路图的组成如图1所示。

 以输入信号的脉宽作为闸值,计数器1在系统时钟的控制下进行加计数,设此计数结果为n。为实现对输入信号频率的调整,通过给n加上一个调整值N来实现对计数结果的调整,调整后的结果存于寄存器3,同时计数器1复位并等待进入下一轮操作。计数器2在同一系统时钟控制下对寄存器3的值减计数。当计数器2减到0时产生下溢信号,如此重复,计数器2将产生频率调整后的非对称方波,最后利用模一计数器将其调整为占空比为50%的时钟信号。上述方法中,N的值决定了输出信号与输入信号间的频率关系,通过对N的设置来改变该方法的分频倍数。
 在具体实现时,为了避免计数器2置入的数据发生冲突,n的修正值先存放在寄存器3中,这样,每当计数器2减到0时,再置入n的修正值,则可以避免第二级计数器没有输出信号的问题。

1.2 小数分频参数的取值范围
    使用本设计方法对输入信号的频率进行小数量级的分频,要得到有效、可靠的结果,调整参数N只在一定范围内取值。
    由式(1)可知:由于输出信号频率K>0,故N>-n。
2 仿真结果及分析
2.1 电路功能的仿真及分析

    理论上,当fin=1 MHz、N=1时,n=100,K=1.01, fout≈0.990 1 MHz。
 以上述参数对电路进行仿真,仿真结果如图2所示。


   N在有效范围内变化,使用上述参数对电路进行仿真得到表1所示仿真结果。

    对电路进行调整,把N减小一个单位,即:N=1,由式(1)得分频比K2=1.02,电路的仿真结果如图4所示。

    文中提出了两级计数电路来实现小数分频的方法,并对结果进行仿真和分析,该方法可以实现分频比为任意小数的小数分频,或者可高精度地完成对输入信号频率的微调,实现结果表明了本设计可以使频率转换时间被缩短到2.56 μs,随着分频步长的提高,频率调整误差?着会增加,但是误差比较小,这一优点应用在IEEE1588中,可有效地实现LXI的主从设备的时钟同步[5],这是本设计方案的典型应用。但是,当系统的时钟频率与输入频率的比值n不是整数时,频率调整误差ε较大,这是本方案的使用局限性。
参考文献
[1] 许德成.任意数分频设计方法[J].科技广场,2007,13(6):219.
[2] 王芳,阔永红.小数分频与快锁芯片ADF4193的原理与应用[J].新特器件应用,2008,10(5): 1-3.
[3] 刘亚海,林争辉.基于FPGA的小数分频器的实现[J]. 现代电子技术, 2005,28(3):113-114.
[4] 古良玲,杨永明,郭巧惠. 基于FPGA的半整数及整数分频器的参数化设计[J].电子器件,2005,28(2):404-406.
[5] 王刚,乔纯捷,王跃科.基于时钟同步的分布式实时系统监控[J].电子测量与仪器学报,2010,24(3):274-278.
[6] TIAN Hong Li,SHI Shuo,ZHANG Jun, et al.Controllable arbitrary integer frequency divider based on VHDL[J]. IEEE.Xplore,2009,62(10):691-694.

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