您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于FPGA的信号发生器设计
基于FPGA的信号发生器设计 以FPGA芯片为载体,通过QuartusII的LPM_ROM模块和VHDL语言为核心设计一个多功能信号发生器,根据输入信号的选择可以输出递增锯齿波、递减锯齿波、三角波、阶梯波和方波等5种信号,通过QuartusII软件进行波形仿真、定时分析,仿真正确后,利用实验板提供的资源,下载到芯片中实现预定功能。 信号发生器又称为波形发生器,是一种常用的信号源,广泛应用于电子电路、通信、控制和教学实验等领域。它是科研及工程实践中最重要的仪器之一,以往多用硬件组成,系统结构比较复杂,可维护性和可操作性不佳。随着计算机技术的发展,信号发生器的设计制作越来越多的是用计算机技术,种类繁多,价格、性能差异很大。用FPGA或CPLD来实现,它的优点是可以进行功能仿真,而且FPGA和CPLD的片内资源丰富,设计的流程简单。用FPGA所构成的系统来产生波形信号,这个系统既能和主机系统相连,用相应的上层软件展示波形信号,又方便程序的编写,而且还有A/D0809接口可以产生模拟信号的输出和外面的示波器相连。 1正弦信号发生器的LPM定制 正弦信号发生器由计数器或地址发生器(6位)、正弦信号数据ROM(6位地址线,8位数据线,含有64个8位数据,一个周期)、原理图顶层设计和8位D/A(实验中用DAC0832代替)。 其框图如图1所示。其中信号产生模块将产生所需的各种信号,这些信号的产生可以有多种方式,如用计数器直接产生信号输出,或者用计数器产生存储器的地址,在存储器中存放信号输出的数据。信号发生器的控制模块可以用数据选择器实现,用8选1数据选择器实现对5种信号的选择。 图1信号发生器结构框图 最后将波形数据送入D/A转换器,将数字信号转换为模拟信号输出。用示波器测试D/A转换器的输出,可以观测到5种信号的输出。 1.1定制初始化数据文件 QuartusII能接受的LPM_ROM模块中的初始化数据文件的格式有两种:。mif格式文件和。hex格式文件。实际应用中只要使用其中一种格式的文件即可。下面采用。mif格式文件,调出产生ROM数据文件大小的选择窗。根据64点8位正弦数据的情况,可选ROM的数据数Number为64,数据宽Wordsize取8位。单击OK按钮,将出现图2所示的空的。mif数据表格,表格中的数据格式可通过鼠标右键单击窗口边缘的地址数据弹出的窗口选择。 图2.mif数据表格 将波形数据填入mif文件表中也可以使用QuartusII以外的编辑器设计MIF文件,其格式如下: #include #includemath.h main() {inti;floats; for(i=0;i {s=sin(atan(1)*8*i/1024); printf(%d:%d;\n,i,(int)((s+1)*1023/2));}} 把上述程序编译成程序后,可在DOS命令行下执行命令: romgensin_rom.mif;
本文标题:基于FPGA的信号发生器设计
链接地址:https://www.777doc.com/doc-4789395 .html