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

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

3天内不再提示

如何选择重构DAC并完成DDFS系统

星星科技指导员 来源:嵌入式计算设计 作者:Patrick Butler 2022-07-24 16:39 次阅读

在本系列的第 1 部分中,我们将讨论如何根据直接数字频率合成 (DDFS) 原理设计一个非常精确的正弦波发生器,但在浮点 DSP 处理器上以软件实现。在第 2 部分中,我们介绍了如何在软件中实现高精度 NCO。在本系列的最后一部分中,我们将介绍如何选择重构 DAC 并完成 DDFS 系统。

第一个诱惑是选择在非线性误差(INL 和 DNL)方面具有最佳规格的高精度 DAC,例如AD5791,一个 20 位精确的 DAC。但是它的分辨率只有 20 位,而且它的 R-2R 架构不利于信号的重构,尤其是非常纯正弦曲线的产生,因为它在输入代码转换过程中会出现很大的毛刺。围绕二进制加权电流发生器或电阻器网络构建的传统 DAC 架构对数字馈通和数字开关损伤敏感,例如外部或内部时序偏移和数字输入位的其他开关不对称,特别是在能量变化随之而来的主要转换期间。这会引起与代码相关的瞬变,从而导致高幅度的谐波杂散。

在 20+ 位分辨率下,使用外部超线性和快速采样保持放大器对 DAC 的输出进行去毛刺处理并没有多大帮助,因为它会在数十个 LSB 中产生自己的瞬态,并由于重采样引入群延迟非线性。 对于主要在通信应用中的信号重建,故障问题通过使用分段架构来解决,该架构混合了 MSB 的完全解码部分和最低有效位的二进制加权元素。不幸的是,目前不存在超过 16 位精度的此类商用 DAC。与 NCO 的完全可预测行为不同,DAC 误差难以准确估计和模拟,尤其是当制造商的动态规范相当薄弱或不存在时,除了专用于音频应用的 DAC 或 ADC。插值过采样和多位 sigma-delta DAC 似乎是唯一足以胜任这项工作的解决方案。这些最先进的转换器具有高达 32 位的分辨率、超低失真和高 SNR,是中低带宽信号重建的最佳选择。为了在音频频谱或稍宽的频带(20 kHz 或 40 kHz 带宽)内获得最佳噪声和失真性能,ADI 产品组合中最好的 Σ-Δ DAC 是AD1955音频立体声 DAC,尽管其分辨率限制为 24 位,但仍然是市场上最好的音频 DAC 之一。

这款音频 DAC 于 2004 年推出,基于多位 sigma-delta 调制器和过采样技术,辅以各种技巧来减轻这种转换原理固有的失真和其他问题。 8

即使在今天,AD1955 也拥有同类产品中最好的插值 LP FIR 滤波器之一。它具有非常高的阻带衰减 (≈–120 dB) 和非常低的带内纹波 (≈±0.0001 dB)。它的两个(左声道和右声道)DAC 可以以高达 200 kSPS 的速度运行,但最佳交流性能是在 48 kSPS 和 96 kSPS 下实现的,其动态范围和 SNR 均为典型 EIAJ 标准、A 加权、120 dB。立体声模式。在单声道模式下,两个通道同时异相组合,可以预期性能提高 3 dB。然而,对于宽带应用,这些规范有些不切实际,因为它们是合成的并且仅限于 20 Hz 到 20 kHz 的带宽。超过 20 kHz 时不考虑带外噪声和杂散,部分原因是 EIAJ 标准、A 加权滤波器、和音频行业规范定义。这种专用于音频测量的带通滤波器模拟人耳频率响应,比未滤波测量产生 3 dB 更好的结果。

DDFS 硬件演示平台:使用 AD1955 重建正弦波

