DSP

ADS7928

2019-07-13 21:08发布

  • 高吞吐量:1 MSPS
  • 额定电压(AVDD):2.7 V至5.25 V
  • 低功耗:
    最大6.0 mW(1 MSPS、3 V电源)
    最大13.5 mW(1 MSPS、5 V电源)
  • 8个带序列器的(单端)输入
  • 宽输入带宽:
    信纳比70 dB
    (最小值,50 kHz输入频率、AD7928)
  • 灵活的功耗/串行时钟速度管理
  • 无流水线延迟
  • 高速串行接口:
    SPI®/QSPI™/MICROWIRE™/DSP兼容
  • 产品详情

    AD7908/AD7918/AD7928分别是8位、10位和12位高速、低功耗、8通道、逐次逼近型ADC,采用2.7 V至5.25 V单电源供电,最高吞吐量达1 MSPS。这些器件均内置一个低噪声、宽带宽采样保持放大器,可处理8 MHz以上的输入频率。
    转换过程和数据采集过程通过CS和串行时钟信号进行控制,从而为器件与微处理器或DSP轻松接口创造了条件。输入信号在CS的下降沿进行采样,而转换同时在此处启动。该器件无流水线延迟。
    AD7908/AD7918/AD7928采用先进的设计技术,可在最高吞吐量下实现极低的功耗。在最高吞吐量下,采用3 V电源时,AD7908/AD7918/AD7928的最大功耗为2 mA;采用5 V电源时,最大功耗为2.7 mA。
    通过配置控制寄存器,器件的模拟输入范围可以在0 V至REFIN或0 V至2 × REFIN间选择,可采用标准二进制或二进制补码输出编码。AD7908/AD7918/AD7928具有8个带通道序列器的单端模拟输入,可以通过预先编程选择通道转换顺序。
    AD7908/AD7918/AD7928的转换时间取决于SCLK频率,该频率同时用作转换控制的主时钟。
    1. 高吞吐量、低功耗。AD7908/ AD7918/AD7928的吞吐量高达1 MSPS。在最高吞吐量下,采用3 V电源时,AD7908/ AD7918/AD7928的最大功耗仅6 mW。
    2. 8个带通道序列器的单端输入。可以选择通道顺序,ADC将按该顺序循环执行转换。
    3. 利用VDRIVE功能实现单电源供电。AD7908/ AD7918/AD7928采用2.7 V至5.25 V单电源供电。利用VDRIVE功能,串行接口可直接连至独立于AVDD的3 V或5 V处理器系统。
    4. 灵活的功耗/串行时钟速度管理。转换速率取决于串行时钟,通过提高串行时钟速度可缩短转换时间。这些器件还提供各种关断模式,可在较低吞吐量下实现最高功效,完全关断时的最大功耗为0.5 μA。
    5. 无流水线延迟。这些器件采用标准逐次逼近型ADC,通过CS输入与一次性转换控制可实现对采样时间的精确控制。
它是一款多通道ADC,与其他ADC最大的差别在于,它可以自动循环输出各个通道的电压转换值。先来上一张AD7928的时序图:
从时序图中可以知道:1> 一次发送2个字节的数据,同时接收2个字节的数据,即16位数据。2> 从Din写入指令,从Dout返回处理结果。3> Dout返回的结果的格式是 {0} + {ADD2,ADD1,ADD0} + {DB11,DB10,...DB0}。可以从返回的结果中直接读到通道号和对应的电压值。4> 关于指令每一位的含义,请看下图:
需要着重关注的是SEQ和SHADOW,这两BIT可以设置ADC的工作方式:传统模式?自动模式1?自动模式2?(从这里可以看出一般访问外设的一般模式:发送指令,接收返回数据。对应于SPI而言,用时钟同步,用片选处理多外设情况。)下面简略介绍这三种工作方式:1> 传统模式:上电 ---- Din = 全1 ---- 写指令WRITE BIT=1,设置CODING, RANGE,PM, ADD2~ADD0,SEQ=SHADOW=0)---- Dout返回处理结果,Din继续写指令(设定ADD2~ADD0,需要访问的通道)(循环此步骤)。2>自动模式1:上电 ---- Din = 全1 ---- 写指令(WRITE BIT=1,设置CODING, RANGE,PM, ADD2~ADD0, SEQ=0,SHADOW=1---- Dout返回处理结果,Din写SHADOW Register(设定自动访问的通道号)----若写指令,则可以在循环输出的同时,改变CODING, RANGE,PM,同时保证SEQ=0,SHADOW=1。若不是写指令(WRITE BIT = 0),则写的其他位都不重要,只需要在Dout读取数据就行了。3>自动模式2:和自动模式1的区别在于,省去写SHADOW Register步骤,这样做的结果是,自动循环输出的通道序列是连续的,每次都从通道0开始。上电 ---- Din = 全1 ---- 写指令WRITE BIT=1,设置CODING, RANGE,PM,ADD2~ADD0SEQ=SHADOW=1---- Dout返回处理结果;若不是写指令,则写的其他位都不重要,只需要在Dout读取数据就行了。可以用写指令,同时 SEQ=1,SHADOW=0退回到传统模式。