基于FPGA的任意小数分频器的设计

时间:2026-01-22

2009年第1期桂林航天工业高等专科学校学报

JOURNALOFGUILINCOLLEGEOFAEROSPACETECHNOLOGY 信息与电子工程

(总第53期)

基于FPGA的任意小数分频器的设计

毛为勇 祁中洋 王兰

(桂林电子科技大学 信息与通信学院 广西 桂林 541004)

*

摘 要 论文分析了双模前置小数分频器的分频原理和电路实现。结合脉冲删除技术,提出了一种适于硬件电路实现

的任意小数分频的设计方案,用VerilogHDL语言编程,在QuartusII下对此方案进行了仿真,并用Cyclone系列的EP1C12Q240C8芯片来实现。

关键词 小数分频;FPGA;VerilogHDL;频率合成

中图分类号:TN772 文献标志码:A 文章编号:1009 1033(2009)01 0030 03

频率合成技术是现代通讯系统的重要组成部分,是对一个高精度和高稳定度的基准频率进行加、减、乘、除四则运算,产生具有同样稳定度和基准度的频率。分频器是数字逻辑电路设计中经常使用的一个基本电路。通常,整数分频可以很容易地用计数器或状态机来实现[1]。但在某些场合下,时钟源与所需要的频率并不成整数关系,此时便需要采用小数分频器进行分频。

对于小数分频的FPGA设计,目前广泛采用的方法是双模前置小数分频[2],以及一种由双模前置小数分频改进而得到的小数分频 用一个半整数分频器和一个整数分频器代替双模前置小数分频中的两个整数分频器[3-5]。虽然这两种方案输出时钟的占空比误差和抖动性能方面有所差别,但其工作原理却是一致的。双模前置小数分频器在理论上可以实现任意小数分频,但在实际的电路设计中,不可能真正实现任意小数分频,文献[2]在其结论中就指出过,小数分频器的精度受控制计数器的影响,而控制计数器的设计会受硬件资源的限制,尽管FPGA有相当丰富的硬件资源。另外,基于FPGA实现的双模前置小数分频器在两个整数分频时钟之间的切换点上,有时候会出现毛刺,而时钟是不应该有毛刺存在的。下面将结合脉冲删除技术[6],提出一种可以进行任意小数分频且不会出现毛刺的小数分频方案,并通过编程实现。

X=M+

N2M N1+(M+1) N2

=

N1+N2N1+N2

(1)

其中,N1和N2均为整数。当N1和N2取不同的正整数时,从

N2

可以得到任意一个小数,就可以从理

(N1+N2)

论上实现任意小数分频比的分频。由于0!

a 2

i

i=1

#

-i

!

1,(ai=0,1),所以从工程角度可以进一步构造出下列关系:

N2

=

12

i=1

a 2

i

#

-i

(2)

式(2)有明确的物理意义,它的右边实际上是个多位累加器。例如,要把13MHz的时钟信号分频为8MHz的时钟信号,则

#

N= ai 2-i=0 625,a1=1,a2=0,

N1+N2i=1

a3=1。显然,当分频比X为无限小数时,例如把13MHz的时钟信号分频为11MHz时,x=1 18181818%,此时,尽

管在理论上可以设计这样的多位累加器,但在实际电路中却是不可实现的。因此,实际所设计的双模前置小数分频器的分频比,有时候与实际期望得到的分频比存在一个微小的偏差;当分频器长时间工作,就会导致累计误差。

1.2 双模前置小数分频器的电路组成

双模前置小数分频器的电路如图1所示,此电路主要由两个整数分频器、一个选择器和一个控制逻辑电路组成。其中,两个整数分频器的分频比分别为M和M+1,而控制电路依据式(1)而设计,交替选择M分频器或M+1分频器的时钟输出。它的具体控制过程是:先选择让M分频器输出N1个脉冲之后,接着选择让M+1分频器输出N2个脉冲,然后再选择让M分频器输出N1个脉冲,如此循环。这样的设计在理论上是可行的,但在实际的电路设计中,却由于硬件电路的微小延时,在选择M分频和M+1分频时钟输出的切换点上,就可能存在竞争冒险而产生毛刺,这是

1 双模前置小数分频器

假设时钟源的频率为F0,期望得到的频率为F1,则其分频比X有

FX=0

F1

其中,X>1。

1.1 双模前置小数分频器的理论分析若M<X<M+1,M为整数,则有

作者简介:毛为勇(1983 ),男,湖北仙桃人,桂林电子科技大学信息与通信学院硕士研究生,研究方向:无线通信

与信道编码。

*

(总第53期)JOURNALOFGUILINCOLLEGEOFAEROSPACETECHNOLOGY毛为勇祁中洋王兰/文

时钟信号所不能够容忍的。

-Q)脉冲的位置相对均匀地分布在时钟源相对应的P个脉冲中。

其具体设计思路如下:设置一个计数器,令其初始值为0;在时钟源clk的每一个上升沿,计数器加上Q,若计数器里面的值小于P,则发出删除一个脉冲的信号,将delete置为高电平;若其值大于P,则将计数器的值减去P,并且将delete置为低电平,不发出删除脉冲的信号。例如,假设

图1 双模前置小数分频器

要将一个13MHz的时钟源分频为11MHz的时钟信号,则Q=11,P=13,其工作过程见表1。

表1 分频器的工作过程序号0123

(3)

45678910111213

加上Q后计数器的值

1122201816141223211917151311

与P比较后计数器的值

119753112108642011

是否删除脉冲是否否否否否是否否否否否否是

2 一种改进的小数分频器的设计

利用脉冲删除电路,有规律地删除时钟源中的一些脉冲,从而实现平均意义上的小数分频。在硬件电路的设计过程中,利用脉冲删除电路,就不会出现上述竞争冒险和毛刺的问题,而且可以很容易地用硬件实现任意小数分频。

2.1 数学模型 …… 此处隐藏:2636字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于FPGA的任意小数分频器的设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219