基于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的关系是: