电压、电流、功率与能量监控
1. 代表驱动
- INA209/INA2xx/INA238/INA3221;
- LTC2945/LTC2990/LTC4151;
- ADM1177;
- ADC128D818、ADS7828、MCP3021;
- PMBus power monitors。
2. Shunt monitor
1 | bus voltage = measured supply voltage |
有些芯片硬件计算 current/power,驱动仍需配置 calibration register。
3. INA2xx
典型流程:
1 | probe |
shunt 电阻常用 micro-ohm 表示。写错 10 倍会令电流和功率错 10 倍。
4. 多通道
INA3221 等可监控多 rail。channel label 应描述:
- VDD_CPU;
- VDD_GPU;
- VDD_NPU;
- VIN;
- 其它板级 rail。
label 来自 DTS/firmware 或 driver固定表,用户程序应按 label 匹配。
5. ADC voltage
纯 ADC 通常只知道引脚电压。分压电阻和 rail 语义可能在:
- driver platform data;
- Device Tree;
- userspace sensors config。
若通过 IIO,iio_hwmon 把处理后的 channel 暴露为 inN_input。
6. Power average/cap
支持的芯片可提供:
- instant input;
- average;
- averaging interval;
- highest/lowest;
- cap 和 cap alarm。
并非所有名为 power monitor 的设备都能直接硬件限制功率。
7. Energy
energyN_input 是累计值,可能:
- 寄存器 wrap;
- 上电清零;
- 读取清零;
- 由软件积分;
- 睡眠期间停止。
长期统计程序必须处理 wrap/reset。
8. 告警
阈值包括 min/max/lcrit/crit。状态寄存器可能 write-one-to-clear 或 read-to-clear,driver不能因一次 sysfs读取意外丢失关键事件;需遵循芯片语义。
9. 精度
误差来源:
- shunt tolerance/temperature coefficient;
- ADC gain/offset;
- PCB Kelvin routing;
- conversion/averaging;
- integer rounding;
- rail ripple;
- calibration。
HWMON 输出整数不意味着精度达到最后一位。
10. RK3588
源码树中 INA 等驱动可用,但 RK3588 公共 DTS 搜索未显示统一的板载 INA 节点。具体 EVB/产品应以原理图和板级 DTS 为准,不能把 regulator 电压或 PMIC setpoint 当作实际测量值。
正在加载留言…