eda信号发生器课程设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计说明书11引言随着基于CPLD的EDA技术的发展和应用领域的扩大与深入,EDA技术在电子信息、通信、自动控制及计算机等领域的重要性日益突出。作为一个学电子信息专业的学生,我们必须不断地去了解更多的新产品信息,这就更加要求我们对EDA有个全面的认识。信号发生器在我们的日常中有很重要的应用,用VHDL语言去实现设计将会使我们对本学科知识可以更好地掌握。本设计是一个基于VHDL的采用自顶向下设计方法实现的信号发生器,该设计方法具有外围电路简单,程序修改灵活和调试容易等特点,并通过计算机仿真和实验证明了设计的正确性。简易多功能信号发生器是信号发生器的一种,在生产实践和科研领域中有着广泛的应用。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波,三角波,方波和锯齿波等,因而广泛用于通信、雷达、导航、宇航等领域。在本设计中它能够产生多种波形,如正弦波,三角波,方波和锯齿波等,并能实现对各种波频率和幅度的改变。正因为其在生活中应用的重要性,人们它做了大量的研究,总结出了许多实现方式。可以基于FPGA、VHDL、单片机、DOS技能、数字电路等多种方法实现。本设计是采用VHDL来实现的简易多功能信号发生器。它能产生正弦波,三角波,方波和锯齿波。且对各种波形的要求如下:(1)根据按键选择不同的波形(实现正弦波,三角波,方波和锯齿波);(2)各波形的频率范围为100Hz-20KHz;(3)各波形频率可调(通过按键控制频率的变化,步进值为500Hz);(4)用LED数码管实时显示输出波形的频率值;(5)用按键控制实现输出信号的幅度调节(幅度调节为2.5V和5V)。课程设计说明书22EDA技术介绍2.1EDA简介EDA是电气设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD),计算机辅助测试(CAT),计算机辅助工程(CAE),的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用HDL程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就FPGA/CPLD开发来说,比较常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。利用EDA工具,电子设计师可以从概念,算法,协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计,性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。2.2VHDL的基本介绍VHDL是一种主要的硬件描述语言之一,硬件描述语言(HDL)是各种描述方法中最能体现EDA优越性的描述方法。所谓硬件描述语言,实际上就是一种描述工具,其描述的对象就是待设计电路系统的逻辑功能,实现该功能的算法,选用的电路结构以及其他各种约束条件等。通常要求HDL既能描述系统的行为,又能描述系统的结构。VHDL能在多级别上对同一逻辑功能进行描述。VHDL的基本结构包含一个实体和一个结构体,而完整的VHDL结构还包括配置,程序包与库。各种硬件描述语言中,VHDL的描述能力最强,因此运用VHDL进行复杂电路设计时,往往采用自顶向下结构化的设计方法。课程设计说明书33设计思想及其功能3.1设计思想本次设计基于VHDL语言设计一个简易多功能信号发生器,通过九个模块来实现信号发生器的整体功能。每个模块建立一个工程,并进行编译和仿真,最后建立一个顶层文件,将各个模块调入并生成器件,最后,新建Block文件调用器件,经过连线,编译,仿真,下载,实现完成整个设计。具体原理图结构如下图所示:图1多功能信号发生器原理图3.2功能介绍3.2.1整体功能介绍(1)设计一个简易多功能信号发生器,产生稳定的正弦波,三角波,方波和锯齿波。(2)信号发生器波形信号的选择由外部按键控制选择。(3)信号发生器输出信号的频率范围为100Hz-20KHz,要求通过按键控制课程设计说明书4输出信号的频率,频率步进为500Hz。(4)信号发生器显示部分设计:用LED数码管实时显示输出波形的频率值。(5)要求使用相应的按键控制实现信号发生器的幅度调节。幅度调节为2.5V和5V。本次设计共用九个模块,分别为:频率调节模块,分频数产生模块,分频模块组成频率控制单元,方波发生器,三角波发生器,锯齿波发生器,正弦波发生器组成波形生成单元,4选1数据选择器和调节幅度模块组成波形控制单元,调节幅度模块,下面对每个模块的功能及其仿真结果进行分析。3.2.2频率调节模块图2频率调节模块本模块有五个输入端,其中一个时钟输入端clk,两个频率调节输入端b_d和b_x,一个使输出波形的频率为最大的控制端z_d和一个使输出波形的频率为最小的控制端z_x。后四个连按键。一个输出端address,连接分频数产生模块的输入端。本课程设计要求输出波形的频率在每按一次b_d或b_x时,就增加或减500Hz。z_d或z_x为高电平时,输出波形频率分别为20KHz和100Hz,再按相应的使频率增减的按键则可实现频率从最大或最小开始增加或减少的功能。其VHDL代码:entitytiaopinis-------entity对各端口定义port(clk:instd_logic;b_d,b_x,z_d,z_x:instd_logic;addrss:outintegerrange0to40);endtiaopin;architecturebhvoftiaopinis-------实体部分,对器件功能进行叙述signaltemp0,temp1,temp2,temp3:std_logic;beginprocess(z_d,z_x,clk)variablex:integerrange0to40;-------变量的定义beginclkb_db_xz_dz_xaddrss[5..0]tiaopininst课程设计说明书5ifclk'eventandclk='1'then-------时钟条件信号temp0=b_d;temp1=temp0;temp2=b_x;temp3=temp2;ifz_d='1'thenx:=40;elsifz_x='1'thenx:=0;elsiftemp0='0'andtemp1='1'then-------标志循环ifx=40thenx:=0;elsex:=x+1;endif;elsiftemp0='1'andtemp1='0'thenifx=40thenx:=0;elsex:=x+1;endif;elsiftemp2='0'andtemp3='1'thenifx=0thenx:=40;elsex:=x-1;endif;elsiftemp2='1'andtemp3='0'then-------标志循环ifx=0thenx:=40;elsex:=x-1;endif;endif;endif;课程设计说明书6endif;addrss=x;endprocess;endbhv;在QuartusII软件输入其代码,经过编译仿真后的仿真图形为:图3频率调节仿真图仿真图分析:刚开始令z_d为‘1’,则address为最大40,每按一次b_x按键,则address减1,之后令z_x为‘1’,则address变为最小0,每按一次b_d按键,address相应加1。其中address0到40分别对应100Hz到20KHz,步进为500Hz。具体原因会在分频数产生模块进一步说明。由此,实现了由按键控制输出的功能。3.2.3分频数产生模块图4分频数产生模块在分频数产生模块中有一个输入端,它接收从频率调节模块中输出的频率选择信号address,一个分频数输出端,五个相应的接数码管以显示系统输出信号频率的输出端。本模块相当于一个存储器,频率调节模块输出端相当于对其地址的控制输入端,当分频数产生模块的输入端address接收从频率调节模块中输出的对频率的控制信号后,便产生相应的分频数送到输出端,分频数data=12MHz/(2*64*f),其中f为输出波形的频率,同时将与分频数相应频率f送到与数码管相应的输出端。其VHDL代码address[5..0]data[9..0]wan[3..0]qian[3..0]bai[3..0]shi[3..0]ge[3..0]pinlvinst1课程设计说明书7entitypinlvis---------定义实体port(address:inintegerrange0to40;data:outintegerrange0to938;wan,qian,bai,shi,ge:outstd_logic_vector(3downto0));--------实体输出endpinlv;architecturebhvofpinlvisbeginprocess(address)begincaseaddressiswhen0=data=938;wan=ZZZZ;qian=ZZZZ;bai=0001;shi=0000;ge=0000;when1=data=188;wan=ZZZZ;qian=ZZZZ;bai=0101;shi=0000;ge=0000;when2=data=94;wan=ZZZZ;qian=0001;bai=0000;shi=0000;ge=0000;when3=data=63;wan=ZZZZ;qian=0001;bai=0101;shi=0000;ge=0000;when4=data=47;wan=ZZZZ;qian=0010;bai=0000;shi=0000;ge=0000;when5=data=38;wan=ZZZZ;qian=0010;bai=0101;shi=0000;ge=0000;when6=data=31;wan=ZZZZ;qian=0011;bai=0000;shi=0000;ge=0000;when7=data=27;wan=ZZZZ;qian=0011;bai=0101;shi=0000;ge=0000;when8=data=23;wan=ZZZZ;qian=0100;bai=0000;shi=0000;ge=0000;when9=data=21;wan=ZZZZ;qian=0100;bai=0101;shi=0000;ge=0000;when10=data=19;wan=ZZZZ;qian=0101;bai=0000;shi=0000;ge=0000;when11=data=17;wan=ZZZZ;qian=0101;bai=0101;shi=0000;ge=0000;课程设计说明书8when12=data=16;wan=ZZZZ;qian=0110;bai=0000;s

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功