0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用FPGA实现DDS技术实际任意波形发生器

电子设计 作者:电子设计 2018-10-07 11:34 次阅读

任意波形发生器( Arbit rary Waveform Generato r,AWG) 是一种多波型的信号发生器, 它不仅能产生正弦波、指数波等常规波形, 也可以表现出载波调制的多样化, 如: 产生调频、调幅、调相和脉冲调制等。更可以通过计算机软件实现波形的编辑, 从而生成用户所需要的各种任意波形。任意波形发生器的实现方案主要有程序控制输出、DMA 输出、可变时钟计数器寻址和直接数字频率合成( DDS) 等多种方式 。目前任意波形发生器的研制主要基于DDS 技术, 与传统的频率合成器相比, DDS 具有低成本、低功耗、高分辨率和快速转换时间等优点, 广泛使用在通信、测量与电子仪器领域, 是设备全数字化的一个关键技术。

1 任意波形发生器的理论分析

1. 1 DDS 技术简介

DDS( Direct Digital Sy nthesis) 的概念由美国学者J. T ier ncy、C. M. Rader 和B. Gold 在1971 年提出。该技术是从相位的概念进行频率合成, 主要优点是输出相位连续、相对带宽较大、频率分辨率很高、可编程、准确度和稳定度都比较高 。DDS 技术是利用查表法来产生波形, 而通过修改存储在ROM 里的数据, 就可以产生任意波形。

1. 2 DDS 基本结构

DDS 主要有相位累加器、ROM 波形查询表、数模转换器组成。其基本框图如图1 所示。

图1 DDS 结构框图

线性数字信号通过相位累加器逐级实现, 波形函数存储在ROM 中, 根据累加器输出的相位值作为地址,寻找存储在ROM 中的波形函数的幅度量化值, 完成相位到幅值的转换, 输出相对应的序列。

2 硬件电路设计

2. 1 设计方案

基于FPGA 实现DDS 功能, 通过单片机实现控制。此方案的核心在于FPGA 的设计实现逻辑功能,通过对存储器查表后输出信号, 由相连接的数模转换器转换为要求的波形。单片机作为控制器, 易于控制与调试。系统框图如图2 所示。

图2 系统框图

2. 2 D/ A 转换器的使用

本案采用德州仪器的TLC7528。它是双路、8 位D/ A 转换器, 本案设计为: A 路的数字量控制B 路的电压输出, B 路则控制输出的幅度。电路图可以显示,VA1( VOB1) 处输入的A( B) 路电压范围为- 5~ 0 V,VA2( VOB2) 处为A( B) 路的电压为- 5~ 5 V。DA 电路连接图如图3 所示。

图3 TLC7528 电路连接图

其中因为转换方法的问题, 产生的零点误差可以通过调整放大器的零点来校准; 而因为温度变化产生的温漂误差在技术上就比较难消除。关于单极性DAC 的增益误差可以通过调整放大器的闭环增益来消除。

2. 3 滤波器的设计

一般情况下, 椭圆滤波器的参数灵敏度最高, 在使用用相同阶数时, 椭圆滤波器能够得到最好的矩形系数, 7 阶椭圆滤波器在通带附近的频点可得到40 dB 的带外抑制, 很适合将杂散信号滤除。DDS 输出的另一类波形是频谱复杂的任意波形, 频率比较低, 频谱结构丰富, 具有较高的谐波分量, 选用等波纹误差线性相位滤波器来滤波, 它在很大范围内具有固定的延迟, 在远离截止频率处, 其幅度响应也比较好。

2. 4 单片机的设计

单片机采用传统8051 单片机, 晶振为12 MHz, 采用内部振荡方式; 复位输入引脚为高电平有效, 保持2 个机器周期以上的的高电平便可以实现对单片机的复位; 采用MAX232 芯片作为串口芯片, 单片机通过异步通信串行接口与其他计算机或者外围设备进行信息传递。

3 基于FPGA的DDS实现

FPGA 芯片采用ALT ERA 公司的CYCLON E 系列EP1C3T 144C8。设计采用Altera 公司的Quar tus , 使用AS 方式与JTAG 配置方式。

3. 1 固定波形输出

