任意波形产生电路设计_第1页
任意波形产生电路设计_第2页
任意波形产生电路设计_第3页
任意波形产生电路设计_第4页
任意波形产生电路设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、苏 州 市 职 业 大 学课程设计说明书 名称 任意波形产生电路设计2012年6月11日至2011年6月15日共1 周院 系 电子信息工程系 班 级 10通信2 姓 名 汪 系主任 张红兵 教研室主任 范海建 指导教师 陶志福 目录第一章:绪论31.1概述EDA技术31.1.1 EDA技术的应用31.2数字通信系统模型简述41.2.1 DDS优点41.2.2 基于DDS技术的任意波形发生器4第二章:设计要求62. 1 设计流程图62.2电路模块组成原理图6第三章:系统的设计83.1设计要求83.2设计思路83.3设计流程93.4设计步骤及程序93.5硬件实现及调试结果16第四章:课程设计总结1

2、8参考文献18第一章:绪论1.1概述EDA技术EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技

3、术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。 利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。 现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。1.1.1 EDA技术的应用EDA技术在进入21世纪后,得到了更大的发展应用,突出表现在以下几个方面:1.在FPGA上实现DSP应用成为可能,用纯数字逻辑进行DSP模块的设计,使得高速DSP实现成为现实,

4、并有力地推动了软件无线电技术的实用化和发展。基于FPGA的DSP技术,为高速数字信号处理算法提供了实现途径。2.嵌入式处理器软核的成熟,使得SOPC(System On a Programmable Chip)步入大规模应用阶段,在一片FPGA中实现一个完备的数字处理系统成为可能。3.使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能。4.在仿真和设计两方面支持标准硬件描述语言且功能强大的EDA软件不断推出。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。1.2数字通信系统模型简述数字

5、通信系统是指利用数字信号传递消息的通信系统。数字通信系统的模型如图所示。数字通信涉及的技术问题很多,其中有信源编码、信道编码、保密编码、数字调制、数字复接、同步问题等等。DDS是一种全数字化的频率合成器,由相位累加器、波形ROM、D/A转换器和低通滤波器构成。时钟频率给定后,输出信号的频率取决于频率控制字,频率分辨率取决于累加器位数,相位分辨率取决于ROM的地址线位数,幅度量化噪声取决于ROM的数据位字长和D/A转换器位数。 1.2.1 DDS优点DDS有如下优点: 频率分辨率高,输出频点多,可达 个频点(N为相位累加器位数);频率切换速度快,可达us量级; 频率切换时相位连续; 可以输出宽带

6、正交信号; 输出相位噪声低,对参考频率源的相位噪声有改善作用;可以产生任意波形; 全数字化实现,便于集成,体积小,重量轻,因此八十年代以来各国都在研制和发展各自的DDS产品,如美国QUALCOMM公司的Q2334,Q2220;STANFORD公司的STEL-1175,STEL-1180;AD公司的AD7008,AD9850,AD9854等。这些DDS芯片的时钟频率从几十兆赫兹到几百兆赫兹不等,芯片从一般功能到集成有D/A转换器和正交调制器。1.2.2 基于DDS技术的任意波形发生器波形发生器电路系统结构图任意波形发生器(简称AWG)在1975年的开发成功为信号发生器产品增加了一个新品种。在任意

7、波形发生器作为测量用信号激励源进入市场之前,为了产生非正弦波信号,已使用函数发生器提供三角波、斜波、方波和余弦波等几种特殊波形。声音和振动分析需要复杂调制的信号源,以便仿真真实的信号,只有借助任意波形发生器,例如医疗仪器测试往往需要心电波形,任意波形发生器很容易产生各种非标准的振动信号。任意波形发生器的应用非常广泛,在原理上可仿真任意波形,只要数字示波器或其它记录仪捕捉到的波形,任意波形发生器都可复制出,特别有用的是仿真单次偶发的信号,例如地震波形、汽车碰撞波形等。第二章:设计要求2. 1 设计流程图电路要求可以产生方波、正弦波、三角波,波形的频率可调,通过控制开关控制产生的波形,并通过控制按

8、键控制设计信号的频率,改变频率的方法可以采用分频和DDS的原理进行控制信号频率。并进行D/A转换电路与滤波电路的设计,通过采用施密特触发器对波形进行整形,设计一频率测量电路对所产生的频率进行测量,通过数码管显示出来,并在数码管上显示当前的波形代码。至少产生的如下波形图1 正弦波形 图2 三角波形 图3 方波波形 图4特殊波形2.2电路模块组成原理图第三章:系统的设计3.1设计要求电路要求可以产生方波、正弦波、三角波,波形的频率可调,通过控制开关控制产生的波形,并通过控制按键控制设计信号的频率,改变频率的方法可以采用分频和DDS的原理进行控制信号频率。并进行D/A转换电路与滤波电路的设计,通过采

