精华内容
下载资源
问答
  • D触发器分频电路图

    2020-07-15 05:22:18
    本文主要为D触发器分频电路图,下面一起来学习一下
  • 用Verilog hdl来实现d触发器2分频程序源码,有相关程序、原理图、仿真图,大家可做参考。
  • D触发器分频电路

    万次阅读 2016-04-22 09:20:03
    D 触发器

    D触发器二分频电路

    有时真的要感慨一下自己电路学的够烂的,啥都不会,做示波器要学习分频电路,学呗。。

     

    将D触发器的Q非端接到数据输入端D即可实现二分频,说白了就是CLK时钟信号的一个周期Q端电平反转一次,很好理解。

    S 和R 接至基本RS 触发器的输入端,它们分别是预置和清零端,低电平有效。当S=1且R=0时,不论输入端D为何种状态,都会使Q=0,Q非=1,即触发器置0;当S=0且R=1时,Q=1,Q非=0,触发器置1,S和R通常又称为直接置1和置0端。我们设它们均已加入了高电平,不影响电路的工作。

     

    今天也简单看看74系列芯片,也总结一下:

     

    1.74ls为TTL电平,74hc为CMOS电平

    2.TTL不能直接驱动CMOS电平,需要加上拉电阻,而CMOS可以直接驱动TTL

    3.TTL器件需5V供电才能工作,CMOS则为2-6V

    4.74系列为民用,54系列为军工产品

    分类: 电子电路
    展开全文
  • FPGA自学:利用D触发器实现分频

    千次阅读 2019-12-29 22:23:50
    D触发器的D端连接D触发器的输出QN端,就构成了一个由D触发器形成的2分频电路。多个D触发器级联得到4、8、16分频。 代码如下所示: module D_ff_4div(clkin,reset_n,clkout); input clkin,reset_n; output ...

        将D触发器的D端连接D触发器的输出QN端,就构成了一个由D触发器形成的2分频电路。多个D触发器级联得到4、8、16分频。

    代码如下所示: 

    module D_ff_4div(clkin,reset_n,clkout);
        input clkin,reset_n;
        output clkout;
        wire in1,in2,clkin_2;
        reg out;
        reg clkout_1;
        assign in1=~clkout_1;
        assign clkin_2=clkout_1;
        assign in2=~out;
        assign clkout=out;
    
     always@(posedge clkin)   //由第一个D触发器构成的2分频程序;
     begin
         if(!reset_n)
         begin
           out<=0;
           clkout_1<=0;
         end
        else
          clkout_1<=in1;
     end
    
    
     always@(posedge clkin_2)   //由第二个D触发器构成的2分频程序,时钟输入为上面的输出;
     begin
         if(!reset_n)
           out<=0;
         else
           out<=in2;
     end
     endmodule

     

    展开全文
  • 将两个D触发器级联起来,前一个D触发器的输出做为下一个触发器的时钟输入,就构成了一个由两个D触发器形成的4分频程序,代码如下所示: module D_ff_4div(clkin,reset_n,clkout);  input clkin,reset_n;  o

    转自 http://blog.sina.com.cn/s/blog_605fa0af0100djnz.html

    将两个D触发器级联起来,前一个D触发器的输出做为下一个触发器的时钟输入,就构成了一个由两个D触发器形成的4分频程序,代码如下所示:

    module D_ff_4div(clkin,reset_n,clkout);
        input clkin,reset_n;
        output clkout;
        wire in1,in2,clkin_2;
        reg out;
        reg clkout_1;
        assign in1=~clkout_1;
        assign clkin_2=clkout_1;
        assign in2=~out;
        assign clkout=out;
     always@(posedge clkin)   //由第一个D触发器构成的2分频程序;
     begin
         if(!reset_n)
         begin
         out<=0;
        clkout_1<=0;
         end
        else
        clkout_1<=in1;
     end
     always@(posedge clkin_2)   //由第二个D触发器构成的2分频程序,时钟输入为上面的输出;
     begin
         if(!reset_n)
        out<=0;
         else
         out<=in2;
     end
     endmodule

    代码经过验证,欢迎高手批评指正。

    展开全文
  • 目录 1.偶数分频 2.奇数分频 3.半整数分频 4.分数(小数)分频 参考资料: ...通常我们说对原时钟进行N分频,即分频后的时钟的一个周期是原时钟周期的N倍。...若果采用D触发器画出分频器,单个D触发器的反...

    目录

    1.偶数分频

    2.奇数分频

    3.半整数分频

    4.分数(小数)分频

    参考资料:


    通常我们说对原时钟进行N分频,即分频后的时钟的一个周期是原时钟周期的N倍。N可以为偶数、奇数、半整数、分数(小数)。

    1.偶数分频

    Verilog:N为偶数,使用一个计数器循环0-(N-1)进行计数,在N/2-1与N-1分别将输出取反,即完成了N分频。

    若果采用D触发器画出分频器,单个D触发器的反向输出到输入就构成了一个简单的2分频器,以此为基础,其分频输出作为下一级D触发器的时钟,如此串联起来,x个串联就是2^x分频,属于偶数分频,如图1[1].

    图1 用D触发器分频

    2.奇数分频

    Verilog:N为奇数,使用一个计数器循环0-(N-1)进行计数,控制(N-1)/2个高电平,(N+1)/2个低电平,称为A;然后将此A电平信号延迟半个时钟周期称为B,最后输出C = A|B,即为占空比为50%的奇数分频器。另一种方案是(N+1)/2个高电平,(N-1)/2个低电平,那么最后输出C=A&B。
    以C = A|B为例,将A延时半个时钟周期的方法有2种,方法1是直接使用下降沿的锁存器对A锁存得到B,方法2得到B的原理与A相同,不过是在下降沿检测(假设A是上升沿检测)。

    图2 奇数分频波形

    采用D触发器的话,采用方法1,用一个下降沿的D触发器锁存A=clkp1得到信号B=clkn1,把信号A和信号B做逻辑“与”就得到了占空比50%的分频时钟信号clkout[1]。

    图3奇数分频

     

    下面给出N为正整数的分频器设计,主要原理是N[0]=1为奇数分频,0为偶数分频。

    module practice_demo(
        input clk,
        input arst,
        
        output clk_div
        );   
    parameter N = 5;
    reg [2:0] cnt;
    reg clk_a;
    reg clk_b;
    wire clk_c;
    
    always@(posedge clk or posedge arst)
    begin
        if(arst)
            cnt <= 0;
        else if(cnt == N-1)
            cnt <= 0;
        else
            cnt <= cnt + 1;    
    end
    
    always@(posedge clk or posedge arst)
    begin
        if(arst)
            clk_a<= 0;
        else if(cnt == (N-1)/2 || cnt == N-1)
            clk_a<= ~clk_a;
        else
            clk_a<= clk_a;    
    end
    
    /*****************方法1**********************/
    always@(negedge clk or posedge arst)
    begin
        if(arst)
            clk_b <= 0;
        else 
            clk_b <= clk_a;
    end
    /******************方法2********************/
    //always@(negedge clk or posedge arst)
    //begin
    //    if(arst)
    //        clk_b<= 0;
    //    else if(cnt == (N-1)/2 || cnt == N-1)
    //        clk_b<= ~clk_b;
    //    else
    //        clk_b<= clk_b;    
    //end
    /*********************************************/
    
    assign clk_c = clk_a | clk_b;
    //N[0]=1奇数,否则偶数
    assign clk_div = N[0] ? clk_c : clk_a;
    
    endmodule

    3.半整数分频

    说明:占空比非50%
    网上广为流传的一种分频结果是,半分频多出来那半个周期为高电平,其余为低电平。例如N=5.5,以原时钟的一半为单位,可以分频输出1高10低。原理是用计数器循环计数0-10即11个周期,控制输出X前6周期高电平,后5周期低电平,然后再使用计数器得到一个下降沿触发的5低6高的输出Y,最后输出Z = X&Y。

    图4半整数分频的波形

    给出Verilog设计:

    module for_practice(
    input clk,
    input arst,
    output  clk_div         
        );
    parameter N = 5;//5.5分频
    reg[31:0]cnt1;
    reg clkx;
    reg clky;
    always@(posedge clk or posedge arst)
    begin
        if(arst)
            cnt1 <= 0;
        else if(cnt1 == 2*N)
            cnt1 <= 0;
        else
            cnt1 <= cnt1+ 1;          
    end
    
    always@(posedge clk or posedge arst)
    begin
        if(arst)
            clkx <= 0;
        else if(cnt1 == 2*N)//
            clkx <= 1;
        else if(cnt1 == N)///
            clkx <= 0;          
    end
    
    always@(negedge clk or posedge arst)
    begin
        if(arst)
            clky <= 0;
        else if(cnt1 == 0)///
            clky <= 0;
        else if(cnt1 == N)//
            clky <= 1;          
    end
    
    assign clk_div =  clkx & clky;
    
    endmodule 

    另外一种做法是想得到接近50%的占空比,例如5分频得到3个高电平,2.5个低电平,其思路是控制clk,使得计数器值等于某一值只保持半个周期。参考[3]

    4.分数(小数)分频

    此部分主要参考[1][2].

    说明:占空比非50%

    比如8.7分频。因为没办法用计数器表示0.7这种数字,所以就用一个等效的概念来进行8.7分频,原时钟87个周期的总时间等于分频后的时钟10个周期的总时间;

    先做3次8分频得到时钟周期数是24,再做7次9(8加1)分频得到时钟周期数63,总共就87个时钟周期;在这87个时钟周期里面分频时钟跳变20次总共10个周期。分数分频器的原理可以用下图来概括。

    图5分数分频的原理

    用整数部分zn(=8)作为一个分频系数,zn加1(=9)作为另外一个分频系数组成一个小数分频器。

    根据上面的原理可以列出下面的二元一次方程组

    zn*N+(zn+1)*M=87   ……(1)

    N+M=10                    ……(2)

    可以解出N和M的值分别是3和7。

    ACC计数器设计,在这里ZN=8:

    ACC计数器就是控制做N次ZN分频和M次ZN+1次分频,具体控制过程可以分为以下几种情况:

    第1种情况 :先做N次ZN分频,再做M次ZN+1次分频;

    第2种情况: 先做M次ZN+1次分频,再做N次ZN分频;

    第3种情况 :把N次ZN分频平均插入到M次ZN+1分频中;

    第4种情况 :把M次ZN+1次分频平均插入到N次ZN分频中。

    组合N次ZN分频和M次ZN+1次分频的情况很多。第1、2种情况前后时钟频率不太均匀,因此相位抖动比较大;

    第3、4种情况前后时钟频率均匀性稍好,因此相位抖动会减小,因此最终采用3或4。如图6

    图6分数分频的几种控制过程

     

    具体Verilog设计请参考[2].

    参考资料:

    [1]时钟分频系列——偶数分频 奇数分频 分数分频
    [2]时钟分频系列——分数分频电路的Verilog实现
    [3]基于Verilog的偶数、奇数、半整数分频以及任意分频器设计

    展开全文
  • 通常我们说对原时钟进行N分频,即分频后的时钟的一个周期是原时钟周期的N倍。N可以为偶数、奇数、半整数、分数(小数)。1.偶数分频Verilog:N为偶数,使用一个计数器循环0-(N-1)...
  • D触发器的二分频电路

    千次阅读 2011-08-22 13:02:00
    D触发器的Q非端接到数据输入端D即可实现二分频,说白了就是CLK时钟信号的一个周期Q端电平反转一次,很好理解。 S 和R 接至基本RS 触发器的输入端,它们分别是预置和清零端,低电平有效。当S=1且R=0时,不论输入端D...
  • 我们都知道,利用D触发器可以实现分频,并且D触发器实现2的幂次方很容易,只要将它们简单的连起来就可以,那么如何利用D触发器实现任意倍数的分频呢?这里就需要对数电的知识有所了解了,这里就不阐述了,数电书翻...
  • 使用D触发器实现的2分频,非常经典,本人测试过,真是可靠,欢迎大家使用
  • 首先要理解的是利用D触发器实现2分频的思路:verilog代码如下:module div_2 ( input clk_in,input rst ,output clk_out);reg clk;always @( posedge clk or negedge rst )beginif( !rst )clk&lt;= 1'h0;else ...
  • 任务:请用74LS74构成一个4分频器,即输出信号的频率为输入信号频率的四分之一 一种仿真电路如下所示 该电路仿真波形如下图所示 仿真文件已放置于资源中,无需CB即可下载
  • 使用2个D触发器(1片74LS74芯片)可以用两种方法接成四分频电路 方法一:先接成两个二分频电路,再相连就是四分频电路,依次类推可以做成八分频、十六分频........... 方法二:直接四分频电路 结论:这两种...
  • 题目:用D触发器带同步高置数和异步高复位端的二分频的电路,画出逻辑电路,Verilog描述。 reg Q; always @(posedge clk or posedge rst)begin if(rst == 1'b1) Q <= 1'b0; else if(set == 1'b1) Q <= 1'b1...
  • D触发器实现分频器

    2021-04-27 11:54:10
    对于分频器的实现,我们最常用的方法就是通过计数器来实现,具体的实现可以看前面的文章,但是通过D触发器实现却很少遇到,我将通过这篇文章讲解D触发器实现分频器,这里以9分频为例。 我们要实现的是通过D触发器和...
  • 触发器实验

    2013-06-21 00:53:39
    1.搭接一个基本RS触发器,并对其功能进行测试,填写基本RS触发器的特性表。 2.对边缘D触发器74 LS74的逻辑功能进行测试,填写D触发器的特性表。 3.用D触发器实现分频功能。
  • 文章主要参考---FPGA数字逻辑设计教程,郑利浩、王荃等译,电子工业出版...1. D触发器的构成原理及真值表1.1 两个交叉耦合的反向器可以存储两个不同的状态在此基础上,可以利用两个与非门构成SR锁存器1.2 SR锁存器...
  • 17年电赛综合测评——四分频电路

    千次阅读 2019-07-07 11:03:47
    D触发器实现四分频电路
  • 电子电路设计——分频电路设计

    千次阅读 2020-04-25 12:55:49
    本文利用555定时器产生100Hz方波信号,再用4个D触发器将其变为16分频的6.25Hz电路。 一、前置知识 555定时器产生信号方式详见博客:555定时器及应用 Multisim中快速生成所需定时器方法详见博客:Multisim快捷生成...
  • 相关文章: Verilog设计(二):分频电路设计 https://blog.csdn.net/qq_26652069/article/details/90759052 基于verilog的分频器设计(奇偶分频原理及其电路实现:上)...D触发器实现二分频电路(D触发器构成的2分...
  • 使用一片74LS74实现四分频

    千次阅读 2020-04-01 12:54:22
    把 U1 的 ~Q1 输出端接到 D1 输入端, 需要分频的信号输入 时钟信号输入端 CLK1,这样每来一次 CLK1 脉冲 使 D触发器的状态就会翻转一次(输出高电平转为低电平 或 输出低电平转为高电平),所以来两次 CLK1 脉冲就....
  • 分频,搞定只需分分钟 通常我们说对原时钟进行N分频,即分频后的时钟的一个周期是原时钟周期的N倍。N可以为偶数、奇数、分数(小数)。...若采用D触发器画出分频器,单个D触发器的反向输出到输入就构成了一个简单的
  • 分频过程类似于D触发器的输出信号反馈控制输入端信号的原理;在不更换器件的情况下,简单改变反馈顺序,还可以实现光时钟信号的倍频。从时/频域的角度分别讨论了分频/倍频的原理,在实验上验证了所提方案的可行性,...
  • 奇数偶数分频电路(占空比50%)

    千次阅读 2020-06-25 17:41:52
    分频电路简单,只需要一个D触发器,将触发器的输出Q反相之后再接回输入D端即可完成。代码如下图所示: 三分频 三分频电路比较复杂一点,因为要保证占空比为50%,所以势必分频后的时钟信号有一个沿是跟着输入时钟的...

空空如也

空空如也

1 2 3 4 5 6
收藏数 101
精华内容 40
关键字:

d触发器分频