eda信号发生器的设计_第1页
eda信号发生器的设计_第2页
eda信号发生器的设计_第3页
eda信号发生器的设计_第4页
eda信号发生器的设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计说明书1 引言简易多功能信号发生器是信号发生器的一种,在生产实践和科研领域中有着广泛的应用。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波,三角波,方波和锯齿波等,因而广泛用于通信、雷达、导航、宇航等领域。在本设计中它能够产生多种波形,如正弦波,三角波,方波和锯齿波等,并能实现对各种波频率和幅度的改变。正因为其在生活中应用的重要性,人们它做

2、了大量的研究,总结出了许多实现方式。可以基于fpga 、vhdl、单片机、dos技能、数字电路等多种方法实现。本设计是采用vhdl来实现的简易多功能信号发生器。它能产生正弦波,三角波,方波和锯齿波。且对各种波形的要求如下:(1)根据按键选择不同的波形(实现正弦波,三角波,方波和锯齿波);(2)各波形的频率范围为100hz-20khz;(3)各波形频率可调(通过按键控制频率的变化,步进值为500hz);(4)用led数码管实时显示输出波形的频率值;(5)用按键控制实现输出信号的幅度调节(幅度调节为2.5v和5v)。2 eda技术介绍2.1 eda介绍eda是电子设计自动化(electronic

3、design automation)缩写。eda技术是以计算机为工具,根据硬件描述语言hdl( hardware description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。 硬件描述语言hdl是相对于一般的计算机软件语言,如:c、pascal而言的。hdl语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用hdl程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制fpga和cpld内部结构,并

4、实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就fpga/cpld开发来说,比较常用和流行的hdl主要有abel-hdl、ahdl和vhdl1。几乎所有适于大学生做的数字逻辑电路实验都可以在计算机上利用eda (electronic design automatic电子设计自动化)软件进行设计、仿真,只有极少量外部配件不能在计算机上进行仿真。因此,在实验前期阶段,即实验预习阶段的主要应用工具是eda软件,利用eda软件可以设计、仿真实验课题,进行虚拟实验。通过虚拟实验使实验者在进入真实实验前就能对预做的实验有相当的了解,甚至可以预测到实验的结果。这样在实际做实验时,可以把许多

5、设计型实验的难度降低,同时能有更多的时间让实验者动手做实验,研究问题,提高实验效率。当前数字电路设计已由计算机辅助设计进入到以计算机为主的设计时代。2.2 vhdl基本介绍vhdl是一种主要的硬件描述语言之一,硬件描述语言(hdl)是各种描述方法中最能体现eda优越性的描述方法。所谓硬件描述语言,实际上就是一种描述工具,其描述的对象就是待设计电路系统的逻辑功能,实现该功能的算法,选用的电路结构以及其他各种约束条件等。通常要求hdl既能描述系统的行为,又能描述系统的结构。vhdl语言是美国国防部与20世纪80年代后期,出于军事工业需要开发的。1984年vhdl被ieee确定为标准的硬件描述语言。

6、1993年ieee对vhdl进行了修正,增加了部分新的vhdl命令与属性,增强了对系统的描述能力。vhdl涵盖面广,抽象描述强,支持硬件的设计,验证,综合和测试。vhdl能在多级别上对同一逻辑功能进行描述。vhdl的基本结构包含一个实体和一个结构体,而完整的vhdl结构还包括配置,程序包与库。各种硬件描述语言中,vhdl的描述能力最强,因此运用vhdl 进行复杂电路设计时,往往采用自顶向下结构化的设计方法。2.3 设计工具简介quartus ii 是altera公司的综合性pld开发软件,支持原理图、vhdl、veriloghdl以及ahdl(altera hardware descripti

7、on language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整pld设计流程。quartus ii支持altera的ip核,包含了lpm/megafunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方eda工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放eda工具。此外,quartus ii 通过和dsp builder工具与matlab/simulink相结合,可以方便地实现各种dsp应用系统;支持altera的片上可编程系统(sopc)开发,集系统级设计、嵌入式软件开发、可编程逻辑设

8、计于一体,是一种综合性的开发平台。maxplus ii 作为altera的上一代pld设计软件,由于其出色的易用性而得到了广泛的应用。目前altera已经停止了对maxplus ii 的更新支持,quartus ii 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。altera在quartus ii 中包含了许多诸如signaltap ii、chip editor和rtl viewer的设计辅助工具,集成了sopc和hardcopy设计流程,并且继承了maxplus ii 友好的图形界面及简便的使用方法。altera quartus ii 作为一种可编程逻辑的设计环境, 由于其强大的设计能

9、力和直观易用的接口,越来越受到数字系统设计者的欢迎。 altera的quartus ii可编程逻辑软件属于第四代pld开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于internet的协作设计。quartus平台与cadence、exemplarlogic、 mentorgraphics、synopsys和synplicity等eda供应商的开发工具相兼容。改进了软件的logiclock模块设计功能,增添 了fastfit编译选项,推进了网络编辑性能,而且提升了调试能力。3 设计流程3.1设计思想及原理图基于vhdl语言设计一个简易多功能信号发生器,通过选入输入信号,可以输出正

10、弦波、三角波、方波和锯齿波四种波形信号。信号发生器的控制模块可以用数据选择器实现,四种信号的信号选择可以用4选1数据选择器实现。同时本设计使用原理图的方法,对正弦波、三角波、方波和锯齿波和4选1数据选择器元件进行调用。简易多功能信号发生器的原理图如下:图1 简易多功能信号发生器原理图原理图本设计的主题思想是各个模块分别产生相应的波形,再通过一个4选1数据选择器输出相应的波形。通过其他按键控制波形的频率和幅度的变化。3.2 正弦波、三角波、方波和锯齿波的实现3.2.1正弦波设计 正弦波的产生思想是将对模拟波形采样后的编码存入定义好的rom中,再根据时钟循环的将这些编码顺序输出,在输出端将经过数模

11、转换器转换后的模拟信号接入示波器即可显示正弦波形。产生正弦波的vhdl代码如下:library ieee;use ieee.std_logic_1164.all;entity sin2 isport(clock,sel:in std_logic;dout4:out integer range 0 to 255);end sin2;architecture bhv of sin2 istype mem_type is array(0 to 63) of integer range 0 to 255;constant mem:mem_type:=(255,254,252,249,245,239,2

12、33,225,217,207,197,186,174,162,150,137,124,112,99,87,75,64,53,43,34,26,19,13,8,4,1,0,0,1,4,8,13,19,26,34,43,53,64,75,87,99,112,124,137,150,162,174,186,197,207,217,225,233,239,245,249,252,254,255);signal address:integer range 0 to 63;begin process(clock) begin if clockevent and clock=1 then if addres

13、s63 then address=0; else if sel=1 then address=address+1; dout4=(mem(address)/2; else address=address+1; dout463 then address=0; else if sel=1 then address=address+1; dout3=(mem(address)/2; else address=address+1; dout363 then address=0; else if sel=1 then address=address+1; dout1=(mem(address)/2; e

14、lse address=address+1; dout163 then address=0; else if sel=1 then address=address+1; dout2=(mem(address)/2; else address=address+1; dout2=mem(address); end if; end if; end if;end process;end bhv;3.2.8锯齿波的仿真在quartus ii软件输入上述代码,再通过编译和时序仿真,可得到如下的仿真波形。图5 正弦波未分频时仿真图仿真图上图中的输出制式模拟信号各采样点的数字编码,由于没有经过数模转换,输出结

15、果就如图中所示。当将程序下载到硬件后,在示波器上就可以显示锯齿波波形了。3.3各个控制单元的实现3.3.1频率控制单元频率控制单元包括按键输入识别模块、分频数产生模块和分频模块。其器件图分别如图6、图7和图8所示。在按键输入识别模块中共有4个输入端。其中一个时钟输入端,以一个频率调节输入端,一个使系统输出波形的频率为最大的控制输入端和一个使系统输出波形的频率为最小的控制输入端。本课程设计要求输出波形的频率在每按一次相应的按键时,就增加或减少500hz。而实验室的硬件设备上的按键都是拨码是按键,即按键按下后一直有效,这显然不能满足要求。于是按键输入识别模块中用如下的代码实现按键没按一次都能有效的

16、功能。if button0=0 and button1=1 then if cnt=40 then cnt=0; else cnt=cnt+1; end if; elsif button0=1 and button1=0 then if cnt=40 then cnt=0; else cnt63 thenaddress=0;elseif sel=1 thenaddress=address+1;dout1=(mem(address)/2;elseaddress=address+1;dout163 thenaddress=0;elseif sel=1 thenaddress=address+1;d

17、out4=(mem(address)/2;elseaddress=address+1;dout463 thenaddress=0;elseif sel=1 thenaddress=address+1;dout2=(mem(address)/2;elseaddress=address+1;dout263 thenaddress=0;elseif sel=1 thenaddress=address+1;dout3=(mem(address)/2;elseaddress=address+1;dout3=mem(address);end if;end if;end if;end process;end

18、 bhv;按键输入识别模块library ieee;use ieee.std_logic_1164.all;entity aa isport(clk:in std_logic;btn:in std_logic_vector(1 downto 0);highh:in std_logic;loww:in std_logic;addr:out integer range 0 to 40);end aa;architecture bhv of aa issignal cnt:integer range 0 to 40 :=0;signal button0,button1,button2,button3

19、:std_logic;beginprocess(highh,loww,clk,button0,button1)beginif clkevent and clk=1 thenbutton0=btn(0);button1=button0;button2=btn(1);button3=button2;if highh=1 thencnt=40;elsif loww=1 thencnt=0;elseif button0=0 and button1=1 thenif cnt=40 thencnt=0;elsecnt=cnt+1;end if;elsif button0=1 and button1=0 t

20、henif cnt=40 thencnt=0;elsecnt=cnt+1;end if;elsif button2=0 and button3=1 thenif cnt=0 thencnt=40;elsecnt=cnt-1;end if;elsif button2=1 and button3=0 thenif cnt=0 thencnt=40;elsecnt=cnt-1;end if;end if;end if;end if;end process;addr=cnt;end bhv;分频模块library ieee;use ieee.std_logic_1164.all;entity fenp

21、in isport(shu:in integer range 0 to 937;clk:in std_logic;clock:out std_logic);end fenpin;architecture bhv of fenpin issignal num:integer range 0 to 937;signal i:integer range 0 to 937:=0;signal temp:std_logic:=0;beginprocess(clk,i,temp)beginif clkevent and clk=1 thenif i=shu theni=0;temp=not temp;el

22、sei=i+1;end if;end if;clockshu=937;wan=zzzz;qian=zzzz;bai=0001;shi=0000;geshu=172;wan=zzzz;qian=zzzz;bai=0101;shi=0000;geshu=93;wan=zzzz;qian=0001;bai=0000;shi=0000;geshu=62;wan=zzzz;qian=0001;bai=0101;shi=0000;geshu=46;wan=zzzz;qian=0010;bai=0000;shi=0000;geshu=37;wan=zzzz;qian=0010;bai=0101;shi=00

23、00;geshu=31;wan=zzzz;qian=0011;bai=0000;shi=0000;geshu=26;wan=zzzz;qian=0011;bai=0101;shi=0000;geshu=24;wan=zzzz;qian=0100;bai=0000;shi=0000;geshu=20;wan=zzzz;qian=0100;bai=0101;shi=0000;geshu=18;wan=zzzz;qian=0101;bai=0000;shi=0000;geshu=16;wan=zzzz;qian=0101;bai=0101;shi=0000;geshu=15;wan=zzzz;qia

24、n=0110;bai=0000;shi=0000;geshu=28;wan=zzzz;qian=0110;bai=0101;shi=0000;geshu=13;wan=zzzz;qian=0111;bai=0000;shi=0000;geshu=12;wan=zzzz;qian=0111;bai=0101;shi=0000;geshu=11;wan=zzzz;qian=1000;bai=0000;shi=0000;geshu=11;wan=zzzz;qian=1000;bai=0101;shi=0000;geshu=10;wan=zzzz;qian=1001;bai=0000;shi=0000

25、;geshu=10;wan=zzzz;qian=1001;bai=0101;shi=0000;geshu=9;wan=0001;qian=0000;bai=0000;shi=0000;geshu=9;wan=0001;qian=0000;bai=0101;shi=0000;geshu=8;wan=0001;qian=0001;bai=0000;shi=0000;geshu=8;wan=0001;qian=0001;bai=0101;shi=0000;geshu=8;wan=0001;qian=0010;bai=0000;shi=0000;geshu=7;wan=0001;qian=0010;bai=0101;shi=0000;geshu=7;wan=0001;qian=0011;bai=0000;shi=0000;geshu=7;wan=0001;qian=0011;bai=0101;shi=0000;geshu=6;wan=0001;qian=0100;bai=0000;shi=0000;geshu=6;wan=0001;qian=0100;bai=0101;shi=0000;geshu=6;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论