基于FPGA的通用数控分频器的设计与实现
本文首先介绍了各种分频器的实现原理,并在FPGA开发平台上通过VHDL文本输入和原理图输入相结合的方式,编程给出了仿真结果。最后通过对各种分频的分析,利用层次化设计思想,综合设计出了一种基于FPGA的通用数控分频器,通过对可控端口的调节就能够实现不同倍数及占空比的分频器。
本文引用地址:http://www.amcfsurvey.com/article/274088.htm1.引言
分频器是数字系统中非常重要的模块之一,被广泛应用于各种控制电路中。在实际中,设计人员往往需要将一个标准的频率源通过分频技术以满足不同的需求。常见的分频形式主要有:偶数分频、奇数分频、半整数分频、小数分频、分数分频。在某些严格的情况下,还有占空比的要求。其中非等占空比的偶数分频器和奇数分频器其实现比较容易,但对于半整数分频器和占空比为50%的奇数分频器实现比较困难。
本文首先介绍了各种分频器的实现原理,并结合VHDL硬件描述语言对其进行了仿真,最后提出一个可控的通用分频器的设计方法,该方法可实现任意分频,资源消耗低,具有可编程等优点。
2.偶数分频器
偶数分频器比较简单,即利用计数器对需要分频的原始时钟信号进行计数翻转。
例如:要进行M=2N(N为自然数)分频,当计数值为0~k-1时,输出高电平,当计数值为k-1~2N-1时输出低电平,同时计数值复位,如此循环可实现任意占空比的偶数分频,其中M和k为预置数,可根据分频倍数和占空比的要求进行置数。如图1所示,当k=N时,即可实现占空比为50%的偶数分频。
图1 占空比为50%的4分频仿真结果
3.奇数分频器
任意占空比的奇数分频器的实现,其原理与偶数分频器类似。但对于占空比为50%的任意奇数次分频却无法用上述相同的方法实现。
下面介绍一种常用的实现方法。
实现原理:采用两个不同的边沿触发器(一个在上升沿和一个在下降沿)来实现,其细节在于实现1/2个原始时钟周期的时间差。
如图2所示,进行M=2N+1分频时,k1是在clk上升沿且计数周期为M变化的信号。当计数器值为0~N时,k1保持低电平,计数值为N+1~2N时,k1保持高电平。
图2 占空比为50%的5分频仿真结果
fpga相关文章:fpga是什么
分频器相关文章:分频器原理
评论