- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Harbin Institute of Technology
课程设计结题报告
课程名称:
设计题目:
院 系:
班 级:
设 计 者: 洪 小 沯
学 号:
指导教师:
设计时间:
哈尔滨工业大学
年 月 日
通用通信信号源设计
[摘要] 信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。它能够产生多种波形,如三角波、锯齿波、方波、正弦波等,在电路实验和设备检测中具有十分广泛的用途。本设计采用FPGA来设计制作多功能信号发生器。该信号发生器可以产生锯齿波、三角波、方波等波形。
[关键词] 信号发生器;Quartus II; Matlab;
绪论
信号发生器亦称函数发生器,作为实验用信号源,是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前,市场上常见的波形发生器多为纯硬件的搭接而成,且波形种类有限,多为锯齿、正弦、方波、三角等波形。
70 年代前,信号发生器主要有两类:正弦波和脉冲波。产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,电路尺寸大、价格贵、功耗大,复杂信号其波形电路结构非常复杂。后来,微处理器出现,波形发生器多以软件为主,实质是采用微处理器对 DAC的程序控制以得到各种简单的波形。
90年代以来,随着基础电路制造工艺的逐步提高,通过采用先进的工艺和低功耗的设计,DDS的工作速度有了很大的提高并广泛应用到各种信号发生器中。其中以AD公司的产品如AD7008,AD9850,AD9851,AD9858等比较具有代表性。其系统时钟频率从30MHz到1GHz不等。这些芯片还具有调制功能,如AD7008可以产生正交调制信号,AD9852也可以用来产生PSK,FSK,线性调频以及幅度调频的信号。芯片内部大都采用了流水技术的优化设计,提高了相位累加器的工作频率,进一步提高了DDS芯片的输出频率。
运用DDS技术生产的DDS任意波形信号发生器是较新的一类信号源并已经广泛投入使用。它不仅能产生传统信号发生器能产生的正弦波,方波,三角波,锯齿波等,还能够产生任意编辑的波形。由于DDS的自身特点,还可以很容易产生一些数字调制信号如PSK,FSK等,一些高端的信号发生器甚至能够产生通信信号。信号发生器输出波形的频率分辨率和频率精度等指标也有了很大提高。基于DDS设计的信号发生器将是未来信号发生器设计的主流。
近几年,国际上波形发生器技术发展主要体现在以下几个方面:
A.过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。
B.由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量产生复杂的波形,VXI的系统资源提供了明显的优越性。但VXI模块开发周期长,需要专门VXI机箱的配套使用,因此波形发生器VXI模块仅限于航空、军事及国防等大型领域。
C.随着信息技术蓬勃发展,台式仪器又重新繁荣起来。新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。
二. 四种基本波形
1.1 模块建立
基本波形模块的核心是ROM表,ROM表内部存储了每个相位经过计算后相应的幅度值,即把计算得到的幅度值存储成“.mif”格式的文件,再调用QuartusII提供的ROM块,经过设置就可以设计所需要的ROM。
1.2 原理图
1.3 顶层文件
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity signal is
port ( clk,reset: in std_logic;
sel: in std_logic_vector(1 downto 0);
q:out std_logic_vector(7 downto 0));
end entity;
architecture signal_arc of signal is
component sin is
port ( clk,reset: in
文档评论(0)