完整的 DDFS 已使用两块评估板实现,一块支持 DSP 处理器,另一块用于使用 AD1955 DAC 重建模拟信号。第二代SHARC ADSP-21161N选择评估板是出于可用性的原因,以及它的易用性和适用于任何音频应用的精简配置。ADSP-21161N 仍在生产中,不久前设计用于支持工业、高端消费类和专业音频应用,提供高达 110 Mips 和 660 MFlops 或 220 MMACS/s 的能力。与最新一代的 SHARC 处理器相比,ADSP-21161N 的主要区别在于其较短的 3 级指令流水线、片上 1 Mb、仅三端口 RAM 和一组减少的外设。精密音调发生器的最后也是最关键的阶段基于 AD1955 评估板,它必须忠实地从软件 NCO 提供的样本中重建模拟信号。该评估板带有一个针对音频带宽优化的抗混叠滤波器 (AAF),以满足 Nyquist 标准,并且除了通常的 S/PDIF 或 AES-EBU 接收器外,还具有几个支持 PCM/I2S 和 DSD 数字流的串行音频接口。PCM/I2S 串行链路连接器用于将 AD1955 DAC 板连接到 ADSP-21161N EVB 的串行端口 1 和 3 连接器 (J)。两个板都可以配置为 I2S PCM 或 DSP 操作模式,采样率分别为 48 kSPS、96 kSPS 或 192 kSPS。DSP串口1产生左右声道数据、字选择或L/R帧同步以及双通道DAC的数字输入接口所需的SCK位时钟信号。串行端口 3 仅用于生成 DAC 主时钟 MCLK,DAC 插值滤波器和 sigma-delta 调制器运行所需的速度比输入采样频率 (48 kSPS) 快 256 倍(默认情况下)。由于所有 DAC 时钟信号均由 DSP 生成,因此电路板原装低成本 Epson 时钟振荡器已更改为 Crystek 的超低噪声振荡器 CCHD-957。对于 24.576 MHz 的输出频率,其相位噪声规格在 1 kHz 时可低至 –148 dB/Hz。

在模拟输出端,必须使用有源 I/V 转换器将 AD1955 电流差分输出保持在恒定的共模电压(通常为 2.8 V),以最大限度地减少失真。超低失真和超低噪声高精度运算放大器(如AD797)用于此目的并处理模拟信号重建。由于两个差分输出由 DSP 分别处理,因此选择了具有 AAF 拓扑的立体声输出配置,而不是单声道模式。此 AAF 使用 LTspice XVII 进行仿真,结果如图 6 所示。由于滤波器的最后一部分是无源的,因此应添加一个有源差分缓冲级,如最近推出的ADA4945. 这款低噪声、超低失真、快速建立时间、全差分放大器是驱动任何高分辨率 SAR 和 sigma-delta ADC 的几乎完美的 DAC 伴侣。ADA4945 具有相对较大的共模输出电压范围和出色的直流特性,可提供出色的输出平衡并有助于抑制偶次谐波失真产物。

EVB 三阶滤波器具有 76 kHz 的 –3 dB 截止频率,在 500 kHz 时衰减仅为 –31 db。带内平坦度非常好,但这种 LP 滤波器的带外衰减必须认真改进,即使仅限于纯粹的重建音频应用。这是抑制 DAC 整形噪声以及调制器时钟频率 MCLK 所必需的。根据软件 DDS 用于单音发生器或任意波形发生器(用于复杂波形的 AWG),AAF 将针对带外衰减或群延迟失真进行优化。作为一个实际示例和比较,旧的但著名的 SRS DS360 超低失真函数发生器已设计为具有相似采样率的七阶 Cauer AAF。信号重建依赖于 AD1862,针对数字音频应用的串行输入 20 位分段 R-2R DAC。AD1862 能够维持高达 768 kHz (×16 fS) 的 20 位字采样率,并具有出色的噪声和线性度规格。其单端电流输出为外部 I-V 转换级提供了使用最佳放大器的选择。

pYYBAGLdBXCAb6MXAAEWuIMpaXo891.png

图 6. AD1955 EVB 三阶抗混叠滤波器的 LTspice 模拟频率响应(立体声配置)。

AD1955 和 SHARC DSP 组合针对多个高分辨率 SAR ADC(例如AD4020 )进行了测试,中间没有外部选择性无源滤波器。默认情况下,基本 AD4020 评估板除了板载ADA4807驱动器外别无选择。将 ADC 输入偏置到 V_REF/2 共模电压的简单电路会施加 300 Ω 的相当低的输入阻抗,并且需要信号隔离、交流耦合或使用外部差分放大器模块,例如 EVAL-ADA4945 -1。电路笔记CN-0513中描述的 AD4020 参考设计板是更好的选择。它包括一个分立的可编程增益仪表放大器 (PGIA),它提供高输入阻抗并接受 ±5 V 差分输入信号 (G = 1)。尽管这些 AD4020 板及其 SDP-H1 控制器缺乏支持相干采样采集的能力,但它们允许对样本进行适当的波形捕获长度,范围高达 1M。因此,具有选择性开窗的长 FFT 是可能的,同时提供精细的频率分辨率和低本底噪声。例如,对于七项 Blackman-Harris 窗口,图 7 中所示的 1 Mpts FFT 图说明了 AD1955 对于 990.059 Hz 生成的正弦波的失真水平。二次谐波是 350 kHz 带宽内 –111.8 dBc 处的最大失真分量和最大杂散。然而,

