基于fpga脉宽调制设计

基于fpga脉宽调制设计

ID:22820927

大小:500.95 KB

页数:10页

时间:2018-10-31

基于fpga脉宽调制设计_第1页
基于fpga脉宽调制设计_第2页
基于fpga脉宽调制设计_第3页
基于fpga脉宽调制设计_第4页
基于fpga脉宽调制设计_第5页
资源描述:

《基于fpga脉宽调制设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于FPGA脉宽调制设计学院:电子信息工程学院姓名:学号指导老师:1.1选题背景与研究意义1.1.1信号发生器的实现技术信号发生器是电子测试设备中的一种,它用来产生不同类型、不同频率、不同幅度的电子波形,广泛应用于电子设备的研发、测试和维修。它产生的典型波形有正弦波、方波、三角波和锯齿波。传统的信号发生器运用的是模拟技术,它的实现方法是将正弦波与某一电平作比较,比较器的输出即方波,通过调节待比较的电平即可产生占空比不同的方波,•内•对方波做积分和微分便可产生三角波,而鋸齿波的产生基于对电容的充电,然后通过开关放电实现。模拟信号发生器

2、技术的关键在于正弦波的产生。早期的技术都是基于谐振法,之后乂出现了基于锁和环技术的信号发生器。随着电子技术的不断发展和直掇数宁•频率合成技术(DirectDigitalSynthesizer)的提!li,一种新的信号产生方法正在被广泛应用,这种方法就是DDS技术。信号发生器的数字实现方法有两种,一种是运用专用集成电路(ASIC)信号产生芯片,如ADI公司的AD9850,另一种是运用可编程逻辑器件(FPGA)。1.1.2研究背景及研究意义在现代电子系统中,信号发生器是重要的组成部分之一。在信号传输、通信电子、电力载波、电子对抗等众多领

3、域被广泛使用。比如,在广播传输系统中,高频信号需耍作为载波发射,在这里就需要一个能产生高频的信号发生器。在工、lk、生物医学等领域,如超声诊断、核磁共振等,都需要特定频率、特定功率的信号发生器。本设计是直接数字频率合成技术与可编程逻辑器件的结合,首先,利用VerilogHDL语言完成了DDS信号发生器的RTL描述,其次,使用Altera公司出品的QuartusII11.0进行模块化设计和仿真。QuartusII是Altera公司提供的EDA集成开发环境,其人机界面友好,特别适用于FPGA初学者。与EDA软件配合的是CycloneII

4、EP2C5Q208C8开发板,体积小巧,功能丰富,非常适合用于DDS的设计。1.2信号发生器功能1.2.1信号发生器的功能作为基本功能,信号发生器要具有产生正弦波、方波、三角波和锯齿波的能力;设计说明书如下:①通过拨码开关实现输出SPWM。②当拨码开关同吋为“0”吋,输出SPWM。③当拨码开关分别为“0”“丨”时,输出正弦波和锯齿比较后波形。④当拨码开关分别为“1”“0”吋,输出频率改变的方波。⑤当拨码开关同时为“1”时,通过某一按键开关切换输出波形的类型,类型在正弦波、三角波和锯齿波之间切换。1.3信号发生器数字部分的设计1.3.

5、1波形ROM设计作为一款DDS信号发生器,ROM的设计很重要。木文的ROM模块调用了QuartusQ带的IP核R0M4-P0RT,在调用之前,需先准备好ROM的初始化文件,Altera的FPGA的ROM初始化文件的后缀名力.mif(memoryinitializedfile),格式如下:DEPTH=128;WIDTH=8;ADDRESS一RADIX=DEC;DATA_RADIX=DEC;CONTENTBEGIN[数据]END;生成ROM模块的过程如下:打开“MegaWizardPlug-InManager”,,6:击“Createa

6、newcustommegafunctionvariation”,在狎出的对话框屮展开“MemoryCompiler”歹!J表,在展开的列表屮选择“ROM:1-PORT”,点击“卜•一步”,在“Howwideshouldthe‘q’outputbusbe?”右侧选择8位,在“Howmany10-bitwordsofmemory?”右侧选择数据容量力128个。点击两次“下一步”,选择生成的mif文件,再点击两次“下一步”,在对话框屮把“生成bsf文件”勾上。最厄点击“结束”,便完成了ROM的调用。生成的symbol如图所示。R0M4Pa

7、ddress[6..0I=D-I§ssooXq[7..O]clock如7Blocktype:M9KROM的symbol止弦ROM模块的仿真波形如图所示。clockSSedrC;1X2X3X4X5X6XTX8X9X10XHX12;0IROM模块仿真波形正弦ROM模块例化代码如下:□modulez'neng(Iinputelk,inputrst_nFinputenroutput[7:0]ql,output[7:0]sinewire[6:0]addr;日ROM1PROMlP_inst(I.address(addr),.clock(elk)

8、,•q(ql));reg[6:0]ent;always©(pcsedgeelkorr.egedgerst_n)日beginif(!rst_n)enz<=71dO;elseif(en)ent<=cnt+7'dl;elsecnt<=cnt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。