0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何实现一种占空比为50%的奇数分频器设计呢?

冬至子 来源:芯光灿烂 作者:Tianya 2023-11-07 17:29 次阅读

【设计要求】

实现占空比为50%的奇数分频器(示例以三分频为例).

【原理分析】

在进行数字电路设计的过程中,分频器是设计中使用频率较高的一种基本设计之一,虽然很多厂家都提供特定的电路模块对时钟进行分频、倍频以及特定相移等,但是对于时钟要求不高的逻辑,特别是在仿真过程中,使用硬件描述语言实现分频还是较为方便快捷的,同时通过硬件描述语言实现的时钟分频器对于巩固和加深对于硬件描述语言理解不无裨益.

常用的分频器有偶数分频和奇数分频,因为偶数分频相较奇数分频实现较为方便,此处路过不进行赘述.而奇数分频又有占空比(占空比是指在一个脉冲循环内,高电平持续时间在所在整个周期中占据的比例)为50%和不为50%的情况,为了加深理解,本文仅以占空比为50%的奇数分频为例进行说明.

占空比为50%的奇数分频器:当需要进行(2N+1)分频时,偶数分频所使用的的方法已经不适用了,这是因为2N+1的一半是N+0.5,单独对一个时钟计数是得不到0.5个时钟,因为一个计数器只能在时钟的上升沿或者下降沿被采样,所以一个周期之内只能计数一次,无法得到0.5个计数.但是需要注意的是在一个时钟周期内时钟上升沿和下降沿之间刚好相差0.5个时钟周期.

那么结合上升沿和下降沿相差的0.5个时钟周期,就可以得到设计奇数分频器的思路:采用两个完全一样的时钟,其中一个计数器通过上升沿计数,一个计数器通过下降沿计数,然后利用两个计数器的计数值结合偶数分频的方法分别得到两个中间时钟(两个中间时钟的相差为原时钟周期的奇数倍),因为要获取的最终的奇数分频后的时钟的半周期为原时钟周期半周期的奇数倍,所以通过两个中间时钟进行逻辑操作,即可衍生出奇数倍个原时钟的半周期,从而获取到最终的时钟.

即奇数分频器的分频出时钟的特点是:时钟周期的半周期为原时钟周期半周期的奇数倍。

【源代码】

方法一:时钟相或产生

图片

第一步:分别使用原时钟上升沿和下降沿产生两个两位计数器(基于上升沿计数的cnt1和基于下降沿计数的cnt2),计数器在计数到2(即2N)时,计数器归零重新从零开始计数,依次循环;

第二步:cnt1计数到0或者计数到1(即N)时,clk1翻转,从而得到占空比为1:3的clk1;

第三步:cnt2计数到0或者计数到1(即N)时,clk2翻转,从而得到占空比为1:3的clk2;

第四步:因为clk1和clk2相差半个原时钟周期,两个中间时钟进行或操作后,即可得到输出时钟clk_out;

图片

方法二:时钟相与产生

图片

第一步:分别使用原时钟上升沿和下降沿产生两个两位计数器(基于上升沿计数的cnt1和基于下降沿计数的cnt2),计数器在计数到2(即2N)时,计数器归零重新从零开始计数,依次循环.

第二步:cnt1计数到0或者计数到2(即2N)时,clk1翻转,从而得到占空比为2:3的clk1;

第三步:cnt2计数到0或者计数到2(即2N)时,clk2翻转,从而得到占空比为2:3的clk2;

第四步:因为clk1和clk2相差半个原时钟周期,两个中间时钟进行与操作后,即可得到输出时钟clk_out;

图片

方法三:时钟异或产生

第一步:实现计数功能;

通过时钟上升沿实现计数器功能,在计数到2(即2N)时,计数器归零重新从零开始计数,依次循环;

第二步:上升沿产生中间时钟clk1;

在计数器计数到2时,clk1翻转,实现周期为6(2*(2N+1))的clk1;

第三步: 下降沿产生中间时钟clk2

图片

时钟下降沿采样计数器的计数值,在计数器计数到1(N)时,clk2翻转,实现周期为6的clk2,此时clk1和clk2相位差为1(N)个原时钟周期加半个愿时钟周期;

第四步:clk1和clk2异或,即可得到输出时钟clk_out;

图片

前两种方法使用了两个计数器,最后一种方法使用了一个计数器.因为偶数分频的半时钟周期为原时钟周期的偶数倍,奇数分频时钟周期的半周期为原来时钟周期整数倍加半个时钟周期,因此在进行奇数分频时一定要注意获取到原时钟周期的半个周期,这样才能在进行各种逻辑操作后获取到期望的奇数分频器.

【仿真结果】

图片

【总结】

