基于Matlab_DSPBuilder的正弦信号发生器设计.
- 格式:doc
- 大小:182.00 KB
- 文档页数:16
基于Matlab/DSP Builder的正弦信号发生器设计引言近年来随着通信技术的不断发展,信号的正确传输显得日益重要,也就是说要有一个可靠的能产生稳定确信号的发生器,基于Matlab/DSP Builder的正弦信号发生器是利用Matlab/DSP Builder的模块进行的模快化设计,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了、易懂、易学。
使硬件在软件的控制下协调运作。
DSP Builder可以帮助设计者完成基于FPGA的DSP系统设计设计,除了图形化的系统建模外,还可以完成及大部分的设计过程和仿真,直至将设计文件下载到DSP开发板上。
此次实验的目的就是将两者的优势有机的结合在一起,利用DSP的优势开发正弦信号发生器。
在设计中主要采用DSP Builder库中的模块进行系统的模型设计,然后再进行Simulink仿真。
1.设计思想1.1 DSP Builder特点DSP Builder系统级(或算法级)设计工具,它架构在多个软件工具之上,并把系统级(算法仿真建模)和RTL(硬件实现)两个领域的设计工具连接起来,最大程度的发挥了两种工具的优势。
DSP Builder依赖于MathWorks公司的数学分析工具Matlab/Simulink,可以在Simulink中进行图形化设计和仿真,同时又通过Signal Compilder把Matlab/Simulink的设计文件(.mdl)转换成相应的硬件描述语言VHDL设计文件(.vhd),以及用于控制和编译的tcl脚本。
而对后者的处理可以用Quartus II来实现。
1.2 QuartusII特点QuartusII提供了完整的多平台设计环境,能满足各种特定设计的需要,是单芯片可编程系统(SOPC)设计的综合性环境和SOPC开发的基本设计工具,并且为Altera DSP开发包进行系统模型设计提供了集成综合环境。
QuartusII完全支持VHDL的设计流程,其内部嵌有VHDL逻辑综合器。
基于DSP设计正弦信号发生器一.设计目的设计一个基于DSP的正弦信号发生器二.设计内容利用基于CCS开发环境中的C54X汇编语言来实现正弦信号发生装置。
三.设计原理一般情况,产生正弦波的方法有两种:查表法和泰勒级数展开法。
查表法是使用比较普遍的方法,优点是处理速度快,调频调相容易,精度高,但需要的存储器容量很大。
泰勒级数展开法需要的存储单元少,具有稳定性好,算法简单,易于编程等优点,而且展开的级数越多,失真度就越小。
本文采用了泰勒级数展开法。
一个角度为θ的正弦和余弦函数,可以展开成泰勒级数,取其前5项进行近似得:式中:x为θ的弧度值,x=2πf/fs(fs是采样频率;f是所要发生的信号频率。
正弦波的波形可以看作由无数点组成,这些点与x轴的每一个角度值相对应,可以利用DSP处理器处理大量重复计算的优势来计算x轴每一点对应的y的值(在x轴取N个点进行逼近)。
整个系统软件由主程序和基于泰勒展开法的SIN子程序组成,相应的软件流程图如图。
三.总体方案设计本设计采用TMS320C54X系列的DSP作为正弦信号发生器的核心控制芯片。
通过计算一个角度的正弦值和余弦值程序可实现正弦波,其步骤如下:1.利用sinx和cosx子程序,计算0°~45°(间隔为0.5°)的正弦和余弦值2.利用sin(2x)=2sin(x)cos(x)公式,计算0°~90°的正弦值(间隔为1°)3.通过复制,获得0°~359°的正弦值4.将0°~359°的正弦值重复从PA口输出,便可得到正弦波四.软件操作DSP 集成开发环境 CCS是 Code Composer Studio 的缩写,即代码设计工作室。
它是 TI 公司推出的集成可视化 DSP 软件开发工具。
DSP CCS 内部集成了以下软件工具:◆ DSP 代码产生工具(包括 DSP 的 C 编译器、汇编优化器、汇编器和链接器)◆ CCS 集成开发环境(包括编辑、建立和调试 DSP 目标程序)◆ 实时基础软件 DSP/BIOS (必须具有硬件开发板)◆ RTDX、主机接口和 API(必须具有硬件开发板)在 CCS 下,用户可以对软件进行编辑、编译、调试、代码性能测试(profile)和项目管理等工作。
基于DSP的正弦信号发生器1.正弦信号在各种科学和工程领域中广泛应用,如通信系统、音频处理、医学诊断等。
因此,制作一个能够生成正弦信号的设备是非常必要的。
传统的方法是使用模拟电路,但这种方法需要用到很多电子元器件,难以控制和调整。
同时,传统的模拟电路还容易受到电磁干扰、温度等环境因素的影响,导致输出的信号失真。
因此,数字信号处理(DSP)技术逐渐成为生成正弦波信号的常见方法,能够实现高精度、低失真的输出。
2. 设计概述本文介绍一种基于DSP的正弦信号发生器的设计。
该设计采用TMS320C5505数字信号处理芯片和信号解调电路,通过软件和硬件设计,实现了一个高精度、低失真的正弦信号发生器。
2.1 硬件设计本设计采用了TMS320C5505数字信号处理器集成电路作为主控芯片。
该芯片具有低功耗、高性能、灵活性和易于开发等优点。
除此之外,还需要电源模块、时钟模块、信号解调模块等。
2.2 软件设计本设计采用了C语言进行程序设计。
使用Code Composer Studio作为开发环境,将程序编译后烧录到芯片中。
代码的主要实现过程为:1.生成一个只包含一周期正弦波形的信号2.将该信号送入DA(Digital to Analog)转换器,使其变为模拟信号3.经过信号解调器后输出到外部接口信号的生成采用的是Taylor级数展开,可以实现高精度的波形生成。
信号解调电路主要是由低通滤波器、防干扰电路和放大电路等模块组成。
3. 实验结果经过实验测试,本设计输出的正弦波信号的频率可以在0~10kHz范围内任意设定。
信号的失真率小于0.1%。
同时,本设计还支持正弦波的相位调节和幅度调节等功能。
通过外部的控制,可以实现信号的精准控制和调节。
4.本文介绍了一种基于DSP的正弦信号发生器的设计,通过使用数字信号处理技术,实现了高精度、低失真的正弦波信号的生成。
该设计具有灵活性和可扩展性,可以为各种科学和工程领域提供高精度的正弦信号源。
正弦波信号发生器一、实验目的1.了解用泰勒级数展开法计算角度正弦值和余弦值;2.了解产生正弦信号的方法;3.熟悉使用汇编语言编写较复杂的程序;4.熟悉在CCS 环境下计算角度正弦值和余弦值及产生正弦波的方法;二、实验原理泰勒级数展开法是根据泰勒展开式进行计算来实现正弦信号,它能精确地计算出一个角度的正弦和余弦值,且只需要较小的存储空间。
正弦函数和余弦函数可以展开成泰勒级数,其表达式:递推公式: sin()2cos()sin[(1)]sin[(2)]cos()2cos()sin[(1)]cos[(2)]nx x n x n x nx x n x n x =---=--- 由递推公式可以看出,在计算正弦和余弦值时,需要已知cos(x )、sin(n -1)x 、sin(n -2)x 和cos(n -2)x 。
用这种方法求少数点还可以,如产生连续正弦波、余弦波,则积累误差太大,不可取。
下面主要用泰勒级数展开法求正弦和余弦值,以及产生正弦波的方法。
三、实验内容与步骤1.用泰勒级数展开法计算sin(x)的值;(1)在 CCS 中新建项目:sinx.pjt ,建立文件sinx.asm 、vectors.asm 和sinx.cmd 。
并将此三个文件加入到项目中。
******************************************************* 用泰勒级数开展开式计算一个角度的正弦值 **sin(x)=x(1-x*x/2*3(1-x*x/4*5(1-x*x/6*7(1-x*x/8*9))))*******************************************************.title "sinx.asm".mmregs .def startSTACK: .usect "STACK",10start: STM #STACK+10,SPLD #d_x,DPST #6487H,d_x ;x-->d_x CALLsin_start end:B end sin_start:35792222sin()3!5!7!9! 111123456789(((())))x x x x x x x x x x x =-+-+=----⨯⨯⨯⨯24682222cos()12!4!6!8! 11112345678((()))x x x x x x x x x =-+-+=----⨯⨯⨯.def sin_startd_coeff .usect "coeff",4.datatable: .word 01C7H ;c1=1/(8*9).word 030BH ;c2=1/(6*7).word 0666H ;c3=1/(4*5).word 1556H ;c4=1/(2*3)d_x .usect "sin_vars",1d_squr_x .usect "sin_vars",1d_temp .usect "sin_vars",1d_sinx .usect "sin_vars",1c_1 .usect "sin_vars",1.textSSBX FRCTSTM #d_coeff,AR5RPT #3MVPD #table,*AR5+STM #d_coeff,AR3STM #d_x,AR2STM #c_1,AR4ST #7FFFH,c_1SQUR *AR2+,A ;A=x^2ST A,*AR2 ;(AR2)=x^2||LD *AR4,B ;B=1MASR *AR2+,*AR3+,B,A ;A=1-x^2/72,T=x^2MPYA A ;A=T*A=x^2(1-x^2/72)STH A,*AR2 ;(d_temp)=x^2(1-x^2/72)MASR *AR2-,*AR3+,B,A ;A=1-x^2/42(1-x^2/72),T=x^2(1-x^2/72)MPYA *AR2+ ;B=x^2(1-x^2/42(1-x^2/72))ST B,*AR2 ;(d_temp)=x^2(1-x^2/42(1-x^2/72))||LD *AR4,B ;B=1MASR *AR2-,*AR3+,B,A ;A=1-x^2/20(1-x^2/42(1-x^2/72))MPYA *AR2+ ;B=x^2(1-x^2/20(1-x^2/42(1-x^2/72)))ST B,*AR2 ;(d_temp)=B||LD *AR4,B ;B=1MASR *AR2-,*AR3+,B,A ;A=1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72)))MPYA d_x ;B=x(1-x^2/6(1-x^2/20(1-x^2/42(1-x^2/72))))STH B,d_sinx ;sin(theta)RET.end*******************************************************中断向量文件vectors.asm******************************************************.title "vectors.asm".ref start.sect ".vectors"B start.end*******************************************************链接命令文件******************************************************vectors.objsinx.obj-O sinx.out-m sinx.map-estartMEMORY{PAGE 0:EPROM: org=0090H,len=0F70HVECS: org=0080H,len=0010HPAGE 1:SPRAM: org=1000H,len=1000HDARAM: org=2000H,len=2000H}SECTIONS{.text :>EPROM PAGE 0.data :>EPROM PAGE 0STACK :>SPRAM PAGE 1sin_vars :>DARAM PAGE 1coeff :>DARAM PAGE 1.vectors :>VECS PAGE 0}(2)编译、链接项目文件sinx.pjt。
基于DSP的正弦波信号发生器设计————————————————————————————————作者:————————————————————————————————日期:目录第1章绪论 (1)1 DSP简介 (1)第2章总体方案的分析和设计 (2)2.1 总体方案设计 (2)2.2正弦波信号发生器 (2)第3章硬件设计 (3)3.1硬件组成 (3)3.2控制器部分 (4)3.4人机接口部分 (5)第4章软件设计 (6)4.1流程图 (6)4.2 正弦信号发生器程序清单 (7)第5章总结 (12)参考文献 (12)第1章 绪论1 DSP 简介数字信号处理(Digital Signal Processing ,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。
在过去的二十多年时间里,信号处理已经在通信等领域得到极为广泛的应用。
图一是数字信号处理系统的简化框图。
此系统先将模拟信号转换为数字信号,经数字信号处理后,再转换成模拟信号输出。
其中抗混叠滤波器的作用是将输入信号x (t)中高于折叠频率的分量滤除,以防止信号频谱的混叠。
随后,信号经采样和A/D 转换后,变成数字信号x(n)。
数字信号处理器对x(n)进行处理,得到输出数字信号y (n),经D/A 转换器变成模拟信号。
此信号经低通滤波器,滤除不需要的高频分量,最后输出平滑的模拟信号y(t)。
图1.1 数字信号处理系统简化框图数字信号处理是以众多学科为理论基础的,它所涉及的范围极其广泛。
例如,在数学领域,微积分、概率统计、随机过程、数值分析等都是数字信号处理的基本工具,与网络理论、信号与系统、控制论、通信理论、故障诊断等也密切相关。
近来新兴的一些学科,如人工智能、模式识别、神经网络等,都与数字信号处理密不可分。
基于Matlab/DSP Builder 多波形信号发生器的设计
1 引言
传统的波形发生器多采用模拟分立元件实现,产生的波形种类要受到电
路硬件的限制,体积大,灵活性和稳定性也相对较差。
采用FPGA 器件直接实
现多种波形信号发生器,配以相应的外围器件实现的波形发生器具有设计简单、外围电路少、频率稳定性高、可靠性高、输出波形稳定、现场可编程等优点,
因而在现代电子设计中,常常采用FPGA 器件来实现多种波形信号发生器,利
用FPGA 实现多种波形信号发生器的方法也很多,但其设计方法均过于复杂,
要求设计人员对VHDL 语言要相当熟悉,才能编写相应的程序。
采用Matlab/DSP Builder 建立模型来实现多种波形信号发生器,其设计简单,不需要编程,也能根据需要设计出相应的多波信号发生器[1][2][4][6]。
2、多波信号发生器的数学模型
2.1 锯齿波的产生
在Matlab/Simulink 下,有一模块名叫Increment Decrement 模块,由于Increment Decrement 模块随着时间的变化而不断的从0 计数到255 ,到了255 后清0,接着又从0 开始计数这样周期性的产生锯齿波。
2.2 正弦波的产生
利用Increment Decrement 不断计数,根据计数找到查找表的地址取出里面的值,正弦函数的调用格式为Sin(【起始值:步进值:结束值】),该模块
为一个输入为6 位输出值为8 位的正弦查找表模块。
2.3 方波的产生
由于产生的正弦波的值从0 到255,我们可以使用一个比较器进行比较,根据比较值的大小产生占空比不同的方波,此处我们设置一个值为127 的常数,。
基于DSP Builder的高精度正弦信号发生器的设计闫璞【摘要】该文基于DSP Builder设计了一款新型高精度、高性能、宽频率范围的正弦信号发生器;通过DSP builder设计一个幅度调制模型使正弦波发生器产生的波形能够进行幅度调制.系统通过调试后,能成功产生正弦波形信号,其精度高、波形稳定、失真小.【期刊名称】《中国新技术新产品》【年(卷),期】2018(000)023【总页数】2页(P46-47)【关键词】信号发生器;DSP技术;DSP Builder【作者】闫璞【作者单位】兰州理工大学技术工程学院,甘肃兰州730050【正文语种】中文【中图分类】TN9110 前言在现代电子测量中,人们对于信号源的要求不断提高,除了频率准确度和稳定的要求外,还要求输出有较宽的频率范围和更高的稳定度和准确度。
本论文基于DSP Builder设计了一款新型高精度、高性能、宽频率范围的正弦信号发生器。
1 正弦信号发生器的预期要求及设计原理该文运用DSP Builder设计正弦波发生器和幅度调制器并将正弦波发生器产生的正弦波通过幅度调制器进行调制,预期达到的要求见表1。
表1 预期要求预期要求预期性能正弦波输出频率范围 10 Hz~10 MHz具有频率设置功能,频率步进 100 Hz输出信号频率稳定度优于10-4输出电压幅值无明显失真本设计中,为了一步步罗列DSP Builder 基于手动流程的的使用方法,我们列举了一个正弦波发生模块的设计,并且这个正弦波是可控的。
如图1所示是一个正弦波发生器。
图1 正弦波发生器模块原理图1.1 设计流程设计流程如下:1)打开 Matlab工作环境。
2)完成工作库的建立。
3)了解simulink 库管理器。
4)simulink 的模型文件。
5)放置 SignalCompiler。
6)添加 Increment Decrement模块。
7)设置 IncCount。
8)添加 SinLUT 模块:( LUT)。
基于Matlab/DSP Builder的正弦信号发生器设计引言近年来随着通信技术的不断发展,信号的正确传输显得日益重要,也就是说要有一个可靠的能产生稳定确信号的发生器,基于Matlab/DSP Builder的正弦信号发生器是利用Matlab/DSP Builder的模块进行的模快化设计,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了、易懂、易学。
使硬件在软件的控制下协调运作。
DSP Builder可以帮助设计者完成基于FPGA的DSP系统设计设计,除了图形化的系统建模外,还可以完成及大部分的设计过程和仿真,直至将设计文件下载到DSP 开发板上。
此次实验的目的就是将两者的优势有机的结合在一起,利用DSP的优势开发正弦信号发生器。
在设计中主要采用DSP Builder库中的模块进行系统的模型设计,然后再进行Simulink仿真。
1.设计思想1.1 DSP Builder特点DSP Builder系统级(或算法级设计工具,它架构在多个软件工具之上,并把系统级(算法仿真建模和RTL(硬件实现两个领域的设计工具连接起来,最大程度的发挥了两种工具的优势。
DSP Builder依赖于MathWorks公司的数学分析工具Matlab/Simulink,可以在Simulink中进行图形化设计和仿真,同时又通过Signal Compilder把Matlab/Simulink的设计文件(.mdl转换成相应的硬件描述语言VHDL 设计文件(.vhd,以及用于控制和编译的tcl脚本。
而对后者的处理可以用Quartus II 来实现。
1.2 QuartusII特点QuartusII提供了完整的多平台设计环境,能满足各种特定设计的需要,是单芯片可编程系统(SOPC设计的综合性环境和SOPC开发的基本设计工具,并且为Altera DSP开发包进行系统模型设计提供了集成综合环境。
QuartusII完全支持VHDL的设计流程,其内部嵌有VHDL逻辑综合器。
QuartusII也可以利用第三方的综合工具,如:Leonardo Spectrum、Synplify Pro、FPGA Compiler,并能直接调用这些工具。
同样QuartusII具备仿真功能,同时也支持第三方的仿真工具,如:ModelSim 。
此外,QuartusII与Matlab和DSP Builder结合,可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。
1.3 DSP的一般设计流程图1—1所示的是DSP Builder的一般设计流程的框图,它针对不同情况提供了两套设计流程,即自动流程和手动流程。
它们的在设计输入、图形化仿真、分析功能等步骤是几乎一样的,只是设计模型采用DSP Builder的Simulink库。
再往后若采用自动流程,则几乎可以忽略硬件的具体实现过程,直至在Matlab 中完成FPGA的配置下载过程;但若想采用第三方综合器和仿真器,就需要采用手动流程,有设计者制定综合、适配条件,最后用QuartusII产生相应的编程文件用于FPGA的配置。
图1—1DSP Builder设计流程框图1.4 系统的工作原理正弦信号发生器的结构由4个部分组成:数据计数器或地址发生器(6位;正弦信号数据ROM(6位地址线,8位数据线,含有一个周期共64个8位数据; VHDL语言顶层设计;8位D/A转换。
如图1-2所示,顶层文件Singt.vhd在FPGA中实现,包含两个部分:ROM的地址信号发生器,由6位计数器担任;一个正弦数据ROM,由LPM__ROM模块构成。
LPM__ROM底层是FPGA中的EAB、ESB或M4K等模块。
地址发生器的时钟CLK的输入频率f与每周期的波形数据点数(在此选择64点,以及D/A 输出的频率f的关系是:f= f/64图1—2 正弦信号发生器结构图本系统是一正弦波发生器。
它通过IncCount产生一个按时钟线性递增的地址信号,送往SinLUT。
SinLUT由递增的地址获得正弦波的量化值输出。
由SinLUT 输出的8位正弦波数据经过一个延时模块后送往乘法模由SinLUT输出的8位正弦波数据经过一个延时模块后送往乘法模块Product与SinCtrl相乘。
由于SinCtr是一位(bit输入,SinCtr通过Product就完成了对正弦波输出有无的控制。
SinOut是整个正弦波发生器模块的输出,送往D/A即可获得正弦波的输出(模拟信号。
设计完成以后,将其转化成VHDL语言,再通过QuartusII对将模块进行编译。
这个过程包括分析/综合、适配、装配、时序分析等等.最后在实验箱上模拟。
图1—3 正弦波发生器模块原理图:2.技术实现2.1总体设计本正弦信号发生器由6位的地址信号发生器IncCount产生一个按时钟线性递增的地址信号,送到含有64个8位数据的正弦信号数据ROMSinLUT,由SinLUT 输出的8位正弦波数据经过一个延时模块后送往乘法模由SinLUT输出的8位正弦波数据经过一个延时模块Delay后送往乘法模块与一位控制信号相乘,再输出即可。
然后用QuartusII直接完成适配和时序仿真,最后下载至实验箱模拟。
2.2设计及实现部分2.2.1 建模准备在Matlab界面里建立一个新的文件夹(mkdir /zhangkui/yezi,作为工作目录,并把Matlab当前的Work目录切换到新建文件夹下。
Simulink是基本模型库。
在以下的DSP Builder应用中,主要是使用该库中的组件、子模块来完成各种设计,再使用“simulink”库来完成模型的仿真验证。
新建一个simulink的模型文件(后缀为.mdl就会出现是新模型窗口。
2.2.2 建立模型文件⑴把AltLab库管理器中的Signal Compilder组件拖到Signal Compilder到新模型窗口中。
当在simulink库管理器中选中模块(Block后,在库管理器的提示栏中会显示对应模块的说明,有简单的功能介绍。
⑵Increment Decrement模块是DSP Builder库中Arithmetic(算术模块。
把Arithmetic条中的Increment Decrement模块拖到新建模型窗口中。
将Increment Decrement的名字修改为“IncCount”。
然后把IncCount模块做成一个线性递增的地址发生器,然后对IncCount的参数进行相应的设置。
在IncCount模块的参数设置对话框“Block Parametres:IncCount”中,在“参数设置”对话框的上半部分是该模块的功能描述和使用说明:对话框的下半部分的参数设置部分,对于Increment Decrement模块共有下面几种参数可以设置:①总线类型(Bus Type;②输出位宽(Number of bits;③增减方向(Direction;④开始值(Starting Value;⑤是否使用控制输入(Use control Inputs;⑥时钟相位选择(Clock Phase Selection;对于总线类型(Bus Type,在下列列表框中共有3种选择:A、有符号整数(Signed Integer;B、有符号小数(Signed Fractional;C、无符号整数(Unsiged Integer;在这里选择“Signed Integer”,即有符号整数。
对于输出位宽,由于正弦查找表(SinLUT地址为6位,所以设置位宽设置为6。
IncCount是一个按时钟增1是计数器,Direction设置为Increment(增量方式。
Use Control Input项不选。
因为如果选中此项,此模块会出现两个输入端分别是复位端和时钟端。
通常在simulink图中的元件的复位和时钟端(如果存在的话是分别默认接于低电平和与全局时钟相连的。
Clock Phase Selection可设置为1(二进制其它的设置采用Increment Decrement模块的默认设置。
图2—1 递增递减模块改为IncCount⑶把Gate库中LUT拖到新建模型窗口名字修改为“Sin LUT”。
设置参数,把输出(Output[number of bits]改为8,查找表地址线宽(LUT Address Width设为6。
总线数据类型选择为有符号整数(Signed Integer;在MATLAB Array 编辑框中输入计算查找表内容的计算式。
在此直接使用sin(正弦函数,在这里sin函数的格式调用为:Sin[起始值:步进值:结束值]SinLUT是一个输入地址为6位,输入值位宽为8的正弦查找表模块,且输入地址总线为有符号数,可以设置起始值为0、结束值为2∏、结束值为2∏/2^6。
计算式可写成:127*sin([0:2*pi/2^6]:2*pi 其中pi就是常数∏。
上式的数值变化范围是-127~+127,总值为256,恰好的8位二进制数是最大值。
但应注意,如果带边地址线宽,如8,以上的2的6次方要改为2的8次方,即:127*sin([0:2*pi/2^6]:2*pi如果将SinLUT模块的总线数据类型设置为无符号整数(Unsiged Integer,且输出位宽(Number of bits改为10,若想得到完整满度的波形输出,则上式应该为:511*sin([0:2*pi/2^6]:2*pi+512 在“Use LPM”(LPM:library of Pparameterrized Modules参数化模块库处若选中,表示允许Quartus II 利用目标库中的嵌入式RAM(在EAB、ESB或M4K 模块中来构成SinLUT,即将生成的正弦波数据放在嵌入式RAM构成的ROM中,这样可以节省大量的逻辑资源,否则SinLUT只能用芯片中的LCs来构成。
图2—2 LUT模块改为Sin LUT⑷Storage库下的Delay模块Delay模块是一个延时环节,在这里可以不修改其默认参数设置。
Delay模块的“参数设置”对设置如下,参数Depthd是描述信号延时深度的参数。
但Depth为1时,信号传输函数为1/z,表示为通过Delay 模块的信号延时一个时钟周期;当Depth为整数n,其传输函数为1/z^n,表现为通过Delay模块的信号延时n 个周期。
Delay模块在硬件上可以采用寄存器(锁存器来实现。
图2—3 Delay模块及其参数设置窗口Clook Phase Selection参数主要是控制采样的。
当设置为1时就表示每一个主频脉冲后数据都能通过;如果设置为01则表示每隔一个脉冲通过一个数据;若设置为0011每隔两个脉冲通过两个数据;0100则表示Delay在每隔2个时钟被使能通过,而在第1、3、4个失踪时被禁止通过等等。