尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

深入解析ADS890xB高性能ADC:采样保持电路与多SPI接口设计指南

深入解析ADS890xB高性能ADC:采样保持电路与多SPI接口设计指南
📅 发布时间:2026/7/25 4:03:52

1. 项目概述与核心价值

在嵌入式系统、精密测量和高速数据采集领域,模数转换器(ADC)的性能往往是整个系统精度的天花板。我们常常关注ADC的分辨率、采样率和信噪比,但一个同样关键却容易被忽视的环节,是连接模拟世界与数字世界的“桥梁”——采样保持电路与数字接口协议。前者决定了ADC“看”到的信号是否真实,后者决定了转换后的数据能否被快速、无误地“搬走”。德州仪器(TI)的ADS890xB系列(包括ADS8900B/02B/04B)正是这一理念的杰出代表,它不仅仅是一个20位、1MSPS的高性能ADC,更是一个集成了精妙采样保持架构与高度灵活、高速数字接口的完整数据采集解决方案。

如果你正在设计医疗超声、工业自动化控制、高端测试仪器或任何对信号保真度和数据吞吐率有严苛要求的系统,那么深入理解ADS890xB的内部工作机制,尤其是其采样保持电路的设计哲学和强大的多SPI接口协议,将是优化系统性能、规避设计陷阱的关键。很多工程师在初次使用这类高性能ADC时,容易陷入“配置对了就能用”的误区,却不知其内部时序的微妙平衡、接口协议的灵活选择,直接关系到系统能否达到标称的精度与速度。本文将结合我多年的硬件设计经验,为你深入拆解ADS890xB的这两大核心模块,从原理到实操,从配置到避坑,提供一份可直接落地的设计指南。

2. 采样保持电路:精度捕获的“第一道门”

采样保持电路是ADC的“感官前端”,它的任务是在一个极短的时间窗口内,快速、准确地捕获输入信号的瞬时电压,并在整个转换周期内将其“冻结”住,供内部ADC核心进行量化。ADS890xB的采样保持电路设计,直接体现了其在高速高精度应用中的考量。

2.1 等效电路与工作模式解析

根据数据手册,ADS890xB的采样保持等效电路可以简化为一个包含开关电阻和采样电容的网络。其正负差分输入引脚(AINP, AINM)各自连接着一个由采样开关(SW1/SW2)和串联电阻(RS1/RS2,典型值50Ω)以及采样电容(CS1/CS2,典型值60pF)组成的通路。

1. 采集阶段:当器件处于采集状态时,两个采样开关(SW1和SW2)闭合。此时,外部模拟信号源通过RS1和RS2对CS1和CS2充电。这个过程的核心是建立时间。你需要确保在给定的采集时间窗口内,采样电容上的电压能够充分建立到输入信号的最终值,误差要小于1个LSB。建立时间常数 τ = R_S * C_S,其中R_S是信号源输出阻抗、PCB走线电阻与内部采样电阻RS之和,C_S是采样电容CS与引脚寄生电容之和。对于满量程阶跃输入,建立到20位精度(约1ppm)所需的时间约为9 * τ。因此,驱动ADC的前端运放必须具有足够低的输出阻抗和高的压摆率,以满足建立时间要求。

2. 保持与转换阶段:当CONVST引脚出现上升沿,器件进入转换状态时,采样开关断开。此时,CS1和CS2上保持的电压差值(VAINP - VAINM)被送入后续的ADC核心进行量化。开关断开瞬间产生的电荷注入和时钟馈通是引入误差的主要来源。ADS890xB通过精心的开关设计和布局,将这些非理想效应降至最低。但作为系统设计者,你必须注意,在开关切换的瞬间(即孔径时间),输入信号应保持稳定,任何扰动(如来自数字部分的噪声耦合)都会导致孔径抖动,直接恶化ADC的信噪比。

