- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Nios的DDS高精度信号源实现
基于Nios的DDS高精度信号源实现
摘要:直接数字频率合成器DDS具有极高的分辨率、频率转换速度快、相位噪声低等优点。以ALTERA公司的CPU软核Nios为基础,利用Quartus II软件和Sopc Builder,采用两级DDS和动态分频法,提高了信号源的精度。采用双口ROM可以很方便的同时输出两路具有一定相位差的信号,而且频率幅度可调。另外着重介绍了怎样用Matlab产生波形幅度数据以及最后的仿真验证。
1 引言 ??? 在实际的通信过程中,系统对频率的精度和稳定度都有较高的要求.而且常常需要用到多种不同频率和相位的信号。传统的波形发生器都是由模拟的电路实现,受到硬件电路的限制,不仅产生的波形少,精度低,而且体积大。灵活性差。DDS(Direct DigitalFrequncy Synthesis,直接数字频率合成)的出现为我们提供了一种新选择。DDS是从相位概念出发直接合成所需要波形的一种新的频率合成技术。由于其具有频率转换快、分辨率高、频率合成范围宽、相位噪声低且相位可控制的优点,因此,DDS技术常用于产生频率快、转换速度快、分辨率高、相位可控的信号。目前.市场上已出现许多DDS专用芯片.但是专用芯片有很多局限性,比如控制方式固定,同时只能输出一路信号.而且价格普遍偏高。利用fpga的高速、高性能和可重构性可实现各种比较复杂的调频、调相和调幅功能。??? 本文介绍设计的DDS信号源应用ALTERA公司的FPGA器件、Quartus II开发环境和NIOS软核等相关的开发工具,采用VHDL语言及SOPC设计思想。采用两级DDS技术设计波形发生器,并且可以同时输出多路不同相位的信号,满足我们实际的需求。
2 DDS原理??? 基本DDS的结构框图如图1所示。主要由相位累加器、相位调制器、ROM查找表、D/A以及低通滤波器组成。?图1 DDS结构图??? 频率字和相位字分别控制输出信号的频率和相位。DDS的核心是N位的相位累加器。在时钟脉冲控制下,相位累加器不断对频率控制字K进行累加,将累加器的输出作为读波形存储器ROM的地址,读出波形数据,然后再进行调幅、数模转换、滤波从而得到光滑的波形信号。在整个过程中相位累加器进行的是线性累加,当累加满时便产生溢出,一个周期完成。相位累加器这个产生溢出的频率就是DDS的输出频率。设频率控制字为K,相位累加器为N位,时钟频率为fs。所以合成输出的信号频率fout 是:fout=(K/2N)fs当K=1时有最小频率分辨率:Δf=fs/2N
3 设计方案3.1提高精度实现????在我们的实际应用中往往对频率较小的信号精度要求较高,而对高频率信号的精度则没有那么高的要求。传统的方法就是增加相位累加器的位数N.但N一旦设计好便不可更改,这样便导致了产生的信号精度不能随频率的降低而升高。根据以上的分析在N不变的情况下要提高精度则只有降低时钟fs(很显然这时的输出频率较低)。下面介绍两种降低fs的方法:第一,动态分频法。设计的信号发生器不但要能产生低频信号同时也能产生高频信号,所以用固定的分频办法降低fs不能达到要求,这就要求我们采用动态分频法。在需要产生较高频率信号的时候选择小的分频比.而在合成低频率信号的时候选择大的分频比。根据预先给定的不同的输出信号频率选择相应的分频比,保证了产生信号的宽频带。第二,采用两级DDS。第一级合成DDS1产生一定频率的方波并将此方波送给第二次合成DDS2作为时钟输入。其中DDS1的K1可调,保证输出不同的频率,DDS2的K2=1,保证了输出的精度。本次设计采用此方法。3.2多路输出设计??? 无论是用专用芯片还是其他设计的DDS产品,同时都只能输出一路信号,而在我们的实际应用中往往同时需要多路相位不同的信号,借助ALTERA公司的Cyclone系列器件.可以很方便的生成双口的ROM,这样使得我们可以同时对ROM的不同单元寻址,从而产生不同相位的信号,调节相位控制器,可以很方便的改变两路信号的相位差。这样设计的DDS框图如图2:?图2多路输出DDS框图3.3基于Nios的DDS实现??? 系统的开发包括硬件和软件两部分,硬件部分采用ALTERA公司性价比较高的Cyclone系列FPGA,使用SoPC Builder生成Nios嵌入式处理器。由于本设计中要求信号幅度、相位和频率都可调节,并且能通过LCD实时的显示,利用SoPC Builder生成可裁剪的Nios CPU软核,并添加一些外围设备接口,如作为控制输入的键盘接口:实时显示用的LCD接口;DDS控制接口等。系统硬件框图如图3。图3 系统总框图???? 在Cyclone的FPGA中带了一个PLL.这样我们便能很好的控制系统时钟和DDS的时钟.灵活地选择晶振信
文档评论(0)