AN-1135: ADC采样信息ADM1275/ADM1276/ADM1075

简介

ADM1275, ADM1276ADM1075均共用同样的基本模数转换器(ADC)内核和PMBus接口。这些器件在平均计算和ADC寄存器更新方面存在一些细微差异。从ADM1275、ADM1276或ADM1075器件快速读取数据时,也需要考虑一些因素和限制。本应用笔记介绍了每种器件的ADC操作,以及如何将其数据速率提到最高(如需要)。

ADC转换

ADM1275的特点是可通过PMBus接口进行电流和电压回读。图1显示了采样顺序。先对电流进行采样,然后更新电流寄存器。随后对电压进行采样,接着更新电压寄存器。寄存器更新在一个时钟周期内完成。对于ADM1275,用户可以选择是否监控VIN电压或VOUT电压,但无法两者同时监控。

Figure 1. ADM1275 ADC Updates, Single Sample.

图1. ADM1275 ADC更新,单个样本

图2显示器件上使能均值计算时的电流和电压转换与更新情况。电流寄存器在最终电流样本之后更新,电压寄存器在最终电压样本之后更新。同样,电压转换对应于VIN或VOUT。

Figure 2. ADM1275 ADC Updates, Device Averaging.

图2. ADM1275 ADC更新,器件均值计算

ADM1276和ADM1075都具有功耗测量以及电压和电流监控功能。功耗计算方式为VIN × I,因此,VIN电压始终被采样。用户也可选择采样另一个ADC电压输入。使用ADM1276时,可以测量VOUT电压。完成功耗计算后,所有的电压、电流、功耗和电能寄存器都会更新。详情参见图3。

Figure 3. ADM1276 ADC Updates, Single Sample.

图3. ADM1276 ADC更新,单个样本

如图4所示,当使能均值计算时,一次功耗和电能计算会在上一次电压和电流采样之后完成。完成这些计算后,所有的寄存器都会更新。

Figure 4. ADM1276 ADC Updates, Device Averaging.

图4. ADM1276 ADC更新,器件均值计算

ADM1075和ADM1276非常相似。电流和电压转换顺序相同。两者的主要差异在于,ADM1276的VOUT测量结果是ADM1075的VAUX测量结果,如图5和图6所示。

Figure 5. ADM1075 ADC Updates, Single Sample.

图5. ADM1075 ADC更新,单个样本

Figure 6. ADM1075 ADC Updates, Device Averaging.

图6. ADM1075 ADC更新,器件均值计算

图7所示为功耗和电能的计算方法。

Figure 7. Power and Energy Calculations.

图7.功耗和电能计算

平均功耗或累计电能可从器件直接读取。为了实现电能计量功能,需要为实时时钟提供外部微处理器。一定时间内的平均功耗可通过寄存器回读之间的电能变化(ΔE)除以样本变化(寄存器回读之间)计算得出。总电能可以通过将上述结果乘以每个回读的时间戳的时间变化(Δt)计算得出。

Figure 8. Calculating Average Power in Time.

图8.计算一定时间内的平均功耗

转换与时序

在大部分使能器件均值计算情况下,ADC时序对用户而言不是主要问题。然而,如果用户希望回读所有的ADC样本,并从外部对数据进行后处理,就必须注意确保捕捉到所有的ADC样本。

第一个例子是使用ADM1275的情况,其中用户回读所有的电流样本。电压和电流转换的总时间最长为305 μs(参见表1)。

表1.最长转换时间(μs)
ADM1275 ADM1276 ADM1075
IOUT 115 VIN 146 VIN 82
VIN 或 VOUT 190 IOUT 118 IOUT 120
    VOUT 146 VAUX 82
    PIN 16 PIN 17
总时间 305 总时间 426 总时间 301
(1× 均值)   (1× 均值)   (1× 均值)  

因此,每个 I2C/PMBus 回读命令都至少必须相隔305 μs。如 果电流被回读,回读命令完成后,最少需要115 μs的总线空闲时间,以使电流转换和寄存器更新得以完成。更新寄存器所需的时间极短(单个时钟周期)。

