ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:1.36MB ,
资源ID:19614595      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19614595.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FPGA波形发生器实训报告Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FPGA波形发生器实训报告Word文档格式.docx

1、4 参考文献-165 附录-171基于DDS技术的信号发生器设计1.1 功能要求具有产生正弦波、三角波、锯齿波3种周期性波形的功能。1.2 整体设计如图1.1所示:图1.1相位累加器的作用:在时钟的作用下,进行相位累加。波形存储器的作用:进行波形的相位幅值转换。频率预置与调节电路的作用:实现频率控制量的输入。D/A转换器的作用:把已经合成的正弦波的数字量转换成模拟量。滤除生成的阶梯形正弦波中的高频成分,将其变成光滑的正弦波。 如图1.2所示:图1.21.3 DDS技术的基本原理DDS这种结构主要由相位累加器、 相位调制器、 波形 ROM 查找表、 D/ A 构成。其中相位累加器、 相位调制器、

2、 波形 ROM 查找表是 DDS 结构中的数字部分 ,由于具有数控频率合成的功能 ,又合称为 NCO2。它的工作原理是:将要产生的波形数据存入波形存储器 ,然后在参考时钟的作用下 ,对输入的频率数据进行累加 ,并且将累加器的输出一部分作为读取波形存储器的地址 ,将读出的波形数据经D/A转换为相应的模拟电压信号。本研究的重点就是用VHDL来实现DDS的功能 ,能够达到高精度的输出 ,同时标准波形数据生成存放在 ROM 中 ,可以简化运算过程 ,提高运算速度 ,加快反应时间。2 FPGA硬件系统设计2.1 功能要求在本设计中,利用FPGA,采用EDA(Electronic Design Autom

3、ation)中自顶向下(top-to-down)的设计方法,选用基于相位累加器的直接数字合成/ DDS技术来完成数字信号发生器各功能模块的设计。本设计主要通过VHDL语言实现频率控制、波形控制、 波形数据的提取、 波形的产生工作。其中 ,波形数据运用VHDL语言编写 。控制部分主要采用产生高低电平的拨码开关控制。程序下载到 FPGA 上实现 ,经过D/ A 输出波形。并通过Altera公司QuartusII9.0软件进行波形的仿真,从而完成整个设计。本设计的任务是设计一个基于FPGA的数字信号发生器,根据任务书要求必须达到以下要求:1.利用EDA开发系统、Quartus II 9.0软件实现数

4、字信号发生器的设计;2.根据整体电路的工作原理,完成各个子模块的设计及实现;3.对数字信号发生器完成VHDL语言描述;4.该数字信号发生器能够产生正弦波、方波、三角波、锯齿波信号;5.产生的波形信号频率和幅度可通过按键进行调节;6.用按键调节实现各种波形的转换。2.2 FPGA最小系统简介本设计使用是FPGA芯片,其典型逻辑门数(包括逻辑门和RAM)为50000门,最大可用系统门数为116000门,逻辑单元(Logic elements)为2880个,逻辑阵列模块(Logic array blocks)为360个,嵌入式阵列模块(Embedded array blocks)为10个,RAM总容

5、量为20480字节,用户可用的I/O引脚最多为310个。芯片的工作电压为+5V。其内部结构如图2.1所示。图2.1 芯片结构图通常情况下在硬件调试的过程中一般使用下载电缆进行下载,而当调试完成以后要用配置芯片对FPGA进行配置。配置芯片在每次系统上电以后自动将配置文件加载到FPGA中形成电路。2.3 FPGA硬件系统组成该数字信号发生器系统主要由输入部分、FPGA部分、D/A转换部分、频率、幅值调节和波形转换部分组成。原理图如图2.2所示。图2.2 数字信号发生器系统原理图2.4 FPGA外围电路设计D/A转换器电路的设计:从波形RAM中读出的幅度量化数据还只是一个数字信号,要得到最后的输出信

6、号必须经过数模转换器。因此在波形RAM之后要设计一个D/A转换电路。数模(D/A)转换电路的作用是把已经合成的波形幅值的数字量转换成模拟量,其速度和特性直接影响整个系统的性能。D/A转换器件的首要特性要求是高速,其次是转换位数,本设计中选用8位的D/A芯片DAC0832。波形幅度量化序列经D/A转换后成为阶梯波。频率合成器对D/A转换器的分辨率有一定的要求,D/A转换器的分辨率越高,合成的波形台阶数就越多输出的波形的精度也就越高。D/A的输出用电压形式表示一般应为:式中D为D/A的输入数据值,N为D/AC的位数,即通常所指的D/AC的分辨率,为输入D/A的参考电压。D/A转换电路的设计首先是要

