基于Verilog HDL与CPLD的分频器设计

基于Verilog HDL与CPLD的分频器设计
基于Verilog HDL与CPLD的分频器设计

摘要

在复杂的数字逻辑电路中,经常会用到不同的时钟信号。本文主要介绍了在MAX+PlusII开发软件下得用Verilog硬件描述语言来设计分频器。在进行分频器设计时,采用的是一种逐层深入的设计理念,由易到难、由浅入深。可实现2-256之间的任意奇数、偶数、半整数分频。此外,本文还介绍了Altera公司的EP1K100QC208-3型CPLD,使得分频器的设计显得更加实际化,从而也体现了一种实践求真知的求学理念。

关键词:Verilog HDL;CPLD;数字逻辑电路设计;VHDL

咸阳师范学院07届本科毕业设计

Abstract

In the complex numeral logic circuit,the different clock signal can be used frequently.This article mainly introduced under the MAX+PlusII development software to descript the frequency divider with the Verilog hardware description language.When carries on the frequency divider designs,used one kind of design idea with the level thorough,from the simple to the difficult, from the shallow to the deep.May realize2-256between free odd number,the even number,the half Integer frequency division.In addition,this article also introduced Altera Corporation's EP1K100QC208-3CPLD,it causes the frequency divider’s design more actually,thus also manifested one practice to ask the true knowledge to study idea.

Keywords:Verilog HDL;CPLD;Numeral logic circuit design;VHDL

基于Verilog HDL与CPLD的分频器设计

引言

计算机技术和微电子工艺的发展,使得现代数字系统的设计和应用进入了新的阶段。电子设计自动化(EDA)技术在数字系统设计中起的作用越来越重要,新的工具的设计方法不断推出,可编程逻辑器件不断增加新的模块,工能越来越强,硬件设计语言也顺应形势,推出新的标准,更加好用,更加便捷[1]。

本文主要以CPLD和Verilog HDL硬件描述语言对分频器的设计为主线。

Max+PlusII软年工具也在设计中发挥了重要作用,它为分频器的设计提代了平台和工具,它将设计者的设计思想自动、高效地转化为物理电路或网表结构,并以直观、便捷的形式提供了仿真模拟手段[2]。

本文共5部分,第1部分对EDA技术及其发展趋势进行综述,并着重介绍了CPLD器件。第2部分介绍的是偶数分频器的原理及设计方法。第3部分是对第2部分的延深与扩充,它主要介绍的是奇数分频。第四部分介绍的是小数分频。第5部分针对Altera公司的EP1K100QC208-3型CPLD在Max+PlusII中的应用进行了介绍。

分频器的设计与EDA技术是不断发展变化的,要掌握分频器设计和EDA技术的精髓,需要设计者在不断实践的过程中不懈的摸索和积累,逐步提高自己的设计水平。本文在设计中有不少的缺限,希望诗刊给予批评指正。

1CPLD与硬件描述语言简介

数字系统的设计和实现离不开CPLD/FPGA器件,因为很多数字系统是基于CPLD/FPGA 器件实现的,本文的设计实现基于Altera公司的EP1K100QC208-3,该芯片属于ACEX1K系列。

ACEX1K系列器件是Altera公司近期推出的新型CPLD产品。该器件基于SRAM,结合查找表(LUT)和嵌入式阵列块(EAB)提供了高密度结构,可提供10000到100000可用门,每个嵌入式阵列块增加到16位宽可实现双端口,RAM位增加到49125个。其多电压引脚可以驱动2.5V、3.3V、5.0V器件,也可以被这些电压所驱动;双向I/O引脚执行速度可达250MHz。该器件还应用Altera专利技术进行了重要的生产改进,进一步降低了器件的成本,提高了产品的性能价格比。因此,ACEX1K器件可用来实现许多逻辑复杂、信息量大的系统。但是在器件操作过程中,ACEX1K系列器件的配置数据存储在SRAM单元中,由于SRAM的易失性,配置数据在每次上电时必须被重新载入SRAM[3]。

在数字系统设计中,一个明显的特征就是越来越多的采用硬件描述语言来进行设计。

咸阳师范学院07届本科毕业设计

硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去,再用专用集成电路ASIC或现场可编程门阵列FPGA自动布局布线工具,把网表转换为要实现的具体电路布线结构[4]。

目前,硬件描述语言可谓是百花齐放,有VHDL、Superlog、Verilog、SystemC、Cynlib C++、C Level等等。虽然各种语言各有所长,但业界对到底使用哪一种语言进行设计,却莫衷一是,难有定论。本文选用Verilog HDL语言进行分频器描述。Verilog HDL语言是在C语言的基础上发展而来的硬件描述语言,具有简捷、高效、易学、功能强的特点,拥有广泛的应用群体[5]。

2偶数分频器的设计

2.1分频器的基本原理

在数字电路的设计中,分频器是一种应用十分广泛的基本电路,它的具体操作功能就是对较高的信号进行分频操作,目的是为了得到所需的较低频率的信号。

所谓频率能给我们直观的用眼去看的就是周期,分频带的另外一种解释就是把原来波形的周期变成现在的几倍,所以如果在N个周期中出来一个周期,就叫做分频。其效果如图2.1

图2.1分频仿真举例

站在硬件描述语言的角度,若用程序设计的方式来描述,则我们可用计数器所计的数来形成分频,如4分频,我们则可认为在计数器数值为0、1时让其保持原状态,当数值超过1时取反,然后2、3保持,超过3时取反,依次取值即可得到四分频,其它偶数分频的原理也是如此。

基于Verilog HDL与CPLD的分频器设计

2.2利用文本方式和图形方式进行二分频设计

2.2.1文本输入方式设计的二分频器

二分频器程序如下:

module clk_div2(reset,clk_in,clk_out);

input clk_in,reset;

output clk_out;

reg clk_out;

always@(posedge clk_in or negedge reset)

begin

if(!reset)

clk_out<=0;

else

clk_out<=~clk_out;

end

endmodule

输入完毕后,在MAX+PlusII中选择菜单“File”→“Save”,以文件名为clk_div2.v 把文件保存,然后对该程序进行编译并仿真,其结果如图2.2.1

图2.2.1文本方式二分频仿真

2.2.2图形输入方式设计二分频

二分频原理图如图2.2.2[6]

咸阳师范学院07届本科毕业设计

图2.2.2.1二分频原理图

将上述图形文件保存为div_2.gdf后进行仿真,其结果如图2.2.2.2

图2.2.2.2图形方式二分频仿真

2.3十二分频器的设计

为了使大家能更好的理解偶数分频器的设计,下面将以十二分频器设计为例进行偶数分频器设计的扩展

十二分频器程序:

module cnt12(reset,clkin,clkout,qout);

input reset,clkin;

output clkout,qout;

reg clkout;

reg[4:0]qout;

always@(posedge clkin)

begin

if(!reset)qout<=0;

else if(qout<11)qout<=qout+1;

else qout<=0;

end

always@(posedge clkin)

基于Verilog HDL与CPLD的分频器设计

begin

if(!reset)clkout<=0;

else if(qout==11)clkout<=1;

else clkout<=0;

end

endmodule

将程序保存并进行仿真,其仿真图如图2.3

图2.3十二分频器仿真

2.4关于偶数分频

本章通过对最简单的偶数分频器二分频器的设计,使大家初步了解偶数分频的基本原理,并再次通过对十二分频器的设计,使大家进一步深入的了解偶数分频器设计的方法。偶数分频器是分频器设计中相对来说比较简单的,其设计只需用D触发器或设置计数器即可完成,比如本章介绍的二分频器的设计和十二分频器的设计都可以以此方法设计成功,利用此方法也可以对任何偶数分频器进行设计。

3奇数分频器的设计

3.1设计占空比为50%的五分频器

原理:用一个三位计数器Q(2downto0)从"000"到"100"计数。输出qout是dq or Q[1]的组合逻辑。用输入时钟的上升沿计数,下降沿控制输出,以下是代码。

module div5(reset,clk,qout);

input reset;

input clk;

output qout;

咸阳师范学院07届本科毕业设计reg[2:0]qq;

reg dq;

always@(posedge clk)

begin

if(!reset)

qq<=0;

