1. 概述
本报告基于德州仪器(TI)INA226数据手册(SBOS547B),全面总结该36V、16位数字电流、电压和功率监测器的原理、配置与应用。报告核心在于严谨推导其内部计算公式 ,并阐明其通过可编程校准 和片上硬件计算,将复杂模拟测量转化为直接可读工程值的设计哲学。
2. 器件核心架构与测量原理
2.1 功能框图与核心特性
INA226集成了高精度16位Δ-Σ ADC、数字处理引擎及I²C接口。其核心是通过测量分流电阻电压 和总线电压 ,经内部计算直接输出电流、功率值。

- 接口: I²C/SMBus,支持16个可编程地址
- 量程: 总线电压 0-36V;分流电压(即采样电阻两端的电压) ±81.92mV
- 精度: 增益误差最大 0.1%,失调电压最大 10µV
- 供电: 单电源 2.7-5.5V
2.2 电流与功率测量基础
- 电流 : 基于欧姆定律,间接测量分流电阻压降 VSHUNTV_{SHUNT}VSHUNT。
- 功率 : 基于公式 P=I×VP = I \times VP=I×V,由内部计算得出,非直接测量。
- 关键前提 : 必须同时正确连接
VBUS引脚和分流电阻,功率测量与高/低侧检测方式无关。
2.3 高侧与低侧检测
- 高侧检测 : 电阻位于电源与负载间。
- 优点: 可检测负载对地短路(通过检测共模电压接近0V来判断短路)。
- 缺点: 共模电压高,对测量电路要求高。
- 低侧检测 : 电阻位于负载与地间。
- 优点: 电路简单,共模电压低。
- 缺点: 无法检测对地短路,可能引入地平面噪声。
- INA226优势: 支持 0-36V 宽共模电压范围,完美兼容两种配置。
3. 关键配置与参数设计
3.1 采样率与数据更新
内核ADC采样率固定为 500 kHz 。用户通过配置转换时间 (140 µs ~ 8.244 ms)和平均次数(1 ~ 1024),在精度、噪声抑制与数据更新率之间权衡:
更新周期=(分流转换时间+总线转换时间)×平均次数 \text{更新周期} = (\text{分流转换时间} + \text{总线转换时间}) \times \text{平均次数} 更新周期=(分流转换时间+总线转换时间)×平均次数
设计提示:更长的转换时间提供更强数字滤波,提高单次测量精度;更多的平均次数能进一步平滑随机噪声。
3.2 分流电阻 (RSHUNTR_{SHUNT}RSHUNT) 选型
选型是多重约束的权衡过程:
- 量程约束 : IMAX×RSHUNT≤81.92mVI_{MAX} \times R_{SHUNT} \le 81.92 \text{mV}IMAX×RSHUNT≤81.92mV (ADC满量程)。
- 精度考量 : 较大的 RSHUNTR_{SHUNT}RSHUNT 可产生更大的信号幅度,提高信噪比,并降低失调电压带来的相对误差。
- 功耗与温漂 : P=I2×RSHUNTP = I^2 \times R_{SHUNT}P=I2×RSHUNT,需确保电阻额定功率充足,防止温升导致阻值漂移引入误差。
4. 核心公式体系与详细推导
以下推导所用符号与常数定义如下:
- SR,BR,CR,PWR,CALSR, BR, CR, PWR, CALSR,BR,CR,PWR,CAL: 分别对应分流电压、总线电压、电流、功耗、校准寄存器的十进制值。
- CurrentLSBCurrentLSBCurrentLSB: 电流LSB,用户定义。
- RSHUNTR_{SHUNT}RSHUNT: 分流电阻值 (Ω\OmegaΩ)。
- 固定常数 :
- 分流电压 LSB = 2.5×10−6 V/bit2.5 \times 10^{-6} \text{ V/bit}2.5×10−6 V/bit
- 总线电压 LSB = 1.25×10−3 V/bit1.25 \times 10^{-3} \text{ V/bit}1.25×10−3 V/bit
- 功率 LSB = 25×CurrentLSB25 \times CurrentLSB25×CurrentLSB
4.1 公式(2)CR=SR×CAL2048CR = \frac{SR \times CAL}{2048}CR=2048SR×CAL 的推导
目标 : 建立电流寄存器值 CRCRCR 与原始分流电压 SRSRSR 及校准值 CALCALCAL 的关系。
推导步骤:
- 物理关系 : 根据欧姆定律,实际电流 I=VSHUNTRSHUNTI = \frac{V_{SHUNT}}{R_{SHUNT}}I=RSHUNTVSHUNT。
- 寄存器转换 : 分流电压 VSHUNT=SR×2.5×10−6V_{SHUNT} = SR \times 2.5 \times 10^{-6}VSHUNT=SR×2.5×10−6。
- 用户输出定义 : INA226允许用户定义 CurrentLSBCurrentLSBCurrentLSB,使得 I=CR×CurrentLSBI = CR \times CurrentLSBI=CR×CurrentLSB。 (a)\quad \text{(a)}(a)
- 联立上述关系 :
CR×CurrentLSB=SR×2.5×10−6RSHUNT CR \times CurrentLSB = \frac{SR \times 2.5 \times 10^{-6}}{R_{SHUNT}} CR×CurrentLSB=RSHUNTSR×2.5×10−6 - 引入校准寄存器 : 数据手册给出校准公式 CAL=0.00512CurrentLSB×RSHUNTCAL = \frac{0.00512}{CurrentLSB \times R_{SHUNT}}CAL=CurrentLSB×RSHUNT0.00512。 (b)\quad \text{(b)}(b)
将公式 (b)\text{(b)}(b) 变形得 CurrentLSB×RSHUNT=0.00512CALCurrentLSB \times R_{SHUNT} = \frac{0.00512}{CAL}CurrentLSB×RSHUNT=CAL0.00512。 - 代入并求解 CRCRCR :
CR×CurrentLSB=SR×2.5×10−6×CAL0.00512×CurrentLSB CR \times CurrentLSB = SR \times 2.5 \times 10^{-6} \times \frac{CAL}{0.00512}\times CurrentLSB CR×CurrentLSB=SR×2.5×10−6×0.00512CAL×CurrentLSB
注意到 0.00512=2048×2.5×10−60.00512 = 2048 \times 2.5 \times 10^{-6}0.00512=2048×2.5×10−6,代入上式:
CR×CurrentLSB=SR×2.5×10−6×CAL2048×2.5×10−6×CurrentLSB=SR×CAL2048×CurrentLSB CR \times CurrentLSB = SR \times 2.5 \times 10^{-6} \times \frac{CAL}{2048 \times 2.5 \times 10^{-6}} \times CurrentLSB= \frac{SR \times CAL}{2048}\times CurrentLSB CR×CurrentLSB=SR×2.5×10−6×2048×2.5×10−6CAL×CurrentLSB=2048SR×CAL×CurrentLSB
两边同时除以 CurrentLSBCurrentLSBCurrentLSB,即得到:
CR=SR×CAL2048 \boxed{CR = \frac{SR \times CAL}{2048}} CR=2048SR×CAL
结论 :此公式描述了芯片内部利用 CALCALCAL 将原始电压 SRSRSR 转换为电流比例值 CRCRCR 的固定算法。
4.2 公式(3)PWR=CR×BR20000PWR = \frac{CR \times BR}{20000}PWR=20000CR×BR 的推导
目标 : 建立功率寄存器值 PWRPWRPWR 与电流值 CRCRCR、总线电压 BRBRBR 的关系。
推导步骤:
- 物理关系 : 实际功率 P=I×VBUSP = I \times V_{BUS}P=I×VBUS。
- 寄存器转换 :
- 实际电流 I=CR×CurrentLSBI = CR \times CurrentLSBI=CR×CurrentLSB。
- 总线电压 VBUS=BR×1.25×10−3V_{BUS} = BR \times 1.25 \times 10^{-3}VBUS=BR×1.25×10−3。
- 代入物理公式 :
P=(CR×CurrentLSB)×(BR×1.25×10−3)=CR×BR×(CurrentLSB×1.25×10−3)(c) P = (CR \times CurrentLSB) \times (BR \times 1.25 \times 10^{-3}) = CR \times BR \times (CurrentLSB \times 1.25 \times 10^{-3}) \quad \text{(c)} P=(CR×CurrentLSB)×(BR×1.25×10−3)=CR×BR×(CurrentLSB×1.25×10−3)(c) - 用户输出定义 : INA226定义 PowerLSB=25×CurrentLSBPowerLSB = 25 \times CurrentLSBPowerLSB=25×CurrentLSB,使得 P=PWR×PowerLSBP = PWR \times PowerLSBP=PWR×PowerLSB。 (d)\quad \text{(d)}(d)
- 联立 和 :
PWR×(25×CurrentLSB)=CR×BR×(CurrentLSB×1.25×10−3) PWR \times (25 \times CurrentLSB) = CR \times BR \times (CurrentLSB \times 1.25 \times 10^{-3}) PWR×(25×CurrentLSB)=CR×BR×(CurrentLSB×1.25×10−3) - 两边同时除以 CurrentLSBCurrentLSBCurrentLSB 并求解 PWRPWRPWR :
PWR×25=CR×BR×1.25×10−3 PWR \times 25 = CR \times BR \times 1.25 \times 10^{-3} PWR×25=CR×BR×1.25×10−3
PWR=CR×BR×1.25×10−325=CR×BR20000 PWR = CR \times BR \times \frac{1.25 \times 10^{-3}}{25} = \frac{CR \times BR}{20000} PWR=CR×BR×251.25×10−3=20000CR×BR
结论 :此公式描述了芯片内部执行功率乘法的固定算法。常数 200002000020000 来源于固定比率 25/0.0012525 / 0.0012525/0.00125。
4.3 完整公式总结
| 公式编号 | 公式 | 说明 |
|---|---|---|
| (1) | CAL=0.00512CurrentLSB×RSHUNTCAL = \frac{0.00512}{CurrentLSB \times R_{SHUNT}}CAL=CurrentLSB×RSHUNT0.00512 | 校准寄存器计算。用户初始化配置的核心。 |
| (2) | CR=SR×CAL2048CR = \frac{SR \times CAL}{2048}CR=2048SR×CAL | 电流寄存器内部算法。芯片硬件自动执行。 |
| (3) | PWR=CR×BR20000PWR = \frac{CR \times BR}{20000}PWR=20000CR×BR | 功率寄存器内部算法。芯片硬件自动执行。 |
| (4) | Iactual=CR×CurrentLSBI_{actual} = CR \times CurrentLSBIactual=CR×CurrentLSB | 实际电流输出。用户读取后的一次乘法。 |
| (5) | Pactual=PWR×(25×CurrentLSB)P_{actual} = PWR \times (25 \times CurrentLSB)Pactual=PWR×(25×CurrentLSB) | 实际功率输出。用户读取后的一次乘法。 |
| (6) | CurrentLSB≈Imax32768CurrentLSB \approx \frac{I_{max}}{32768}CurrentLSB≈32768Imax | 电流LSB选择指南。最大化分辨率。 |
| (7) | CALcorrected=trunc[CAL×IactualIdevice]CAL_{corrected} = \text{trunc}[ CAL \times \frac{I_{actual}}{I_{device}} ]CALcorrected=trunc[CAL×IdeviceIactual] | 系统级误差补偿。用于生产校准,提升绝对精度。 |
5. 设计流程与高级应用
5.1 初始化与使用流程
- 需求分析 : 确定 ImaxI_{max}Imax, 精度要求, 更新速率。
- 选型 RSHUNTR_{SHUNT}RSHUNT: 基于量程、精度、功耗权衡。
- 确定 CurrentLSBCurrentLSBCurrentLSB : 使用公式 (6) 计算并取整。
- 计算并写入 CALCALCAL : 使用公式 (1)。
- 配置工作模式: 设置转换时间、平均次数等。
- (可选)系统校准 : 使用高精度基准和公式 (7) 修正 CALCALCAL。
- 读取与换算 : 读取 CR,PWRCR, PWRCR,PWR,通过公式 (4) , (5) 获得最终值。
5.2 动态量程切换实现
虽然INA226本身不支持,但可通过外部开关电路实现:
- 方案: 使用MOSFET或继电器切换并联的不同阻值分流电阻。
- 关键点 :
- 切换后必须重新计算并写入新的 CALCALCAL 值 (因 RSHUNTR_{SHUNT}RSHUNT 改变)。
- 需处理切换瞬态,等待测量稳定。
- 需考虑开关导通电阻引入的误差。
6. 设计哲学与总结
INA226的成功源于其清晰的功能划分 和用户友好设计:
- 硬件化复杂计算 : 将高精度的 V/IV/IV/I 转换(公式2)和 I×VI \times VI×V 乘法(公式3)由专用硬件实时完成,解放MCU。
- 一次性系统标定 : 通过可编程的 CALCALCAL 寄存器(公式1),将模拟领域的误差补偿问题,转化为一次性的数字配置问题。经过系统校准(公式7)后,CALCALCAL 值蕴含了整个系统的增益误差补偿。
- 极致灵活性 : 用户定义的 CurrentLSBCurrentLSBCurrentLSB(公式6)允许为每个应用定制最佳的分辨率和量程,而非使用固定、可能不理想的刻度。
- 简单最终接口: 所有复杂计算在芯片内完成,最终呈现给用户的,仅是简单的寄存器读取和一次线性乘法(公式4, 5),极大降低了软件复杂度和开发门槛。
结论 :INA226通过精妙的公式体系(1-7),将高精度模拟测量、实时计算和系统校准的复杂性封装于芯片之内,最终为用户提供一个配置灵活、读数简单、结果精准的数字接口解决方案,是高性能电源监控系统的基石器件。