实操心得:驱动电路设计驱动ADS890xB这类高精度ADC,绝不能简单地直接连接信号源。必须使用一个高性能、低噪声、低失真的运算放大器作为缓冲器。我通常会选择单位增益稳定的精密运放,并在其输出端和ADC输入之间串联一个小的隔离电阻(如10-100Ω),并搭配一个对地的RC滤波器(如10Ω + 1nF),构成一个单极点抗混叠滤波器。这个电阻有助于隔离运放输出与ADC采样电容切换时产生的瞬态电流,提升稳定性。滤波器则能限制带宽,减少带外噪声。

2.2 输入范围与共模电压计算

ADS890xB支持单极性、全差分输入。其输入范围与共模电压由外部参考电压VREF决定。这是正确使用该ADC的基石。

  • 满量程输入范围:FSR = VREF。这意味着差分输入电压(AINP - AINM)的有效范围是-VREF到+VREF。例如,当VREF = 4.096V时,FSR = 4.096V,即输入电压可以在 -4.096V 至 +4.096V 之间变化。
  • 共模电压:VCM = VREF / 2。这是输入引脚AINP和AINM的绝对电压应该围绕的中心点。对于VREF=4.096V,VCM应为2.048V。这意味着,如果你的信号是±2.048V的差分信号,那么AINP和AINM的绝对电压应该在2.048V上下摆动。

传输函数与代码:ADC的输出是22位二进制补码格式。其理想传输特性如下表所示:

差分模拟输入电压 (AINP – AINM)输出代码 (十六进制)
< –VREF800000
–VREF + 1 LSB800001
–1 LSBFFFFFF
0000000
+1 LSB000001
> VREF – 1 LSB7FFFFF

最小有效位(LSB)的计算:1 LSB = FSR / 2^20 = VREF / 2^20对于VREF=4.096V,1 LSB = 4.096V / 1,048,576 ≈ 3.906μV。这个值决定了ADC的电压分辨率。

注意事项:输入保护与绝对电压范围每个模拟输入引脚内部都有ESD保护二极管,连接到REFBUFOUT和GND。务必确保AINP和AINM的绝对电压始终在GND和REFBUFOUT之间(通常为AVDD)。如果输入电压超出此范围,二极管导通,不仅会引入失真,还可能损坏器件或导致读数异常。在设计前端电路时,必须用钳位电路或谨慎选择运放供电轨来保证这一点。

3. 接口协议模块:高速数据流的“交通规则”

如果说采样保持电路是ADC的“感官”,那么接口模块就是其“神经系统”。ADS890xB的接口模块远不止一个简单的SPI,它是一个高度可配置的“多SPI”引擎,旨在解决高速数据读取时的时序瓶颈问题。

3.1 核心架构与数据流

接口模块的核心组件包括输入/输出移位寄存器(IDR/ODR)、配置寄存器和协议转换单元。其工作流程可以概括为:

  1. 命令写入:主机通过SDI引脚,在SCLK时钟同步下,将22位命令帧(包含5位命令码、9位地址和8位数据)移入IDR。
  2. 命令处理:在CS上升沿,IDR内容被锁存到命令处理器进行解码,执行读/写/置位/清除寄存器等操作。
  3. 数据读出:在下一个数据帧中,ODR中的22位输出数据字(可能是转换结果、寄存器值或测试模式数据)通过SDO引脚移出给主机。

输出数据字的构成:22位输出数据字D[21:0]的构成是灵活的:

  • D[21:2]:通常是上一次的转换结果(20位)。但如果前一个帧执行了RD_REG命令,则D[21:14]为读取的寄存器值,D[13:2]为0。如果DATA_VAL位被置位,则D[21:2]会被预定义的DATA_PATN[19:0]模式替代,用于测试。
  • D[1:0]:默认是0。当使能奇偶校验(PAR_EN=1)时,D[1]和D[0]分别成为帧长奇偶校验位(FLPAR)和帧尾奇偶校验位(FTPAR),用于通信完整性检查。

3.2 数据帧与命令帧详解

