搜档网
当前位置:搜档网 › Verilog各种倍分频器设计

Verilog各种倍分频器设计

Verilog各种倍分频器设计
Verilog各种倍分频器设计

module odd_division(clk,rst,count,clk_odd); /*count没必要放在端口中,这里只是为了仿真时观察*/

input clk,rst;

output clk_odd;

output[3:0] count;

reg clk_odd;

reg[3:0] count;

parameter N = 6; /*6分频* /

always @ (posedge clk)

if(! rst)

begin

count <= 1'b0;

clk_odd <= 1'b0;

end

else

if ( count < N/2-1)

begin

count <= count + 1'b1;

end

else

begin

count <= 1'b0;

clk_odd <= ~clk_odd;

end

endmodule

奇数倍分频:归类为一般的方法为:对于实现占空比为50%的N倍奇数分频,首先进行上升沿触发进行模N计数,计数从零开始,到N-1)/2进行输出时钟翻转,然后经过(N+1)/2再次进行翻转得到一个占空比非50%奇数n分频时钟。再者同时进行下降沿触发的模N计数,到和上升沿过(N-1)/2时,输出时钟再次翻转生成占空比非50%的奇数n分频时钟。两个占空比非50%的n分频时钟相或运算,得到占空比为50%的奇数n分频时钟。

module even_division(clk,rst,count1,count2,clk_even); /*count1,count2没必要放在端口中,这

里只是为了仿真时观察*/

input clk,rst;

output[3:0] count1,count2;

output clk_even;

reg[3:0] count1,count2;

reg clkA,clkB;

wire clk_even,clk_re;

parameter N = 5; /*5分频*/

assign clk_re = ~clk;

assign clk_even = clkA | clkB;

always @(posedge clk)

if(! rst)

begin

count1 <= 1'b0;

clkA <= 1'b0;

end

else

if(count1 < (N - 1))

begin

count1 <= count1 + 1'b1; /*这里是非阻塞赋值是先执行了下面的IF判断,最后才赋的值。最初看这程序时没注意,想了好半天*/

if(count1 == (N - 1)/2)

begin

clkA <= ~clkA;

end

end

else

begin

clkA <= ~clkA;

count1 <= 1'b0;

end

always @ (posedge clk_re)

if(! rst)

begin

count2 <= 1'b0;

clkB <= 1'b0;

end

else

if(count2 < (N - 1))

begin

count2 <= count2 + 1'b1;

if(count2 == (N - 1)/2)

begin

clkB <= ~clkB;

end

end

else

begin

clkB <= ~clkB;

count2 <= 1'b0;

end

endmodule

Verilog HDL的分频器设计

2009-12-03 10:22

用D触发器实现2倍分频的Verilog描述?module divide2( clk , clk_o, reset);

input clk , reset;

output clk_o;

wire in;

reg out ;

always @ ( posedge clk or posedge reset)

if ( reset)

out <= 0;

else

out <= in;

assign in = ~out;

assign clk_o = out;

endmodule

用verilog实现分频的一点心得2007-08-04 22:40

在用verilog编写程序的过程中,将时钟进行11分频,花了好多的心思才将其搞定。通常实现偶数的分频比较容易,以十分频为例:

always @( posedge clk or posedge reset)

if(reset)

begin

k<=0;

clk_10<=0;

end

else

if(k==4)

begin

k<=0;

clk_10<=~clk_10;

end

else

k<=k+1;

二分频最简单了,一句话就可以了:always @ (negedge clk)

clk_2<=clk_2;

若进行奇数分频,则稍微麻烦点,以11分频为例:

always @( posedge clk)

if(!reset)

begin

i<=0;

clk11<=0;

end

else

if(i==5)

begin

clk11<=~clk11;

i<=i+1;

end

else

if(i==10)

begin

i<=0;

clk11<=~clk11;

end

else

i<=i+1;

以上语句虽然可以实现,但是逻辑有点繁,弄不好就出错了,建议使用两个always语句来实现:

always @( posedge clk)

if(!reset)

i<=0;

else

begin

if(i==10)

i<=0;

else

i<=i+1;

end

always @( posedge clk)

if(!reset)

clk11<=0;

else

if((i==5)|(i==10))

clk11<=~clk11;

两个always,一个用来计数,一个用来置数。另外,这个样子好像也可以,在时钟的上升沿和下降沿都计数,但是不被综合器综合,会提示敏感信号太复杂:

always @( posedge clk or negedge clk)

if(reset)

begin

k<=0;

clk_11<=0;

end

else

if(k==10)

begin

k<=0;

clk_11<=~clk_11;

end

else

k<=k+1;

三分频的Verilog实现

rickywu 发表于2005-12-12 11:14:00

//很实用也是笔试面试时常考的,已经经过仿真

占空比要求50%和不要求占空比差别会很大,先看一个占空比50%的描述module div3(CLKIN,CLKOUT,RESETn);

input CLKIN,RESETn;

output CLKOUT;

//internal counter signals

reg[1:0] count_a;

reg[1:0] count_b;

reg CLKOUT;

always @(negedge RESETn or posedge CLKIN)

begin

