多功能信号发生器的设计设计.doc

上传人:本田雅阁 文档编号:2040686 上传时间:2019-02-07 格式:DOC 页数:20 大小:1.80MB
返回 下载 相关 举报
多功能信号发生器的设计设计.doc_第1页
第1页 / 共20页
多功能信号发生器的设计设计.doc_第2页
第2页 / 共20页
多功能信号发生器的设计设计.doc_第3页
第3页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《多功能信号发生器的设计设计.doc》由会员分享,可在线阅读,更多相关《多功能信号发生器的设计设计.doc(20页珍藏版)》请在三一文库上搜索。

1、多功能信号发生器的设计 目 录 0 引言 2 1 设计意义 3 2 设计说明 4 2.1 设计任务 .4 2.1.1 设计要求4 2.1.2 设计目的: .4 3 设计过程 5 3.1 系统顶层框图 .5 3.1.1 信号发生器结构图5 3.1.2 信号发生器的内部构成5 3.1.3 系统流程图6 3.2 设计步骤 .6 3.3 系统设计 .7 4 代码及仿真结果 8 4.1 各个模块的实现 .8 4.2 顶层模块 16 5 小结及体会 .19 6 参考文献 .20 2 0 引言引言 信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。它能够产生多种波 形,如三角波、锯齿波、矩

2、形波(含方波) 、正弦波等,在电路实验和设备检测中具有十分广泛的用 途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频 (低频) 、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学 等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频 率或高或低的信号发生器。 本设计采用 FPGA 来设计制作多功能信号发生器。该信号发生器可以产生正弦波、方波、三角波、 锯齿波等波形。 3 1 设计意义设计意义 本次课设要求设计一个函数信号发生器。它能产生四种波形:正弦波、方波、三角波、锯齿波。 同时能在不同的频

3、率下显示。这次设计主要是练习了分频电路的设计,ROM 的设计,计数器的设计、 选择电路的设计和数码显示的设计。 加强了对 when 语句,if 语句等语句的理解。拓展了对 VHDL 语言的应用。平时练习与考试都是 设计一个简单的电路,本次课设综合了好几个电路的设计。同时我也增强了对分模块设计电路的应 用。对我以后的电路设计生涯都是有所帮助的! 函数信号发生器是应用了 VHDL 语言,通过数模转换来显示波形,实现了数模转换的应用。 在工作中,我们常常会用到信号发生器,它是使用频度很高的电子仪器。信号发生器是指产生 所需参数的电测试信号的仪器。按信号波形可分为正弦信号、函数(波形)信号、脉冲信号和

4、随机 信号发生器等四大类。信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用 。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波 (含方波) 、正弦波的电路被称为函数信号发生器。 信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。凡是产生测试信 号的仪器,统称为信号源,也称为信号发生器,它用于产生被测电路所需特定参数的电测试信号。 信号源主要给被测电路提供所需要的已知信号(各种波形) ,然后用其它仪表测量感兴趣的参数。可 见信号源在电子实验和测试处理中,并不测量任何参数,而是根据使用者的要求,仿真各种测试信 号,提供给被测电

5、路,以达到测试的需要。它能够产生多种波形,如三角波、矩形波(含方波) 、正 弦波等,在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要 射频(高频)发射,这里的射频波就是载波,把音频(低频) 、视频信号或脉冲信号运载出去,就需 要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超 声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的信号发生器。 本设计采用 EDA 来 设计制作多功能信号发生器。该信号发生器可以产生正弦波、方波、三角波、锯齿波等波形。 4 2 设计说明设计说明 2.12.1 设计任务设计任务 2.1.12.1.

6、1 设计要求设计要求: 基于VHDL 语言 ,通过给定的仪器(EDA6000 试验箱)设计一个多功能信号发生器, (1)能产生周期性正弦波、方波、三角波、锯齿波以及用户自己编辑的特定波形; (2)输出信号的频率范围为 100Hz200KHz,且输出频率可以调节; (3)具有显示输出波形、频率的功能。 2.1.22.1.2 设计目的:设计目的: 1) 掌握使用 EDA 工具设计信号发生器系统的设计思路和设计方法,体会使用 EDA 综合过程中 电路设计方法和设计思路的不同,理解层次化设计理念。 2) 熟悉在 Quartus II 环境中,用文本输入方式与原理图输入方式完成电路的设计,同时掌 握使用

