版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JIANGSUUNIVERSITYOFTECHNOLOGYFPGA技术实验报告基于FPGA的直接数字频率合成器设计学院:电气信息工程学院专业:电子信息工程班级:姓名:学号:指导教师:戴霞娟、陈海忠时间:2015年9月17日 TOC o 1-5 h z HYPERLINK l bookmark4 o Current Document 功能要求2 HYPERLINK l bookmark6 o Current Document 方案设计及原理框图2 HYPERLINK l bookmark8 o Current Document 方案设计2 HYPERLINK l bookmark10 o Cur
2、rent Document 原理框图3输入电路3 HYPERLINK l bookmark14 o Current Document FPGA电路3D/A转换电路4 HYPERLINK l bookmark18 o Current Document 硬件电路设计及原理分析4 HYPERLINK l bookmark20 o Current Document 硬件电路图4 HYPERLINK l bookmark22 o Current Document 原理分析5 HYPERLINK l bookmark24 o Current Document DAC0832转换器5 HYPERLINK l
3、 bookmark26 o Current Document LM358芯片5程序模块设计、仿真结果及分析错误!未定义书签。 HYPERLINK l bookmark30 o Current Document 顶层模块6 HYPERLINK l bookmark32 o Current Document 分频模块6时钟模块错误!未定义书签。正弦波产生模块错误!未定义书签。三角波产生模块错误!未定义书签。方波产生模块错误!未定义书签。锯齿波产生模块错误!未定义书签。波形选择模块错误!未定义书签。 TOC o 1-5 h z HYPERLINK l bookmark44 o Current Doc
4、ument 软硬件调试20 HYPERLINK l bookmark46 o Current Document 软件调试22 HYPERLINK l bookmark48 o Current Document 硬件调试22 HYPERLINK l bookmark58 o Current Document 调试结果说明25 HYPERLINK l bookmark60 o Current Document 心得体会25 HYPERLINK l bookmark62 o Current Document 参考文献25附录26.功能要求通过本课题训练,使学生掌握使用FPG顺现频率合成的方法。要求学
5、生根据正弦波形发生器的设计实例,举一反三,设计多功能波形发生器。该波形发生器能产生正弦波、方波、三角波、锯齿波和由用户编辑的特定形状波形,并且幅度、频率可调。具体要求如下:基本要求:1)具有产生正弦波、方波、三角波、锯齿波4种周期性波形的功能。(2)输出波形的频率范围为100Hz200kHz至少可以输出8种频率的波形。3)输出波形幅度不大于5V(峰-峰值),且幅度可调。扩展要求:(1)在频率范围为100Hz200kH的,频率步进间隔0100Hzi(2)输出波形幅度范围05V(峰-峰值),可按步进0.1V(峰-峰值)调整。(3)用LCD1602s示输出波形的类型、重复频率(周期)和幅度。4)用键
6、盘输入编辑生成上述4种波形(同周期)的线性组合波形。5)用键盘和其他输入装置产生任意波形。6)具有波形存储功能。.方案设计及原理框图方案设计利用FPGAB完成设计,FPGA程灵活,可以实现三角波、方波、锯齿波和正弦波的数字化处理,将一个周期内的采样点存储起来,生成频率可调的正弦波、方波、锯齿波或者三角波,再通过D/A转换和滤波电路便可得到模拟波形。利用该方法,编程简单,实现灵活。原理框图数字信号发生器系统主要由输入部分、FPGA分、D/A转换部分、频率调节和波形转换部分组成。原理框图如下图1:图1:多功能波形信号发生器原理框图输入部分输入部分包含以下功能按键:时钟、复位、波形、调频1、调频2和
7、调频3。(1)时钟:标准的50MHz寸钟输入。(2)复位:低电平复位。(3)波形:为波形输出选择开关,可以选择单波形的输出。(4)调频1,2,3:可以改变正弦波、三角波、方波和锯齿波的频率,总共可以输出8种不同频率。FPGA部分FPGA整个系统的核心,包括系统控制器、波形数据生成器、加法器、运算/译码、分频器等电路。各部分具体功能如下:系统控制器:控制系统的每个部分状态之间的协调。分频:分频系数有的固定不变,也有可改变的。正弦波:通过循环不断地从RAMfr依次读取正弦波一个周期在时域上1024个采样点的波形数据送入波形DAC从而产生正弦波。正弦波的频率取决于读取数据的速度。三角波:三角波波形是
8、对称的,每边呈线性变化,所以可以根据地址数据做简单运算,就可以得到三角波。锯齿波:产生单调性锯齿波,因此把地址数据进行左移2位,结果送波形DAC就可。方波:方波产生有1024个采样点组成,1024个采样点的数据只有“低电平”和“高电平”2种状态。波形D/A转换部分采用具有8位分辨率的D/A转换集成芯片DAC0832乍为多种波形发生器的数模转换器。由于多种波形发生器制使用一路D/A转换,因而DAC083却连续接成单缓冲器方式。另外,因DAC083犯一种电流输出型D/A转换器,要获得模拟电压输出时,需外接运放来实现电流转换为电压。由于在实际使用中输出波形不仅需要单极性的(0+5V或-50V)有时还
9、需要双极性的(5V),因而可用两组运算放大器作为模拟电压输出电路,运放可选用LM358,其片内集成了两个运算放大器。.硬件电路设计及原理分析硬件电路图 ACOB3ZGNDCHWRIGNUMRRFSGN 口r*WRWDieDtr liOUT? POUT1vccGNID图2:波形信号发生器硬件电路图原理分析本设计的工作原理为将要产生的波形数据存入波形存储器,然后在参考时钟的作用下,对输入的频率数据进行累加,并且将累加器的输出一部分作为读取波形存储器的地址,将读出的波形数据经D/A转换为相应的模拟电压信号。本研究的重点就是用VHD来实现DDS勺功能,能够达到高精度的输出,同时标准波形数据生成存放在R
10、OM中,可以简化运算过程,提高运算速度,加快反应时间。DAC0832转换器DAC0832是双列直插式8位D/A转换器,在电品&中DAC083纵接成单缓冲器方式。它的ILE,VCC8脚与+5V相连,CS,XFER,WR2,WR1脚,10脚与GNDf连,WRKCP信号相连。这样DAC0832勺8位DACJ存器始终处于导通状态,因此当CP变成低电平时,数据线上的数据便可直接通过8位DACJ存器,并有其8位D/A转换器进行转换。图3:DAC0832芯片弓|脚图LM358芯片LM358是常用的双运,LM358里面包括有两个高增益、独立的、内部频率补偿的双运放,适用于电压范围很宽的单电源,而且也适用于双电
11、源工作方式,它的应用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运放的地方使用。图5:顶层文件仿真图OUT11X1N1HN-1|in句faj-pIGNO4图4:LM358芯片引脚图.程序模块设计、仿真结果分析波形发生器可以由顶层模块、分频模块、时钟模块、正弦波产生模块、三角波产生模块、方波产生模块和输出波形选择模块组成。顶层模块顶层文件将已经设计的各个模块联系在一起成为一个整体,实验时使用QuartusH9.0编写VHDL程序实现顶层文件设计。顶层文件仿真图如下5:分频模块根据DAC0832输出控制时序,利用接口电路图,DAC083犯8位的D/A转换器,转换周期为1s,又因为
12、FPGA勺系统时钟为50MHz必须对其进行分频处理,实验使用100分频,实验时使用QuartusH9.0编写VHDL?序生成时钟分频器。VHDL?序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYwxm_CLKISPORT(CLK:INSTD_LOGIC;EN,EN1,EN2:INSTD_LOGIC;CLKOUT:OUTSTD_LOGIC);END;ARCHITECTUREBEHAVEOFwxm_CLKISSIGNALCNT:STD_LOGIC_VECTOR(19DOWNTO0);SIGN
13、ALEN3,EN4,EN5:STD_LOGIC;SIGNALEN6:STD_LOGIC_VECTOR(2DOWNTO0);BEGINEN6=EN3&EN4&EN5;PROCESS(EN)BEGINIFENEVENTANDEN=0THENIFEN3=0THENEN3=1;ELSEEN3=0;ENDIF;ENDIF;ENDPROCESS;PROCESS(EN1)BEGINIFEN1EVENTANDEN1=0THENIFEN4=0THENEN4=1;ELSEEN4=0;ENDIF;ENDIF;ENDPROCESS;PROCESS(EN2)BEGINIFEN2EVENTANDEN2=0THENIFEN
14、5=0THENEN5=1;ELSEEN54THENCNT0);CLKOUT2THENCLKOUT=1;CNT=CNT+1;ELSECNT8THENCNT0);CLKOUT4THENCLKOUT=1;CNT=CNT+1;ELSECNT16THENCNT0);CLKOUT8THENCLKOUT=1;CNT=CNT+1;ELSECNT30THENCNT0);CLKOUT15THENCLKOUT=1;CNT=CNT+1;ELSECNT62THENCNT0);CLKOUT31THENCLKOUT=1;CNT=CNT+1;ELSECNT124THENCNT0);CLKOUT62THENCLKOUT=1;C
15、NT=CNT+1;ELSECNT250THENCNT0);CLKOUT125THENCLKOUT=1CNT=CNT+1;ELSECNT500THENCNT0);CLKOUT250THENCLKOUT=1;CNT=CNT+1;ELSECNT=CNT+1;ENDIF;ENDIF;ENDPROCESS;END;时钟模块:crit1024elkqF9.Dinrt1图6VHDLE序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;PORT(CLK:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(
16、9DOWNTO0);END;ARCHITECTUREBHVOFCNT1024ISSIGNALQ1:STD_LOGIC_VECTOR(9DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLKEVENTANDCLK=1THENQ1=Q1+1;ENDIF;ENDPROCESS;Q=Q1;END;正弦波产生模块该模块输入信号由时钟(clk)和复位信号(reset)构成,当信号发生器选择信号(sel2.0)为4时,该模块输出端(q9.0)对外输出。模块振幅随时钟的变化阶梯性递增,输出波形参数可以通过程序进行设定。VHDLW为:LIBRARYieee;USEieee.std_logic_
17、1164.all;LIBRARYaltera_mf;USEaltera_mf.all;ENTITYcyy_sinISPORT(address:INSTD_LOGIC_VECTOR(9DOWNTO0);clock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(9DOWNTO0);ENDcyy_sin;ARCHITECTURESYNOFcyy_sinISSIGNALsub_wire0:STD_LOGIC_VECTOR(9DOWNTO0);COMPONENTaltsyncramGENERIC(clock_enable_input_a:STRING;clock_enable_ou
18、tput_a:STRING;init_file:STRING;intended_device_family:STRING;lpm_hint:STRING;lpm_type:STRING;numwords_a:NATURAL;operation_mode:STRING;outdata_aclr_a:STRING;outdata_reg_a:STRING;widthad_a:NATURAL;width_a:NATURAL;width_byteena_a:NATURAL);PORT(clock0:INSTD_LOGIC;address_a:INSTD_LOGIC_VECTOR(9DOWNTO0);q
19、_a:OUTSTD_LOGIC_VECTOR(9DOWNTO0);ENDCOMPONENT;BEGINqBYPASS,clock_enable_output_a=BYPASS,init_file=E:/wxm/wxm_sin.mif,intended_device_family=CycloneII,lpm_hint=ENABLE_RUNTIME_MOD=NO,lpm_type=altsyncram,numwords_a=1024,operation_mode=ROM,outdata_aclr_a=NONE,outdata_reg_a=CLOCK0,widthad_a=10,width_a=10
20、,width_byteena_a=1)PORTMAP(clock。=clock,address_a=address,q_a=sub_wire0);ENDSYN;仿真结果:_2. w ms工耳 at ns_m 一 、.勺业坞.芈 n.单也 so.世 如二2” 一一.雄一n . 一 总用吗三角波广生模块该模块输入信号由时钟(clk)和复位信号(reset)构成,当信号发生器选择信号(sel2.0)为2时,该模块输出端(q9.0)对外输出。模块内计数器随时钟先递增后递减,波形随之先递增后递减,输出波形参数可以通过程序进行设定。VHDL1序LIBRARYieee;USEieee.std_logic_1
21、164.all;LIBRARYaltera_mf;USEaltera_mf.all;ENTITYcyy_sjISPORT(address:INSTD_LOGIC_VECTOR(9DOWNTO0);clock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(9DOWNTO0);ENDcyy_sj;ARCHITECTURESYNOFcyy_sjISSIGNALsub_wire0:STD_LOGIC_VECTOR(9DOWNTO0);COMPONENTaltsyncramGENERIC(clock_enable_input_a:STRING;clock_enable_output
22、_a:STRING;init_file:STRING;intended_device_family:STRING;lpm_hint:STRING;lpm_type:STRING;numwords_a:NATURAL;operation_mode:STRING;outdata_aclr_a:STRING;outdata_reg_a:STRING;widthad_a:NATURAL;width_a:NATURAL;width_byteena_a:NATURAL);PORT(clock0:INSTD_LOGIC;address_a:INSTD_LOGIC_VECTOR(9DOWNTO0);q_a:O
23、UTSTD_LOGIC_VECTOR(9DOWNTO0);ENDCOMPONENT;BEGINqBYPASS,clock_enable_output_a=BYPASS,init_file=E:/wxm/wxm_sj.mif,intended_device_family=CycloneII,lpm_hint=ENABLE_RUNTIME_MOD=NO,lpm_type=altsyncram,numwords_a=1024,operation_mode=ROM,outdata_aclr_a=NONE,outdata_reg_a=CLOCK0,widthad_a=10,width_a=10,widt
24、h_byteena_a=1)PORTMAP(clock。=clock,address_a=address,q_a=sub_wire0);ENDSYN;仿真结果:-ndm 寸丁dk9 MEnwrnmmrrn-nn-Anr.r.rrnmirmmrvmmrnrrrrn-mrvmir,5ll蜉电口*e -九勺H心7*3包 r j i .而钥门】 l.itfn】方波产生模块该模块输入信号由时钟(clk)和复位信号(reset)构成,当信号发生器选择信号(sel2.0)为5时,该模块/&出端(q9.0)对外输出。模块振幅随时钟的变化持续变为高电平或低电平,输出波形参数可以通过程序进行设定。VHLIBRAR
25、Yieee;USEieee.std_logic_1164.all;LIBRARYaltera_mf;USEaltera_mf.all;ENTITYcyy_squareISPORT(address:INSTD_LOGIC_VECTOR(9DOWNTO0);clock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(9DOWNTO0);ENDcyy_square;ARCHITECTURESYNOFcyy_squareISSIGNALsub_wire0:STD_LOGIC_VECTOR(9DOWNTO0);COMPONENTaltsyncramGENERIC(clock_enab
26、le_input_a:STRING;clock_enable_output_a:STRING;init_file:STRING;intended_device_family:STRING;lpm_hint:STRING;lpm_type:STRING;numwords_a:NATURAL;operation_mode:STRING;outdata_aclr_a:STRING;outdata_reg_a:STRING;widthad_a:NATURAL;widtha:NATURAL;width_byteena_a:NATURAL);PORT(clock0:INSTD_LOGIC;address_
27、a:INSTD_LOGIC_VECTOR(9DOWNTO0);q_a:OUTSTD_LOGIC_VECTOR(9DOWNTO0);ENDCOMPONENTBEGINqBYPASS,clock_enable_output_a=BYPASS,init_file=E:/wxm/wxm_square.mif,intended_device_family=CycloneII,lpm_hint=ENABLE_RUNTIME_MOD=NO,lpm_type=altsyncram,numwords_a=1024,operation_mode=ROM,outdata_aclr_a=NONE,outdata_re
28、g_a=CLOCK0,widthad_a=10,width_a=10,width_byteena_a=1)PORTMAP(clock0=clock,address_a=address,q_a=sub_wire0);ENDSY;N仿真结果:锯齿波产生模块VHDLW:LIBRARYieee;USEieee.std_logic_1164.all;LIBRARYaltera_mf;USEaltera_mf.all;ENTITYcyy_jcISPORT(address:INSTD_LOGIC_VECTOR(9DOWNTO0);clock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR
29、(9DOWNTO0);ENDcyy_jc;ARCHITECTURESYNOFcyy_jcISSIGNALsub_wire0:STD_LOGIC_VECTOR(9DOWNTO0);COMPONENTaltsyncramGENERIC(clock_enable_input_a:STRING;clock_enable_output_a:STRING;init_file:STRING;intended_device_family:STRING;lpm_hint:STRING;lpm_type:STRING;numwords_a:NATURAL;operation_mode:STRING;outdata_aclr_a:STRING;outdata_reg_a:STRING;widthad_a:NATURAL;width_a:NATURAL;width_byteena_a:NATURAL);PORT(clock0:INSTD_LOGIC;address_a:INSTD_LOGIC_VECTOR(9DOWNTO0);q_a:OUTSTD_LOGIC_VECTOR(9DOWNTO0);ENDCOMPONENT;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商超采购管理制度模板
- 企业采购电子商城管理制度及流程
- 肠内营养剂采购管理制度
- 茶楼采购员制度
- 政府采购与合同管理制度
- 药品集中采购配套制度
- 采购或外协管理制度
- 蔬菜类采购制度范本大全
- 木材采购管理制度
- 采购规范管理制度
- 公共区域活动管理办法
- 2024湘教版七年级地理下册知识点清单
- 护理岗位职责及工作流程
- 高三二轮复习生物种群群落生态系统微专题课件
- 内蒙古鄂尔多斯市基础建设有限公司招聘笔试题库2025
- 2025年中考数学压轴专题汇编(江苏专用)压轴专题09定角定高模型(原卷版+解析)
- 2024年江苏省高中学生英语口语等级测试试卷(模拟试卷)
- 教学课件-积极心理学(第2版)刘翔平
- 包钢集团笔试题库2025
- 2025党支部班子成员问题清单及整改措施
- 广东省广州市2024年中考数学真题试卷(含答案)
评论
0/150
提交评论