+基于FPGA的多功能信号发生器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FPGA的多功能信号发生器
一.试验目的:
1.了解GW48-CK综合实验箱结构
2.熟悉VHDL语言
3.了解FPGA芯片(EP1K30TC144-3)结构及引脚
4.了解D/A芯片(DAC0832)结构[
5.熟悉FPGA设计软件quartus ii 9.0的使用
6.掌握产生三角波,锯齿波,梯形波的原理
7.学会用FPGA设计多功能信号发生器
二.试验仪器及设备:
1.pc机
2.GW48-CK型FPGA综合试验箱
3.FPGA芯片:EP1K30TC144-3
4.D/A芯片:DAC0832
5.示波器
6.quartus ii 9.0仿真软件
三.实验要求:
.设计基于FPGA的多功能信号发生器,此信号发生器可产生的波形有:正弦波,方波,三角波,斜升锯齿波,斜降锯齿波,梯形波,阶梯波,双阶梯波中的六种。
设计软件要求用quartus ii,先用该软件仿真,再接上FPGA试验箱,编译,运行并下载到实验箱,用示波器观察期指定输出端波形。
四.试验原理:
1.基于QUASTUS II 9.0平台,利用DDS(直接数字信号合成)技术,采用
VHDL语言,设计一波形信号发生器。首先根据对各波形的幅度进行采样,获得各波形的波形数据表,然后FPGA根据输入的时钟(频率可根据要求可变)作为地址信号,从FPGA数据线上输出相应的波形数据,再送入GW48-CK 实验板上的D/A转换芯片进行转换为模拟信号,最后送入滤波电路滤波后输出。
2.实验整体框图如下:由方波模块(niushengli_fb)、阶梯波模块
(niushengli_jtb)、正弦波模块(niushengli_sin)、三角波模块(niushengli_sjb)、斜升锯齿波模块(niushengli_xsjcb)、斜降锯齿波模块(niushengli_xjjcb)、6选1选择器(niushengli_mux61)以及反向器(not)组成。
五.试验步骤:
a)在桌面上双击quartus ii 9.0图标(或在开始中→程序→Aler a→quartus ii
9.0)启动设计软件。
b)新建工程命名(niushengli_xhfsq),在新建VHDL文本文件,分别输入正弦
波、方波、三角波、斜升锯齿波,梯形波,斜降锯齿波以及6选1选择器程序。
c)点击保存并命名(注意:命名应与程序实体名相同,后缀为:.vhd),编译,若有错
误,则调试程序直至编译成功
d)新建模块/原理图输入方式文件,用编译后生成的各信号模块编写原理图文件并设
置为顶层文件(命名为niushengli_xhfsq.bdf)保存
e)新建一个仿真波形文件,添加输入/输出信号节点,编辑信号节点波形并保存(命
名为:niushengli_xhfsq.vwf)
f)点击Assignments菜单,选择目标芯片(EP1K30TC144-3)并进行管
脚配置(详情见附录3)
g)点击编译器processing/Start Compilation,再点击Start Simulation命令启
动仿真器,查看仿真波形并记录
h)连接好pc机和GW48-CK实验箱,下载编译好的程序到试验箱,用示波
器观察输出端波形,检验设计的信号发生器功能并记录六.试验结果:
a)当键3、键2、键1组合为000时,输出方波仿真图形记录如下:
b)当键3、键2、键1组合为001时,输出阶梯波仿真图形记录如下:
c)当键3、键2、键1组合为010时,输出正弦波仿真图形记录如下:
d)当键3、键2、键1组合为011时,输出三角波仿真图形记录如下:
e)当键3、键2、键1组合为100时,输出斜降锯齿波仿真图形记录如下:
f)当键3、键2、键1组合为101时,输出斜升锯齿波仿真图形记录如下:
七.试验心的体会:
通过俩周的设计,我的设计较好地完成了既定目标,能够产生正弦波、方波、三角波、锯齿波等6种波形,并能改变波形发生的频率。通过三个按键组合,可在6种波形中任意切换,使所设计系统容易使用。成功的实现了系统的功能。
在实验中也有失败,如当经过几天的努力把各个信号模块做好后进行了整体的运作后,波形怎么也不出现。后来才知道原来我们设计的电路只有在特定的试验箱特定的参数设置后才能实验成功,多亏老师的指导让我们少走很多弯路。也从中发现自己还有很多知识不懂,最终把波形弄出来了!在这次设计中,我更进一步地了解了开发项目该如何组织进行,对正弦波信号发生器、方波信号发生器、三角波信号发生器、锯齿波信号发生器的实现有了更好的理解。同时也提高了查阅文档解决问题的能力,对EDA技术的运用有了深一层的认识,对VHDL程序语言设计有了更深的理解,并熟练掌握了杭州康芯硬件结构动态可配置型EDA+SOPC试验箱、北京达盛公司全开方式EDA+SOPC试验箱的用法。
通过本实验设计更增加了我对电子技术的热爱,对专业知识有了更透彻的认识!有因掌握了这一技术而更加自信。相信通过今后的学习会更成为一个科技含量高的技术人才!在试验过程中,充分体会到团队精神的重要,我们很默契很团结,才最终把实验做成功。通过实验也给自己一个成就感,让平时所学的知识有了实用的机会,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,让我以后更有信心,无论遇到什么困难都要勇于克服,遇到问题要善于思考并虚心请教。
附录:
(1).多功能信号发生器FPGA芯片配置说明:
本次多功能信号发生器设计采用VHDL语言设计并通过QUARTUS II软件编译、仿真完成后,需将生成的配置文件下载到EDA试验箱中测试输出波形。有关配制情况说明如下:
1.试验平台:GW48系列EDA/SOC试验开发系统
2.FPGA芯片型号:Altera EP1K30TC144-3
1. --锯齿波(斜升)
LIBRARY IEEE;
USE IEEE. STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY niushengli_xsjcb IS -- 牛胜利(40604030109)
PORT (clk,reset: IN STD_LOGIC;
q:OUT STD_LOGIC_VECTOR (7 DOWNTO 0));
END niushengli_xsjcb;
ARCHITECTURE behave OF niushengli_xsjcb IS
BEGIN
PROCESS (clk,reset)
V ARIABLE tmp: STD_LOGIC_VECTOR (7 DOWNTO 0);
BEGIN
IF reset='0'THEN
tmp:="00000000";
ELSIF clk'EVENT AND clk='1'THEN
IF tmp="11111111"THEN
tmp:="00000000";
ELSE
tmp:=tmp+1;