本案使用几个8 b 的ROM, 存储深度为1 024 点,用来存储正弦波等波形数据。每个波形数据存储在一个固定的ROM 里, 如图4Sine_ROM, Square _ROM等分别对应正弦、方波等存储模块。通过一个使能模块控制, 采取低电平有效的方式, 选择性读取任意模块的波形。输出波形时, 仅有单独一个ROM 工作, 其他模块为高电平, 保证输出所需固定波形。使能模块的输入端为行列式键盘, 设定为: 单键控制某一波形输出。

图4 波形ROM 与使能控制设计电路图

3. 2 任意波形输出

任意波形是由上位机下传的波形数据, 由单片机控制, 必须设计一个能随时接受数据更新的RAM。如图5所示。

图5 任意波形模块设计电路图

选用的D/ A 转换器为8 位, 所以RAM 的字长也为8 位, 因此波形RAM 的地址线的位数取10 位。为了实现任意波形数据的更新, 波形RAM 设计成为双口RAM。

4 性能与误差分析

4. 1 测试结果

输出波形如图6 所示。本系统测试所用到的仪器为:

示波器 T ekt ronix 公司 型号: T DS1012

计数器 创瑞科技有限公司 型号: SPF40

图6 输出波形图

4. 2 频率测量

通过设定预定值, 用计数器测量出实际值, 基于此数据计算出误差如下表( 只选取10 组数据) 。

由表1 可看出, 1 ~ 100 Hz 区间误差较为明显,1 kHz~ 1 MHz区间输出频率较为稳定( 该表为测试正弦波数据) 。

表1 频率数据表

4. 3 误差与杂散分析

除了工作环境与电源噪声等问题是影响到频谱纯净度的因素外, 还有以下主要原因:

( 1) 相位截断产生杂散信号。硬件上无法满足20 位的数据储存, 设计中均采用了高位截断的方法, 只取用累加器输出的高几位用于查表, 低位舍去。必然会造成误差从而影响最终的输出信号频谱。正弦信号上引入了余弦分量, 造成时域上的叠加, 必然表现为频域上的杂散。

( 2) D/ A 转换器非线性引起的杂散分量。理想DAC 对DDS 的影响只表现在对信号频谱的幅度和相位产生改变, 输出上体现出滚降特性, 并不引入其它的频率成分, 而非理想的DAC 的非线性、瞬间毛刺等非理想的转换特性在输出频谱中产生了杂散。

( 3) 幅度量化产生的杂散。正弦查表内存储的波形码事一个模拟信号被均匀量化后的值。存储器的容量有限, 不可能以无限二进制数来记录正弦值, 因此出现幅度量化误差。

减小DDS 输出电压中的杂散及噪声的方法, 除了选用性能优良、工艺精湛的D/ A 转换器, 提高位数与幅度量化字长外, 还可以通过设计良好的低通滤波器, 以滤除各种杂散及带外噪声, 也可选用DDS+ PLL 频率合成技术, 以及数据压缩法, 最高压缩比可达128 1。另外可以在产生的相位字序列上加入高频抖动( Dither) , 因为相位截位误差成周期分布, 这将导致在某些频率处产生较大的毛刺, 使DDS 产生的频谱无杂波动态范围减小。通过在相位上加入抖动, 能够破坏相位误差中较明显的周期性分布, 从而使得毛刺的幅值得到减小, 增大了输出正余弦波的无杂波动态范围 。

还可以采用相位误差反馈结构, 在SCMF( 相位累加器和正余弦函数生成器) 前加入一个二阶FIR 滤波器( Finite Impulse Response, 有限冲击响应) 来滤除输出频率附近的相位误差。

5 结 语

任意波形发生器的设计是全国电子设计大赛中经典的选题之一, 任意波形发生器的设计不仅有广泛的实践应用空间, 并且对于电子科的学生动手能力的提高及学科知识的融会贯通同样具有极大的指导价值。本文寻求功能强大、操作便捷、输出参数稳定的设计效果, 并主要偏重基础, 使之更符合教科书的典型教学条件, 并对相关参数进行测量, 分析原因。关于波形发生器的设计, 仍有许多可以设计扩展的功能, 杂散的削弱仍有较多的方法值得探究。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21664

    浏览量

    601731
  • DDS
    DDS
    +关注

    关注

    21

    文章

    631

    浏览量

    152535
  • 波形发生器
    +关注

    关注

    3

    文章

    288

    浏览量

    31352