7、这两种方式相结合的 EDA 设计思路。 3) 通过这一部分的学习,对 VHDL 语言的设计方法进行进一步的学习,对其相关语言设计规范 进行更深层次的掌握,能够更加熟练的做一些编程设计。 5 3 设计过程设计过程 3.13.1 系统顶层框图系统顶层框图 3.1.13.1.1 信号发生器结构图信号发生器结构图 由于 FPGA/CPLD 只能直接输出数字信号,而多功能信号发生器输出的各种波形均为模拟信号, 因此设计信号发生器时,需将 FPGA/CPLD 输出的信号通过 D/A 转换电路将数字信号转换成模拟信 号。多功能信号发生器可由信号产生电路,波形选择电路和 D/A 转换电路构成,如下图所示: 时

8、钟信号信号产生电路波形选择电路D/A 转换 波形输出 选择信号 3.1.23.1.2 信号发生器的内部构成信号发生器的内部构成 数控分频 器 三角波 波形数 据 正弦波 波形数 据 方波波 形数据 任意波 形数据 数据选择器 波形选择关 时钟 预置分 频数 (0- 255) 复位信号 8 位数据 out f 6 图 1 原理框图 在原理框图中,正(余)弦查找表由 ROM 构成,内部存有一个完整周期正(余)弦波的数字幅 度信息,每个查找表的地址对应正(余)弦波幅度信号,同时输出到数模转换器(DAC)输入端, DAC 输出的模拟信号经过低通滤波器(LPF) ,可以得到一个频谱纯净的正(余)弦波。

9、3.1.33.1.3 系统流程图系统流程图 当输入端有时钟信号输入时,各个信号发生器模块独立运行,独立存在,发出各种信号,这些 信号作为数据选择器的输入信号,在数据选择器的作用下,波形切换到相应的模块输出,再通过数 模转换器(D/A) ,将通过示波器显示出相应的波形图,其程序流程图如下图所示: 输入信号 各个信号发生器模块 开始 输出信号 数模转换器 (D/A) 四选一数据选择器 复位 3.23.2 设计步骤设计步骤 用 VHDL 语言结合原理图设计实现一个函数信号发生器,输出正弦波、方波和三角波三种波形。 将频率控制、分频、三角波、正弦波、方波发生邓各个模块分别用 VHDL 语言编程为一个子

10、程序,并 把每一个模块转换成图形文件,然后在原理图编辑框调用这些图形模块,连接电路如上图系统顶层框 图所示。通过按键 1 到按键 8 控制频率调节 f7.0,用按键 6、按键 7、按键 8 控制 dlt、sin、sqr 波形选通,最后把八位输出接 DAC0832 通过 D/A 转换,从示波器上就能看到波形输出。 按下不同的按键输出不同的波形及频率。 7 3.33.3 系统设计系统设计 (1)数控分频器模块 在时钟的作用下,通过预置分频数 DIN,来改变输出频率。假如分频系数为 N,波形存储模块存 储一个周期的波形,实验里按照一个周期波形采样 64 个点存储在波形存储模块里。则输出频率 N f

11、f clk out .64 (2)数据存储模块 (存储波形数据) 数据存储模块主要存的是正弦波、三角波、锯齿波等一个周期的采样点。 三角波模块可设计一个可逆计数器实现,设计时设置一变量作为工作状态标志,在此变量为 0 时,当检测到时钟的上升沿进行加同一个数操作;为 1 时,进行减同一个数操作。DA 转换采用的 DA0832,输入有 8 个数据端,范围是 0 到 255;而且设置 64 个时钟周期为一个三角波周期,所有每 次加、减为 1。 锯齿波的存储数据与三角波类似。 方波可以通过交替输出全 0 和全 1,并给以 32 个周期的延时来实现。 正弦波可以通过波形变换实现把 asin 变换成 5.