一个数据帧始于CS下降沿,止于CS上升沿。帧内SCLK的数量决定了帧的类型:

  • 短命令帧(SCLK < 22):仅用于快速读取部分MSB数据。IDR内容被忽略,视为NOP(无操作)。
  • 最优命令帧(SCLK = 22):标准操作模式。IDR中的22位被解码为有效命令。
  • 长命令帧(SCLK > 22):仅最后22位被捕获为命令。可用于菊花链拓扑。

关键时序参数:

  • t_conv: 转换时间,由内部振荡器决定,有最小值和最大值。
  • t_acq: 采集时间,t_cycle - t_conv。
  • t_qt_acq和t_d_cnvcap: 安静采集时间和安静孔径时间。在这两个时间段内,必须严格禁止任何数字信号(如SCLK, CS, SDI)的跳变,否则会严重干扰采样和转换过程,导致精度下降。这是许多高速ADC设计中最容易踩的坑。

3.3 转换周期与数据帧的交错策略

为了实现高吞吐量,主机需要巧妙地交错安排转换启动(CONVST上升沿)和数据读取(CS下降沿)操作。ADS890xB定义了Zone 1和Zone 2两个数据传送窗口。

  • Zone 1传送:在当前转换周期(C)的转换阶段t_conv结束后,下一个转换周期(C+1)的采集阶段t_acq开始前,读取转换C的结果。这种方式响应时间最短,但对SCLK速度要求最高。
  • Zone 2传送:在下一个转换周期(C+1)的转换阶段t_conv期间,读取转换C的结果。这种方式允许使用更低的SCLK频率,但响应时间更长。

计算公式对比:假设目标采样周期为t_cycle。

  • Zone 1所需读取时间:t_read-Z1 = t_cycle - t_conv_max - t_qt_acq
  • Zone 2所需读取时间:t_read-Z2 = t_cycle - t_d_cnvcap

设计选择:

  • 追求最低延迟:选择Zone 1,但需要计算并确保你的MCU/FPGA能提供足够高的SCLK频率(f_SCLK > 20 / t_read-Z1)。
  • 降低主控时钟压力:选择Zone 2,可以显著降低对SCLK频率的要求,代价是数据延迟增加约一个转换周期。

4. 多SPI协议实战:从标准到源同步

这是ADS890xB最强大的特性之一。它提供了从标准SPI到高速源同步模式的多种协议,以适应不同的系统速度和复杂度需求。

4.1 标准SPI兼容协议

这是最基础的接口模式,与通用SPI控制器兼容。主要通过SDI_CNTL寄存器配置时钟极性和相位。

协议SCLK极性(CS下降沿)SCLK相位(捕获边沿)SDI_CNTL值说明
SPI-00-S低上升沿00h模式0 (CPOL=0, CPHA=0)
SPI-01-S低下降沿01h模式1 (CPOL=0, CPHA=1)
SPI-10-S高下降沿02h模式2 (CPOL=1, CPHA=0)
SPI-11-S高上升沿03h模式3 (CPOL=1, CPHA=1)

配置步骤:

  1. 上电或复位后,默认处于SPI-00-S模式。
  2. 在SPI-00-S模式下,通过WR_REG命令向SDI_CNTL寄存器写入目标模式值(如01h)。
  3. 此后,所有通信(读和写)都需遵循新协议。

4.2 提升吞吐量:总线宽度与DDR

为了在不提高SCLK频率的前提下提升数据吞吐率,ADS890xB支持扩展SDO总线宽度和双倍数据率。

  • 双SDO/四SDO模式:通过设置SDO_CNTL寄存器中的SDO_WIDTH[1:0]位,可以将数据总线从1位扩展到2位(SDO-0, SDO-1)或4位(SDO-0至SDO-3)。在最优读帧下,读取22位数据所需的SCLK周期数从20个分别减少到10个和5个。
  • 早期数据启动模式:对于SPI-00-S和SPI-10-S协议,可以设置SDO_MODE[1:0]=01b来使能EDL。在此模式下,SDO数据会提前半个SCLK周期输出,为主机控制器提供更充裕的建立时间,从而允许系统运行在更高的SCLK频率。
  • 双倍数据率:在源同步协议中,可以设置DATA_RATE=1b。此时,数据在RVS输出时钟的每个边沿(上升沿和下降沿)都被锁存,数据率翻倍。