7、选择一款合适的D/A转换芯片。D/A转换芯片种类繁多。选择D/A转换芯片要根据很多因素来确定,最主要的就是要考虑字长和转换速度。本设计采用DAC0832 作为D/A 转换器件,其具有数字量的输入锁存功能,DAC0832芯片的输出通过放大器OP07,即可用示波器观察。100K的电位器在+5V和0V电压间为DAC0832提供参考电压。D/A转换电路的原理图如图2.3所示:图2.3 D/A转换电路的原理图2.5 程序设计mif文件生成使用C程序:#include #include math.hmain()int i;float s;for(i=0;i1024;i+) s = sin(atan(1)*

8、8*i/1024); printf(%d : %d;n,i,(int)(s+1)*1023/2); 生成该mif文件后需要创建该rom对应的eda程序,即创建对应的.vhd文件,创建完成后要注意程序内访问rom文件的地址是否正确。同时对这vhd文件另存为一个新的工程,再编译,生成对应的bsf。2.5.1 锯齿波产生程序设计及仿真锯齿波模块锯齿波生成程序如下: Q CLOCK, ADDRESS_A = ADDRESS, Q_A = SUB_WIRE0 );END SYN;程序详见附录仿真图形如图2.4.1:图2.4.12.5.2 三角波产生程序设计及仿真三角波模块三角波产生程序如下:仿真图形如图

9、2.4.2:图2.4.22.5.3 正弦波产生程序设计及仿真正弦波模块正弦波程序如下:BEGIN CLOCK_ENABLE_INPUT_A = BYPASS, CLOCK_ENABLE_OUTPUT_A = 仿真图形如图2.4.3:图2.4.32.5.4 顶层程序设计及仿真(1) 程序的功能整合所有的子程序,产生所需要的波形(2) 结构图或实体图(3) 顶层程序(输出方案)U1:ADDER32B PORT MAP(A=F32B,B=D32B,S=DIN32B);U2:REG32B PORT MAP(DOUT=D32B,DIN=DIN32B,LOAD=CLK1);U3:ADDER10B PORT

