AN-1135: ADC采样信息ADM1275/ADM1276/ADM1075
简介
ADM1275, ADM1276 和 ADM1075均共用同样的基本模数转换器(ADC)内核和PMBus接口。这些器件在平均计算和ADC寄存器更新方面存在一些细微差异。从ADM1275、ADM1276或ADM1075器件快速读取数据时,也需要考虑一些因素和限制。本应用笔记介绍了每种器件的ADC操作,以及如何将其数据速率提到最高(如需要)。
ADC转换
ADM1275的特点是可通过PMBus接口进行电流和电压回读。图1显示了采样顺序。先对电流进行采样,然后更新电流寄存器。随后对电压进行采样,接着更新电压寄存器。寄存器更新在一个时钟周期内完成。对于ADM1275,用户可以选择是否监控VIN电压或VOUT电压,但无法两者同时监控。
图1. ADM1275 ADC更新,单个样本
图2显示器件上使能均值计算时的电流和电压转换与更新情况。电流寄存器在最终电流样本之后更新,电压寄存器在最终电压样本之后更新。同样,电压转换对应于VIN或VOUT。
图2. ADM1275 ADC更新,器件均值计算
ADM1276和ADM1075都具有功耗测量以及电压和电流监控功能。功耗计算方式为VIN × I,因此,VIN电压始终被采样。用户也可选择采样另一个ADC电压输入。使用ADM1276时,可以测量VOUT电压。完成功耗计算后,所有的电压、电流、功耗和电能寄存器都会更新。详情参见图3。
图3. ADM1276 ADC更新,单个样本
如图4所示,当使能均值计算时,一次功耗和电能计算会在上一次电压和电流采样之后完成。完成这些计算后,所有的寄存器都会更新。
图4. ADM1276 ADC更新,器件均值计算
ADM1075和ADM1276非常相似。电流和电压转换顺序相同。两者的主要差异在于,ADM1276的VOUT测量结果是ADM1075的VAUX测量结果,如图5和图6所示。
图5. ADM1075 ADC更新,单个样本
图6. ADM1075 ADC更新,器件均值计算
图7所示为功耗和电能的计算方法。
图7.功耗和电能计算
平均功耗或累计电能可从器件直接读取。为了实现电能计量功能,需要为实时时钟提供外部微处理器。一定时间内的平均功耗可通过寄存器回读之间的电能变化(ΔE)除以样本变化(寄存器回读之间)计算得出。总电能可以通过将上述结果乘以每个回读的时间戳的时间变化(Δt)计算得出。
图8.计算一定时间内的平均功耗
转换与时序
在大部分使能器件均值计算情况下,ADC时序对用户而言不是主要问题。然而,如果用户希望回读所有的ADC样本,并从外部对数据进行后处理,就必须注意确保捕捉到所有的ADC样本。
第一个例子是使用ADM1275的情况,其中用户回读所有的电流样本。电压和电流转换的总时间最长为305 μs(参见表1)。
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。
图9. ADM1275的最佳电流回读
电流回读命令是三字节或四字节数据,随后是命令代码,具体取决于是否使用分组差错校验(PEC)字节(参见图10)。假定使用了PEC字节,且包含应答和停止位,则命令代码后共有40位数据。因此,I2C 必须在>210 kHz(40位、190 μs 内)的情况下工作,以确保电流回读命令的剩余部分在190 μs内完成。
图10. 读取字和带PEC的读取字
使能均值计算的情况下,将总线空闲时间设为大于电压转换时间。此设置可以确保电流和电压寄存器都在下一个回读命令之前更新(参见图2)。将回读之间的时间设为大于
均值数量 × 305 μs
使用GPIO1/ALERT1/CONV 引脚的CONV功能来同步ADC样本,以确保始终在所需的时间进行采样。这一程序允许在回读命令之后以及下一个ADC采样序列启动之前进行其他 I2C 活动。ADM1276不具备CONV功能。
使用ADM1276和ADM1075时,所有寄存器的更新都出现在采样序列结束时和完成功耗计算后。因此,读取命令的时间并不重要,重要的是命令之间的时间。命令之间的时间必须大于整个采样时间,以避免样本重复(参见图11)。
图11. ADM1276的寄存器回读
同样,使能均值计算时,所有的寄存器都在功耗计算后、采样序列结束时更新。因此,应将回读之间的时间设为大于采样时间。该时间可使用以下公式从表1中计算得出:
最小回读时间 = [均值数 × (电压
样本 + 电流样本 + 可选电压样本)] +
功耗计算时间
结论
ADM1275、ADM1276和ADM1075提供不同的电压、电流和功率监控组合。每个器件的采样顺序、ADC寄存器更新位置和ADC时序存在细微差异。应注意这些差异,以优化PMBus处理,实现最大数据速率并避免重复样本。
优化数据回读时,最小 I2C 数据速率和最小总线空闲时间(仅ADM1275)是关键特性,例如器件的数据后处理在外部完成时(在微处理器中)。在类似这样的情况下,用户需要设置单个均值采样,且必须从器件回读每个样本。在大部 分需要器件均值计算的情况下,不需要进行这种程度的回读优化。
当时序是关键因素时, GPIO1/ALERT1/CONV 引脚的CONV功能有助于同步采样。在ADM1275上,当需要一些 总线空闲时间来优化回读时,可使用CONV引脚功能来延迟ADC采样,以使其他 I2C 活动出现在初始回读命令之后。