4.3 高速传输的终极方案:源同步协议

在高速或长距离通信中,PCB走线延迟、隔离器延迟和时钟到数据输出延迟会严重限制标准SPI的最大时钟频率。ADS890xB的ADC-Clock-Master(源同步)模式是解决此问题的利器。

工作原理:在此模式下,RVS引脚的功能从“转换就绪”信号变为源同步输出时钟。ADC使用这个时钟来同步输出SDO上的数据。主机控制器使用这个随数据一起发送的RVS时钟(而非自己产生的SCLK)来捕获SDO数据。

优势:

  • 消除路径延迟影响:由于数据和时钟经历相同的路径延迟(PCB、隔离器),它们在接收端(主机)的相位关系得以保持,大大放松了对时序的要求。
  • 支持更高数据率:几乎消除了传统SPI中因路径延迟对时钟频率的限制,可以实现极高的数据传输速率。

配置选项(通过SDO_CNTL寄存器):

  1. 时钟源选择:
    • EXTCLK:RVS输出与输入的SCLK同步。注意:当DVDD < 2.35V时不推荐。
    • INTCLK/INTCLK/2/INTCLK/4:RVS输出与内部ADC时钟或其分频同步。仅支持在Zone 1进行数据传输。
  2. 总线宽度:单/双/四SDO。
  3. 数据率:SDR或DDR。

例如,SRC-EXT-DD协议表示:源同步、外部SCLK作为输出时钟、双SDO总线、DDR模式。这可能是追求极高吞吐量的首选配置。

避坑指南:协议切换与初始化

  1. 上电顺序:务必先完成电源、基准电压稳定,再进行数字接口通信。在RST释放后,先等待td_rst时间,再尝试配置。
  2. 协议配置的“鸡生蛋”问题:要配置接口协议,首先需要通过默认的SPI-00-S模式写入配置寄存器。如果你的主控器默认SPI模式不是模式0,需要在初始化阶段临时切换。一个稳健的做法是:主控器上电后先强制配置为SPI模式0,完成ADS890xB的初始配置后,再根据需要切换到双方约定的高速协议。
  3. Zone 2的限制:如果在Zone 2进行数据传输并想使用源同步模式,必须且只能选择EXTCLK选项(SSYNC_CLK_SEL[1:0] = 00b)。使用内部时钟源在Zone 2是无效的。
  4. 菊花链的注意点:仅当SDO_CNTL寄存器配置为00h或01h(即标准SPI或带EDL的标准SPI)时,长数据帧才会触发菊花链操作。在其他模式下,长帧后SDO输出的是0,而非后级器件数据。

5. 寄存器配置与命令系统详解

ADS890xB提供了9个配置寄存器,通过一套简洁的命令集进行访问,这是发挥其全部功能的基础。

5.1 命令格式与类型

所有命令均为22位,格式为:B[21:17] CMD_CODE | B[16:8] ADDR | B[7:0] DATA/UNMASKED_BITS

支持的命令如下:

命令助记符B[21:17]B[16:8] (地址)B[7:0]描述
NOP0000000000000000000000无操作。任何保留位组合也被视为NOP。
RD_REG100019位地址00000000读取指定地址寄存器的内容。结果在下一个数据帧的D[21:14]输出。
WR_REG100109位地址8位数据将8位数据写入指定地址寄存器。
SET_BITS100119位地址8位掩码将指定地址寄存器中,对应掩码位为‘1’的位设置为‘1’。其他位不变。
CLR_BITS100009位地址8位掩码将指定地址寄存器中,对应掩码位为‘1’的位清除为‘0’。其他位不变。

