- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多功能信号发生器的设计
目 录
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
0 引言
信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的。
FPGA来设计制作多功能信号发生器。该信号发生器可以产生正弦波、方波、三角波、锯齿波正弦波、方波、三角波、锯齿正弦波、方波、三角波、锯齿波设计任务要求:基于《VHDL语言》,通过给定的仪器(试验箱设计一个多功能信号发生器,能产生周期性正弦波、方波、三角波、锯齿波以及用户自己编辑的特定波形;输出信号的频率范围为100Hz~200KHz,且输出频率可以调节;具有显示输出波形、频率的功能。掌握使用EDA工具设计的设计思路和设计方法体会使用EDA综合过程中电路设计方法和设计思路的不同。2) 熟悉在Quartus II环境中,用文本输入方式与原理图输入方式完成电路的设计,同时掌握使用这两种方式相结合的EDA设计思路。
3) 通过这一部分的学习,对VHDL语言的设计方法进行进一步的学习,对其相关语言设计规范进行更深层次的掌握,能够更加熟练的做一些编程设计。
3 设计过程
3.1系统顶层框图
3.1.1信号发生器结构图
由于FPGA/CPLD只能直接输出数字信号,而多功能信号发生器输出的各种波形均为模拟信号,因此设计信号发生器时,需将FPGA/CPLD输出的信号通过D/A转换电路将数字信号转换成模拟信号。多功能信号发生器可由信号产生电路,波形选择电路和D/A转换电路构成,如下图所示:
3.1.2信号发生器的内部构成
图1 原理框图
在原理框图中,正(余)弦查找表由ROM构成,内部存有一个完整周期正(余)弦波的数字幅度信息,每个查找表的地址对应正(余)弦波幅度信号,同时输出到数模转换器(DAC)输入端,DAC输出的模拟信号经过低通滤波器(LPF),可以得到一个频谱纯净的正(余)弦波。
3.2设计步骤 用VHDL语言结合原理图设计实现一个函数信号发生器,输出正弦波、方波和三角波三种波形。将频率控制、分频、三角波、正弦波、方波发生各个模块分别用VHDL语言编程为一个子程序,并把每一个模块转换成图形文件,然后在原理图编辑框调用这些图形模块,连接电路如图所示。通过按键1到按键控制频率调节f〔...0〕,用按键6、按键7、按键8控制dlt、sin、sqr波形选通,最后把八位输出接DAC0832通过D/A转换,从示波器上就能看到波形输出。按下不同的按键输出不同的波形及频率。
系统设计 模块
(2)数据存储模块 数据存储模块主要存的是正弦波三角波、锯齿波采样点 变换成的形式进行采样,然后变换成8位二进制码,存储在波形存储器里。
(3)数据选择器模块
在波形开关的控制下,选择相应的波形输出。可以用3个按键来控制波形选择
4 代码及仿真结果
4.1各个模块的实现
4.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(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
您可能关注的文档
- 新城.春天里项目基坑支护施工组织设计总结.doc
- 卓越的员工使用培训管理初版.ppt
- 发电厂第二使用期工程电气部分初步设计成品初版.doc
- 如皋市外国语学校体育馆工程施工组织设计总结.doc
- 城市道路交通设计指南课程设计全套.doc
- 骑龙山、丰使用乐风电220KV变电站土建施工组织设计初版.doc
- 年产1万吨P-PVC糊树脂工艺设计—氯乙烯合成工段工艺设计总结.doc
- 企业基于整使用合的并购管理(下)初版.doc
- 基于单片机使用的自动消毒柜控制器设计初版.doc
- 南岭生态公寓非可视对讲系统设计方案总结.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
文档评论(0)