收藏 人收藏

    评论

    相关推荐

    基于ROM的任意波形发生器DDS

    、相位以及幅度的数控调制,广泛应用在电信与电子仪器和通信领域。波形发生器是一种数据信号发生器,在调试硬件时,常常需要加入一些信号,以观察电路工作是否正常。加入的信号有:正弦波、三角波、方波和
    的头像 发表于 06-18 19:24 1.7w次阅读
    基于ROM的<b class='flag-5'>任意</b><b class='flag-5'>波形</b><b class='flag-5'>发生器</b>(<b class='flag-5'>DDS</b>)

    基于DDS任意波形/ 函数发生器之间的差别

    任意波形/ 函数发生器(AFG)通过读取内存的内容,来同时创建函数波形任意波形。大多数现代AF
    发表于 03-29 16:31 2594次阅读
    基于<b class='flag-5'>DDS</b>的<b class='flag-5'>任意</b><b class='flag-5'>波形</b>/ 函数<b class='flag-5'>发生器</b>之间的差别

    【Z-turn Board试用体验】+基于FPGADDS技术的三相正弦波的发生器设计

    芯片的可编程性和实现方案易改动的特点,提出了一种基于FPGADDS技术任意波形
    发表于 05-30 10:50

    如何利用FPGADDS技术实现正弦信号发生器的设计

    DDS电路的工作原理是什么如何利用FPGADDS技术实现正弦信号
    发表于 04-28 06:35

    基于DDS技术任意波形发生器是怎样设计的?

    DDS基本原理是什么?DDS的基本参数有哪些?基于DDS技术任意波形
    发表于 04-30 07:19

    怎么利用FPGA设计基于DDS的信号发生器

    本文在讨论DDS的基础上,介绍利用FPGA设计的基于DDS的信号发生器
    发表于 05-06 09:54

    怎么实现基于SOPC的任意波形发生器设计?

    DDS技术及其原理是什么?怎么实现基于SOPC的任意波形发生器设计?
    发表于 05-18 06:11

    基于DDS波形发生器设计

    基于DDS波形发生器设计 0 引 言    随着信息技术的发展及测试对象不断丰富,现代电子系统对波形
    发表于 01-27 10:49 1673次阅读

    一种DDS任意波形发生器的ROM优化方法

    提出了一种改进的基于直接频率合成技术DDS)的任意波形发生器在现场可编程门阵列(FPGA)上的
    发表于 09-23 17:54 61次下载

    基于FPGADDS信号发生器设计方案解析

    将虚拟仪器技术FPGA技术结合,设计了一个频率可控的DDS任意波形信号
    发表于 12-04 11:40 33次下载
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>DDS</b>信号<b class='flag-5'>发生器</b>设计方案解析

    任意波形发生器_DDS任意波形发生器的设计

    任意波形发生器既具有其他信号源的信号生成能力,又可以通过各种编辑手段产生任意波形采样数据,方便地合成其他信号源所不能生成的
    发表于 01-08 11:44 1.7w次阅读

    基于Verilog实现DDS任意波形发生器

    DDS是从相位的概念直接合成所需波形的一种频率合成技术。不仅可以产生不同频率的正弦波,而且可以控制波形的初始相位。本文为大家介绍基于Verilog
    发表于 01-08 11:58 6783次阅读
    基于Verilog<b class='flag-5'>实现</b>的<b class='flag-5'>DDS</b><b class='flag-5'>任意</b><b class='flag-5'>波形</b><b class='flag-5'>发生器</b>

    函数信号发生器是否与任意波形信号发生器相同

    发生器采用模拟的方法,只能产生正弦波、三角波、方波等几种有限的波形,且受模拟电路温度漂移、老化等特性影响,输出信号的频率精度差,不稳定;任意波形发生
    发表于 03-23 14:03 1403次阅读

    任意波形发生器与示波器怎么连接

    在电子测试领域中,任意波形发生器和示波器是两种非常重要的测试设备。任意波形发生器能够产生多种
    的头像 发表于 05-15 15:38 897次阅读

    什么是任意波形发生器

    , AWG)作为波形发生器的一种高级形式,以其高度的灵活性和精确度,为用户提供了前所未有的波形生成能力。本文将详细探讨任意波形
    的头像 发表于 05-30 15:53 874次阅读