关键寄存器摘要:

  • SDI_CNTL:配置输入(SDI)协议模式(SPI模式)。
  • SDO_CNTL:配置输出协议的核心寄存器。包含输出模式、总线宽度、数据率、时钟源选择等所有关键位。
  • DATA_CNTL:控制输出数据字的内容,如是否使能测试模式(DATA_VAL)、设置测试模式数据(DATA_PATN)、奇偶校验配置(PAR_EN,FPAR_LOC)等。

5.2 配置流程示例

假设我们需要将ADS890xB配置为使用源同步模式、内部时钟/2、四SDO、DDR(即SRC-IB2-QD协议)。

  1. 硬件复位:拉低RST引脚至少twl_RST时间,然后拉高,等待td_rst后进入ACQ状态。
  2. 初始通信(SPI-00-S):主控器配置为SPI模式0。
  3. 写入SDO_CNTL寄存器:
    • 目标值:根据Table 9,SRC-IB2-QD对应SDO_CNTL = 9Fh。
    • 命令帧:WR_REG命令。B[21:17]=10010,B[16:8]=SDO_CNTL寄存器地址,B[7:0]=9Fh。
    • 操作:在CS低电平期间,提供22个SCLK,将上述22位命令通过SDI移入。
  4. (可选)验证配置:
    • 发送RD_REG命令读取SDO_CNTL寄存器。
    • 在下一个数据帧中,读取SDO上的数据,其中D[21:14]应为9Fh。
  5. 切换主控器模式:主控器SPI接口需要根据源同步协议调整。此时,主机不再使用自己的SCLK去读取数据,而是使用ADC输出的RVS时钟来锁存SDO[3:0]上的4位数据。主机提供的SCLK仅用于发送命令(SDI),其频率和相位需根据SDI_CNTL的配置(仍需遵循SPI模式)来设定。

6. 系统设计要点与常见问题排查

6.1 PCB布局与电源去耦

对于20位精度的ADC,布局和电源至关重要。

  • 模拟与数字分区:将模拟部分(前端运放、ADC的AVDD/REFIN)和数字部分(ADC的DVDD、MCU)明确分区。地平面使用单点连接(通常是一个磁珠或0Ω电阻在ADC下方连接)。
  • 电源去耦:在每个电源引脚(AVDD, DVDD, REFBUFOUT)附近放置一个10μF钽电容或陶瓷电容(低频去耦)和一个0.1μF的X7R/X5R陶瓷电容(高频去耦),尽可能靠近引脚。
  • 基准电压:REFIN引脚是精度核心。使用低噪声、高稳定性的基准源(如REF5040)。基准输出端同样需要紧密的去耦。如果使用内部缓冲输出(REFBUFOUT),注意其驱动能力。
  • 信号走线:差分输入线(AINP, AINM)应等长、等距、紧密耦合,远离数字信号线。时钟(SCLK)、数据(SDO/SDI)和控制线(CS, CONVST)也应尽量短,并用地线包围。

6.2 时序设计与状态机

可靠的操作依赖于严格遵循时序图。

  • 状态转换:明确器件处于RST、ACQ还是CNV状态。CONVST和RST信号是状态机切换的关键。
  • 安静时间遵守:确保在t_qt_acq和t_d_cnvcap期间,无数字信号翻转。这通常意味着,在CONVST上升沿启动转换后,应等待t_d_cnvcap时间过去,再操作CS进行读数;在CS上升沿结束读数后,应等待t_qt_acq时间过去,再发出下一个CONVST上升沿。
  • 响应时间管理:根据选择的Zone和SCLK频率,计算实际的响应时间t_resp,确保它满足你的系统实时性要求。

6.3 常见问题与排查表

