基于FPGA脉宽调制设计学院:电子信息工程学院姓名:学号指导老师:日期:1.1选题背景与研究意义1.1.1信号发生器的实现技术信号发生器是电子测试设备中的一种,它用来产生不同类型、不同频率、不同幅度的电子波形,广泛应用于电子设备的研发、测试和维修。它产生的典型波形有正弦波、方波、三角波和锯齿波。传统的信号发生器运用的是模拟技术,它的实现方法是将正弦波与某一电平作比较,比较器的输出即方波,通过调节待比较的电平即可产生占空比不同的方波,再对方波做积分和微分便可产生三角波,而锯齿波的产生基于对电容的充电,然后通过开关放电实现。模拟信号发生器技术的关键在于正弦波的产生。早期的技术都是基于谐振法,之后又出现了基于锁相环技术的信号发生器。随着电子技术的不断发展和直接数字频率合成技术(DirectDigitalSynthesizer)的提出,一种新的信号产生方法正在被广泛应用,这种方法就是DDS技术。信号发生器的数字实现方法有两种,一种是运用专用集成电路(ASIC)信号产生芯片,如ADI公司的AD9850,另一种是运用可编程逻辑器件(FPGA)。1.1.2研究背景及研究意义在现代电子系统中,信号发生器是重要的组成部分之一。在信号传输、通信电子、电力载波、电子对抗等众多领域被广泛使用。比如,在广播传输系统中,高频信号需要作为载波发射,在这里就需要一个能产生高频的信号发生器。在工业、生物医学等领域,如超声诊断、核磁共振等,都需要特定频率、特定功率的信号发生器。本设计是直接数字频率合成技术与可编程逻辑器件的结合,首先,利用VerilogHDL语言完成了DDS信号发生器的RTL描述,其次,使用Altera公司出品的QuartusII11.0进行模块化设计和仿真。QuartusII是Altera公司提供的EDA集成开发环境,其人机界面友好,特别适用于FPGA初学者。与EDA软件配合的是CycloneIIEP2C5Q208C8开发板,体积小巧,功能丰富,非常适合用于DDS的设计。1.2信号发生器功能1.2.1信号发生器的功能作为基本功能,信号发生器要具有产生正弦波、方波、三角波和锯齿波的能力;设计说明书如下:①通过拨码开关实现输出SPWM。②当拨码开关同时为“0”时,输出SPWM。③当拨码开关分别为“0”“1”时,输出正弦波和锯齿比较后波形。④当拨码开关分别为“1”“0”时,输出频率改变的方波。⑤当拨码开关同时为“1”时,通过某一按键开关切换输出波形的类型,类型在正弦波、三角波和锯齿波之间切换。1.3信号发生器数字部分的设计1.3.1波形ROM设计作为一款DDS信号发生器,ROM的设计很重要。本文的ROM模块调用了Quartus自带的IP核ROM:1-PORT,在调用之前,需先准备好ROM的初始化文件,Altera的FPGA的ROM初始化文件的后缀名为.mif(memoryinitializedfile),格式如下:DEPTH=128;WIDTH=8;ADDRESS_RADIX=DEC;DATA_RADIX=DEC;CONTENTBEGIN[数据]END;生成ROM模块的过程如下:打开“MegaWizardPlug-InManager”,点击“Createanewcustommegafunctionvariation”,在弹出的对话框中展开“MemoryCompiler”列表,在展开的列表中选择“ROM:1-PORT”,点击“下一步”,在“Howwideshouldthe‘q’outputbusbe?”右侧选择8位,在“Howmany10-bitwordsofmemory?”右侧选择数据容量为128个。点击两次“下一步”,选择生成的mif文件,再点击两次“下一步”,在对话框中把“生成bsf文件”勾上。最后点击“结束”,便完成了ROM的调用。生成的symbol如图所示。ROM的symbol正弦ROM模块的仿真波形如图所示。ROM模块仿真波形正弦ROM模块例化代码如下:正弦波的symbol如图所示。正弦波,方波,锯齿波,三角波生成模块的SignalTap抓取波形如图所示。1.3.2分频模块设计晶振的输出频率为50MHz,为显示SPWM波形,这时就有必要对输入时钟进行分频了。分频模块的关键代码如下:正弦波的symbol如图所示。正弦波的symbol1.3.3比较器和按键控制设计经过上述设计,现在模块具有四个ROM,每个ROM分别保存着正弦波、方波、三角波和锯齿波,模块具有四个DA输出,这就需要有一个模块来实现对四个数据的选择,选出一路波形数据给DA。要产生占空比可调的方波,可以将某一电平与正弦波比较,比较器的输出即占空比可调的方波,其中,控制被比较的电平的大小即可控制方波的占空比。比较器及按键的关键代码如下:比较器及按键的symbol如图所示。比较器及按键的symbol1.3.4SPWM波生成设计SPWM波生成运用了正弦波和等腰三角波电平相比较的原理,只需调用一个三角波生成模块,将三角波的电平与正弦波相比较即可,比较的输出接数据选择器,就可输出SPWM波了。SPWM波生成模块的顶层如图所示。SPWM波生成模块的顶层SPWM波生成模块的SignalTap抓取波形如图所示。SPWM波生成模块的SignalTap抓取波形1.3.5顶层设计整个数字系统的顶层设计是按照图进行的,其Quartus原理图如图所示:数字部分顶层图RTL图如下所示。2.1总结通过此次设计,让我深深的感觉到自己所学知识真是非常的浅薄。面对电子技术日新月异的发展,利用EDA手段进行设计已成为不可阻挡的趋势。相对于传统至底向上的设计方式,自上而下的设计具有其显著的优越性。利用EDA设计软件辅助设计,方便快捷,减少了错误率的产生,缩短了产品的设计及上市周期,既减轻了设计工作量又满足了商业利益的需求。该系统以Cyclon器件为核心部件,可利用软件编程实现了对D/A转换信号的处理。努力做到了线路简单、高性价比的特点,充分利用了软件编程,弥补了硬件元器件的不足。在设计过程当中,遇到了软件操作不熟练,程序编写不规范等诸多问题,通过对问题的总结分析得出,应用软件的主要功能必须熟练操作,才能提高工作效率,需要规范操作的地方必须严格按照使用说明操作,避免由于软件使用不当造成的错误产生。程序的编写格式必须规范,模块、端口以及信号变量的命名应当反映实际意义,缩进格式工整明了,方便阅读理解,这样有利于程序的编写,有利于分析调试,也有利于程序的重复使用。此次课题的设计已告一段落,在这次毕业设计过程中需要用一些不曾学过的东西时,就要去有针对性地查找资料,然后加以吸收利用,以提高自己的应用能力,而且还能增长自己见识,补充最新的专业知识,学会了一些编程方面的常用算法。作为一名电子专业的毕业生,我将会继续在新技术的道路上不断钻研、开拓进取。相信通过此次设计的锻炼,我对专业知识和技能的掌握将更加牢靠,在今后的工作和学习中,必将使我受益匪浅,取得应有的成绩。