基于FPGA的通用数控分频器的设计与实现

出处:电子技术网 发布于:2014-02-07 10:42:31

  摘要:本文首先介绍了各种分频器的实现原理,并在FPGA开发平台上通过VHDL文本输入和原理图输入相结合的方式,编程给出了仿真结果。通过对各种分频的分析,利用层次化设计思想,综合设计出了一种基于FPGA的通用数控分频器,通过对可控端口的调节就能够实现不同倍数及占空比的分频器。

  1.引言

  分频器是数字系统中非常重要的模块之一,被广泛应用于各种控制电路中。在实际中,设计人员往往需要将一个标准的频率源通过分频技术以满足不同的需求。常见的分频形式主要有:偶数分频、奇数分频、半整数分频、小数分频、分数分频。在某些严格的情况下,还有占空比的要求。其中非等占空比的偶数分频器和奇数分频器其实现比较容易,但对于半整数分频器和占空比为50%的奇数分频器实现比较困难。

  本文首先介绍了各种分频器的实现原理,并结合VHDL硬件描述语言对其进行了仿真,提出一个可控的通用分频器的设计方法,该方法可实现任意分频,资源消耗低,具有可编程等优点。

  2.偶数分频器

  偶数分频器比较简单,即利用计数器对需要分频的原始时钟信号进行计数翻转。

  例如:要进行M=2N(N为自然数)分频,当计数值为0~k-1时,输出高电平,当计数值为k-1~2N-1时输出低电平,同时计数值复位,如此循环可实现任意占空比的偶数分频,其中M和k为预置数,可根据分频倍数和占空比的要求进行置数。如图1所示,当k=N时,即可实现占空比为50%的偶数分频。

  

  3.奇数分频器

  任意占空比的奇数分频器的实现,其原理与偶数分频器类似。但对于占空比为50%的任意奇数次分频却无法用上述相同的方法实现。

  下面介绍一种常用的实现方法。

  实现原理:采用两个不同的边沿触发器(一个在上升沿和一个在下降沿)来实现,其细节在于实现1/2个原始时钟周期的时间差。

  如图2所示,进行M=2N+1分频时,k1是在clk上升沿且计数周期为M变化的信号。当计数器值为0~N时,k1保持低电平,计数值为N+1~2N时,k1保持高电平。

  

  k2与k1一样,不同的是:k2是在clk的下降沿变化。将k2与k1进行或运算即可得到占空比50%的任意奇数分频器。

  4.半整数分频器

  半整数分频器原理如图3所示[3].主要包括模M计数器,异或模块和2分频模块三个部分。其设计思想是:通过异或门和2分频模块组成一个改变输入频率的脉冲添加电路,即在M-0.5个输入信号周期内产生M个计数脉冲,并将其中的一个计数脉冲的周期变为含有两个脉冲的周期。而这种改变的具体实现是将原始时钟信号与2分频模块的输出进行异或。

  

  另外,不难发现此原理图还可以实现占空比为50%的2M-1倍的奇数分频。当M=3时,其仿真结果如图4所示。原理图的输出端口q即为占空比为50%的5分频,输出端口C为2.5分频。

  

  5.数控通用分频器的实现

  综上,利用模N计数器、脉冲添加电路,以及控制模块即可实现占空比可调的通用分频器。在具体设计过程中可采用层次化的设计方法。首先,设计通用分频器中各组成电路元件,然后通过元件例化的方法,调用各元件,实现通用分频器。

  

  其中:

  模N计数器的实现可以采用两种方式:

  一是调用L P M 库中的参数化的计数器模块LPM_COUNTER,根据向导对参数进行设置,QuartusII会生成相应的。vdh计数文本。为了能够调用计数文本,还需要利用VHDL语言对该计数文本设计一个例化程序,并将其设置为顶层文件。二是利用VHDL描述语言实现。

  二分模块是利用D触发器来实现的,即将D触发器的输出信号Q反馈回来作为输入信号,将模N计数器输出信号的位作为D触发器的时钟信号。

  其顶层原理图如图5所示。其中a为分频模式选择,当a=00时进行偶数分频;当a=01时进行占空比为非50%奇数分频;当a=10时进行占空比为50%的奇数分屏;当a=11时进行半整数分频[2].端口M的作用是控制分频数。端口K的作用是进行偶数(M=2N)和奇数(M=2N+1)分频时,调节占空比,当k=N时,占空比为50%.

  6.结论

  本设计的终目的是实现分频器的通用性和实用性,本设计中控制端口M、K、以及计数器N的位宽均采用参数化设计思想,用户根据需要对其稍加修改就可满足不同的分频需求,在一定程度上实现了通用性。(作者:张建妮,陆晓燕)

关键词:FPGA

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!