现象可能原因排查步骤与解决方案
读取数据全为0或固定值1. 电源/基准未正确建立。
2. 数字接口通信失败。
3. ADC处于复位状态。
1. 测量AVDD, DVDD, REFIN电压。
2. 用逻辑分析仪抓取CS, SCLK, SDI, SDO波形,检查命令是否被正确发送和响应。尝试发送RD_REG命令读取一个已知寄存器(如SDO_CNTL)。
3. 检查RST引脚是否为高电平。
数据跳动大,噪声高1. 模拟输入噪声或前端驱动不足。
2. 电源噪声。
3. 数字噪声耦合到模拟部分。
4. 违反了安静时间要求。
1. 检查前端运放电路,确保其噪声和带宽合适。测量输入信号质量。
2. 用示波器检查电源纹波,加强去耦。
3. 检查布局,确保模拟数字隔离。在CONVST期间,可以尝试让MCU暂停高频操作。
4. 检查CONVST和CS的时序,确保t_qt_acq和t_d_cnvcap期间无数字活动。
使用高速协议时数据错误1. SCLK频率超过接口或主控能力。
2. 源同步模式下,RVS时钟捕获时序不满足。
3. 总线负载过重,信号完整性差。
1. 降低SCLK频率测试。检查主控器SPI时钟极限。
2. 在FPGA中,确保使用RVS的上升沿(SDR)或双边沿(DDR)来锁存SDO数据,并满足建立保持时间。
3. 检查SDO走线长度、端接。使用示波器观察信号眼图。
无法切换到非默认SPI模式1. 初始配置命令未使用默认SPI-00-S模式发送。
2. 配置寄存器写入后未生效。
1. 确保在发送第一个WR_REG命令(修改SDI_CNTL)时,主控器处于SPI模式0。
2. 发送WR_REG命令后,发送一个NOP命令帧,再尝试用新协议通信。或读取寄存器验证。
菊花链功能不正常1.SDO_CNTL未配置为00h或01h。
2. 数据帧长度不足。
1. 菊花链仅支持标准SPI模式。检查SDO_CNTL配置。
2. 确保读取的数据帧长度大于22个SCLK,后续时钟周期才能输出后级器件数据。

最后一点个人体会:ADS890xB的强大在于其灵活性,但这也带来了配置的复杂性。在项目初期,我强烈建议先在标准SPI-00-S单SDO模式下把基础功能调通,读取正确的转换数据。然后再逐步启用更高级的功能,如总线扩宽、EDL,最后再挑战源同步模式。每一步都通过读取寄存器或固定测试模式来验证配置是否生效。同时,一台好的数字示波器或逻辑分析仪是必不可少的调试伙伴,它能让你直观地看到安静时间是否被破坏、数据与时钟的相位关系是否正确,从而快速定位问题所在。将这个复杂的器件分解为“模拟前端采样”、“数字接口配置”、“时序交错管理”几个相对独立的模块来理解和调试,会让整个过程清晰很多。

相关新闻

  • Unity安卓开发环境一键配置:绕过Android Studio,极简搭建PICO G2 4K VR开发环境
  • Windows高效文件搜索工具核心技术解析
  • 华为OD机试:多核处理器任务调度算法与C++/Python/Java/JS/Go五语言实现

最新新闻

  • 高效学习C++项目:从构建调试到架构解析的完整实践指南
  • Selenium自动化测试框架实战:从WebDriver到Pytest与POM设计
  • 基于CNN与图注意力网络的轴承智能故障诊断系统
  • 零基础新手抖音小店开店:无货源密文一件代发下单发货完整步骤 - 电商分享
  • C++字符大小写转换:toupper/tolower函数详解与最佳实践
  • Istio 服务网格流量治理入门:核心概念与架构解析

日新闻

  • 从国家条件到买方清单,深入理解 ABAP CDS 单值过滤器派生
  • 2026 年当下,齐齐哈尔专业的不锈钢闸门批发厂家哪个好,揭秘!这个工业“铁门”如何实现成本翻倍的效率提升? - 行业甄选官
  • 2026阳极氧化加工厂推荐:从设备规模看硬质氧化技术的成熟应用推荐百正机械 - 栗子测评

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号