基于FPGA和DDS技术的正弦信号发生器设计

发布者:东土大唐88最新更新时间:2010-08-02 来源: 现代电子技术关键字:FPGA  DDS  正弦信号发生器  DAC 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  1971年,美国学者J. Tierney等人撰写的《A Digital Frequency Synthesizer》一文首次提出了以全数字技术,从相位概念出发直接合成所需波形的一种新合成原理。限于当时的技术,没有得到重视,但随着微电子技术的迅速发展,它以有别于其他频率合成方法的优越性能和特点成为现代频率合成技术的佼佼者,具体体现在相对带宽宽,频率转换时间短,频率分辨率高,输出相位连续,可产生多种调制信号,控制灵活方便。因此,对于正弦信号发生器的设计,可以采用DDS,即直接数字频率合成方案实现。DDS的输出频率是数字可调的,完全能实现频率为1 kHz~10 MHz之间的正弦信号,这是实际应用中产生可调频率正弦信号波形较为理想的方案。实现DDS常用3种技术方案:高性能DDS单片电路的解决方案;低频正弦波DDS单片电路的解决方案;自行设计的基于FPGA芯片的解决方案。虽然有的专用DDS芯片的功能也比较多,但控制方式却是固定的,因此不一定满足用户需求。而基于FPGA则可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。专用DDS芯片由于采用特定的集成工艺,内部数字信号抖动很小,可以输出高质量的模拟信号;利用FPGA也能输出较高质量的信号,虽然达不到专用DDS芯片的水平,但信号精度误差非常小,能满足大多数信号源要求。DDS是本系统的关键技术,在介绍本系统之前,先单独介绍DDS的原理。

  1 DDS电路工作原理

  1.1 DDS的工作原理

  DDS的工作原理是以数控振荡器的方式产生频率、相位可控制的正弦波。如图1所示,电路一般包括基准时钟、频率累加器、相位累加器、幅度/相位转换电路、D/A转换器和低通滤波器(LPF)。频率累加器对输入信号进行累加运算,产生频率控制数据X(frequency data或相位步进量)。相位累加器由N位全加器和N位累加寄存器级联而成,对代表频率的二进制码进行累加运算,是典型的反馈电路,产生累加结果Y。幅度/相位转换电路实质上是一个波形寄存器,以供查表使用。读出的波形数据送入D/A转换器和低通滤波器转换成符合要求的模拟信号。

DDS的工作原理框图[page]

  1.2 具体工作过程

  信号产生过程:如图1所示,N位加法器将频率控制数据X与累加寄存器输出的累加相位数据在时钟脉冲Fclk控制下相加,把相加后的结果Y送至累加寄存器的输入端。累加寄存器一方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据X相加;另一方面将这个值作为取样地址值送入幅度/相位转换电路(即图1中的波形存储器),幅度/相位转换电路根据这个地址输出相应的波形数据。最后经D/A转换器和低通滤波器将波形数据处理成所需要的模拟波形。相位累加器在基准时钟的作用下,进行线性相位累加,当相位累加器加满量时就会产生一次溢出,这样就完成了一个周期,这个周期也就是DDS信号的一频率周期。 DDS输出信号的频率由下式给定:

公式

  假定基准时钟为70 MHz,累加器为16位,则:

公式

  再假定X=4 096,则Fout=(4 096/65 536)×70=4.375 MHz。

  可见,通过设定相位累加器位数、频率控制字X和基准时钟的值,就可以产生任一频率的输出。DDS的频率分辨率定义为:

公式

  由于基准时钟一般固定,因此相位累加器的位数就决定了频率分辨率。如上面的例子,相位累加器为16位,那么频率分辨率就可以认为是16位。位数越多,分频率越高。

  2 正弦信号发生器系统结构设计及实现

  2.1 系统结构图

  正弦信号发生器系统结构图如图2所示。

正弦信号发生器系统结构图

  2.2 单元电路

  2.2.1 单片机控制模块实现方式

  单片机实现部分主要处理数据输入及数据显示,此模块以AT89S51为中心,控制键盘输入和LED显示,其中键盘输入值作为频率控制字送给FPGA处理。单片机的P1口直接与键盘连接,无键按下时为高电平,当有键按下时就变为低电平。可以设计键1为“0”值键、键2为“1”值键,满足频率控制字以二进制进行输入;键3为输入确定键;键4和键5为频率步进控制键,键4为加100 Hz键,键5为减100 Hz键,当键3按下时将输入设置的频率控制字以二进制数形式送至P2口,然后通过串行口输出并驱动LED静态显示。PO.O和PO.1及PO.2控制数据输出的先后顺序。此模块功能具体实现可通过汇编语言编程后下载到单片机调试并实现,限于篇幅,具体程序不在此展现,只展示设计思路。[page]

  2.2.2 FPGA处理模块

  (1)FPGA处理模块控制原理

  FPGA处理模块是本系统的核心,系统结构图中FPGA模块里的DDS基本结构图如图3所示。

