基于FPGA的可调信号发生器

时间:2010-08-04

     摘要:基于FPGA的应用技术,采用Altera公司DE2-70开发板的CycloneⅡ系列EP2C70作为器件,设计了一种基于FPGA的新型可调信号发生器。通过QuartusⅡ软件及Vetilog HDL编程语言设计LPM_ROM模块定制数据ROM,并通过地址指针读取ROM中不同区域的数据,根据读取数据间隔的不同,实现调整频率功能,该系统可产生正弦波、方波、三角波和锯齿波4种波形信号,并使用嵌入式逻辑分析仪对产生的不同波形信号进行实时测试,实验证明,该可调信号发生器系统软件模拟数据和理论定制波形相吻合。

  传统信号发生器大多由模拟电路构成,存在连线复杂、调试烦琐且可靠性较差等缺点。以Verilog HDL编程语言和FPGA器件为的可调信号发生器的设计实现,提高了系统可靠性,实现了系统信号实时快速测量,也为其广泛应用于实际领域创造了条件。

  1 系统总体设计

  可调信号发生器系统由顶层模块、EP2C70器件、控制开关和输入输出模块等部分组成,如图l所示。在FPGA中实现的顶层文件包含地址指针和数据ROM2部分。其中,数据ROM由QuartusⅡ软件中的LPM_ROM模块构成,能达到设计,LPM_ROM由FPGA中的EAB或ESB实现。数据ROM中存储正弦波、方波、三角波和锯齿波4种信号各1个周期的波形数据(在此选择1个周期128个数据样点),地址指针读取ROM中不同区域的数据,可产生不同的波形,并通过使用嵌入式逻辑分析仪SignalTapⅡ进行实时测试。根据读取数据间隔的不同,即可实现调整频率的功能。


  2 系统功能模块设计

  可调信号发生器系统的功能模块主要由顶层文件(Verilog HDL源程序)和波形数据ROM两部分组成。波形数据ROM设计主要包括设计波形数据ROM初始化数据文件和定制ROM元件(datarom.v)。

  2.1 顶层文件设计

  本系统采用Ahera公司的CycloneⅡ系列EP2C70器件作为,通过QuartusⅡ软件编写Verilog HDL源程序,实现一个可以产生正弦波、方波、三角波和锯齿波4种波形信号,并且能够实现信号转换及频率可调功能的信号发生器。其中control控制产生波形的种类,00、0l、10、11分别产生正弦波、方波、三角波和锯齿波;i控制读取数据间隔,调整频率。产生正弦波的源程序如下:


  2.2 波形数据ROM初始化数据文件设计

  初始化数据文件格式有2种:Memory Initialization FiIe(.mif)格式文件和Hexadecimal(Intel-Format)File(.hex)格式文件。本设计共需要产生4种波形,每种波形1个周期取128个数据,因此选用.mif格式文件初始化数据个数Number为512,数据宽度Word size取8位的ROM数据。在MATLAB中,调用wave=round(255*sin([0:2*pi/(2^9):2*pi])+256)’;函数,生成.mif文件,如图2所示。


  2.3 定制ROM元件

  在QuartusⅡ中,利用Mega Wizard Plug-In Manager定制波形数据ROM,如图3所示,经过LPM_ROM宏功能块设定、选择dmarom模块数据线宽度和数据单元个数、选择地址锁存信号clock及数据文件完成LPM_ROM设计,产生可用于例化的波形数据ROM文件datarom.v。


  3 软件系统逻辑仿真

  FPGA中的功能模块进行综合仿真后,生成配置文件。其系统逻辑功能仿真波形如图4所示,各信号的逻辑功能和时序配合完全达到设计要求。



  

参考文献:

[1]. EP2C70 datasheet https://www.dzsc.com/datasheet/EP2C70_1438351.html.
[2]. mif datasheet https://www.dzsc.com/datasheet/mif_2043409.html.


上一篇:视频监控存储设备应用特点
下一篇:U-Boot在MPC8265平台上的移植与分析

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料