poYBAGLdBXqAX8sGAAJWqYZLdlY444.png

图 7. 1 M 点 FFT 分析显示失真非常好,H2 低于 –111 dBc,对于 1 kHz 输入频率,在 10 kHz 至 200 kHz 频带内具有最大杂散。本底噪声约为 –146 dBFS。

在相同条件下,对老式 AD1862 进行了测试,其光谱行为略有不同。在差分配置中,两个时钟频率约为 500 kSPS 的 20 位 DAC 报告的本底噪声为 –151 dBFS,THD 为 –104.5 dB,正弦输出电平为 12 V pp,频率为 1.130566 kHz。AD4020 奈奎斯特带宽 (806 kHz) 上的 SFDR 接近 106 dB,受三次谐波限制。基于两个AD743低噪声 FET 放大器的 DAC 重建滤波器是类似于 AD1955 评估板的一个三阶滤波器,但在 –3 dB 处具有 35 kHz 的截止频率。

为了变得有效,基于 DDS 的发生器需要一个合适的滤波器,该滤波器能够在大约 250 kHz 处衰减大于 100 dB,以生成 dc 至 25 kHz CW 信号频率范围。这可以通过六阶 Chebyshev 甚至六阶 Butterworth LP 滤波器来实现,以获得完美的带内平坦度。滤波器的阶数将被最小化,以限制模拟级的数量及其非理想性,例如噪声和失真。

结论

在标准评估板上进行的初步和开箱即用测试表明,基于处理器的 DDS 技术可用于具有顶级性能的传统正弦波 CW 生成。精心设计的重建滤波器和模拟输出缓冲级可以满足 –120 dBc 的谐波失真系数。基于 DSP 的 NCO/DDS 不仅限于生成单音正弦波。通过使用具有适当截止频率且无需更改其他硬件的优化 AAF(贝塞尔或巴特沃斯),可以将相同的 DSP 和 DAC 组合伪装成高性能 AWG 以产生任何类型的波形,例如,合成完全可参数化的多音正弦波,可完全控制 IMD 测试中每个组件的相位和幅度。

由于浮点运算对于需要高精度和/或高动态范围的应用至关重要,因此如今的 SHARC+ DSP 处理器,如低成本ADSP-21571或 SoC ADSP-SC571(ARM 和 SHARC)是实时处理高达 10 MSPS 的聚合采样率的事实标准。时钟频率为 500 MHz,双 SHARC 内核及其硬件加速器可提供超过 5 Gflops 的计算性能并提供大量内部专用 SRAM,这是生成任何类型波形以及复杂波形的任务所需的基本成分分析处理。这种类型的应用表明,系统地使用硬件可编程解决方案对于处理精密数字信号处理并不是强制性的。浮点处理器及其完整的开发环境允许从 MATLAB 等模拟器轻松快速地移植代码。

审核编辑:郭婷

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

    关注

    68

    文章

    19265

    浏览量

    229671
  • 滤波器
    +关注

    关注

    161

    文章

    7799

    浏览量

    178011
  • soc
    soc
    +关注

    关注

    38

    文章

    4163

    浏览量

    218171
收藏 人收藏

    评论

    相关推荐

    如何通过SPI接口去操控DAC

    一种同步模式,我看完应该把SYNC寄存器中的DAC_X_SYNC_EN 全部置位1,进入模式。然后把Trigger寄存器中的LDAC位置位1。然后我只要通过三线SPI_SCLK,SPI_MOSI,SPI_MISO即可完成DAC
    发表于 12-10 08:41

    使用51单片机对DAC7718输入信号,信号无法识别,为什么?

    工程师您好!我最近在使用DAC7718芯片进行数模信号转换选择从不同的通道输出信号,我使用51单片机对DAC7718输入信号,DAC7
    发表于 11-20 07:17

    DAC161P997的配置寄存器如何工作?通过什么选择

    DAC161P997的配置寄存器如何工作?通过什么选择?CONFIG2中的位是在为1时报错还是0的时候报错?
    发表于 11-14 06:13

    基于相变材料的可重构超构表面用于图像处理

    光学超构表面(metasurface)实现了在亚波长尺度内的模拟计算和图像处理,具备更低的功耗、更快的速度。虽然人们已经展示了各种图像处理超构表面,但大多数考虑的器件都是静态的,缺乏可重构性。然而
    的头像 发表于 11-13 10:24 228次阅读
    基于相变材料的可<b class='flag-5'>重构</b>超构表面用于图像处理

    能否使用ADS1262的REFOUT缓冲后提供给外部DAC

    系统需要同时使用ADS1262和DAC8830。 起初,为DAC8830选择的基准是REF5025,但后来我发现ADS1262的内部基准已经足够优秀。 想请教,能否使用ADS1262
    发表于 11-13 08:37

    智能选择ADC/DAC可实现更好的软件定义无线电设计

    电子发烧友网站提供《智能选择ADC/DAC可实现更好的软件定义无线电设计.pdf》资料免费下载
    发表于 10-21 09:59 0次下载
    智能<b class='flag-5'>选择</b>ADC/<b class='flag-5'>DAC</b>可实现更好的软件定义无线电设计

    时钟噪声对DAC性能影响系统分析

    电子发烧友网站提供《时钟噪声对DAC性能影响系统分析.pdf》资料免费下载
    发表于 09-26 09:14 0次下载
    时钟噪声对<b class='flag-5'>DAC</b>性能影响<b class='flag-5'>系统</b>分析

    重构:改善既有代码的设计」实战篇

    背景 在软件开发的世界里,代码重构是提升项目质量、适应业务变化的关键步骤。最近,我重新翻阅了《重构:改善既有代码的设计 第二版》,这本书不仅重新点燃了我对重构的热情,还深化了我的理解:重构
    的头像 发表于 08-14 10:42 250次阅读
    「<b class='flag-5'>重构</b>:改善既有代码的设计」实战篇

    如何在RT-Thread系统下用ESP8266连上EMQX的公用服务器完成数据收发?

    怎么在RT-Thread系统下用ESP8266连上EMQX的公用服务器完成数据收发?emmmmm,最好能提供一下构建过程之类的
    发表于 07-16 08:30

    DAC63204.DAC53204.DAC43204数模转换器(DAC)数据表

    电子发烧友网站提供《DAC63204.DAC53204.DAC43204数模转换器(DAC)数据表.pdf》资料免费下载
    发表于 07-15 10:06 0次下载
    <b class='flag-5'>DAC63204.DAC53204.DAC</b>43204数模转换器(<b class='flag-5'>DAC</b>)数据表

    求助,关于DAC外部触发转换问题求解

    DAC->CR = 0x003C003C;//TENx=1,选择软件触发 DAC->DHR12RD = 0x07FF0FFF; //双DAC数据寄存器写入
    发表于 05-16 07:05

    CS32G020 DAC触发源选择定时器时,无法触发DAC转换?

    or disableinterface*/ TIM_Cmd(TIM0, ENABLE); /* Initialize the DAC according
    发表于 04-01 14:02

    深度操作系统V23 Beta3发布,提升用户体验兼容Steam原生应用

    值得注意的是,此次版本增加了对Steam原生应用及游戏内容的兼容性支持;同时系统应用层也完成了基础构建工具(如GCC、Qt、glibc等)及底层dll的全面更新;此外,启动器的代码架构也得到了重构以提高其运行效率。
    的头像 发表于 02-03 11:18 1003次阅读

    STM32U5系列TIMER+DMA+DAC应用演示

    有人使用STM32U575芯片的DAC功能。他希望使用TIMER事件触发DMA,通过DMA传输内存数据到DAC输出寄存器,进而产生相应的DAC输出波形。可他不知如何配置DMA
    的头像 发表于 01-24 09:10 1794次阅读
    STM32U5系列TIMER+DMA+<b class='flag-5'>DAC</b>应用演示

    什么时候选择DAC高速线缆/AOC有源光缆?如何进行堆叠?

    什么时候选择DAC高速线缆/AOC有源光缆?如何进行堆叠? DAC高速线缆和AOC有源光缆都是用于数据中心和高性能计算环境中的高速数据传输的解决方案。它们都有各自的优点和适用场景。在选择
    的头像 发表于 12-27 10:56 692次阅读