系统结构图中FPGA模块里的DDS基本结构图

  图3中DDS工作原理为:相位累加器由32位加法器与32位累加寄存器级联构成。在时钟脉冲,fc的控制下,加法器将频率控制字M与累加寄存器输出的累加相位数据相加,把相加后的结果送到累加寄存器的数据输入端,以使加法器在下一个时钟脉冲的作用下继续与频率控制字相加。这样,相位累加器在时钟作用下,不断对频率控制字进行线性相位累加。由此可以看出,相位累加器在每一个时钟输入时,把频率控制字累加一次,相位累加器输出的数据就是合成信号的相位。

  DDS采用改变寻址的步长来改变输出信号的频率,步长即为对数字波形查表的相位增量,由累加器对相位增量进行累加,累加器的值作为查表地址,这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位到幅值转换,波形存储器的输出送到D/A转换器,D/A转换器将数字量形式的波形幅值转换成所要求合成频率的模拟量形式信号。低通滤波器用于滤除不需要的取样分量,以便输出频谱纯净的正弦波信号。

  (2)FPGA处理模块实现方式

  根据设计要求:要达到正弦波输出频率范围(1 kHz~10 MHz)及频率步进值100 Hz,设相位累加器的位宽为2N,sin表的大小为2P,累加器的高P位用于寻址Sin表。根据DDS工作原理,主频时钟Clock的频率为,fc=100 MHz,累加器按步进为1进行累加直至溢出一遍的频率即为频率步进值。

公式

  以M点为步长(M为频率控制字),产生信号的频率:

公式

  由于频率步进值为100 Hz,由式(1)可计算得N=20。要使输出频率达到10 MHz,由式(2)可计算得M=104 857,为了使输出的波形尽可能不失真,频率控制字位宽取17位,高三位添000,由于设计加法器为32位,则低12位添000000000000。本系统中使用的D/A转换器件的输入位宽为10,所以只取相位累加器输出的高10位可满足设计要求。整个过程的实现过程中,本系统选用Altera公司的Cyclone系列芯片,采用VHDL语言描述,利用开发软件QuartusⅡ进行综合,以实现产生l kHz~10 MHz频率范围内的各种正弦信号。

  3 实验数据测试

  由键盘输入的是二进制频率控制字,通过数码管可以显示出十进制的频率和相位,将信号发生器的输出端和双通道数字示波器接好,任意几个频率为1 kHz~10 MHz之间的信号测试结果如表1所示。

任意几个频率为1 kHz~10 MHz之间的信号测试结果

  4 结语

  本系统设计时,相位字是在编程时就固定的,输出正弦信号的频率变化是由频率字变化引起的,而频率字的预置是通过键盘输入的,因此能够得到频率变化的正弦信号,这样的信号源能够很好地满足需要变频信号的情况,因此,实用性较强。通过理论计算和实际测量相比较可以看出,基于FPGA的DDS技术实现正弦信号发生器输出正弦信号频率范围较宽、分辨率高、幅度和频率的精度较高。另外,本系统还很容易扩展,不需要对硬件电路进行较大的修改,只需要修改相应的程序便可实现相应的功能,比如产生PSK,ASK信号等。但是它也有局限性,主要表现在输出杂散大,这是由于DDS采用全数字结构,不可避免地引入杂散,主要来源有三个:相位累加器相位舍位误差造成的杂散;幅度量化误差造成的杂散和DAC非线性造成的杂散。

关键字:FPGA  DDS  正弦信号发生器  DAC 引用地址:基于FPGA和DDS技术的正弦信号发生器设计

上一篇:德州仪器推出 C6EZFlo 图形软件开发工具
下一篇:基于FPGA的按键弹跳消除模块的研究与应用

推荐阅读最新更新时间:2024-05-02 21:06

