找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于FPGA的小数分频实现方法

[复制链接]
admin 发表于 2013-3-28 23:35:49 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 关键词: FPGA;小数分频; 信号频率的微调
       分频器是电子线路设计的重要功能单元,在通信、雷达、微波、仪器等领域有着重要应用。具体实现形式有偶数分频、奇数分频、锁相环分频电路等,这种结构的分频器只能实现整数分频,或者是仅实现半整数分频和奇数分频[1],一般的锁相环分频电路会有几十微秒级的频率转换时间[2],虽然现在少数芯片有所改善,但是时间也较长。同时,在某些场合下,所需要的频率与给定的频率并不成整数或半整数倍关系,或需要实现对输入信号频率的微调整,此时可采用小数分频器进行分频[3]。
 本文提出了一种基于FPGA的小数分频实现方法,给出该方法的设计原理以及实现框图,使用VHDL硬件描述语言和原理图混合输入的设计方式[4],通过Quartus II开发软件,在Altera公司的Stratix II系列EP2S15F484C3型FPGA器件平台上对电路进行仿真,并对仿真结果进行分析,由仿真结果可以看出该方法可有效实现对输入信号的50%占空比的小数调整,解决了在一些场合下整数分频对输入频率调整幅度较大,频率转换时间较长的问题[6]。
1 设计方案及其原理
 该方法是通过两级计数电路来实现小数分频的,第一级利用输入信号对系统时钟计数,并对计数结果进行修正;第二级利用修正后的结果通过定时操作产生频率调整后的输出信号。电路图的组成如图1所示。
    2012110704452241290565.gif
    以输入信号的脉宽作为闸值,计数器1在系统时钟的控制下进行加计数,设此计数结果为n。为实现对输入信号频率的调整,通过给n加上一个调整值N来实现对计数结果的调整,调整后的结果存于寄存器3,同时计数器1复位并等待进入下一轮操作。计数器2在同一系统时钟控制下对寄存器3的值减计数。当计数器2减到0时产生下溢信号,如此重复,计数器2将产生频率调整后的非对称方波,最后利用模一计数器将其调整为占空比为50%的时钟信号。上述方法中,N的值决定了输出信号与输入信号间的频率关系,通过对N的设置来改变该方法的分频倍数。
 在具体实现时,为了避免计数器2置入的数据发生冲突,n的修正值先存放在寄存器3中,这样,每当计数器2减到0时,再置入n的修正值,则可以避免第二级计数器没有输出信号的问题。
2012110704452244415566.gif
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所示。
    2012110704452245978567.gif
    2012110704452247540568.gif
    N在有效范围内变化,使用上述参数对电路进行仿真得到表1所示仿真结果。
    2012110704452247540569.gif
    2012110704452249102570.gif
    2012110704452253790571.gif
       对电路进行调整,把N减小一个单位,即:N=1,由式(1)得分频比K2=1.02,电路的仿真结果如图4所示。
2012110704452256915572.gif
    2012110704452258477573.gif
       文中提出了两级计数电路来实现小数分频的方法,并对结果进行仿真和分析,该方法可以实现分频比为任意小数的小数分频,或者可高精度地完成对输入信号频率的微调,实现结果表明了本设计可以使频率转换时间被缩短到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.
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2025-1-4 18:43 , Processed in 0.056416 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表