5.12正弦信号发生器.doc

上传人:re****.1 文档编号:558305370 上传时间:2023-06-14 格式:DOC 页数:12 大小:314.50KB
返回 下载 相关 举报
5.12正弦信号发生器.doc_第1页
第1页 / 共12页
5.12正弦信号发生器.doc_第2页
第2页 / 共12页
5.12正弦信号发生器.doc_第3页
第3页 / 共12页
5.12正弦信号发生器.doc_第4页
第4页 / 共12页
5.12正弦信号发生器.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《5.12正弦信号发生器.doc》由会员分享,可在线阅读,更多相关《5.12正弦信号发生器.doc(12页珍藏版)》请在金锄头文库上搜索。

1、5.12. 正弦信号发生器程序设计与仿真实验1实验目的熟悉QuartusII及其LPM_ROM与FPGA硬件资源的使用方法。2实验原理正弦信号发生器的结构由3部分组成,数据计数器或地址发生器、数据ROM和D/A。性能良好的正弦信号发生器的设计,要求此3部分具有高速性能,且数据ROM在高速条件下,占用最少的逻辑资源,设计流程最便捷,波形数据获最方便。图5.12.1所示是此信号发生器结构图,顶层文件在FPGA中实现,包含2个部分:ROM的地址信号发生器由5位计数器担任,和正弦数据ROM,其原理图如图5.12.2所示。据此,ROM由LPM_ROM模块构成能达到最优设计,LPM_ROM底层是FPGA中

2、的EAB或ESB等。地址发生器的时钟CLK的输入频率f0与每周期的波形数据点数(在此选择64点)以及D/A输出的频率f的关系是: 波形输出 图5.12.1 正弦信号发生器结构图图5.12.2 正弦信号发生器原理图3 实验内容在Quartus II上完成正弦信号发生器设计,包括仿真和资源利用情况了解(假设利用Cyclone器件)。最后在实验系统上实测,包括SignalTap II测试、FPGA中ROM的在系统数据读写测试和利用示波器测试。最后完成EPCS1配置器件的编程。4 原理图的建立与仿真(1) 为此工程建立文件夹,文件夹名为zxb(2) 建立原理图文件, 单击FileNewBlock Di

3、agram/Schematic fileOK,弹出原理图窗口如图5.12.3所示,图5.12.3 原理图建立窗口(3) 双击原理图窗口的任意处弹出如图5.12.4窗口,在窗口的Name处输入input(输入节点),点击ok,然后保存,文件名为cnt.暂不创建工程。图5.12.4 原理图输入窗口(4) 创建工程与前面的实验方法相同。创建好工程后如下图所示。(5)六位二进制计数器原理图的生成方法建立VHDL语言的原理图, 单击工具栏的FileNewVHDL FileOK,弹出源程序输入窗口,将源程序写入。源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;

4、USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT6b IS PORT (CLK,RST,EN : IN STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR(5 DOWNTO 0) ); END CNT6b;ARCHITECTURE behav OF CNT6b ISBEGIN PROCESS(CLK, RST, EN) VARIABLE CQI : STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN IF RST = 1 THEN CQI := (OTHERS =0) ; -计数器异步复位 ELSIF CLKEVEN

5、T AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数(同步使能) CQI := CQI + 1; -允许计数 END IF; END IF; CQ=CQI; END PROCESS;END behav;存盘,命名为cnt6b。生成原理图 单击工具栏的FileCredte Update Create Symbol Files for Current File。此处要等待一点时间,检查原代码是否正确,若没问题将弹出原理图建立成功的提示如图5.12.5所示。图5.12.5 原理图建立成功提示双击已创建的cnt原理图窗口弹出图5.12.6窗口,单击窗口左

6、上脚Project即可看到刚才建好的CNT6b工程文件,用鼠标左键选择CNT6b,再单击ok即可将cnt6原理图模块调入原理图窗口。图5.12.6 调出已建好的CNT6b工程文件(6)定制LPM_ROM元件 Altera器件提供了一系列宏功能模块,即可调用参数化库模块LPM(Library Parameterized Modules),供设计者使用,如片上存储器、DSP模块、LVDS驱动器、嵌入式PLL及SERDES和DDIO电路等。这些模块的应用主要是为了提高EDA电路设计的效率和可靠性。设计者只要根据实际电路的设计需要,选择LPM库中的适当模块,为其设定适当的参数,便可以满足自己的设计指标

7、,从而成功地达到优秀电子工程师的设计成果。lpm_ROM有5组信号: 地址信号address; 数据信号q; 时钟信号inclock、outclock; 允许信号memenable. 其参数是可以设定的。由于ROM是只读存贮器,它的数据口是单向的输出端口,数据是在对FPGA现场配置时,通过配置文件一起写入存储单元的。 单击File NewHexadecimallntel-FmatFile (16进制格式),选择好存储器文件类型后,弹出图5.12.7窗口,将256改成64,单击OK进入下一个窗口如图5.12.8所示。在图5.12.8窗口中输入字数和字长,正弦波的一个周期取64个点,每个点位8位二