10、 MAP(A=P10B,B=D32B(31 DOWNTO 22),S=LIN10B);U4:REG10B PORT MAP(DOUT=SIN10B,DIN=LIN10B,LOAD=U5:SIN_ROM PORT MAP(ADDRESS=SIN10B,Q=V1,CLOCK=U6:SJBROM PORT MAP(ADDRESS=V2,CLOCK=U7:JCBROM PORT MAP(ADDRESS=V3,CLOCK=U8:XZQ PORT MAP(SEL1=SEL,D1=V1,D2=V2,D3=V3,Q=FOUT);U9:FPQ PORT MAP(INCLK=CLK,OUTCLK=END ;(4)

11、 仿真波形及分析2.5.5 分频程序及作用(1)程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ONEMHZ ISPORT( CLKIN:IN STD_LOGIC; -时钟信号输入CLKOUT:OUT STD_LOGIC); -时钟信号输出END ONEMHZ;ARCHITECTURE ONEMHZ OF ONEMHZ ISSIGNAL DATA:INTEGER RANGE 0 TO 149;SIGNAL Q:STD_LOGIC;PROCESS(CLKIN)IF RISING_EDGE(CLKIN) THENIF(DATA=50) THEN

12、-此句为你想要的分频比,DATA=0,1,2,3,4.9的分频比为1,2,3,,10DATA=0;Q=NOT Q;ELSE=DATA+1;END IF;CLKOUT=Q;END PROCESS;(2)作用由于FPGA提供的频率为50MHz,在不加处理的情况下,DAC无法分辨,且调频无法实现。(3)频率区间先对其500分频,故而为50MHz/500由于有公式: DAC内N=10;故;在所能产生的各个频率包括97.65*(000001B111111B)Hz2.5 硬件测试及结果分析通过杜邦线接高低电平于FPGA,频率控制与相位控制接0上电,进行调试。可以产生正弦、锯齿、三角波,但是在放大后,图形不

13、光滑,有许多尖刺出现。接上滤波后,大为缓解。3设计分析与总结3.1 故障分析设计过程中出现的故障分析故障一:(1)现象:只能产生一种波形原因分析:FPGA芯片烧录错误、引脚使用错误。(2)现象:波形不光滑。 原因分析:没有接滤波,波形为直接合成,接上滤波后大为缓解。3.2功能分析采用杜邦线来选择波形,01是正弦波,10是三角波,11锯齿波。(1为高电平,0接地)3.3 设计总结及感想在这里感谢指导老师给我耐心的指导,在这次设计期间,碰到许多专业方面的难题,李老师都一一予以解答,特别在教学繁忙的情况下,还为我们提供了许多宝贵的资料和意见,对我们进行了详细的分析,使我们更加顺利地完成此次课程设计。

14、通过这一个多月的时间,使我学到许多知识,明白了许多以前上课时无法理解的知识,还积累了一些较简单的问题解决方案。与此同时也感谢同组做课题设计的同学,在设计过程中,有许多东西我不懂,他们都耐心地给我讲解,给予我技术支援,帮助我解决了不少难题。4 参考文献1朱小斌电子测量仪器北京:电子工业出版社,19962Michael Lauterbach Artpin任意波形发生器在通讯测试中的应用电子产品世界,19973史海明个人仪器多功能任意波形发生器的研制仪表技术,19884林青DDS在数字调制中的应用无线电工程,20015张开增,张迎新,王尚忠高分辨率高稳度宽带函数发生器的研制华北工学院学报6华清远见嵌

15、入式培训中心FPGA应用开发入门与典型实例北京:人民邮电出版社,20087薛刚基于DDS技术的任意信号发生器自动化与仪器仪表,19958陈冠百锁相与频率合成北京:电子工业出版社,19959赵新民智能化仪器设计基础哈尔滨:哈尔滨工业大学出版社,199910MS高西,KR赖克现代滤波器设计北京:科学出版社,19895 附录 硬件原理图实验波形图。最低值理论值三个频率分别为97.65Hz 97.60Hz 97.63Hz,相对误差为:-0.027%理论输出488.30Hz 488.23Hz 488.36Hz,相对误差为:+0.0102%683.51Hz、 683.51Hz、 683.58Hz,相对误差

16、为:-0.0072%均在范围,十分精确。详细程序主程序USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DDS ISPORT(CLK: SEL:IN STD_LOGIC_VECTOR(1 DOWNTO 0); FWORD:IN STD_LOGIC_VECTOR(7 DOWNTO 0); PWORD: FOUT:OUT STD_LOGIC_VECTOR(9 DOWNTO 0);END ENTITY;ARCHITECTURE ONE OF DDS ISCOMPONENT REG32B PORT (LOAD: DIN: IN STD_LOGIC_VECTOR(31 DOW

17、NTO 0); DOUT:OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END COMPONENT;COMPONENT REG10B IN STD_LOGIC_VECTOR(9 DOWNTO 0);COMPONENT ADDER32BPORT(A:IN STD_LOGIC_VECTOR(31 DOWNTO 0); B: S: OUT STD_LOGIC_VECTOR(31 DOWNTO 0);COMPONENT ADDER10BIN STD_LOGIC_VECTOR(9 DOWNTO 0); OUT STD_LOGIC_VECTOR(9 DOWNTO 0);COMPONE

18、NT SIN_ROMPORT(ADDRESS: IN STD_LOGIC_VECTOR (9 DOWNTO 0); CLOCK: IN STD_LOGIC ; Q: OUT STD_LOGIC_VECTOR (9 DOWNTO 0);COMPONENT SJBROMCOMPONENT JCBROMCOMPONENT XZQPORT(SEL1: D1,D2,D3:COMPONENT FPQPORT(INCLK: OUTCLK:SIGNAL F32B,D32B,DIN32B:STD_LOGIC_VECTOR(31 DOWNTO 0);SIGNAL P10B,LIN10B,SIN10B:STD_LOGIC_VECTOR(9 DOWNTO 0);SIGNAL V1,V2,V3:SIGNAL CLK1:F32B(27 DOWNTO 20)=FWORD; F32B(31 DOWNTO 28)=0000;F32B(19 DOWNTO 0)00000000000000000000P10B(9 DOWNTO 2)=PWORD;P10B(1 DOWNTO 0)00三角波

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1