基于FPGA的前向纠错算法
摘要:研究数字音频无线传输中的前向纠错(FEC)算法的设计及实现,对前向纠错中的主要功能模块,如RS编解码、交织器与解交织器等给出基本算法及基于现场可编程门阵列(FPGA)和硬件描述语言的解决方案。选用硬件描述语言VerilogHDL,在开发工具QuartusII4.2中完成软核的综合、布局布线和汇编,在Modelsim中进行时序仿真验证,最终下栽到开发板中进行电路验证及测试。 关键词:RS码;交织;现场可编程门阵列;前向纠错 1 引言 目前,无线产品的广泛应用使无线音频和视频的高质量传输成为可能。蓝牙、无限局域网等无线传输设备比较复杂,成本较高,急需开发一种简便的、仅用于流媒体的无线传输平台,将音频数据实时地发送到移动终端。
[应用]
基于STM32G4芯片的DAC应用示例分享
有人使用STM32G431芯片做DAC应用,具体来说就是通过DMA将数据从指定内存传送给DAC数据寄存器,并由定时器触发DAC转换。他发现总是没法实现该功能。这里简单介绍下相关实现过程,并做些提醒。这里要演示的基本功能就是让DAM将内存数据周期性传输给DAC数据寄存器,最后输出一路正弦波。 结合STM32G4芯片的特性,这里可以有两种实现方式。 第一种,DMA的请求来自于DAC1的转换事件。第二种,DMA的请求来自于定时器事件,下面用到的是定时器的更新事件。这里就两种实现方式的配置及相关用户代码简单介绍下,以供参考。 我们先看第一种方式,即DMA请求来自DAC转换事件,定时器3触发DAC的转换。 使用CubeMx进行配
[单片机]
基于STM32G4芯片的<font color='red'>DAC</font>应用示例分享
FPGA平台架构用于复杂嵌入式系统
设计嵌入系统的主要挑战来自于需要同时优化众多设计因素。这些需要优化的设计因素包括单位成本、NRE(不可回收工程)成本、功率、尺寸、性能、灵活性、原型制造时间、产品上市时间、产品在市场生存时间、可维护性、可重配置能力、工程资源、开发和设计周期、工具、硬件/软件划分,以及其他许多因素。 Virtex-II ProTM平台FPGA产品基于高性能的Virtex-IITM结构,为嵌入式系统设计提供了一个极灵活的解决方案。利用Virtex-II ProTM器件,嵌入式系统设计人员可以在单片器件内集成范围广泛的硬和软IP核心,其中的硬件和固件具有可升级能力,从而可延长产品的在市场生存时间。 Virtex-II 结构的可编程能力降低了系统开发
[应用]
利用AD5426/32/43、Iout DAC处理交流信号
本文所述电路利用电流输出DAC AD5426/AD5432/AD5443 和一个运算放大器,提供二象限信号乘法功能。它的乘法带宽最高可达10 MHz,因而用户能够精确调理带宽最高为该频率的交流信号。该电路非常适合通信、工业和医疗市场中的交流信号调理应用。 图1:交流信号处理配置 电路描述 AD5426、AD5432和AD5443分别是CMOS、8/10/12位、电流输出数模转换器。这些器件采用+2.5 V至+5.5 V电源供电,因而适合电池供电应用以及信号衰减、通道均衡和波形生成等许多其它应用。最大信号范围可以达到±12 V,但输出要受所用放大器的电源电压限制。图1显示了用于交流信号处理的Iout DAC典型应用电路。利
[模拟电子]
利用AD5426/32/43、Iout <font color='red'>DAC</font>处理交流信号
话音和DAC
This application note discusses the advantages of using these devices in these applications and provides an overview of the biasing circuit requirements in laser drivers. Several families of laser drivers from a variety of vendors are designed to use resistors to control the modulation and bias currents supplied by th
[模拟电子]
话音和<font color='red'>DAC</font>
基于ARM+FPGA的重构控制器设计
可重构技术是指利用可重用的软硬件资源,根据不同的应用需求,灵活地改变自身体系结构的设计方法。常规SRAM工艺的FPGA都可以实现重构,利用硬件复用原理,本文设计的可重构控制器采用ARM核微控制器作为主控制器,以FPGA芯片作为协处理器配合主控制器工作。用户事先根据需求设计出不同的配置方案,并存储在重构控制器内部的存储器中,上电后,重构控制器就可以按需求将不同设计方案分时定位到目标可编程器件内,同时保持其他部分电路功能正常,实现在系统灵活配置,提高系统工作效率。 1 SVF格式配置文件 很多嵌入式系统中都用到了FPGA/CPlD等可编程器件,在这些系统中利用SVF格式配置文件就可以方便地通过微控制器对可编程器件进行重新配置
[单片机]
基于ARM+<font color='red'>FPGA</font>的重构控制器设计
FSK/PSK调制的FPGA实现
摘要:基于DDS和VHDL硬件描述技术,采用大规模可编程门阵列FPGA,实现了FSK和PSK数字调制。介绍了m伪随机基带码元发生器、跳变检测器和DDS信号发生等模块。系统参数易修改、可移植性强、性能稳定。 关键词:FSK/PSK;DDS;m伪随机序列;FPGA 在通信领域,经常需要将基带信号进行某种调制,使其适合于信道传输。FSK、PSK即为常用的两种数字调制方式。传统模拟调制系统中大量采用分立元件,体积较大,电路复杂。由于模拟元件自身参数的离散性和受环境温度、湿度等因素影响,导致系统稳定性较差。本文提出了一种基于DDS技术的FSK/PSK调制的数字实现方法,提高了系统的稳定性,克服了模拟调制的弊端。 1 FSK/PSK
[嵌入式]
FSK/PSK调制的<font color='red'>FPGA</font>实现
通过PCI EXPRESS兼容性测试 - 赛灵思VIRTEX-5 成为全球首个通过所有v1.1标准测试的FPGA
经验证的解决方案使用户可快速采用业界速度最快的、内建低功耗 PCI Express 端点模块和串行收发器的 65nm FPGA 2007年1月11日,北京 – 全球领先的可编程逻辑解决方案提供商赛灵思公司 ( Xilinx, Inc. (NASDAQ: XLNX)) 今天宣布其 Virtex-5 LXT FPGA 通过了最新的 PCI Express 端点 v1.1 基本标准兼容性测试认证大会 ( Compliance Workshop )组织 的测试 , 并且已经进入 PCI-SIG 集成商列表 。这也是负责 PCI Express 兼容性的 PCI-SIG 组织
[焦点新闻]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved