• 注册 / 登录
  • 切换到窄版
  • 查看: 1767|回复: 0

    为ADC设计可靠的数字接口

    [复制链接]

    676

    主题

    690

    帖子

    6808

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    6808
    发表于 2023-8-7 17:45:00 | 显示全部楼层 |阅读模式

    路线栈欢迎您!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    前言

    主机处理器可以通过多种串行和并行接口(如SPI、I2C 和LVDS)访问或控制ADC。本文将讨论打造可靠、完整数字接口的设计技术,包括数字电源电平和序列、启动期间的I/O 状态、接口时序、信号质量以及数字活动导致的误差。

    数字I/O 电源电平和序列

    多数SAR ADC 都提供独立的数字I/O 电源输入(VIO 或 VDRIVEVDRIVE),后者决定接口的工作电压和逻辑兼容性。此引脚应与主机接口(MCU、DSP 或FPGA)电源具有相同的电压。数字输入一般应在DGND ? 0.3 V与 VIO+ 0.3 V 之间,以避免违反绝对最大额定值。须在 VIO引脚与DGND 之间连接走线短的去耦电容。

    采用多个电源的ADC 可能拥有明确的上电序列。为了避免正向偏置ESD 二极管,避免数字内核加电时处于未知状态,要在接口电路前打开I/O 电源。模拟电源通常在I/O电源之前加电,但并非所有ADC 均是如此。请参阅并遵循数据手册中的内容,确保序列正确。

    启动期间的数字I/O 状态

    为了确保初始化正确无误,有些SAR ADC 要求处于某些逻辑状态或序列,以实现复位、待机或关断等数字功能。在所有电源都稳定之后,应施加指定脉冲或组合,以确保ADC 启动时的状态符合预期。例如,一个高脉冲在RESET 上持续至少50 ns,这是配置AD7606 以使其在上电后能正常运行所必须具备的条件。

    在所有电源均完全建立之前,不得切换数字引脚。对于SARADC,转换开始引脚CNVST 可能对噪声敏感。在图1 所示示例中,当AVCC、DVCC 和VDRIVE 仍在上升时,主机cPLD 拉高CNVST。这可能使 AD7367 进入未知状态,因此,在电源完全建立之前,主机应使 CNVST 保持低电平。

    1.png
    图1. 在电源上升时拉高 CNVST 可能导致未知状态。

    数字接口时序

    转换完成之后,主机可以通过串行或并行接口读取数据。为了正确读取数据,须遵循特定的时序策略,比如,SPI 总线需要采用哪种模式等。不得违反数字接口时序规范,尤其是ADC 和主机的建立和保持时间。最大比特率取决于整个循环,而不仅仅是最小额定时钟周期。图2 和下列等式展示了如何计算建立和保持时间裕量。主机把时钟发送至ADC 并读取ADC 输出的数据。

    2.png
    图2. 建立和保持时序裕量。

    tCYCLE = tJITTER + tSETUP + tPROP_DATA + tPROP_CLK + tDRV + tMARGIN
    tCYCLE : 时钟周期 = 1/fCLOCK
    tJITTER: 时钟抖动
    tSETUP: 主机建立时间
    tHOLD: 主机保持时间
    tPROP_DATA: 从ADC 到主机的传输线路的数据传播延迟
    tPROP_CLK: 从主机到ADC 的传输线路的数据传播延迟
    tDRV: 时钟上升/下降沿后的数据输出有效时间
    tMARGIN: 裕量时间大于等于0 表示达到建立时间或保持时间要求,小于0 表示未达到建立时间或保持时间要求。

    主机建立时间裕量

    tMARGIN_SETUP = tCYCLE, min – tJITTER – tSETUP – tPROP_DATA – tPROP_CLK – tDRV, MAX

    建立时间等式以最大系统延迟项定义最小时钟周期时间或最大频率。要达到时序规格,必须大于等于0。提高周期(降低时钟频率)以解决系统延迟过大问题。对于缓冲器、电平转换器、隔离器或总线上的其他额外元件,把额外延迟加入tPROP_CLK 和 tPROP_DATA.

    类似地,主机的保持时间裕量为

    tMARGIN_HOLD = tPROP_DATA + tPROP_CLK + tDRV – tJITTER – tHOLD

    保持时间等式规定了最小系统延迟要求,以避免因违反保持时间要求而出现逻辑错误。要达到时序规格,必须大于等于0。

    许多带SPI 接口的SAR ADC 都是从 CS 或 CNV的下降沿为MSB 提供时钟信号,剩余的数据位则跟随SCLK 的下降沿,如图3 所示。在读取MSB 数据时,要使用等式中的tEN而非tDRV .

    3.png
    图3. ADC 3 线 CS 模式下的SPI 时序。

    因此,除了最大时钟速率以外,数字接口的最大工作速率也取决于建立时间、保持时间、数据输出有效时间、传播延迟和时钟抖动。

    在图4 中,DSP 主机访问ADC处于3 线CS模式下,其中,VIO = 3.3 V。DSP 锁存SCLK 下降沿上的SDO 信号。DSP的额定最小建立时间为5 ns,最小保持时间为2 ns。对于典型的FR-4PCB 板,传播延迟约为180 ps/in。缓冲器的传播延迟为5 ns。CNV、SCLK 和SDO 的总传播延迟为

    tprop = 180 ps/in × (9 in + 3 in) + 5 ns = 7 ns.
    tJITTER = 1 ns. 主机SCLK 的工作频率为30 MHz,因此,tCYCLE = 33 ns.
    tSETUP_MARGIN = 33 ns ? 1 ns – 5 ns – 7 ns – 11 ns – 7 ns = 2 ns
    tHOLD_MARGIN =11 ns + 7 ns + 7 ns – 1 ns – 2 ns = 22 ns

    建立时间和保持时间裕量均为正,因此,SPI SCLK 可以在30 MHz下工作。

    4.png
    图4. DSP 和ADC 之间的数字接口。

    数字信号质量

    数字信号完整性(包括时序和信号质量)确保:在额定电压下接收信号;不相互干扰;不损坏其他器件;不污染电磁频谱。信号质量由多个项定义,如图5 所示。本部分将介绍过冲、振铃、反射和串扰。

    5.png
    图5. 常用信号质量规格。

    反射是阻抗不匹配导致的结果。当信号沿着走线传播时,每个接口处的瞬时阻抗都不相同。部分信号会反射回去,部分信号会继续沿着线路传播。反射可能在接收器端产生过冲、欠冲、振铃和非单调性时钟边沿。

    过冲和欠冲可能损坏输入保护电路,或者缩短IC 的使用寿命。图6 所示为AD7606的绝对最大额定值。数字输入电压应在–0.3 V 和VDRIVE+ 0.3 V 之间。另外,如果振铃高于最大 VIL或小于最小VIH可能导致逻辑误差。

    6.png
    图6. AD7606 的绝对最大额定值。

    为了减少反射:
    • 尽量缩短走线的长度
    • 控制走线的特性阻抗
    • 消除分支
    • 使用适当的端接方案
    • 用环路面积小的固体金属作为返回电流参考平面
    • 使用较低的驱动电流和压摆率

    针对走线特性阻抗的计算,目前有许多软件工具或网站,比如Polar Instruments Si9000 PCB 传输线路场求解器。借助这些工具,特性阻抗计算起来非常简单,只需选择传输线路型号并设置相应的参数即可,比如电介质类型和厚度以及走线宽度、厚度和隔离。

    作为一种新兴标准,IBIS 用于描述IC 数字I/O 的模拟行为。预布局仿真可检测时钟分布、芯片封装类型、电路板堆叠、网络拓扑结构和端接策略。也可检测串行接口时序限制以便为定位和布局提供指导。后仿真可验证设计是否符合所有指导方针和限制的要求,同时检测是否存在反射、振铃、串扰等违反要求的情况。

    在图7 中,一个驱动器通过一条12 英寸的微带线路连接SCLK1,另一个驱动器通过一个与微带串联的43 Ω 电阻连接SCLK2。

    7.png
    图7. 驱动ADC SCLK。

    在图8 中,SCLK1 上的大过冲违反了–0.3 V 至+3.6 V 的绝对最大额定值。串联电阻可减小SCLK2 上的压摆率,使信号处于额定值之内。

    8.png
    图8. ADC IBIS 过冲模型仿真。

    串扰是能量通过互电容(电场)或互感(磁场)在并行传输线路间耦合的情况。串扰量取决于信号的上升时间、并行线路的长度以及它们之间的间距。

    控制串扰的一些常用方法为:
    • 增加线路间距
    • 减小并行布线
    • 使走线靠近参考金属平面
    • 使用适当的端接方案
    • 减小信号压摆率

    数字活动导致的性能下降

    数字活动可能导致SAR ADC 性能下降,使SNR 因数字地或电源噪声、采样时钟抖动和数字信号干扰而减小。

    孔径或采样时钟抖动设定SNR 限值,尤其是对高频输入信号。系统抖动有两个来源:来自片内采样保持电路的孔径抖动(内部抖动),以及采样时钟上的抖动(外部抖动)。孔径抖动为转换间的采样时间变化,为ADC 的函数。采样时钟抖动通常为主要误差源,但两个源都会导致模拟输入采样时间变化,如图9所示。它们的影响难以区分。

    总抖动会产生误差电压,ADC 总SNR 的限制因素为

    g1.png

    其中,f 为模拟输入频率,tJ为总时钟抖动。

    例如,当模拟输入为10 kHz,总抖动为1 ns 时,SNR 限值为84 dB。

    9.png
    图9. 采样时钟抖动导致的误差电压。

    数字输出开关导致的电源噪声应与敏感的模拟电源相隔离。分别去耦模拟和数字电源,密切注意地回流路径。

    高精度SAR ADC 可能对数字接口上的活动很敏感,即使电源适当去耦和隔离时。突发时钟往往优于连续时钟。数据手册通常会列出接口不应活动的安静时间。在较高吞吐速率条件下,可能难以减少这些时间内的数字活动,通常为采样时刻及出现关键位判断点时。

    结论

    密切注意数字活动,确保SAR ADC 转换有效。数字活动导致的误差可能使SAR ADC 进入未知状态,导致故障,或者降低性能。希望本文能帮助设计师排查根本原因,同时还能提供解决方案。

    相关文章:
    一文详解ADC内部原理
    数模转换器(DAC)工作原理
    单片机ADC,十大C语言滤波算法
    通过ADC的过采样提高测量的分辨率

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|路丝栈 ( 粤ICP备2021053448号 )

    GMT+8, 2024-12-22 15:17 , Processed in 0.058667 second(s), 22 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表