else if(qq==3'b100)

qq<=0;

else qq<=qq+1;

end

always@(negedge clk)

begin

if(!reset)

dq<=0;

else

dq<=qq[1];

end

assign qout=dq||qq[1];

endmodule

3.2五分频器程序保存编译并仿真

仿真结果如图3.2:

图3.2五分频器的设计

基于Verilog HDL与CPLD的分频器设计3.3十三分频器设计

设计13分频器:

module div13(reset,clk,qout);

input reset;

input clk;

output qout;

reg[3:0]qq;

reg dq;

always@(posedge clk)

begin

if(!reset)

qq<=0;

else if(qq==4'b1100)

qq<=0;

else qq<=qq+1;

end

always@(negedge clk)

begin

if(!reset)

dq<=0;

else

dq<=qq[3];

end

assign qout=dq&&qq[3];

endmodule

3.4十三分频器程序保存编译并仿真

仿真结果如图3.4:

咸阳师范学院07届本科毕业设计

图3.4十三分频器的仿真

3.3关于奇数分频

本章以占空比为50%的五分频设计为例,实现了奇数分频器的设计,以此向大家介绍奇数分频的原理,并再次通过设计十三分频器,使大家对奇数分频的设计更加深入了解,进行奇数分频时,需先设置一个相应线宽的计数器,用输入时钟上升沿控制计数,下降沿控制输出,输出是一具组合逻辑信号,这样便可完成任意奇数分频。

4小数分频器设计

4.1小数分频器的设计原理

数字电路中,分频器是一种基本电路。分频器通常用来对某个给定频率进行分频,得到所需的频率。整数分频器的实现非常简单,可采用标准的计数器,也可采用可编程逻辑器件设计实现。在某些场合下,时钟源与所需的频率不成整数倍关系,此时可采用小数分频器进行分频。

例如:要实现分频系数为2.5的分频器,可采用以下方法:设计一个模为3的计数器,再设计一个脉冲扣除电路,加在模3计数器输出之后,每来两个脉冲就扣除一个脉冲,就可以得到分频系数为2.5的小数分频器。采用类似方法,可以设计分频系数为任意半整数的分频器[7]。

小数分频器设计的原理是采用脉冲吞吐计数和锁相环技术先设计两个不同分频比的整数分频器,然后通过控制单位时间内两种分频比出现的不同次数来获得所需要的小数分频值。如设计一个分频系数为10.1的分频器时,可以将分频器设计成9次10分频1次11分频值为:

F=(9×10+1×11)/(9+1)=10.1

基于Verilog HDL与CPLD的分频器设计

从这种实现方法的特点可以看出,由于分频器的分频值不断改变,因此分频后得到的信号抖动较大。当分频系数为N-0.5(N为整数)时,可控制扣除脉冲的时间,以使输出成为一个稳定的脉冲频率,而不是一次N分频,一次N-1分频[7]。

小数分频器设计的原理图如图4.1.1:

图4.1.1小数分频器原理图

4.2n+0.5分频器设计

上一节主要介绍了小数分频的原理,这节主要给出n_0.5分频器设计的原理图,并分别用Verilog HDL和VHDL两种硬件描述语言程序进行设计,使小数分频器设计方法进一步得到升华。

下面我们将给出N+0.5分频器的原理图,如图4.2.1:

图4.2.1N+0.5分频原理图

N+0.5小数分频器设计的Verilog程序如下:

module divn5(CLK,PREL,NCLK);

input CLK;

input[2:0]PREL;

output NCLK;

wire NCLK;

reg[2:0]COUNTER;

reg SIG_CLK;

咸阳师范学院07届本科毕业设计

wire LCLK;

reg PCLK;

assign LCLK=CLK^PCLK;

always@(posedge LCLK)

begin

if(COUNTER==3'b000)

begin

COUNTER<=PREL;

end

else

begin

COUNTER<=COUNTER-1;

end

end

always@(posedge LCLK)

begin

if(COUNTER==3'b010)

begin

SIG_CLK<=1'b1;

end

else

begin

SIG_CLK<=1'b0;

end

end

always@(posedge SIG_CLK)

begin

PCLK<=~PCLK;

end

assign NCLK=SIG_CLK;

基于Verilog HDL与CPLD的分频器设计

endmodule

将上述程序保存并进行仿真,其仿真图如图4.2.2、4.2.3:

图4.2.22.5分频器

此图为当N=2时的仿真图,即设计的是一个2.5分频的分频器。

图4.2.33.5分频器

此图为当N=3时的仿真图,即设计的是一个3.5分频的分频器通过上述方法设计分频器,可以设计出小数分频器的范围为1.5分频至7.5分频之间含0.5的分频器,因此这个设计在一定意义上讲还是具有局限性的。

4.3关于小数分频

本章主要从原理部分介绍了小数分频器设计的设计思路,并通过举例的方式列出并仿真了2.5、3.5等分频器,从一定范围上解决了小数分频中的一些问题,不足之处在于小数分频范围太小(1.5~7.5),希望在以后的设计中能突破这些限制,让小数分频范围更广范。

5CPLD的应用

本文在进行仿真时用的是Altera公司的EP1K100QC208-3型CPLD,下面介绍一下该型CPLD在本文中的应用。

选择“Assign”→“Device”,在弹出的窗口中选择ACEX1K系列中的“EP1K100QC208-3CPL D”芯片,如图5.1所示[8]

咸阳师范学院07届本科毕业设计

图5.1定义器件

准备开始编译,选择“MAX+PlusII”→“Compiler”,弹出如图5.2所示编译窗口,单击“Start”按钮即开始编译[9]。

图5.2启动编译

如果没有错误,可以看到编译完成的界面,如图5.3所示,同时产生一系列输出文件。

图5.3编译完成的界面

编译结束之后,在图5.3所示窗口中的rpt图标上双击,可打开编译报告,其中有编译后的管脚人配图,如图5.4所示[10]。可以看到,clkin管脚定义在39管脚,clkout定义在6管脚,这是软件自动分配的结果。我们可以按照自己的意愿分配管脚下,然后在“Pin”下拉菜单中选取定义的管脚号,如图5.5所示。管脚锁定后,再重新编译一次。

基于Verilog HDL与CPLD的分频器设计

图5.4编译后的管脚分配

图5.5修改管脚定义

以上是本文进行仿真时采用的方法,也是使用CPLD进行仿真的方法。

咸阳师范学院07届本科毕业设计

结论

分频器是数字电路中常用的一种基本电路,在EDA技术迅速发展的现代社会中,我们可以利用本文所介绍的方法对我们所需的分频器进行设计,本文通过由浅入深、逐层推进的方式,分别向我们介绍了偶数分频器的设计、奇数分频器的设计和小数分频设计,通过这种方式的介绍,目的在于使读者更加了解分频器,并使之更好的被利用于生产实践。

基于Verilog HDL与CPLD的分频器设计

谢辞

致谢:

本课题是在导师张玉叶的亲切关怀和悉心指导下完成的,导师以渊博的学识和严谨的治学态度,为学生开拓了研究视野,丰富了专业知识。老师谦逊无私的高尚品质、朴实真诚的做人原则和一丝不苟的敬业精神,对学生将永远的鞭策。在我毕业设计期间,郝海艳老师在学习、生活上都给予了我极大的关怀和鼓励。从论文选题、实验仿真到最后论文的撰写,梁昌慧老师都做了悉心的指导,并提出了许多宝贵的建议。藉此完成之际,借此机会谨向尊敬的各位老师致以最衷心的感谢!

感谢论文中参考的参考文献的作者;对于提供论文中隐含的上述提及的支持者以及研究思想和设想的支持者表示感谢。

特别感谢研究所实验室老师和师兄、师姐为我论文的完成提供了许多帮助。感谢我的同学和朋友的支持和帮助!

在求学期间,我的亲属和朋友对我给予了无微不至的关怀,对此,我也表示深深的感谢!

咸阳师范学院07届本科毕业设计

参考文献

[1]王金明,杨吉斌.数字系统设计与Verilog HDL.北京工业出版社,2002:1-10.

[2]朱正伟.EDA技术及应用.北京:清华大学出版社,2005:1-2.

[3]谭会生.EDA技术基础.长沙:湖南大学出版社,2004:13-14.

[4]尹常永.EDA技术与数字系统设计.西安:西安电子科技大学出版社,2004:4-5.

[5]阎石.数字电子技术基础.北京:高等教育出版社,2004:203-206.

[6]林海波.基于CPLD/FPGA的半整数分频器的设计[J].国外电子元器件,2003,(9):68-69.

[7]WaKerly,J.F.Digital Design:principles and practices,Third Edition:5-9.

[8]翟玉文,梁伟.电子设计与实践.北京:中国电力出版社,2005:75-80.

[9]张示华,延明,肖冰.数字逻辑设计实验技术与EDA工具.北京:北京邮电大学出版社,2003:130-133.

[10]贾海瀛,孙惠芹.电路CAD.北京:国防工业出版社,2005:139-142.

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十进制减法计数器,通过实验验证正确性,列出时序表。设计图如下: 仿真波形如下

(完整版)基于FPGA的智能交通灯的设计毕业设计

目录 摘要 ............................................................. I 1 前言 (1) 2 交通红绿灯控制电路的发展与技术现状 (2) 2.1 交通控制系统以及交通红绿灯控制电路的发展现状 (2) 2.2 智能交通红绿灯控制电路技术的现状 (3) 3 VHDL、FPGA、Quartus ii简介 (5) 3.1 VHDL简介 (5) 3.1.1 VHDL简介 (5) 3.1.2 VHDL语言的特点 (6) 3.2 FPGA简介 (8) 3.2.1 PLD器件的设计特点 (8) 3.2.2 FPGA的基本结构 (10) 3.2.3 采用FPGA设计逻辑电路的优点 (11) 3.3 Quartus II 的简介 (12) 4 具体方案论证与设计 (13) 4.1 具体方案论证 (13) 4.2系统算法设计 (15) 4.3 具体电路原理图 (16) 4.4 电路仿真图 (16) 5 实验结果 (17) 总结 (18) 参考文献 ......................................... 错误!未定义书签。附录: .. (19)

基于FPGA的十字路口交通信号灯 摘要 本文主要介绍十字路口交通灯控制器的设计。首先,介绍交通控制系统以及交通红绿灯控制电路的发展现状;然后采用硬件描述语言进行的交通灯控制器设计。重点介绍了控制系统各部分的设计,以及各个模块之间的同步处理。为了克服交通信号灯控制系统传统设计方法的弊端,更加适应城镇交通现状,利用VHDL语言、采用层次化混合输入方式,设计了具有3种信号灯和倒计时显示器的交通信号灯控制系统,在 QuartusⅡ下进行仿真,并下载到FPGA中制作成实际的硬件电路进行了模拟运行.使用该方法设计的交通灯控制系统电路简单、运行可靠、易于实现,可实现对交通信号的控制和显示功能。 关键词 FPGA;QUARTUS ii;HDPLD;十字路口交通灯控制器; Based on FPGA intersection traffic lights Abstract This paper describes the design of intersection traffic signal controller.First, the introduction of traffic control systems and traffic light control circuit of the development status; then using language designed for the traffic light controller.Focus on various parts of the control system

用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 日 撰写课程设计报告
指导教师签名: 系主任(或责任教师)签名:
年 年
月 月
日 日

基于FPGA下的交通灯控制器设计

引言 随着城乡的经济发展,车辆的数量在迅速的增加,交通阻塞的问题已经严重影响了人们的出行。 现在的社会是一个数字化程度相当高的社会,很多的系统设计师都愿意把自己的设计设计成集成电路芯片,芯片可以在实际中方便使用。随着EDA技术的发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。FPGA/CPLD 以其不可替代的地位及伴随而来的极具知识经济特征的IP芯片产业的崛起,正越来越受到业内人士的密切关注。FPGA就是在这样的背景下诞生的,它在数字电路中的地位也越来越高,这样迅速的发展源于它的众多特点。交通等是保障交通道路畅通和安全的重要工具,而控制器是交通灯控制的主要部分,它可以通过很多种方式来实现。在这许许多多的方法之中,使用FPGA和VHDL语言设计的交通灯控制器,比起其他的方法显得更加灵活、易于改动,并且它的设计周期性更加短。 城市中的交通事故频繁发生,威胁着人们的生命健康和工作生活,交通阻塞问题在延迟出行时间的同时,还会造成更多的空气污染和噪声污染。在这种情况下,根据每个道路的实际情况来设置交通灯,使道路更加通畅,这对构建和谐畅通的城市交通有着十分重要的意义。

第一章软件介绍 1.1 QuartusⅡ介绍 本次毕业设计是基于FPGA下的设计,FPGA是现场可编程门阵列,FPGA开发工具种类很多、智能化高、功能非常的强大。可编程QuartusⅡ是一个为逻辑器件编程提供编程环境的软件,它能够支持VHDL、Verilog HDL语言的设计。在该软件环境下,设计者可以实现程序的编写、编译、仿真、图形设计、图形的仿真等许许多多的功能。在做交通灯控制器设计时选择的编程语言是VHDL语言。 在这里简单的介绍一下QuartusⅡ的基本部分。图1-1-1是一幅启动界面的图片。在设计前需要对软件进行初步的了解,在图中已经明显的标出了每一部分的名称。 图 1-1-1 启动界面 开始设计前我们需要新建一个工程,首先要在启动界面上的菜单栏中找到File,单击它选择它下拉菜单中的“New Project Wizard”时会出现图1-1-2所显示的对话框,把项目名称按照需要填好后单击Next,便会进入图 1-1-3 显示的界面。

分频器设计_可控型

现代科技的发展对信号源提出了越来越高的要求,要求信号源的频带宽、频率分辨率高、频率稳定度高、相位噪声和杂散很低、能程控等.频率合成技术是产生大量高精度频率信号的主要技术,频率合成器是一种相位锁定装置,是通讯、雷达、仪器仪表、高速计算机和导航设备中的一个重要组成部分。频率合成器是可由一个工作范围在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);

通过Verilog实现交通灯设计实验报告

电子科技大学 实 验 报 告 一、实验室名称:虚拟仪器实验室 二、实验项目名称:交通灯设计实验 三、实验学时:4学时 四、实验原理

假设交通灯处于南北和东西两条大街的“十”字路口,如图1所示。用FPGA 开发板的LED 灯来模拟红、黄、绿3种颜色信号,并按一定顺序、时延来点亮LED ,如图2所示。图3给出了交通灯的状态转移图。设计使用频率为1Hz 的时钟来驱动电路(注1:仿真时采用1MHz 的时钟来驱动电路),则停留1个时钟可得到1S 的延时,类似停留3个时钟可得到3S 的延时,停留15个时钟可得到15S 的延时(注2:开发板工作时钟为50MHz )。 北 南 西东 图1. 六个彩色LED 可以表示一组交通信号灯 图2. 交通灯状态 南北 东西 红 黄 绿 红 黄 绿 S0 1 0 0 0 0 1 S1 1 0 0 0 1 0 S2 1 0 0 1 0 0 S3 0 0 1 1 0 0 S4 0 1 0 1 0 0 S5 1 0 0 1 0 0

图3. 交通灯的状态转移图 顶层模块 时钟分频模块状态机跳转模块 图4. 交通灯的原理框图 五、实验目的 本实验是有限状态机的典型综合实验,掌握如何使用状态转移图来定义Mealy状态机和Moore状态机,熟悉利用HDL代码输入方式进行电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个交通灯的设计掌握利用EDA软件(Xilinx ISE 13.2)进行HDL代码输入方式的电子线路设计与仿真的详细流程。。 六、实验内容 在Xilinx ISE 13.2上完成交通灯设计,输入设计文件,生成二进制码流文件下载到FPGA开发板上进行验证。 七、实验器材(设备、元器件)

基于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

基于FPGA的交通灯课程设计报告

总体设计要求和技术要点 1.任务及要求 (1)设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。 (2)红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。 (3)主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (4)主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。 (5)在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。 (6)按《湖南涉外经济学院课程设计管理办法》要求提交课程设计报告。 工作内容及时间进度安排 第17周:周1---周2 :立题、论证方案设计 周3---周5 :程序设计与调试 第18周:周1---周3 :硬件调试与测试、撰写课程设计报告 周4---周5 :验收答辩 课程设计成果 1.与设计内容对应的软件程序 2.课程设计总结报告

摘要 本实验为自主选题设计实验,实验选择具有倒计时显示功能的红黄绿三色交通设计,实验中采用VHDL 作为设计功能描述语言,选用Altera公司的EP1K30144-PIN TQFP最为主控芯片,实验报告中简要介绍了FPGA器件,并给出了设计原理图,详细的介绍了交通灯的设计流程,实验报告中还附有实验代码实验结果照片图。 Abstract This experiment designed for independent choice experiment, experiment choice which has the function of the countdown display red yellow green traffic design, description language (VHDL as design function is applied in the experiments, the most main control chip select MAX II EPM240T100C5 Altera company, experiment report, this paper briefly introduces the MAX II device series, and gives the design diagram, detailed introduces the traffic lights of the design process, the experiment report with the code results photo graph.

任意分频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滤波网络,将功率放大器输出的功率音频信号分为低音,中音和高音,分别送至各自扬声器。连接简单,使用方便,但消耗功率,出现音频谷

基于FPGA的交通灯设计说明

交通信号灯控制器

目录 第一章系统设计 1.1设计要求 (3) 1.2 方案比较 (3) 1.3方案论证 (3) 1.3.1总体思路 (4) 1.3.2设计方案 (5) 第二章单元电路设计 2.1 4位二进制计数器 (6) 2.2 两位二进制计数器 (6) 2.3定时时间到检测电路 (6) 2.4红黄绿灯输出控制电路 (6) 2.5计时器 (6) 第三章软件设计 3.1用VHDL编写程序 (6) 3.2 程序流程 (7) 3.3程序清单及仿真 (7) 第四章系统测试 (7) 第五章结论 (8) 参考文献 (9) 附录 (10)

0 引言 随着经济的飞速发展,现代化交通管理成了当今的热点问题。一个完善的交通控制功能,可使混乱的交通变得井然有序,从而保障了人们的正常外出。本系统通过设计一交通信号灯控制器,达到交通控制的目的。除实现交通灯基本的控制功能外,系统还可显示该灯本次距灯灭所剩的时间,具有更完善的控制功能,使行人提前做好起、停准备,具有更强的实用性。 第1章 系统设计 1.1设计要求 (1) 交通灯从绿变红时,有4秒黄灯亮的间隔时间。 (2) 交通灯红变绿是直接进行的,没有间隔时间。 (3) 主干道上的绿灯时间为20秒,支干道的绿灯时间为10秒。 (4) 在任意时间,显示每个状态到该状态结束所需要的时间。 1.2方案比较 要实现对交通灯的控制,有很多的方案可供选择。 方案一:由两块CMOS 集成电路完成定时和序列控制功能,三只双向晶体管完成实际的电源切换功能。电路中采用10V 负电源(可由市电电压经降压、整流、滤波、稳压而得)、CD4049集成电路、计数器CD4017等器件。其中双向晶闸管选用400V 、4A 的,二极管选用BY127型和1N4148型,稳压管选用10V 、1W 的。因直接使用市电工作,故在安装和使用时安全系数较低,且硬件电路复杂,所用器件多。 方案二:运用VHDL 语言分别控制分频和状态机两个模块, 即信号源经分频器分频后得到1Hz 脉冲,输出脉冲控制状态机中预置四个状态的循环,从而达到交通控制作用.该方案电路结构简单,使用器件少,易于安装和使用.但不宜于电路扩展,适用围小,应用不广泛. 方案三:采用VHDL 语言输入的方式实现交通信号灯控制器,并灵活运用了通用元件CBU14和CBU12作为4位二进制计数器和两位二进制计数器,简化了硬件电路,同时也给调试、维护和功能的扩展、性能的提高带来了极大的方便。 分析以上三种方案的优缺点,显然第三种方案具有更大的优越性、灵活性,所以采用第三种方案进行设计。 1.3 方案论证 1.3.1 总体思路 系统交通管理示意图如图1.3.1. 主干道 支干道 图1.3.1 路口交通管理示意图 由此可得出交通信号灯A 、B 、C 、D 的4种状态:

相关文档
最新文档