学位论文-—eda课程设计基于fpga的任意波形发生器.doc
《学位论文-—eda课程设计基于fpga的任意波形发生器.doc》由会员分享,可在线阅读,更多相关《学位论文-—eda课程设计基于fpga的任意波形发生器.doc(22页珍藏版)》请在咨信网上搜索。
综合实践 EDA课程设计 __基于FPGA的任意波形发生器 学院: 通信与电子工程学院 18 摘 要 本文主要探索了应用FPGA灵活可重复编程和方便在系统重构的特性,以Verilog HDL为设计语言,运用QuarrtusII软件,将硬件功能以软件设计来描述,提高了产品的集成度,缩短开发周期。所设计的波形发生器可产生正弦波(sina_wave)、锯齿波(swat_wave)、矩形波(squr_wave)、三角波(trig_wave)四种信号,能够实现信号的转换并且频率可调; 关键字:任意波形发生器 FPGA Verilog HDL QuartusII Abstract This paper explored the application of flexible and reprogrammable FPGA and convenience features in the system reconfiguration to Verilog HDL design language, the hardware functions to software design to describe and improve the integration of products and shorten the development cycle. Waveform generator designed to produce sine wave (sina_wave), ramp (swat_wave), rectangular wave (squr_wave), triangular wave (trig_wave) four signals, to achieve signal conversion and frequency adjustable; Keywords: Arbitrary Waveform Generator FPGA Verilog HDL QuartusII 目录 摘 要 I ABSTRACT II 目录 III 第 1章 绪论 1 1.1 概述 1 1.2 任意波形发生器的功能 1 1.3 国内外发展现状 2 第2章 波形发生器的基本理论 4 2.1 FPGA简介 4 2.2 Verilog 语言简介 4 2.2.1 Verilog语言概述 4 2.2.2 VerilogHDL基本结构 5 2.3 QuarrtusII概述 6 第3章 方案设计 8 3.1 系统介绍 8 3.2波形发生器各个模块设计 9 3.2.1 Wave_gen 模块 9 3.2.2 波形数据存储 ROM 模块 9 第4章 波形发生器软件仿真 11 4.1 设计平台及仿真工具 11 4.2 仿真过程 11 结论 14 附录 16 第 1章 绪论 1.1 概述 波形发生器是一种常用的信号源,广泛应用于电子电路,自动控制系统,教学实验等领域,目前使用出现了大量能够产生多种波形且性能稳定的任意波形发生器,但大多数方案都是基于串行或并行总线进行数据的传输,这种方案虽然成本较低,但系统的实时性较差,难以满足复杂波形的大数据量的传输要求。我们设计了一种基于FPGA芯片的任意波形发生器,充分利用了FPGA强大的逻辑功能,实现了利用单片FPGA芯片控制整个系统的方案。 1.2 任意波形发生器的功能 任意波形发生器既具有其他信号源的信号生成能力,又可以通过各种编辑手段生成任意的波形采样数据,方便地合成其他信号源所不能生成的任意波形,从而满足测试和仿真实验的要求。任意波形发生器的主要功能包括: (1)函数发生功能 基础实验中,为了验证电路功能、稳定性和可靠性,需要给它施加理想波形,任意波形发生器能替代函数发生器提供正弦波、方波、三角波、锯齿波等波形,还具有各种调制和扫频能力。利用任意波形发生器的这一基础功能就能满足一般实验的信号需求。 (2)任意波形生成 运行在实际电子环境中的设备,由于各种干扰的存在以及环境的变化,实际电路中往往存在各种信号缺陷和瞬变信号,例如过脉冲、尖峰、阻尼瞬变、频率突变等。任意波形发生器可以模拟这些特殊信号,以测试系统的实际性能。 (3)信号还原功能 在一些军事、航空等领域,有些电路运行环境很难估计,在设计完成之后,在现实环境中还需要更进一步的实验验证,而有些实验的成本很高或者风险性很大(如飞机试飞时发动机的运行情况),人们不可能重复作实验来判断所设计产品的可行性和稳定性。此时,可以利用任意波形发生器的信号还原功能。在做一些高耗费、高风险实验时,可以通过数字示波器把实际中用到的实际波形记录下来,再通过计算机接口下载到任意波形发生器,通过任意波形发生器还原实验中的实际波形并加到设计电路中,做进一步的实验验证工作。 1.3 国内外发展现状 采用可变时钟和计数器寻址波形存储器的任意波形发生器在一段时期内曾得到广泛的应用,其取样时钟频率较高且可调节,但其对硬件要求比较高,需要高性能的锁相环和截止频率可调的低通滤波器(或者多个低通滤波器),且频率分辨率低,频率切换速度较慢,已经逐步退出市场。 目前市场上的任意波形发生器主要采用直接数字合成(Direct Digital Synthesuzer,DDS)技术,这种波形发生器不仅可以产生可变频的载频信号、各种调制信号,同时还能和计算机配合产生用户自定义的有限带宽的任意信号,可以为多种领域的测试提供宽带宽、高分辨率的测试信号[1]。 任意波形发生器发展到今天,从产品结构形式来划分,主要包含三种: (1)独立仪器结构形式 独立仪器结构形式是把任意波形发生器设计成单台仪器的形式,其优点是精度高,可独立工作。 (2)PC总线式 PC(Personal Computer)总线式是将任意波形发生器板卡直接插在PC机的总线扩展槽或通过外部接口连接到PC总线上,利用PC机来控制任意波形发生器的工作状态,其优点是可以充分利用PC机的软硬件资源,在波形数据处理、波形参数修改方面,计算机有明显的优势。 (3)VXI模块式 VXI模块是一种新型的模块化仪器,它必须插在VXI总线机箱上才能使用,VXI总线机箱通过GPIB或者RS-232C等接口与计算机相连,VXI模块仪器对组成自动测试系统特别有用,各个公司的VXI卡式仪器模块可以自由组合使用。 从发展状况来看,国外任意波形发生器的研制及生产技术已经较为成熟。以安捷伦(Agilent)和泰克(Tektronix)为代表的国际电子测量仪器公司在此领域进行了卓有成效的研究和开发,其产品无论在技术上还是市场占有率方面在国际上都享有盛誉,但其价格也是相当昂贵,高端型号每台价格都在几万美金左右,低端的也要几万人民币。Tektronix公司的独立结构任意波形发生器AFG3000系列功能完善,人机界面友好,操作方便,可以以多种方式连接到PC机上,其最高采样率能达到2GS/s,输出信号最高频率为240MHz,任意波频率50MHz,并配备的强大的波形编辑软件ArbExpress,用户可以方面地创建和编辑自己的波形。Agilent公司的PXI模块任意波形发生器采样率已经能达到1.25GS/s,最高输出频率500MHz。我国研制任意波形发生器是从上世纪90年代开始的,近年来有一批本土厂商奋起直追,并取得了可喜的成果。例如南京盛普科技电子有限公司的SPF120型信号发生器的主波输出频率达到了120MHz,任意波最高频率为100KHz;北京普源精电科技有限公司(RIGOL)生产的DG1000/2000/3000系列任意波形发生器,在性能上已经大略相当于国外中低端产品。 以FPGA自身资源为基础,制作一个简易综合电子实验仪,具有信号源、测量仪表等功能。 第2章 波形发生器的基本理论 2.1 FPGA简介 FPGA由可编程逻辑单元阵列、布线资源和可编程的I/O单元阵列构成,一个FPGA包含丰富的逻辑门、寄存器和I/O资源。一片FPGA芯片就可以实现数百片甚至更多个标准数字集成电路所实现的系统。 FPGA的结构灵活,其逻辑单元、可编程内部连线和I/O单元都可以由用户编程,可以实现任何逻辑功能,满足各种设计需求。其速度快,功耗低,通用性强,特别适用于复杂系统的设计。使用FPGA还可以实现动态配置、在线系统重构(可以在系统运行的不同时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的任务)及硬件软化、软件硬化等功能。 鉴于高频疲劳试验机控制器控制规模比较大,功能复杂,故我们在研制过程中,在传统试验机控制器的基础上,通过FPGA技术及微机技术两者的结合,来全面提升控制器系统的性能,使整机的工作效率、控制精度和电气系统可靠性得到了提高,且操作方便而又不乏技术的先进性。 2.2 Verilog 语言简介 2.2.1 Verilog语言概述 Verilog HDL是一种硬件描述语言(hardware description language),为了制作数字电路而用来描述ASICs和FPGA的设计之用[2]。Verilog HDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析,Verilog HDL进行设计最大的优点是其工艺无关性.这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路. Verilog 是由en:Gateway Design Automation公司于大约1984年开始发展。Gateway Design Automation公司后来被 Cadence Design Systems于1990年所购并。现在 Cadence 对于 Gateway 公司的 Verilog 和 Verilog-XL 模拟器拥有全部的财产权。 2.2.2 VerilogHDL基本结构 (1)基本逻辑门,例如 and 、or 和 nand 等都内置在语言中。 (2) 用户定义原语( UDP )创建的灵活性。用户定义的原语既可以是组合逻辑 原语,也可以是时序逻辑原语。 (3)开关级基本结构模型,例如 pmos 和 nmos 等也被内置在语言中。 (4)提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。 (5) 可采用三种不同方式或混合方式对设计建模。这些方式包括: 行为描述方式 — 使用过程化结构建模;数据流方式 — 使用连续赋值语句方式建模;结构化方式 — 使用门和模块实例语句描述建模。 * Verilog HDL 中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表 示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。 * 能够描述层次设计,可使用模块实例结构描述任何层次。 * 设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。 * Verilog HDL 不再是某些公司的专有语言而是 IEEE 标准。 * 人和机器都可阅读 Verilog 语言,因此它可作为 EDA 的工具和设计者之间的交 互语言。 * Verilog HDL 语言的描述能力能够通过使用编程语言接口( PLI )机制进一步扩展。 PLI 是允许外部函数访问 Verilog 模块内信息、允许设计者与模拟器交互的例 程集合。 * 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级( RTL )到算法级,包括进程和队列级。 * 能够使用内置开关级原语在开关级对设计完整建模。 * 同一语言可用于生成模拟激励和指定测试的验证约束条件,例如输入值的指定。 * Verilog HDL 能够监控模拟验证的执行,即模拟验证执行过程中设计的值能够被监控 和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。 * 在行为级描述中, Verilog HDL 不仅能够在 RTL 级上进行设计描述,而且能够在体 系结构级描述及其算法级行为上进行设计描述。 * 能够使用门和模块实例化语句在结构级进行结构描述。 * Verilog HDL 的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次 上建模。 * Verilog HDL 还具有内置逻辑函数,例如 &(按位与)和 |(按位或)。 * 对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用。 * 可以显式地对并发和定时进行建模。 * 提供强有力的文件读写能力。 * 语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果;例如,事件队列上的事件顺序在标准中没有定义。 2.3 QuarrtusII概述 Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程[4]。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。 此外,Quartus II 通过和DSP Builder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。 图1:QuarrtusII图标 图2:Quarrtus界面 第3章 方案设计 3.1 系统介绍 任意波形发生器的实现采用模块设计,这样很好的利用了QuartusII 软件中的LPM_ROM模块,能够达到最优设计;频率计的功能完全采用HDL语言描述,最后的顶层文件采用模块设计来完成。最终的顶层文件如下图所示: 图 3.1 顶层文件模块图 Wave_genTop 顶层设计 数据存储ROM 地址指针 D/A转换 波形输出 要实现的功能:可产生正弦波(sina_wave)、锯齿波(swat_wave)、矩形波(squr_wave)、三角波(trig_wave)四种信号,能够实现信号的转换(select)并且频率可调。主要由三部分组成:地址指针控制模块,四种波形数据存储模块,D/A转换模块。前面2个模块在FPGA中实现,D/A转换通过外围电路实现。该部分的实现框图如下: 图3.2 外围电路实现 3.2 波形发生器各个模块设计 3.2.1 Wave_gen 模块 图 3.3 Wave_gen 模块图 Wave_gen 模块各引脚说明: INCLK:输入的待测信号。 SELECT[1..0]:波形选择输入。 FREQ[3..0]:控制输出波形的频率。 ADDRESS[8..0]:输出地址指针。 3.2.2 波形数据存储 ROM 模块 图 3.4 波形数据存储 ROM 模块 波形数据存储 ROM 模块个引脚说明: Clock:输入时钟信号。 Address[8..0]:输入地址指针。 Q[7..0]:输出信号。 第4章 波形发生器软件仿真 4.1 设计平台及仿真工具 我们选择QuarrtusII9.0作为波形发生器仿真工具,结合Verilog硬件描述语言,该模块的功能采用 Verilog HDL 来描述,程序 Wave_gen.v 请见附件。程序实现的 主要功能是:根据不同的波形选择(select[1:0]),来改变送入 ROM 中的地址指针 address。 四种波形一个周期的数据各占不同的 16B, 每次波形改变使 address 指向各段 数据首地址。编译正确后将其创建为 Wave_gen.bsf 模块(见顶层文件中所示) ,然后采 用图形编辑方式,完成波形发生器这部分电路的设计。 4.2 仿真过程 首先,我们需要在QuarrtusII9.0建立一个工程文件名为wave_gen,如图: 图4.1建立工程文件 其次,我们需要在File/New/VerilogHDL file,文件名为Wave_gen.v,保存在当前工程里,如图: 图4.2Wave_gen.v 然后在Processing/start comlication进行调试与仿真结果如图: 图4.3仿真结果 ①产生正弦波(sina_wave)时送到DAC0832的数据: ②产生锯齿波(swat_wave)时送到DAC0832的数据: ③产生矩形波(squr_wave)时送到DAC0832的数据: ④产生三角波(trig_wave)时送到DAC0832的数据: 由仿真结果可知,改变select[1:0]的值,能够正确的将对应的波形数据送到DAC0832,从而完成了整体设计 结论 在研究的过程中,通过学习和参阅过内外相关的文献,并从网络上获取最新的硬件开发指南和芯片开发手册,同时不断向身边的老师请教和学习,通过系统的学习和实际工作的锻炼,积累了必要的基础知识,培养了实际的开发技能。通过本设计工作,基本掌握了Quartus II的使用技术,进一步加深了对数字信号处理技术的理解,提高了使用可编程逻辑器件设计数字系统的能力和软件编程的能力,为将来从事科研工作打下了良好的基础。 参考文献 [1] 黄晓翰.基于FPGA的多功能波形发生器的设计.电信科学.2010年09期 [2] 王金明.Verilog HDL 程序设计教程.北京.人民邮电出版社,2004 [3] 王文华. 基于DDS技术的任意波形发生器研究.浙江大学, 2002 . [4] Altera 公司.Quartus II .简易用户使用入门指南 [5] 王金明.数字系统设计与 Verilog HDL 教程.第二版,2005 附录 Wave_gen.v程序如下: module Wave_gen(address,inclk,select,freq); output[8:0] address; //输出控制ROM的地址 input inclk; //系统始终,时间应该保证D/A能转换完毕 input[1:0] select; //波形选择,具体值代表的波形见下面定义 input[3:0] freq; //控制输出波形的频率 reg[7:0] Qout; reg[8:0] address; reg[7:0] k,m; parameter sina_wave=2'b00,swat_wave=2'b01, squr_wave=2'b10,trig_wave=2'b11; always @(posedge inclk) begin case(select) sina_wave:begin if(select==1) address<=128; if(select==2) address<=256; if(select==3) address<=384; if(freq==0||freq==1) begin if(address>=127) address<=0; else address<=address+1; end else begin k<=127/freq; m<=freq*k; if(address>=m) address<=0; else address<=address+freq; end end swat_wave:begin if(select==0) address<=0; if(select==2) address<=256; if(select==3) address<=384; if(address<128) address<=128; else begin if(freq==0||freq==1) begin if(address>=255) address<=128; else address<=address+1; end else begin k<=127/freq; m<=freq*k; if(address>=(m+128)) address<=128; else address<=address+freq; end end end squr_wave:begin if(select==0) address<=0; if(select==1) address<=128; if(select==3) address<=384; if(address<256) address<=256; else begin if(freq==0||freq==1) begin if(address>=383) address<=256; else address<=address+1; end else begin k<=127/freq; m<=freq*k; if(address>=(m+256)) address<=256; else address<=address+freq; end end end trig_wave:begin if(select==1) address<=128; if(select==2) address<=256; if(select==3) address<=384; if(address<384) address<=384; else begin if(freq==0||freq==1) begin if(address>=511) address<=384; else address<=address+1; end else begin k<=127/freq; m<=freq*k; if(address>=(m+384)) address<=384; else address<=address+freq; end end end endcase end endmodule- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学位 论文 eda 课程设计 基于 fpga 任意 波形 发生器
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文