奇数分频器实际上就是通过两个分频器输出逻辑操作后获得,关键点在于两个分频器需通过待分频时钟的上升沿和下降沿分别进行设计。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 分频器
    +关注

    关注

    43

    文章

    433

    浏览量

    49316
  • 计数器
    +关注

    关注

    32

    文章

    2126

    浏览量

    92995
  • 占空比
    +关注

    关注

    0

    文章

    83

    浏览量

    28770
  • CLK
    CLK
    +关注

    关注

    0

    文章

    122

    浏览量

    16912
收藏 人收藏

    评论

    相关推荐

    奇数分频如何得到呢? 解读奇数分频和逻辑分析仪(ILA)的使用

    奇数分频如何得到呢? 第一部分  奇数分频 奇数分频方法: N倍奇数分频,首先进行上升沿触发进行模N计数,计数到(N-1)/2时输出时钟翻转,同时进行下降沿触发的模N计数,计数到(
    的头像 发表于 12-28 15:49 2666次阅读

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

    【摘要】:介绍了基于FPGA的任意分频系数的分频器的设计,该分频器实现分频系数和占空比均可以调
    发表于 04-26 16:09

    需要讲解占空比50%的奇数分频器的原理

    本帖最后由 haozix521 于 2013-10-4 20:42 编辑 想做占空比50%的奇数分频器,但是不是很了解这其中的意思。网上的资料都是这样讲的“对于
    发表于 10-04 20:35

    用VHDL怎样设计数控半整数分频器

    使用VHDL语言怎样实现数控半整数分频器,就当输入为3时,就实现3.5分频,当输入为4时,就实现4.5
    发表于 12-02 18:28

    参数可变的奇数分频占空比问题

    如题,设置任意参数可变的整数分频分频系数由DSP发送给CPLD,在调试的过程中发现由2分频调到3分频的时候,占空比不为
    发表于 03-13 16:57

    基于FPGACPLD的占空比为1∶n的n分频器的设计

    基于FPGACPLD的占空比为1∶n的n分频器的设计
    发表于 09-30 09:11

    利用Verilog实现奇数分频

    %的三分频时钟。这种方法可以实现任意的奇数分频。归类为般的方法为:对于实现占空比为
    发表于 06-14 06:30

    如何利用Verilog实现奇数分频

    %的三分频时钟。这种方法可以实现任意的奇数分频。归类为般的方法为:对于实现占空比为
    发表于 07-09 09:11

    基于FPGA 的等占空比任意整数分频器的设计

    基于FPGA 的等占空比任意整数分频器的设计 给出了一种基于FPGA 的等占空比任意整数分频电路的设计方法。首先简要介绍了FPGA 器件的
    发表于 02-22 14:22 39次下载

    FPGA实现数分频器

    介绍了一种基于FPGA的双模前置小数分频器分频原理及电路设计,并用VHDL编程实现分频器的仿真.
    发表于 11-29 16:43 48次下载
    FPGA<b class='flag-5'>实现</b>小<b class='flag-5'>数分频器</b>

    用Verilog实现基于FPGA的通用分频器的设计

    用 Verilog实现基于FPGA 的通用分频器的设计时钟分频包括奇数和偶数分频
    发表于 07-14 11:32 45次下载

    分频器的作用是什么 半整数分频器原理图分析

    分频器主要分为偶数分频奇数分频、半整数分频和小数分频,如果在设计过程中采用参数化设计,就可以随时改变参量以得到不同的
    发表于 02-01 01:28 1.6w次阅读
    <b class='flag-5'>分频器</b>的作用是什么 半整<b class='flag-5'>数分频器</b>原理图分析

    基于复杂可编程逻辑器件和VHDL语言实现半整数分频器的设计

    在数字系统设计中,根据不同的设计需要,经常会遇到偶数分频奇数分频、半整数分频等,有的还要求等占空比。在基于cpld(复杂可编程逻辑器件)的数字系统设计中,很容易
    发表于 06-26 09:36 852次阅读
    基于复杂可编程逻辑器件和VHDL语言<b class='flag-5'>实现</b>半整<b class='flag-5'>数分频器</b>的设计

    奇数分频器的介绍和实现

    因为偶数分频器过于简单,所以我们从奇数分频器开始说起8 01 奇数分频器     假设我们要实现一个2N+1分频
    的头像 发表于 03-12 15:44 5712次阅读
    <b class='flag-5'>奇数分频器</b>的介绍和<b class='flag-5'>实现</b>

    奇数分频器的设计

    上一篇文章介绍了偶分频,今天来介绍一下奇数分频器的设计。
    的头像 发表于 03-23 15:06 736次阅读
    <b class='flag-5'>奇数分频器</b>的设计