8、进制数。输入完成存盘为rom6.hex。图5.12.7 正弦波的64个点文件生成图5.12.8 正弦波的64个点的输入调用ROM。双击已创建的cnt原理图窗口弹出图5.12.9窗口,产生如图5.12.9的界面,选择storage下的lpm_rom,定制一个新的模块(如果要修改一个已编好的LPM模块,则选择Edit an existing custom项),点击“ok”。选择VHDL语言方式,输入ROM文件存放的路径和文件名,如Ezxbrom6.vhd。图5.12.9 定制新的宏模块图5.12.10 LPM宏模块设定设置完成单击Next进入图5.12.11窗口,选择ROM控制线、地址线和数据线。

9、在图5.12.11和5.12.12窗口中选择地址线位宽和ROM中数据数分别为8和64,在“What should the RAM block tybe be”选择默认的Auto。Clock为地址锁存控制信号。去除输出锁存功能。图5.12.11 器件参数设置图5.12.12 选择地址锁存信号设置完成单击next按钮进入图5.12.13所示窗口。在图5.12.13所示窗口的“Do you want to”栏上选择“Yes, use this for the memory content data”项,并按Browse按钮,选择指定路径上的文件rom6.hex。在“Allow in-System M

10、emory”栏上选择打勾,并在“The Instance ID of this ROM”栏输入roma,作为此ROM进行“在系统”测试和读写(如果需要读写多个嵌入式的LPM_ROM或 LPM_RAM ,ID号roma就作为此 ROM的识别名称),这种读写不影响 FPGA 中电子系统的正常工作。点击“next”,点击“finish”。鼠标上粘着一个lpm_rom的图标,将其放置在顶层原理图cnt.bdf中。按照图5.12.2连接电路图。输出、输入节点复制有多种方法:按住键盘上的Ctrl键,然后用鼠标拖动输入节点即可完成复制,也可以采用复制粘贴的方法,或者在从元件库中再调输入、输出节点。图5.12

11、.13 调入ROM初始化数据文件并选择在系统读写功能(7)仿真 仿真方法与前面实验方法相同。仿真结果如图5.12.15所示,从图5.12.15中可知正弦波的输出结果是按16进制显示64个点,但为了图的清楚,该图只显示了部分结果。图5.12.14 RTL电路图5.12.15 正弦波仿真结果(8)引脚下载配置 电路结构选择模式5(N0.5),其引脚具体设置如图5.12.16所示。图5.12.16引脚设置(7)嵌入式逻辑分析仪的设置嵌入式逻辑分析仪的设置可参考第2章的2.3节的方法,其分析结果如图5.12.17所示。图中Q的输出方式是可选择的,用鼠标右键单击,在弹出的快捷菜单中选择Bus Displ

12、ay FormatUnsigned Line Chart。用同样的方法可设置cnt6b的输出方式,在弹出的块捷菜单中选择Bus Display FormatSigned Line Char.图5.12.17 逻辑分析仪分析结果从逻辑分析仪的输出结果可以看出q的输出为正弦波,cnt6b的输出采用的是有符号线性输出方式。6硬件测试信号输出的D/A使用实验系统上的DAC0832,注意其转换速率是1s。其引脚功能简述如下:D0D7:数字信号输进端。ILE:数据锁存允许信号,高电平有效,系统板上已直接连在5V上;CS:片选信号,低电平有效。WR1、WR2:写信号1、2,低电平有效;XFER:数据传送控制

13、信号,低电平有效;VREF:基准电压,可正可负,10V10V;RFB:集成在片内的外接运放的反馈电阻;IOUT1/IOUT2:电流输出端。D/A转换量是以电流形式输出的,一般要求输出是电压,所以还必须经过一个外接的运算放大器转换成电压;Vcc:是源电压(+5+15V)。AGND/DGND:模拟地与数字地。模拟地 NGND:数字地,可与AGND接在一起使用。建议选择GW48系统的电路模式No.5,DAC0832的8位数据口D7.0分别与FPGA的PIO45、44、43、42、49、48、47、46相连,如果目标器件是EP1C6Q240,则对应的引脚是:166,165,164,163,173,16

14、9,168,167;时钟CLK接系统的clock0,对应的引脚是28,选择的时钟频率不能太高(转换速率1s,)。还应该注意,DAC0832电路须接有+/12V电压(外接的运放TL062CN的电源),GW48系统的+/-12V电源开关在系统左侧上方。然后下载SINGT.sof到FPGA中;波形输出在系统左下角,将示波器的地与GW48系统的地(GND)相接,信号端与“AOUT”信号输出端相接。如果希望对输出信号进行滤波,将GW48系统DAC0832旁边的“filter”短路帽接上,接“NC”则未滤波输出。用一字起调节DAC0832旁边的蓝色元件可改变输出波形的幅度,这可从输出的波形看出。注意要将系统左上方的电源开关打开。7实验报告(1)详细分析各模块的逻辑功能,及其他们工作原理,详细记录并分析实验内容和实验内容的过程和结果,完成实验报告。(2)本次实验体会。7实验练习题按照本次实验的方法调出图5.12.7生成的正弦波64个点文件,改变其中的任意3个点的数据,用逻辑分析仪重做分析。215

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号