如何用计数器fpga实现任意分频频

如何用计数器实现任意分频_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
如何用计数器实现任意分频
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢FPGA学习笔记8:任意分频程序(verilog)
分频是FPGA入门学习者的第一课,因此掌握各种系数分频也是非常重要的技能,先就目前我所知道的分频技能总结如下:
第一、偶数倍分频
&&偶数倍分频应该是最容易实现的分频。实现方法有两种:
1)进行N倍偶数分频,可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟在计数到N/2-1时进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。以此循环下去。
2)进行N倍偶数分频,可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N-1时,输出时钟在计数到N/2-1以及N-1时进行翻转,并在计数到N-1时给计数器一个复位信号,使得下一个时钟从零开始计数。以此循环下去。
以上两种方法都可以实现任意的偶数分频。
代码示例:实现8分频
clk_div(clk,rst_n,& divclk,num);
rst_n;//复位信号
output[10:0]//计数器
reg [10:0]
@(posedge clk or negedge rst_n)
(!rst_n)& num&=11'd0;
&if (num ==11'd3)
num&=11'd0;
num&=num+1'b1;
@(posedge clk or negedge rst_n)
(!rst_n) divclk&=1'b0;
if(num==11'd3) divclk&=~
clk_div(clk,rst_n,&divclk,num);
//输入时钟为100Mhz
rst_n;//复位信号
output[10:0]//计数器
@(posedge clk or negedge rst_n)
(!rst_n)& num&=11'd0;
&if (num ==11'd7)
num&=11'd0;
num&=num+1'b1;
@(posedge clk or negedge rst_n)
(!rst_n) divclk&=1'b0;
if((num==11'd3)||(num==11'd7)) divclk&=~
&endmodule
第二、奇数倍分频
1)对于实现占空比不是50%意外的N倍奇数分频,可以通过计数器来实现。如想实现占空比为1:2的3分频,由待分频的时钟触发计数器模三计数,然后在计数到1、2时进行翻转波形,即可实现分频。
2)对于实现占空比为50%的N倍奇数分频,首先进行上升沿触发进行模N计数,计数选定到某一个值进行输出时钟翻转,然后经过(N-1)/2再次进行翻转得到一个占空比非50%奇数n分频时钟。再者同时进行下降沿触发的模N计数,到和上升沿触发输出时钟翻转选定值相同值时,进行输出时钟时钟翻转,同样经过(N-1)/2时,输出时钟再次翻转生成占空比非50%的奇数n分频时钟。两个占空比非50%的n分频时钟相或运算,得到占空比为50%的奇数n分频时钟。
代码示例:实现奇数分频
1)占空比为1:2的3分频
clk_div(clk,rst_n,&divclk,num);
//输入时钟为100Mhz
rst_n;//复位信号
output[10:0]//计数器&
@(posedge clk or negedge rst_n)
(!rst_n)& num&=11'd0;
&if (num ==11'd2)
num&=11'd0;
num&=num+1'b1;
@(posedge clk or negedge rst_n)
(!rst_n) divclk&=1'b0;
if((num==11'd1)||(num==11'd2)) divclk&=~
&endmodule
2)占空比为50%的3分频
clk_div(clk,rst_n,
&&&&&&&&&&&&&&
divclk1,divclk2,
&&&&&&&&&&&&&
//输入时钟为100Mhz
rst_n;//复位信号
//output[10:0]//计数器
[10:0]num1;
[10:0]num2;
@(posedge clk or negedge rst_n)
(!rst_n)& num1&=11'd0;
&if (num1 ==11'd4)
num1&=11'd0;
num1&=num1+1'b1;
@(negedge clk or negedge rst_n)
(!rst_n)& num2&=11'd0;
&if (num2 ==11'd4)
num2&=11'd0;
num2&=num2+1'b1;
@(posedge clk or negedge rst_n)
(!rst_n) divclk1&=1'b0;
if((num1==11'd2)||(num1==11'd4)) divclk1&=~divclk1;
@(negedge clk or negedge rst_n)
(!rst_n) divclk2&=1'b0;
if((num2==11'd2)||(num2==11'd4)) divclk2&=~divclk2;
divclk=divclk1|divclk2;
&endmodule
第三、任意小数分频实现
直接频率合成法(DDS)是重要的频率合成方法,在波形发生器中有极其重要的应用。该方法主要通过相位累加器循环计数,循环叠加一定的步长,从而得到固定频率的波形数据。
fc是系统时钟,f0是期望分频信号,k是分频系数,K是累加器控制字,N是累加器的位数。则通过下式计算出控制字K:
如为实现2.5分频,系统时钟为100M,期望分频时钟为40M,累加器为32位首先可计算得:
k=100/40=2.5 &
&K=(1/2.5)*2^32=.4
&&&&&&&&转化成十六进制为,其所得结果即为累加器控制字。
程序示例: &实现 2.5分频
module clk_div(clk,rst_n,clkdiv);
//时钟100M
input rst_n;
//input[31:0]
parameter STEP=32'h &;&
&//累加器控制字
reg[31:0]&
always @(posedge clk or negedge rst_n)
(!rst_n)result&=32'b0;
&else result&=result+STEP;
assign &clk_result=result[31];
assign clkdiv=clk_
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。分频计数器_中国百科网
专题字母分类:  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  
您现在的位置: >
> 专题内容:
分频计数器
如图所示分频电路对于正弦波、方波还是正脉冲,只要峰值达到0.5~5V之间,即可被触发。电路的工作频率可达40MHz。分频器的输入信号经限幅放大器Q1驱动J―K触发器,最后通过缓冲器Q2输出。晶体管Q1是为了对第一级分频提供适当的触发电平...
如图所示为输出波形对称的奇次分频计数电路。有时需要将钟脉冲作为奇次分频,而且要求输出有50%的占空比。这种情况在一般的计数器中加两个触发器和几个门电路即可达到上述要求,如图所示。当计数器的20位输出为逻辑“l”,21和22位输出为逻辑“0...
如图所示为输出波形对称的奇次分频计数电路。有时需要将钟脉冲作为奇次分频,而且要求输出有50%的占空比。这种情况在一般的计数器中加两个触发器和几个门电路即可达到上述要求,如图所示。当计数器的20位输出为逻辑“l”,21和22位输出为逻辑“0...
??图3是可逆、可预置计数器CD4029构成的任意N分频减法计数电路,U/D接“L”电平进行减法计数,B/D接“L”电平按BCD输出码进行计数,低位的Co进位到高位的CT输入进行进位计数,按BCD计数连接可实现0-299分频,按二进制连接...
技术特点资料来源: /Product/P13209.html 产品特点: (1)本系列产品主要由电压变换器、整流稳压器、晶体振荡/分频/计数器、集成电路、拨码开 关、及执行继电器等组成的“元器件组合...
计数器的主要性能   1、 测试功能   电子计数器所具备的测试功能一般包括测量频率、周期、 频率比、时间间隔、累加计数和自校等。   2、 测量范围   电子计数器的有效测量范围是相对于测量功能而言的, 不同的测量功能其测量范围的含义也...
74ls393是双4位二进制计数器,按你的图连法,信号从1A入,然后从1QD=6脚 输出是16分频。 16分频后又进入2A=13脚,此时2QA=11脚输出为32分频信号。你量11脚,输出的就是32分频信号。图对,要是芯片是好的,应该没问题。 ...
该文章讲述了面试之2-4分频及N分频!. 用 于N=2-4分频比的电路,常用双D-FF或双JK-FF器件来构成,分频比n>4的电路,则常采用计数器(如可预置计数器)来实现更为方便,一般无需再用单个FF来组合。 下图的分频电路输出占空比均为...
第一,偶数倍分频:偶数倍分频应该是大家都比较熟悉的分频,通过计数器计数是完全可以实现的。如进行N倍偶数分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟...
如果分频系数恰好是2的N次方,比如2、4、8、16,只要用D触发器或计数器就可以完成分频,只要分频系数不是2的N次方,那就一定要用到计数器和与门(或与非门),比如30分频可以用计数器的输出端作为与门(或与非门)的输入来实现30分频,把计数...
双稳态分频电路图 ...
任意分频电路图 ...
该文章讲述了10分频电路图讲解. 10分频电路 任意分频电路图 ...
和时间校正功能。 关键字: 震荡器 分频 计数器该元件专为数字钟电路而设计,其频率较低,有我知道了如何设计出1HZ的信号,也对时分秒的设计有了 ...
摘要:本文讨论了用于高速串行收发系统接收端的时钟分频电路的设计。通过对扭环计数器工作原理的分析,提出了一种基于类扭环计数器的分频电路,该电路可以模式可选的实现奇数和偶数分频,并达到相应的占空比。所设计电路在SMIC 0.18um CMOS...
清楚地看到Q0,Q1,Q2的周期分别是计数脉冲(CP)周期的2倍,4倍、8倍,也就是说Q0,Q1,Q2,分别对CP波形进行了二分频,四分频,八分频,因而计数器也可作为分频器。   需要说明的是,由图8.4.3中的虚线波形可知,在考虑各触发器...
如图所示是可选分频系数延时电路。电路由两片7位二进制串行计数器CC4024、可控脉冲源(门1、 2组成)及输入、输出等控制电路构成。 ...
如图所示是可选分频系数延时电路。电路由两片7位二进制串行计数器CC4024、可控脉冲源(门1、 2组成)及输入、输出等控制电路构成。 ? ...
目前,放大整形分频电路在当代的应用可谓是越来越广泛,放大整形分频电路是值得我们好好学习的,现在我们就深入了解放大整形分频电路,希望本文能对各位读者有比较大的参考价值。 放大整形分频电路 放大整形分频电路 综上所述,本文已为讲解放大整形分频...
Mail: Copyright by ;All rights reserved.用verilog对任意占空比的矩形波进行分频如果用计数器进行分频,分频后占空比会变成50%.用什么方法能保证分频后占空比不变?
对于分频模块,一般设计中是采用PLL(锁相环,phase locked loop). 如果非要用verilog描述这个硬件电路的话,可以先计算矩形波高低电平所需时钟周期, 低电平所需即为cnt1,高为cnt2,将时钟按所需系数分频为新的时钟clk2, 用clk2根据cnt1、cnt2分频就得到所需结果了.
为您推荐:
其他类似问题
扫描下载二维码采用中规模集成器件设计任意模值计数器
查看: 454|
摘要: 中规模时序逻辑器件常见的主要包括计数器、锁存器、移位寄存器等。下面重点介绍用中规模集成器件实现任意模值计算(分频)器的方法。 应用N 进制中规模集成器件实现任意模值M(M<N )计算分频时,主要从N 进制计数 ...
&&&&中规模时序逻辑器件常见的主要包括计数器、锁存器、移位寄存器等。下面重点介绍用中规模集成器件实现任意模值计算(分频)器的方法。&&&& 应用N 进制中规模集成器件实现任意模值M(M<N )计算分频时,主要从N 进制计数器的状态转移表中跳跃(N-M )个状态,从而得到M 个状态转移的M 计数分频器。通常利用中规模集成器件的清除端和置入控制端进行设计。&&&& 1.利用清除端的复位法&&&& 当中规模N 进制计数器从S0状态开始计数时,计数器输入M 个脉冲后,N 进制计数器处于SM 状态,利用SM 状态产生一个清除信号,加到清除端,使计数器返回到S0状态,这样就跳跃了(N-M )个状态,从而实现模值为M 的计数分频。&&&& 2.利用置入控制端的置位法&&&&利用中规模器件的置入控制端,可以置入某一固定二进制数值,从而使N 进制计数器跳跃(N-M )个状态,实现模值为M 的计数分频。&&&&1、 74161的应用 &&&&例1 用74161构成九进制加计数器&&&&解:九(N =9)进制计数器有九个状态,而74161在计数过程中有16(M =16)个状态,因此属于M &N 的情况。此时必须设法跳过M -N(=16-9=7)个状态。通常用两种方法实现,即反馈清零法和反馈置数法。&&&&1. 反馈清零法反馈清零法适用于有清零输入端的集成计数器。74161具有异步清零功能,在其计数过程当中,不管它的输出处于哪一状态,只要在异步清零输入端加一低电平电压,使RD=0,74161的输出会立即从那个状态回到0000状态。清零信号(RD=0)消失后,74161又从0000状态开始重新计数。&&&&图1(a)所示的九进制计数器,就是借助74161的异步清零功能实现的。图1(b)是该九进制计数器的主循环状态图。&&&&
图1& 用反馈清零法将74161接成九进制计数器(a)逻辑(b)主循环状态图&&&&由图可知,7状态开始计数,当输入第九个CP 脉冲(上升沿)时,输出QDQCQBQA=1001,通过与非门译码后,反馈给RD0端一个清零信号,立即使QDQCQBQA返回0000状态,接着,RD端的清零信号也随之消失,74161重新从0000状态开始新的计数周期。要说明的是,此电路一进入1001状态后,立即又被置成0000状态,即1001状态仅在极短的瞬间出现,因此,在主循环状态图中用虚线表示。这样就跳过了七个状态,获得了九进制计数器。&&&&具有同步清零功能的M 进制集成计数器也可用反馈清零法构成N 进制计数器。&&&&2. 反馈置数法 &&&&反馈置数法适用于具有预置数功能的集成计数器。对于具有同步预置数功能的计数器而言,在其计数过程中,可以将它输出的任何一个状态通过译码,产生一个预置数控制信号反馈至预置数控制端,在下一个CP 脉冲作用后,计数器就会把预置数输入端A、B、C、D的状态置入输出端。预置数控制信号消失后,计数器就 从被置入的状态开始重新计数。图2(a)和图3都是借助同步预置数功能,采用反馈置数法,用74161构成九进制计数器的。&&&&
图2 &用反馈置数法将74161接成九进制计数器(a)逻辑电路图(b)主循环状态图 &&&&其中图2(a)的接法是把输出QDQCQBQA=1000状态译码产生预置数控制信号0,反馈至LD 端,在下一个CP 脉冲的上升沿到达时置入0000状态。图2(b)是图2(a)电路的主循环状态图。其中这8个状态是74161进行加1计数实现的,0000是由反馈(同步)置数得到的。由此可见,在图2(a)中,反馈置数操作可在74161计数循环状态()中的任何一个状态下进行。例如可将QDQCQBQA=1111状态的译码信号加至LD端,这时预置数据输入端应为0111(=)状态。 &&&&图3电路的接法是将74161计数到1111状态时产生的进位信号译码后,反馈到预置数控制端。预置数据输入端置成0111状态。
图3& 反馈置数法的另外一种电路
&&&&该电路从0111状态开始加1计数,输入第8个CP 脉冲后到达1111状态,此时RCO=ET•QD•QC•QB•QA=1,LD=0 。在第9个CP脉冲作用后,QDQCQBQA被置成0111状态,同时使RCO=0,LD=1。新的计数周期又从0111开始。&&&&具有异步置数功能的M 进制集成计数器也可用反馈置数法构成N 进制计数器。&&&&例2 用74HCT161组成256进制计数器 &&&&解:因为N(=256)&M(=16),且256=16×16,所以要用两片74HCT161构成此计数器。每片均接成十六进制。 片与片之间的连接方式有并行进位(低位片的进位信号作为高位片的使能信号)和串行进位(低位片的进位信号作为高位片的时钟脉冲,即异步计数方式)两种。
(a)并行进位方式&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(b)串行进位方式图4 &例2的逻辑电路图
&&&&图4(a)是以并行进位的方式连接的256进制计数器。两片74HCT161的CP 端均与计数脉冲CP 连接,因而是同步计数器。低位片(片1)的使能端ET=EP=1,因而它总是处于计数状态;高位片(片2)的使能端接至低位片的进位信号输出端RCO,因而只有当片1计数至1111状态,使其RCO=1时,片2才能处于计数状态。在下一个计数脉冲作用后,片2计入一个脉冲,片1由1111状态变成0000状态,它的进位信号也变成0,使片2停止计数。&&&&图4(b)是以串行进位的方式连接的256进制计数器。其中,片1的进位输出信号RCO 经反相器反相后作为片2的计数脉冲CP2。显然,这是一个异步计数器。虽然两芯片的使能控制信号都为1,但只有当片1由1111变成0000状态,使其RCO由1变为0,CP2由0变为1时,片2才能计入一个脉冲。其他情况下,片2都将保持原有状态不变。
上一篇:下一篇:
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:

我要回帖

更多关于 计数器与分频器 的文章

 

随机推荐