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

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

3天内不再提示

分频器之小数分频设计

冬至子 来源:Andy的ICer之路 作者:AndyICer 2023-06-05 17:20 次阅读

对于要求相位以及占空比严格的小数分频,建议采用模拟电路实现。 而使用数字电路实现只能保证尽量均匀,在长时间内进行分频

在讨论小数分频之前,先问一个问题:设计中是否真的需要50%占空比的时钟

在回答这个问题之前,可以先回顾之前我们写过的RTL设计,可以看一下之前的RTL设计代码中always块是不是大部分都是@(posedge clk)。

对于绝大多数的触发器,其实只需要用到时钟的上升沿触发,很少用到下降沿。在这种情况下,只要上升沿和时钟频率有关系,什么时候来下降沿不重要! 所以50%的占空比不是必须的

因此在小数分频器中我们关注的是如何得到一个尽量均匀的分频信号,而不是得到一个绝对50%占空比的分频信号。

下面以4.5倍的分频(非50%占空比)作为例子介绍,即每9个参考时钟包含2个对称脉冲。下面是4.5分频的设计步骤。

①:使用复位值为000000001的9位移位寄存器,可以在每个时钟上升沿使移位寄存器循环左移一位。

②:要产生第一个脉冲,必须使在半周期时移动第一位并将第一位与第二位进行或操作。

③:要产生第二个脉冲,第5位和第6位必须在半周期时移动并与原始第6位进行或操作。

注意:所有这些移位都是用来保证输出波形不含毛刺的必要条件。

上面产生的时钟占空比为40%,并且输出的时钟完全不含毛刺。

图片

always@(posedge clk or negedge rst_n)
  if(!rst_n)
    cnt[9:1] <= 9'b000000001;
  else
    cnt[9:1] <= cnt[9:1] < < 1;
    
    
always@(negedge clk or negedge rst_n)
  if(!rst_n)begin
    count1 <= 1'b0;
    count5 <= 1'b0;
    count6 <= 1'b0;
  end
  else begin
    count1 <= cnt[1];
    count5 <= cnt[5];
    count6 <= cnt[6];  
  end

assign clkout = (cnt[6] | count5 | count6) | 
                (cnt[0] | cnt[1] |count1);
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模拟电路
    +关注

    关注

    124

    文章

    1483

    浏览量

    101890
  • 分频器
    +关注

    关注

    43

    文章

    433

    浏览量

    49319
  • 移位寄存器
    +关注

    关注

    2

    文章

    182

    浏览量

    22021
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59077
  • 触发器
    +关注

    关注

    14

    文章

    1685

    浏览量

    60422
收藏 人收藏

    评论

    相关推荐

    基于FPGA的小数分频器如何去实现?

    双模前置小数分频原理是什么?如何对小数分频器进行仿真测试?
    发表于 04-29 07:29

    怎么把小数分频控制字与整数分频控制字结合起来去控制可编程分频器

    要设计小数分频PLL,基本架构已经确定:使用基于MASH111的DSM,双模预分频器+PScounter实现。现在遇到的问题是,不知道怎么把小数分频控制字经过DSM后的输出与整数分频
    发表于 06-24 07:20

    任意分频系数小数分频器相关文档及源代码

    任意分频系数小数分频器相关文档及源代码
    发表于 08-03 09:49 75次下载
    任意<b class='flag-5'>分频</b>系数<b class='flag-5'>小数分频器</b>相关文档及源代码

    小数分频锁相环的工作原理

    议程PLL介绍及小数分频锁相环的优点小数分频锁相环的错误使用小数分频锁相环详解参考杂散及如何减少杂散总结
    发表于 05-28 14:58 0次下载

    FPGA实现小数分频器

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

    △∑小数频率合成器中的小数分频器设计

    △∑小数频率合成器中的小数分频器设计设计方案、技术指标、调试等。
    发表于 05-24 10:03 9次下载

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

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

    如何使用FPGA进行任意小数分频器的设计

    论文分析了双模前置小数分频器分频原理和电路实现。结合脉冲删除技术,提出了一种适于硬件电路实现的任意小数分频的设计方案 ,用 VerilogHDL语 言编程 ,在 QuartusII下对 此方案进 行 了仿 真 ,并用 Cycl
    发表于 08-02 08:00 5次下载
    如何使用FPGA进行任意<b class='flag-5'>小数分频器</b>的设计

    小数分频资料分享

    有关小数分频的资料,用于时钟芯片设计,十分经典。
    发表于 10-24 11:48 0次下载

    数分频器的设计

    所谓“分频”,就是把输入信号的频率变成成倍数地低于输入频率的输出信号。数字电路中的分频器主要是分为两种:整数分频小数分频。其中整数分频又分
    的头像 发表于 03-23 15:06 1024次阅读
    偶<b class='flag-5'>数分频器</b>的设计

    数分频器的设计

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

    小数分频器的设计

    前面分别介绍了偶数和奇数分频(即整数分频),接下来本文介绍小数分频
    的头像 发表于 03-23 15:08 724次阅读
    <b class='flag-5'>小数分频器</b>的设计

    数分频、奇数分频、半整数分频小数分频详解

    初学 Verilog 时许多模块都是通过计数与分频完成设计,例如 PWM 脉宽调制、频率计等。而分频逻辑往往通过计数逻辑完成。本节主要对偶数分频、奇数分频、半整
    的头像 发表于 03-29 11:38 3349次阅读
    偶<b class='flag-5'>数分频</b>、奇<b class='flag-5'>数分频</b>、半整<b class='flag-5'>数分频</b>和<b class='flag-5'>小数分频</b>详解

    FPGA学习-分频器设计

    是用于满足设计的需求。 分频:产生比板载时钟小的时钟。 倍频:产生比板载时钟大的时钟。 二:分频器的种类 对于分频电路来说,可以分为整数分频小数分
    的头像 发表于 11-03 15:55 576次阅读
    FPGA学习-<b class='flag-5'>分频器</b>设计

    锁相环整数分频小数分频的区别是什么?

    锁相环整数分频小数分频的区别是什么? 锁相环(PLL)是一种常用的电子电路,用于将输入的时钟信号与参考信号进行同步,并生成输出信号的一种技术。在PLL中,分频器模块起到关键作用,可以实现整
    的头像 发表于 01-31 15:24 609次阅读