12、127*)1(cosa 的形式进行采样,然后变换成 8 位二进制码,存储在波形存储器里。 (3)数据选择器模块 在波形开关的控制下,选择相应的波形输出。可以用 3 个按键来控制波形选择 8 4 代码及仿真结果代码及仿真结果 4.14.1 各个模块的实现各个模块的实现 4.1.14.1.1 数控分频器的实现数控分频器的实现 其 VHDL 代码如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fenpin is port(d_mode:in std_logic_vector(

13、3 downto 0); clk:in std_logic; d_out:out std_logic); end fenpin; architecture behav of fenpin is signal full:std_logic; begin p_reg: process(clk) variable cnt8:std_logic_vector(3 downto 0); begin if clkevent and clk=1 then if cnt8=“1111“ then cnt8:=d_mode; fullddddddddddddddddddddddddddddddddddddddd

14、dddddddddddddddddddddddddnull; end case; end if; end process; end sin_arc; 其仿真波形如图 7 所示: 图 7 正弦波仿真图 其生成元器件如图 8 所示: 图 8 正弦波元器件生成图 4.1.54.1.5 锯齿波的实现锯齿波的实现 改变该模块递增的常数,可以改变锯齿的个数。其 VHDL 代码如下: library ieee; use ieee.std_logic_1164.all; 14 use ieee.std_logic_unsigned.all; entity ladder is port(clk,reset:in

15、 std_logic; q:out std_logic_vector(7 downto 0); end ladder; architecture ladder_arc of ladder is begin process(clk,reset) variable tmp:std_logic_vector(7 downto 0); begin if reset=0 then tmp:=“00000000“; elsif clkevent and clk=1 then if tmp=“11111111“ then tmp:=“00000000“; else tmp:=tmp+16; -锯齿常数为 1

16、6,可修改 end if; end if; qqqqqd_mode,clk=clk, d_out=square,d_out= delta, d_out= sin, d_out= ladder); wen2: square port map(clr=resel,clk= square, q= d0); wen3: delta port map(resel =resel,clk= delta, q= d1); wen4: sin port map(clr=resel,clk= sin, q= d2); wen5: ladder port map(resel =resel,clk= ladder,

17、q= d3); wen6: select4_1 port map(sel = sel, d0= d0, d1= d1, d2= d2,d3=d3, q=q); end behav; 4.2.24.2.2 生成整体生成整体 RTLRTL: 新建一工程,加载上述模块,利用顶层模块法生成整体多波形信号发生器。整体 RTL 图如图 13 所示: 图 13 整体多波形信号发生器 RTL 图 18 4.2.34.2.3 整体仿真图整体仿真图 整体多波形信号发生器仿真如图 14 所示: 图 14 整体多波形信号发生器仿真图 其中,d_mode【30】为数控分频输入端,接四个开关用来产生预制分频数,分频后得到

18、不同 频率的脉冲,sel【10】为数据选择器的选择输入端,接两个开关,输入不同数据,选择四种波形 中的一种输出,clk 是原始脉冲输入端,reset 为复位端,接一按键,按下时产生复位,回到初始状 态;q【70】是数据选择器的输出端,输出被选中的波形送至 DA 转换器。 19 5 小结及体会小结及体会 通过这次课程设计,我全面熟悉、掌握 VHDL 语言的基本知识,掌握利用 VHDL 语言对信号发生 器的编程和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结 果的若干有效方法,进一步提高动手能力,培养使用设计综合电路的能力,养成提供文档资料的习 惯和规范编程的思想。同

19、时通过此次实验,使我对 Quartus II 软件的使用有了更深刻的了解。 在设计的过程中,也遇到了很多问题,在同学和指导老师的帮助下,都一一得到了解决。从选 题到定稿,从了解到熟悉,用了大概一个星期的时间,在这段时间内,苦恼、思考、喜悦、收获, 感受颇多。当然此次设计也体现出我平时学习中有许多不足和欠缺之处,此后需通过学习来查漏补 缺。 20 6 参考文献参考文献 1李翠华. 信号发生器的设计J. 科技广场, 2009 2申彦春, 王欢, 梁延贵. 基于 FPGA 的信号发生器的设计J. 唐山学院学报, 2008 3刘皖, 何道军, 谭明. FPGA 设计与应用M. 北京清华大学出版社, 2006 4赵雅兴. FPGA 原理设计与应用M. 天津大学出版社, 1999 5余勇, 郑小林.基于 FPGA 的 DDS 正弦信号发生器的设计与实现J.电子器件, 2005 6田耘,徐文波. Xilinx FPGA 开发实用教程M. 北京: 清华大学出版社, 2008

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1