if (RESETn==1'b0)

count_a<=2'b00;

else

if (count_a==2'b10)

count_a<=2'b00;

else

count_a<=count_a+1;

end

always @(negedge RESETn or negedge CLKIN)

begin

if (RESETn==1'b0)

count_b<=2'b0;

else

if (count_b==2'b10)

count_b<=2'b00;

else

count_b<=count_b+1;

end

always @(count_a or count_b or RESETn)

begin

if (RESETn==1'b0)

CLKOUT=1'b0;

else if((count_a+count_b==4)||(count_a+ count_b==1)) CLKOUT=~CLKOUT;

end

endmodule

0 1 2 0 1 2

\ / / \ \ / / \

0 1 2 0 1 2

下面是一个非50%的描述,只用了上升沿

module div3(CLKIN,CLKOUT,RESETn);

input CLKIN,RESETn;

output CLKOUT;

wire d;

reg q1,q2;

wire CLKOUT;

always @(negedge RESETn or posedge CLKIN) begin

if (RESETn==1'b0)

q1<=1'b0;

else

q1<=d;

end

always @(negedge RESETn or posedge CLKIN) begin

if (RESETn==1'b0)

q2<=1'b0;

else

q2<=q1;

end

assign d=~q1 & ~q2;

assign CLKOUT=q2;

endmodule

占空比不是50%,只用了单沿触发器,寄存器输出。

至于其他奇数要求50%的或者不要求的占空比的,都可以参照上面两个例子做出。占空比为50%的一个更好的实现。

module div3(CLKIN,CLKOUT,RESETn);

input CLKIN,RESETn;

output CLKOUT;

//internal counter signals

reg[1:0] count_a;

reg b,c;

//reg CLKOUT;

wire CLKOUT;

always @(negedge RESETn or posedge CLKIN)

begin

if (RESETn==1'b0)

count_a<=2'b00;

else

if (count_a==2'b10)

count_a<=2'b00;

else

count_a<=count_a+1;

end

always @(negedge RESETn or negedge CLKIN)

begin

if (RESETn==1'b0)

b<=1'b0;

else

if (count_a==2'b01)

b<=2'b0;

else

b<=1'b1;

end

always @(negedge RESETn or posedge CLKIN)

begin

if (RESETn==1'b0)

c<=1'b0;

else

if (count_a==2'b10)

c<=1'b1;

else if (count_a==2'b01)

c<=1'b0;

end

assign CLKOUT=b & c;

endmodule

如果不考虑占空比,直接利用计数器来进行分频,则占空比会发生变化。下面程序实现1:1的三分频。

module dev3_1(clkin,clkout);

input clkin;

output clkout;

reg [1:0]s1,s2;

always@(posedge clkin)begin

case(s2)

2'b00:s2<=2'b01;

2'b01:s2<=2'b10;

2'b10:s2<=2'b00;

default:s2<=2'b00;

endcase

end

always@(negedge clkin)begin

case(s1)

2'b00:s1<=2'b01;

2'b01:s1<=2'b10;

2'b10:s1<=2'b00;

default:s1<=2'b00;

endcase

end

assign clkout=~(s1[1]|s2[1]);

endmodule

N倍偶数分频器.(Verilog)

N_bit_even_divider.v / Verilog

--------------------------------------------------------------------------------

module N_bit_even_divider (

input i_clk,

input rst_n,

output reg o_clk

parameter N = N_bit_even;

// bit_of_N: N_bit_even的二进制位宽

// 当N=2时, (bit_of_N - 1)取2, 仿真可观察到计数器变化; // (bit_of_N - 1)取1或0, 不影响结果.

reg [(bit_of_N - 1):0] cnt; // 计数器单元

// 上升沿计数: 0~(N-1)

always @ (posedge i_clk, negedge rst_n)

begin

if (!rst_n)

cnt <= 0;

else

begin

if (cnt == N-1)

cnt <= 0;

else

cnt <= cnt + 1;

end

end

// 生成上升沿时钟

// 0~(N/2-1) ↑ -> 1; (N/2)~(N-1) ↑ -> 0

always @ (posedge i_clk, negedge rst_n)

begin

if (!rst_n)

o_clk <= 0;

else

begin

if (cnt <= (N/2-1))

o_clk <= 1;

else

o_clk <= 0;

end

end

endmodule

-------------------------------------------------------------------------------- 仿真波形

图1. N_bit_even = 2, (bit_of_N - 1)取1或0)

图2. N_bit_even = 2, (bit_of_N - 1)取2)

图3. N_bit_even = 4

图4. N_bit_even = 6

N倍奇数分频器.(Verilog)

N_bit_odd_divider.v / Verilog

module N_bit_odd_divider (

input i_clk,

input rst_n,

output o_clk

);

parameter N = N_bit_odd; // 设置奇数(除1外)倍分频

// bit_of_N: N_bit_odd的二进制位宽

reg [(bit_of_N - 1):0] cnt_p; // 上升沿计数单位

reg [(bit_of_N - 1):0] cnt_n; // 下降沿计数单位

reg clk_p; // 上升沿时钟

reg clk_n; // 下降沿时钟

assign o_clk = clk_n & clk_p; // 按位与(作用:掩码) // 上升沿计数器: 0~(N-1)

always @ (posedge i_clk or negedge rst_n)

begin

if (!rst_n)

cnt_p <= 0;

else

begin

if (cnt_p == N-1)

cnt_p <= 0;

else

cnt_p <= cnt_p + 1;

end

end

// 生成上升沿时钟

// 0~(N>>1) ↑ -> 1; ((N>>1)+1)~(N-1) ↑ -> 0 always @ (posedge i_clk or negedge rst_n)

begin

if (!rst_n)

clk_p <= 0;

else

begin

if (cnt_p <= (N>>1)) // 0 ~ (N>>1)

clk_p <= 1;

else

clk_p <= 0;

end

end

// 下降沿计数器: 0~(N-1)

always @ (negedge i_clk or negedge rst_n) begin

if (!rst_n)

cnt_n <= 0;

else

begin

if (cnt_n == N-1)

cnt_n <= 0;

else

cnt_n <= cnt_n + 1;

end

end

// 生成下降沿时钟

// 0~(N>>1) ↓ -> 1; ((N>>1)+1)~(N-1) ↓ -> 0 always @ (negedge i_clk or negedge rst_n) begin

if (!rst_n)

clk_n <= 0;

else

begin

if (cnt_n <= (N>>1)) // 0 ~ (N>>1)

clk_n <= 1;

else

clk_n <= 0;

end

end

endmodule

仿真波

Verilog各种倍分频器设计

module odd_division(clk,rst,count,clk_odd); /*count没必要放在端口中,这里只是为了仿真时观察*/ input clk,rst; output clk_odd; output[3:0] count; reg clk_odd; reg[3:0] count; parameter N = 6; /*6分频* / always @ (posedge clk) if(! rst) begin count <= 1'b0; clk_odd <= 1'b0; end else if ( count < N/2-1) begin count <= count + 1'b1; end else begin count <= 1'b0; clk_odd <= ~clk_odd; end endmodule 奇数倍分频:归类为一般的方法为:对于实现占空比为50%的N倍奇数分频,首先进行上升沿触发进行模N计数,计数从零开始,到N-1)/2进行输出时钟翻转,然后经过(N+1)/2再次进行翻转得到一个占空比非50%奇数n分频时钟。再者同时进行下降沿触发的模N计数,到和上升沿过(N-1)/2时,输出时钟再次翻转生成占空比非50%的奇数n分频时钟。两个占空比非50%的n分频时钟相或运算,得到占空比为50%的奇数n分频时钟。 module even_division(clk,rst,count1,count2,clk_even); /*count1,count2没必要放在端口中,这

里只是为了仿真时观察*/ input clk,rst; output[3:0] count1,count2; output clk_even; reg[3:0] count1,count2; reg clkA,clkB; wire clk_even,clk_re; parameter N = 5; /*5分频*/ assign clk_re = ~clk; assign clk_even = clkA | clkB; always @(posedge clk) if(! rst) begin count1 <= 1'b0; clkA <= 1'b0; end else if(count1 < (N - 1)) begin count1 <= count1 + 1'b1; /*这里是非阻塞赋值是先执行了下面的IF判断,最后才赋的值。最初看这程序时没注意,想了好半天*/ if(count1 == (N - 1)/2) begin clkA <= ~clkA; end end else begin clkA <= ~clkA;

分频器设计实验报告

竭诚为您提供优质文档/双击可除分频器设计实验报告 篇一:n分频器分析与设计 一、实验目的 掌握74190/74191计数器的功能,设计可编程计数器和n分频器,设计(n-1/2)计数器、分频器。 二、实验原理 分频是对输入信号频率分频。1、cD4017逻辑功能 2、74190/74191逻辑功能 3、集成计数器级联 当所需计数器模数超过所选计数器最大计数状态时,需要采取多片计数器级联。方法分为异步级联和同步级联。4、集成计数器的编程 在集成计数器的时序基础上,外加逻辑门电路等,反馈集成计数器的附加功能端,达到改变计数器时序的目的。可采用复位编程和置数编程两种。5、多片74190/74191计数器级联 可根据具体计数需求和增减需求,选用74190或74191,

选择不同功能、同步或异步设计等。 6、74190/74191计数器编程 由于没有复位端,因此只能使用置数编程,置数端置为0即可异步置数。可根据需求设计n进制加法或减法计数器。 n与译码逻辑功能如下。 7、74191组成(n-1/2)分频器电路如下图: u3 计数器的两个循环中,一个循环在cp的上升沿翻转;另一个是在cp的下降沿翻转,使计数器的进制减少1/2,达到(n-1/2)分频。 三、实验仪器 1、直流稳压电源1台 2、信号发生器1台 3、数字万用表1台 4、实验箱1台 5、示波器1台 四、仿真过程 1、按照cD4017和74191功能表验证其功能。 2、74191组成可编程计数器 (1)构成8421bcD十进制加法计数器,通过实验验证正确性,列出时序表。设计图如下 仿真波形如下 (2)构成8421bcD十进制减法计数器,通过实验验证正确性,列出时序表。设计图如下: 仿真波形如下

用Verilog语言实现任意整数分频器

用Verilog语言实现任意整数分频器 分频器是FPGA设计中使用频率非常高的基本设计之一,尽管在目前大部分设计中,广泛使用芯片厂家集成的锁相环资源,如赛灵思(Xilinx)的DLL.来进行时钟的分频,倍频以及相移。但是对于时钟要求不高的基本设计,通过语言进行时钟的分频相移仍然非常流行,首先这种方法可以节省芯片内部的锁相环资源,再者,消耗不多的逻辑单元就可以达到对时钟操作的目的。另一方面,通过语言设计进行时钟分频,可以看出设计者对设计语言的理解程度。因此很多招聘单位在招聘时往往要求应聘者写一个分频器(比如奇数分频)以考核应聘人员的设计水平和理解程度。下面讲讲对各种分频系数进行分频的方法:第一,偶数倍分频:偶数倍分频应该是大家都比较熟悉的分频,通过计数器计数是完全可以实现的。如进行N倍偶数分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。以此循环下去。这种方法可以实现任意的偶数分频。电路上只需一个D触发器和一个非门即可实现,Q(n+1)=D,D=~Q(n),clk_out=Q(n+1) . 第二,奇数倍分频:奇数倍分频常常在论坛上有人问起,实际上,奇数倍分频有两种实现方法: 占空比为非50%的三分频时钟,完全可以通过计数器来实现,如进行三分频,通过待分频时钟上升沿触发计数器进行模三计数,当计数器计数到邻近值进行两次翻转,比如可以在计数器计数到1时,输出时钟进行翻转,计数到2时再次进行翻转。即是在计数值在邻近的1和2进行了两次翻转。这样实现的三分频占空比为1/3或者2/3。 module three(clk_in,rst,clk_out); // 三倍频 inputclk_in,rst; output clk_out; reg clk_out; reg [1:0] count; always @(negedgerst or posedgeclk_in) begin if(rst==0) begin count<=0; clk_out<=0; end else begin count<=count+1; if(count==1) clk_out<=~clk_out; else if(count==2) begin clk_out=~clk_out; count<=0; end end end endmodule 仿真图 另一种实现: module div3(CLKIN,CLKOUT,RESETn); //依然是三倍频 inputCLKIN,RESETn;

分频器的设计2014-1-10 10.29.8

武汉理工大学《微机原理与接口技术》课程设计报告书

号:
0121105830129
课 程 设 计
题 学 专 班 姓
目 院 业 级 名
分频信号发生器的分析与设计 自动化学院 电气工程及自动化 电气 1107 班 成涛 陈静 教授
指导教师
2014 年
01 月
09 日

武汉理工大学《微机原理与接口技术》课程设计报告书
课程设计任务书
学生姓名: 指导教师: 题 目: 成涛 专业班级: 电气 1107 班 陈静 教授 工作单位: 自动化学院 分频信号发生器的分析与设计
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰 写等具体要求) 1. 设:有一输入方波信号 f0(<1MHz) 。要求输出信号:f1=f0/N,N 通过键盘 输入。 2. 画出简要的硬件原理图,编写程序。 3. 撰写课程设计说明书。 内容包括:摘要、 目录、 正文、 参考文献、 附录 (程 序清单) 。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软 件思想,流程,源程序设计及说明等) 、程序调试说明和结果分析、课程设计收 获及心得体会。
时间安排: 12 月 26 日----- 12 月 28 日 查阅资料及方案设计 12 月 29 日----- 01 月 0 2 日 编程 01 月 03 日-----0 1 月 07 日 调试程序 01 月 08 日----- 01 月 09 日 撰写课程设计报告
指导教师签名: 系主任(或责任教师)签名:
年 年
月 月
日 日

分频器设计_可控型

现代科技的发展对信号源提出了越来越高的要求,要求信号源的频带宽、频率分辨率高、频率稳定度高、相位噪声和杂散很低、能程控等.频率合成技术是产生大量高精度频率信号的主要技术,频率合成器是一种相位锁定装置,是通讯、雷达、仪器仪表、高速计算机和导航设备中的一个重要组成部分。频率合成器是可由一个工作范围在G地范围的锁相环构成.在高频范围内工作的锁相环是整个系统中功耗最大的部分之一,因此对锁相环的低功耗研究对降低整个系统的功率损耗有着重要的意义.分数分频频率合成器则是近年来出现的一种新技术,它与传统的整数分频频率合成器相比具有频率分辨率高、相位噪声低等优点。前置分频器位于高频锁相环的反馈部分.由于工作频率很高,前置分频器也是锁相环中功耗最大的部分之一。低功耗的前置分频器设计可以很大程度上降低整个锁相环的功率损耗. 目录 摘要 ................................................................................................................ 错误!未定义书签。Abstract ........................................................................................................... 错误!未定义书签。目录 .. (1) 引言 (1) 一、分频器设计 (2) 1.1、分频器的系统介绍 (2) 1.2、前置放大器的设计 (3) 二、前置分频器单元结构 (3) 2.1、TSPC结构 (3) 2.2、传统结构 (4) 2.3、转换器 (5) 三、小数分频器中预分频器的设计 (5) 3.1、小数分频器相位杂散的分析 (5) 3.2、可编程预分频器结构 (6) 结论 (6) 参考文献 (8) 引言 所谓频率合成,又称频率综合,简称频综,是由一个(或几个)具有低相位噪

实验六--Verilog设计分频器计数器电路答案

实验六 Verilog设计分频器/计数器电路 一、实验目的 1、进一步掌握最基本时序电路的实现方法; 2、学习分频器/计数器时序电路程序的编写方法; 3、进一步学习同步和异步时序电路程序的编写方法。 二、实验内容 1、用Verilog设计一个10分频的分频器,要求输入为clock(上升沿有效),reset(低电平复位),输出clockout为4个clock周期的低电平,4个clock周期的高电平),文件命名为fenpinqi10.v。 2、用Verilog设计一异步清零的十进制加法计数器,要求输入为时钟端CLK(上升沿)和异步清除端CLR(高电平复位),输出为进位端C和4位计数输出端Q,文件命名为couter10.v。 3、用Verilog设计8位同步二进制加减法计数器,输入为时钟端CLK(上升沿有效)和异步清除端CLR(低电平有效),加减控制端UPDOWN,当UPDOWN为1时执行加法计数,为0时执行减法计数;输出为进位端C和8位计数输出端Q,文件命名为couter8.v。 4、用VERILOG设计一可变模数计数器,设计要求:令输入信号M1和M0控制计数模,当M1M0=00时为模18加法计数器;M1M0=01时为模4加法计数器;当M1M0=10时为模12加法计数器;M1M0=11时为模6加法计数器,输入clk上升沿有效,文件命名为mcout5.v。 5、VerilogHDL设计有时钟时能的两位十进制计数器,有时钟使能的两位十进制计数器的元件符号如图所示,CLK是时钟输入端,上升沿有效;ENA是时钟使能控制输入端,高电平有效,当ENA=1时,时钟CLK才能输入;CLR是复位输入端,高电平有效,异步清零;Q[3..0]是计数器低4位状态输出端,Q[7..0]是高4位状态输出端;COUT是进位输出端。 三、实验步骤 实验一:分频器 1、建立工程

实验一 QUARTUS II入门和分频器设计

实验报告 课程名称EDA技术与VHDL设计 实验项目Quartus II入门 实验仪器计算机、Quartus II 系别信息与通信工程学院 专业电子信息工程 班级/学号电信1201 / 2012010970 学生姓名张宗男 实验日期 成绩 指导教师

实验一 QUARTUS II入门和分频器设计 一、实验目的 1.掌握QUARTUS II工具的基本使用方法; 2.掌握FPGA基本开发流程和DE2开发板的使用方法; 3.学习分频器设计方法。 二、实验内容 1.运用QUARTUS II 开发工具编写简单LED和数码管控制电路并下载到DE2 实验开发板。2.在QUARTUS II 软件中用VHDL语言实现十分频的元器件编译,并用电路进行验证,画出仿真波形。 三、实验环境 1.软件工具:QUARTUS II 软件;开发语言:VHDL; 2.硬件平台:DE2实验开发板。 四、实验过程 1.设计思路 (1)、 18个开关控制18个LED灯,通过低位四个开关的‘1’‘0’控制LED灯上7段灯的显示(2)、 实现10分频IF(count="1001") THEN count<="0000"; clk_temp<=NOT clk_temp; 达到9的时候,把“0000”给到cout,然后clk_temp 信号翻转,从而实现10分频。 2.VHDL源程序 (1)、 LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY e_zhangzongnan IS PORT(SW :IN STD_LOGIC_VECTOR(0 TO 17); HEX0 :OUT STD_LOGIC_VECTOR(0 TO 6);

基于VHDL的分频器设计[开题报告]

开题报告 电子信息工程 基于VHDL的分频器设计

三、课题研究的方法及措施 由于本课题所设计的分频器基于EDA技术,应用VHDL硬件语言设计完成的,因此选择合适的硬件解决原理对分频器性能至关重要的,为了满足不同系统功能需求的分频,本课题将阐述不同原理,不同分频器,同种分频不同原理的设计方案。 占空比可控的整数分设计方案,原理为计数器为带预置数的计数器,其设计的特殊之处在于:可以根据需要,调整数据的位宽,而且计数的初始值是从l开始的,此处计数初始值的设定是设计的一个创新,这样做的目的是为了配合后面比较器的工作,计数器的输出数据作为比较器的输入,比较器的另一输入作为控制端,控制高低电平的比例,从而达到占空比可调的目的。原理图如图1所示。 图1 占空比可控的原理图部分 小数分频的基本原理是采用脉冲吞吐计数器和锁相环技术先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。如设计一个分频系数为lO.1的分频器时。可以将分频器设计成9次10分频,1次11分频这样总的分频值为如式1所示。 F=(9×10+lxl 1)/(9+1)=10.1 (式1) 从这种实现方法的特点可以看出,由于分频器的分频值不断改变.因此分频后得到的信号抖动较大。当分频系数为N-0.5(N为整数)时,可控制扣除脉冲的时间,以使输出成为一个稳定的脉冲频率。而不是一次N分频.一次N-1分频。图2给出了通用小数分频器的电路组成。 图2通用小数分频器的电路组成 改进的小数分频设计方案,将两个整数分频器由一个整数分频器和一个半整数分频器代替,结果在如上分析的两个性能方面都有所提高。利用参数化的设计思想和VHDL描述语言与原理图输入方法相结合的方式,设计并实现了一种抖

verilogHDL分频器(奇数分频和偶数分频)

module clk_div( //-----------input----------- iCLK, div, //-----------output---------- oCLK ); //-----------input----------- parameter WIDE=14; input iCLK; input[WIDE-1:0]div; //-----------output----------- output oCLK; wire oCLK_odd; wire oCLK_even; assign oCLK=div[0]?oCLK_odd:oCLK_even; div_odd DUTo (.iCLK(iCLK),.oCLK(oCLK_odd),.div(div)); div_even DUTe (.iCLK(iCLK),.oCLK(oCLK_even),.div(div)); endmodule // odd module div_odd( //--------input-------- iCLK, div, //--------output-------- oCLK ); //--------input-------- parameter WIDE=14; input iCLK; input[WIDE-1:0]div; //--------output-------- output oCLK; reg outCLK;

/* =========================== solve 1 =========================== reg cout; reg[WIDE-1:0] cnt; initial cnt=0; wire inCLK; reg cc; initial cc=0; always @(posedge cout) cc<=~cc; assign inCLK = iCLK^cc; always @(posedge inCLK) begin if(cnt<(div[WIDE-1:1])) begin cnt<=cnt+1; cout<=1'b0; end else begin cnt<=0; cout<=1'b1; end end always @(negedge iCLK) outCLK <= cout; assign oCLK=cc; */ //======================== //solve 2 //======================== reg[WIDE-1:0] cnt_a; initial cnt_a=0; reg[WIDE-1:0] cnt_b; initial cnt_b=0; reg cout_a;

3分频器的设计

三分频器的设计 时钟输入端(clkin)首先反向和不反向分别接到两个D触发器的时钟输入端,两个D触发器的输出接到一个二输入或非门的输入端,或非门的输出反馈到前面两个D触发器的D输入端,并且或非门的输出后面接一二分频器,得到占空比为50%的三分频波形。 图1:图形设计 VHDL程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity fen3 is port (clkin : in std_logic; --时钟输入 qout1 : buffer std_logic; qout2 : buffer std_logic; qout3 : buffer std_logic; clkout : out std_logic --占空比为1/2的三分频输出 ); end fen3; architecture behave of fen3 is begin qout3<=qout1 nor qout2; process(clkin) begin if clkin'event and clkin='1' then --在上升沿触发 qout1<=qout3; end if;

end process; process(clkin) begin if clkin'event and clkin='0' then --在下降沿触发 qout2<=qout3; end if; end process; process(qout3) variable tem:std_logic; begin if qout3'event and qout3='1' then --二分频tem:=not tem; end if; clkout<=tem; end process; end behave; 图3:仿真结果

分频器的设计

首先讲一下单元: 一般情况下,我们对单元按频率会划分为超高音,高音,中高音,中音,重低音,低音,超低音 超高音:負責22kHz以上的頻率 高音:負責5000Hz~22kHz頻率、 中音:負責1500~5000Hz頻率 低音:負責1500Hz以下頻率 超低音(增加)負責200Hz以下頻率 也有网友提出其她的划分标准 以A音(C调的“哆来咪法嗦啦西”的“啦”音,频率为440赫兹)为基准音,以倍频的形式向下三个八度向上五个八度,把全音域分为八个八度,一个个八度就就是音响上常说的一个倍频程(1oct)。具体的划分就是这样的: 55-110赫兹,110-220赫兹,220-440赫兹,440-880赫兹,880-1760赫兹,1760-3520赫兹,3520-7040赫兹,7040-14080赫兹,共八段(八个八度)。这样就很清晰的瞧出频段的划分了。110赫兹以下-超低频; 110-220赫兹-低频; 220-440赫兹-中低频; 440-880赫兹-低中频; 880-1760赫兹-中频; 1760-3520赫兹-中高频; 3520-7040赫兹-高频; 7040赫兹以上-超高频。 还有两种频段划分方法 以“E”音划分 -20 次低频 20-40 极低频 40-80 低频下段 80-160 低频上段 160-320 中频下段 320-640 中频中段

640-1280 中频上段 1280-2560 高频下段 2560-5120 高频中段 5120-10240 高频上段 10240- 极高频 以“C”划分 -63 极低频 63-125 低频下段 125-250 低频上段 250-500 中频下段 500-1K 中频中段 1K-2K 中频上段 2K-4K 高频下段 4K-8K 高频上段 8K- 极高频 分频器的主要元件:电阻,电感,电容 电阻在分频器中的作用:调整灵敏度 电感:其特性就是阻挡较高频率,只让较低的频率通过电容:其特性与电感刚好相反,也就就是阻挡频率通过

分频器的verilog hdl语言

分频器的verilog HDL描述(转) 分频器,在许多涉及时序的电路设计中都会用到,在这里,我转载某位高人的文章,关于分频器的设计 偶数倍分频:偶数倍分频应该是大家都比较熟悉的分频,通过计数器计数是完全可以实现的。如进行N倍偶数分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。以此循环下去。这种方法可以实现任意的偶数分频。 module odd_division(clk,rst,count,clk_odd); input clk,rst; output clk_odd; output[3:0] count; reg clk_odd; reg[3:0] count; parameter N = 6; always @ (posedge clk) if(! rst) begin count <= 1'b0; clk_odd <= 1'b0; end else if ( count < N/2-1) begin count <= count + 1'b1; end else begin

clk_odd <= ~clk_odd; end endmodule 奇数倍分频:归类为一般的方法为:对于实现占空比为50%的N倍奇数分频,首先进行上升沿触发进行模N计数,计数从零开始,到(N-1)/2进行输出时钟翻转,然后经过(N-1)/2再次进行翻转得到一个占空比非50%奇数n分频时钟。再者同时进行下降沿触发的模N 计数,到和上升沿过(N-1)/2时,输出时钟再次翻转生成占空比非50%的奇数n分频时钟。两个占空比非50%的n分频时钟相或运算,得到占空比为50%的奇数n分频时钟。 module even_division(clk,rst,count1,count2,clk_even); input clk,rst; output[3:0] count1,count2; output clk_even; reg[3:0] count1,count2; reg clkA,clkB; wire clk_even; parameter N = 5; assign clk_re = ~clk; assign clk_even = clkA | clkB; always @(posedge clk) if(! rst) begin count1 <= 1'b0; clkA <= 1'b0; end else

任意分频Verilog实现

1. 偶数倍(2N)分频 使用一模N计数器模块即可实现,即每当模N计数器上升沿从0开始计数至N-1时,输出时钟进行翻转, 同时给计数器一复位信号使之从0开始重新计数,以此循环即可。偶数倍分频原理示意图见图1。 2. 奇数倍(2N+1)分频 (1)占空比为X/(2N+1)或(2N+1-X)/(2N+1)分频,用模(2N+1)计数器模块可以实现。取0至2N-1之间一数值X(0,当计数器时钟上升沿从0开始计数到X值时输出时钟翻转一次,在计数器继续计数达到2N 时,输出时钟再次翻转并对计数器置一复位信号,使之从0开始重新计数,即可实现。 (2)占空比为50%的分频,设计思想如下:基于(1)中占空比为非50%的输出时钟在输入时钟的上升沿 触发翻转;若在同一个输入时钟周期内,此计数器的两次输出时钟翻转分别在与(1)中对应的下降沿触发翻转,输出的时钟与(1)中输出的时钟进行逻辑或,即可得到占空比为50%的奇数倍分频时钟。当然其 输出端再与偶数倍分频器串接则可以实现偶数倍分频。奇数倍分频原理示意图见图2。(这也是许多公司常出的面试题,^_^,是不是很简单?) 3. N-0.5倍分频 采用模N计数器可以实现。具体如下:计数器从0开始上升沿计数,计数达到N-1上升沿时,输出时钟需翻转,由于分频值为N-0.5,所以在时钟翻转后经历0.5个周期时,计数器输出时钟必须进行再次翻转,即当 CLK为下降沿时计数器的输入端应为上升沿脉冲,使计数器计数达到N而复位为0重新开始计数同时输出时钟翻转。这个过程所要做的就是对CLK进行适当的变换,使之送给计数器的触发时钟每经历N-0.5个周期就翻转一次。N-0.5倍:取N=3,分频原理示意图见图3。 对于任意的N+A/B倍分频(N、A、B∈Z,A≦B) 分别设计一个分频值为N和分频值N+1的整数分频器,采用脉冲计数来控制单位时间内两个分频器出现 的次数,从而获得所需要的小数分频值。可以采取如下方法来计算个子出现的频率: 设N出现的频率为a,则N×a+(N+1)×(B-a)=N×B+A 求解a=B-A; 所以N+1出现的频率为 A.例如实现7+2/5分频,取a为3,即7×3+8×2就可以实现。但是由于这种小数分频输出的时钟脉冲抖动很大, 现实中很少使用。 通常实现偶数的分频比较容易,以十分频为例: always @( posedge clk or posedge reset) if(reset) begin k<=0; clk_10<=0; end else if(k==4) begin k<=0;

分频器的设计

分频器的设计 一、课程设计目的 1.学会使用电路设计与仿真软件工具Hspice,熟练地用网表文件来描述模拟电路,并熟悉应用Hspice内部元件库。通过该实验,掌握Hspice的设计方法,加深对课程知识的感性认识,增强电路设计与综合分析能力。 2.分频器大多选用市售成品,但市场上出售的分频器良莠不齐,质量上乘者多在百元以上,非普通用户所能接受。价格在几十元以下的分频器质量难以保证,实际使用表现平庸。自制分频器可以较少的投入换取较大的收获。 二.内容 分频器-概述 分频器是指使输出信号频率为输入信号频率整数分之一的电子电路。在许多电子设备中如电子钟、频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种频率成分,分频器是一种主要变换手段。早期的分频器多为正弦分频器,随着数字集成电路的发展,脉冲分频器(又称数字分频器)逐渐取代了正弦分频器,即使在输入输出信号均为正弦波时也往往采用模数转换-数字分频-数模转换的方法来实现分频。正弦分频器除在输入信噪比低和频率极高的场合已很少使用。

分频器-作用 分频器是音箱中的“大脑”,对音质的好坏至关重要。功放输出的音乐讯号必须经过分频器中的各滤波元件处理,让各单元特定频率的讯号通过。要科学、合理、严谨地设计好音箱之分频器,才能有效地修饰喇叭单元的不同特性,优化组合,使得各单元扬长避短,淋漓尽致地发挥出各自应有的潜能,使各频段的频响变得平滑、声像相位准确,才能使高、中、低音播放出来的音乐层次分明、合拍,明朗、舒适、宽广、自然的音质效果。 在一个扬声器系统里,人们把箱体、分频电路、扬声器单元称为扬声器系统的三大件,而分频电路对扬声器系统能否高质量地还原电声信号起着极其重要的作用。尤其在中、高频部分,分频电路所起到的作用就更为明显。其作用如下: 合理地分割各单元的工作频段; 合理地进行各单元功率分配; 使各单元之间具有恰当的相位关系以减少各单元在工作中出现的声干涉失真; 利用分频电路的特性以弥补单元在某频段里的声缺陷; 将各频段圆滑平顺地对接起来。 分频器-分类 1)功率分频器:位于功率放大器之后,设置在音箱内,通过LC滤波网络,将功率放大器输出的功率音频信号分为低音,中音和高音,分别送至各自扬声器。连接简单,使用方便,但消耗功率,出现音频谷

实验六Verilog设计分频器计数器电路答案

实验六V e r i l o g设计分频器/计数器电路 一、实验目的 1、进一步掌握最基本时序电路的实现方法; 2、学习分频器/计数器时序电路程序的编写方法; 3、进一步学习同步和异步时序电路程序的编写方法。 二、实验内容 1、用Verilog设计一个10分频的分频器,要求输入为clock(上升沿有效),reset(低电平复位),输出clockout为4个clock周期的低电平,4个clock 周期的高电平),文件命名为。 2、用Verilog设计一异步清零的十进制加法计数器,要求输入为时钟端CLK (上升沿)和异步清除端CLR(高电平复位),输出为进位端C和4位计数输出端Q,文件命名为。 3、用Verilog设计8位同步二进制加减法计数器,输入为时钟端CLK(上升沿有效)和异步清除端CLR(低电平有效),加减控制端UPDOWN,当UPDOWN 为1时执行加法计数,为0时执行减法计数;输出为进位端C和8位计数输出端Q,文件命名为。 4、用VERILOG设计一可变模数计数器,设计要求:令输入信号M1和M0控制计数模,当M1M0=00时为模18加法计数器;M1M0=01时为模4加法计数器;当M1M0=10时为模12加法计数器;M1M0=11时为模6加法计数器,输入clk 上升沿有效,文件命名为。 5、VerilogHDL设计有时钟时能的两位十进制计数器,有时钟使能的两位十进制计数器的元件符号如图所示,CLK是时钟输入端,上升沿有效;ENA是

时钟使能控制输入端,高电平有效,当ENA=1时,时钟CLK才能输入;CLR 是复位输入端,高电平有效,异步清零;Q[3..0]是计数器低4位状态输出端,Q[7..0]是高4位状态输出端;COUT是进位输出端。 三、实验步骤 实验一:分频器 1、建立工程 2、创建Verilog HDL文件 3、输入10分频器程序代码并保存 4、进行综合编译 5、新建波形文件 6、导入引脚 7、设置信号源并保存 8、生成网表 9、功能仿真 10、仿真结果分析 由仿真结果可以看出clockout输出5个clock周期的低电平和5个clock 的高电平达到10分频的效果,设计正确。 实验二:十进制加法计数器(异步清零) 1、建立工程 2、创建Verilog HDL文件 3、输入加法计数器代码并保存 4、进行综合编译 5、新建波形文件 6、导入引脚 7、设置信号源并保存 8、生成网表 9、功能仿真 10、仿真结果分析

Verilog分频器设计

Verilog分频器设计 module adder(clk,z); output z; reg q; reg z; always@(posedge clk) begin if(q%9==0) z<=q; else q=q+1; end endmodule module counter9(clk,datein,z); output z; input clk; input datein; reg z; reg[3:0] q; always@(posedge clk) begin q<=q+1; if (q==4'b1001) begin q<=4'b0000; z<=datein; end end endmodule

2008-11-04 19:58 分频器是FPGA设计中使用频率非常高的基本单元之一。尽管目前在大部分设计中还广泛使用集成锁相环(如altera的PLL,Xilinx的DLL)来进行时钟的分频、倍频以及相移设计,但是,对于时钟要求不太严格的设计,通过自主设计进行时钟分频的实现方法仍然非常流行。首先这种方法可以节省锁相环资源,再者,这种方式只消耗不多的逻辑单元就可以达到对时钟操作的目的。偶数倍分频:偶数倍分频应该是大家都比较熟悉的分频,通过计数器计数是完全可以实现的。如进行N倍偶数分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。以此循环下去。这种方法可以实现任意的偶数分频。 module odd_division(clk,rst,count,clk_odd); /*count没必要放在端口中,这里只是为了仿真时观察*/ input clk,rst; output clk_odd; output[3:0] count; reg clk_odd; reg[3:0] count; parameter N = 6; /*6分频* / always @ (posedge clk) if(! rst) begin count <= 1'b0; clk_odd <= 1'b0; end else if ( count < N/2-1) begin count <= count + 1'b1; end else begin count <= 1'b0; clk_odd <= ~clk_odd;

分频器的制作

利用一个软件帮你设计一下,高人请指点 ============= 分频器设计============= 您选择的是二阶(-12dB/oct)分频网络 分频点=3500 Hz 低音单元分频点阻抗=8 Ω 高音单元分频点阻抗=8 Ω +────L1──┬──┐ ││+ C1 Bass ││- - ───────┴──┘ + ────C2──┬──┐ ││- L2 High ││+ - ───────┴──┘ L1 = 0.68 mH C1 = 5.29 uF L2 = 0.40 mH C2 = 3.09 uF 理论上是这样了,楼上的没错。看参数5寸单元有90DB的灵敏度有点不可信,我推荐的分频是-12dB在-3DB交叉的,看元件就是C1=C2 L1=L2,记得银笛FQ1就是C1=C2=4.7UF,电路很简单就4个元件,如果喇叭是8欧分频点就是3K。没有别的原因,就是这样的的电路是理论值,也是看得明白的,日后高音要衰减,或者加RC补偿,或者改分频点都很方便。分频器正在找链接,找到了发给你 分频器所使用的电感线圈一般分为空芯线圈和铁芯线圈两大类;而铁芯线圈又分为真铁芯和铁氧体芯两类。 传统的分频器由电容电感以及高音衰减电阻R等元器件组成。如图L1、C1组成低通滤波器作用是只保留音频信号中的低频部分去驱动低音扬声器单元。L2、C2组成高通滤波器作用是只保留音频信号中的高频部分去驱动高音单元。 图例

2计算 公式……L=R/6.28xf,式中R等于分频点上喇叭阻抗值,f等分频频率。假如分频点选3000Hz:实测中低频喇叭阻抗为8Ω L=8Ω/6.28X3000hz=0.43毫亨 电容C=1/6.28×f×R C=1/6.28×3000×8=1/150720=1÷150720=6.6μf

用verilog实现任意倍分频器的方法

用verilog语言写的任意整数的分频器 占空比:对于一串理想的脉冲序列中(如方波),正脉冲的持续时间与脉冲总周期的比值,叫做这个方波的占空比。 分频分为奇分频和偶分频 第一,偶数倍分频:偶数倍分频应该是大家都比较熟悉的分频,通过计数器计数是完全可以实现的。如进行N倍偶数分频,那么可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数。以此循环下去。这种方法可以实现任意的偶数分频。 第二:奇数倍分频:奇数倍分频常常在论坛上有人问起,实际上,奇数倍分频有两种实现方法:首先,完全可以通过计数器来实现,如进行三分频,通过待分频时钟上升沿触发计数器进行模三计数,当计数器计数到邻近值进行两次翻转,比如可以在计数器计数到1时,输出时钟进行翻转,计数到2时再次进行翻转。即是在计数值在邻近的1和2进行了两次翻转。这样实现的三分频占空比为1/3或者2/3。如果要实现占空比为50%的三分频时钟,可以通过待分频时钟下降沿触发计数,和上升沿同样的方法计数进行三分频,然后下降沿产生的三分频时钟和上升沿产生的时钟进行相或运算,即可得到占空比为50%的三分频时钟。这种方法可以实现任意的奇数分频。归类为一般的方法为:对于实现占空比为50%的N倍奇数分频,首先进行上升沿触发进行模N计数,计数选定到某一个值进行输出时钟翻转,然后经过(N-1)/2再次进行翻转得到一个占空比非50%奇数n分频时钟。再者同时进行下降沿触发的模N计数,到和上升沿触发输出时钟翻转选定值相同值时,进行输出时钟时钟翻转,同样经过(N-1)/2时,输出时钟再次翻转生成占空比非50%的奇数n分频时钟。两个占空比非50%的n分频时钟相或运算,得到占空比为50%的奇数n分频时钟。另外一种方法:对进行奇数倍n分频时钟,首先进行n/2分频(带小数,即等于(n-1)/2+0.5),然后再进行二分频得到。得到占空比为50%的奇数倍分频。 下面讲讲进行小数分频的设计方法: 第三,小数分频:首先讲讲如何进行n+0.5分频,这种分频需要对输入时钟进行操作。基本的设计思想:对于进行n+0.5分频,首先进行模n的计数,在计数到n-1时,输出时钟赋为‘1’,回到计数0时,又赋为0,因此,可以知道,当计数值为n-1时,输出时钟才为1,因此,只要保持计数值n-1为半个输入时钟周期,即实现了n+0.5分频时钟,因此保持n-1为半个时钟周期即是一个难点。从中可以发现,因为计数器是通过时钟上升沿计数,因此可以在计数为n- 1时对计数触发时钟进行翻转,那么时钟的下降沿变成了上升沿。即在计数值为n-1期间的时钟下降沿变成了上升沿,则计数值n-1只保持了半个时钟周期,由于时钟翻转下降沿变成上升沿,因此计数值变为0。因此,每产生一个n+0.5分频时钟的周期,触发时钟都是要翻转一次。设计思路如下:

数控分频器的设计

实验四数控分频器的设计 一、实验目的: 1.学习数控分频器的设计、分析和测试方法,锻炼分析Verilog(VHDL)语言的能力。 二、原理说明: 数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,对原时钟进行占空比为50%的分频。在实验板选择50M 时钟,对其进行2~15分频,分频系数以拨码键盘控制,并用数码管进行显示(十六进制形式)。 三、实验内容: 1、根据由顶向下的设计原则,进行顶层建模。 分频系数分为奇数分频和偶数分频,因些包括Evn_Div(偶数分频)和Odd_Div(奇数分频)模块,数码管显示为SEG7_LUT,采用类似查找表的方式完成。 2、偶数分频 偶数分频模块比较简单,假设分频系数为N,只需要在计数器计到N/2时,将输出时钟反转即可。

仿真图如下: 3、奇数分频 奇数分频相对偶数分频比较麻烦,主要是对原时钟的上升沿和下降沿进行计数,通过两个计数器得到上升沿时钟和下降沿时钟,对这两个时钟进行与操作可得到奇数分频。

仿真图如下: 4、数码管显示 数码管显示模块应用case语句即可完成。

5、分频选择 分频系数有两种,一是偶数,另一个是奇数,因此可通过分频系数的最低位来进行选择,iDIV[0]既作为奇、偶分频模块的使能输入,又可作为输出时钟选择线。 6、顶层模块 将上述几个模块例化即可(注意iDiv[0]的连接方式)。 引脚: input CLOCK_50;//原时钟 input RST;//复位信号 input [3:0] iDIV;//分频系数 output oCLK;//输出时钟 output [6:0] oSEG;//数码管输出

课程设计—分频器的制作

电子技术课程设计报告 学院: 专业班级: 学生姓名: 学号: 指导教师: 完成时间: 成绩: 评阅意见: 评阅教师日期 分频器的制作设计报告一. 设计要求

把1000HZ的信号分成500Hz,100Hz的信号,用拨动开关控制。 发挥部分:1、200Hz信号的产生2、倍频信号的产生。 二. 设计的作用、目的 1、掌握运用中规模集成芯片设计分频器的方法。 2、掌握使用与非门、555单稳态产生倍频信号的方法。 三.设计的具体实现 1、单元电路设计(或仿真)与分析 1、分频信号的产生: 电路图如下74ls192是同步十进制可逆计数器,具有双时钟输入,并具有异步清零等功能。 在此电路中,计数器处于加计数状态,输入脉冲1000Hz由5脚输入,用清零法组成进制可变的计数器,并通过单刀双掷开关控制。 仿真结果图如下:

①当开关拨到1档时,上面频率计数器计输入信号频率为1000Hz,下面频率计数器计数频率为500Hz信号。 ②当开关拨到2档时,上面频率计数器计输入信号频率为1000Hz,下面输出频率计数器显示100Hz信号。

2、200Hz信号的产生: 电路图如下74ls192是同步十进制可逆计数器,具有双时钟输入,并具有异步清零等功能。 仿真结果图如下: 在此电路中,计数器处于加计数状态,输入脉冲1000Hz由5脚输入,用清零法组成进制可变的计数器,2脚即输出200Hz信号。

2、倍频信号的产生: 倍频信号原理图如下,输入信号由最左端输入方波(频率大于1000Hz并且峰峰值大于3v小于5v效果好)其中第一个与非门连接成非门使用,起着对输入信号倒相的作用。这样,当有一个方波脉冲信号输入时,由C1、R1组成的微分电路将在脉冲信号的前沿产生一个正向微分脉冲信号,同时在方波下降沿处产生负向脉冲,另一路经过反相后,C2、R2微分电路产生负向脉冲(另一路产生正向脉冲同时)和负向脉冲,经过二极管滤除正向脉冲作为555单稳态的2 脚触发端输入信号,而555单稳态3脚输出倍频后的方波。 仿真结果图如下:

相关主题