9、用施密特触发器对波形进行整形,设计一频率测量电路对所产生的频率进行测量,通过数码管显示出来,并在数码管上显示当前的波形代码。3.2设计思路(1)提出设计说明书,即用自然语言表达系统项目的功能特点和技术参数等。(2)建立VHDL行为模型,这一步是将设计说明书转化为VHDL行为模型。(3)VHDL行为仿真。这一阶段可以利用VHDL仿真器(如ModelSim)对顶层系统的行为模型进行仿真测试,检查模拟结果,继而进行修改和完善。(4)VHDL-RTL级建模。如上所述,VHDL只有部分语句集合可用于硬件功能行为的建模,因此在这一阶段,必须将VHDL的行为模型表达为VHDL行为代码(或称VHDL-RTL级

10、模型)。(5)前端功能仿真。(6)逻辑综合。(7)测试向量生成。这一阶段主要是针对ASIC设计的。FPGA设计的时序测试文件主要产生于适配器。对ASIC的测试向量文件是综合器结合含有版图硬件特性的工艺库后产生的,用于对ASIC的功能测试。(8)功能仿真。利用获得的测试向量对ASIC的设计系统和子系统的功能进行仿真。(9)结构综合。主要将综合产生的表达逻辑连接关系的网表文件,结合具体的目标硬件环境进行标准单元调用、布局、布线和满足约束条件的结构优化配置,即结构综合。(10)门级时序仿真。在这一级中将使用门级仿真器或仍然使用VHDL仿真器(因为结构综合后能同步生成VHDL格式的时序仿真文件)进行门

11、级时序仿真,在计算机上了解更接近硬件目标器件工作的功能时序。(11)硬件测试。这是对最后完成的硬件系统(如ASIC或FPGA)进行检查和测试。3.3设计流程3.4设计步骤及程序分频模块 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fp ISport(clk:in std_logic; -input 1K Hz k:in std_logic_vector(3 downto 0); clko:buffer std_logic); -out 1 hzend fp;architectur

12、e a of fp issignal temp:std_logic_vector(3 downto 0);beginprocess(clk)beginif clkevent and clk=1 thenif tempk thentemp=temp+1;elsetemp=0000;clko=not clko;end if;end if;end process;end a;正弦函数模块 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entit

13、y sin isport(clk4:in std_logic; k:in integer range 15 downto 0; dd4:out integer range 255 downto 0);end sin;architecture dacc of sin issignal q: integer range 63 downto 0;beginprocess(clk4)beginif (clk4event and clk4=1) thenqdd4null;end case;end process;end dacc;三角波 library ieee;use ieee.std_logic_1

14、164.all;use ieee.std_logic_unsigned.all;entity tria isport(clk3:in std_logic; k:in integer range 15 downto 0; dd3:out integer range 255 downto 0);end tria;architecture dacc of tria issignal b:std_logic;signal c:integer range 255 downto 0;beginprocess(clk3)beginif (clk3event and clk3=1) thenif(b=0) t

15、henc=250) thenb=1;end if;elsif(b=1) thenc=c-k;if(c=1) thenb=0;end if;end if;dd3=c;end if;end process;end dacc;方波 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity square isport(clk1 : in std_logic; k:in integer range 15 downto 0; dd1 : buffe

16、r integer range 255 downto 0);end square;architecture dacc of square issignal q: integer range 255 downto 0;beginprocess(clk1)beginif (clk1event and clk1=1) thenqdd1dd1null;end case;end process;end dacc;特殊波形 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_uns

17、igned.all;entity sintra isport(clk4:in std_logic; k:in integer range 15 downto 0; dd4:out integer range 255 downto 0);end sintra;architecture dacc of sintra issignal q: integer range 63 downto 0;beginprocess(clk4)beginif (clk4event and clk4=1) thenqdd4dd4null;end case;end process;end dacc;分频1Hz LIBR

18、ARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fp1HZ ISPORT(clk:in std_logic; -10M clk1Hz: buffer STD_LOGIC);END fp1hz;ARCHITECTURE one OF fp1hz ISSIGNAL test: integer range 0 to 6000000;beginprocess(clk)beginif clkevent and clk=1 thenif test5000000 thentest=test+1;elset

19、est=0;clk1hz=not clk1hz;end if;end if;end process;end one;测频模块 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY freq ISPORT(fsin: in STD_LOGIC; clk: IN STD_LOGIC; dout0,dout1,dout2,dout3: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END freq;ARCHITECTURE one OF freq ISSIGNAL test_

20、en: STD_LOGIC; SIGNAL clear: STD_LOGIC; SIGNAL data: STD_LOGIC_VECTOR(15 DOWNTO 0); BEGIN PROCESS(clk)BEGIN IF clkevent AND clk=1 THEN test_en=NOT test_en; END IF; END PROCESS; clear=NOT clk AND NOT test_en; PROCESS(fsin)BEGIN IF clear=1 THEN data=0000000000000000;ELSIF fsinevent AND fsin=0 THENIF d

21、ata(15 DOWNtO 0)=1001100110011001 THEN data=data+0110011001100111; elsIF data(11 DOWNtO 0)=100110011001 THEN data=data+011001100111; ELSIF data(7 DOWNTO 0)=10011001 THEN data=data+01100111; ELSIF data(3 DOWNTO 0)=1001 THEN data=data+0111; ELSE data=data+1; END IF;END IF;END PROCESS;PROCESS(test_en,d

22、ata) BEGIN IF test_enevent AND test_en=0 THEN dout0=data(3 downto 0); dout1=data(7 downto 4); dout2=data(11 downto 8); dout3=data(15 downto 12); END IF; END PROCESS;END one;控制模块 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.allentity control isport(sel:in std_logic_vector(1 downto 0); k0,k1,k2,k3:in integer range 255 downto 0; qout:out integer range 255 downto 0);end control;architecture a of control isbegin process(sel,k0,k1,k2,k3) begin if sel=“00” then qo

温馨提示

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

评论

0/150

提交评论