ADC从电压和电流更新闭锁,而 I2C总线则有效(更准确地 说,如果器件地址被识别,则闭锁会出现在命令代码结束时的应答和停止位之间)。因此,总线空闲时间包括从上一个PMBus命令结束到下一个PMBus命令中命令代码被识别的时间。

电压回读时,115 μs的最小总线空闲时间可以确保没有重复样本。除非存在至少190 μs的总线空闲时间使得电压转换出现在下一次回读之前,否则电压回读的值是一个样本失调。

这些值确定了PMBus命令的最大持续时间,从而确定 I2C 实 现最佳采样需要运行的最小速度。例如,使用ADM1275时,当 I2C 针对电流回读进行优化后,将回读之间的时间设为305 μs(参见图9)。这意味着命令代码识别后的READ_IOUT命令部分必须小于190 μs。

Figure 9. Optimal Current Readback on ADM1275.

图9. ADM1275的最佳电流回读

电流回读命令是三字节或四字节数据,随后是命令代码,具体取决于是否使用分组差错校验(PEC)字节(参见图10)。假定使用了PEC字节,且包含应答和停止位,则命令代码后共有40位数据。因此,I2C 必须在>210 kHz(40位、190 μs 内)的情况下工作,以确保电流回读命令的剩余部分在190 μs内完成。

Figure 10. Read Word and Read Word with PEC.

图10. 读取字和带PEC的读取字

使能均值计算的情况下,将总线空闲时间设为大于电压转换时间。此设置可以确保电流和电压寄存器都在下一个回读命令之前更新(参见图2)。将回读之间的时间设为大于

均值数量 × 305 μs

使用GPIO1/ALERT1/CONV 引脚的CONV功能来同步ADC样本,以确保始终在所需的时间进行采样。这一程序允许在回读命令之后以及下一个ADC采样序列启动之前进行其他 I2C 活动。ADM1276不具备CONV功能。

使用ADM1276和ADM1075时,所有寄存器的更新都出现在采样序列结束时和完成功耗计算后。因此,读取命令的时间并不重要,重要的是命令之间的时间。命令之间的时间必须大于整个采样时间,以避免样本重复(参见图11)。

Figure 11. Register Readback on ADM1276.

图11. ADM1276的寄存器回读

同样,使能均值计算时,所有的寄存器都在功耗计算后、采样序列结束时更新。因此,应将回读之间的时间设为大于采样时间。该时间可使用以下公式从表1中计算得出:

最小回读时间 = [均值数 × (电压
样本
+ 电流样本 + 可选电压样本)] +
功耗计算时间

结论

ADM1275、ADM1276和ADM1075提供不同的电压、电流和功率监控组合。每个器件的采样顺序、ADC寄存器更新位置和ADC时序存在细微差异。应注意这些差异,以优化PMBus处理,实现最大数据速率并避免重复样本。

优化数据回读时,最小 I2C 数据速率和最小总线空闲时间(仅ADM1275)是关键特性,例如器件的数据后处理在外部完成时(在微处理器中)。在类似这样的情况下,用户需要设置单个均值采样,且必须从器件回读每个样本。在大部 分需要器件均值计算的情况下,不需要进行这种程度的回读优化。

当时序是关键因素时, GPIO1/ALERT1/CONV 引脚的CONV功能有助于同步采样。在ADM1275上,当需要一些 总线空闲时间来优化回读时,可使用CONV引脚功能来延迟ADC采样,以使其他 I2C 活动出现在初始回读命令之后。

作者

Paul O'Sullivan

Paul O'Sullivan

Paul O'Sullivan是位于爱尔兰利默里克的ADI 线性与精密技术业务部门的一位应用工程师。他现在负责为开关/多路复用器产品系列提供支持,之前他负责为ADI的电源管理产品系列提供支持。他于2004 年加入ADI公司,拥有科克大学的电气与电子工程学士学位和利默里克大学的工程硕士学位。