内核驱动 ina2xx

支持的芯片

  • 德州仪器 INA219

    前缀:‘ina219’ 地址:I2C 0x40 - 0x4f

    数据手册:可在德州仪器网站上公开获取

  • 德州仪器 INA220

    前缀:‘ina220’

    地址:I2C 0x40 - 0x4f

    数据手册:可在德州仪器网站上公开获取

  • 德州仪器 INA226

    前缀:‘ina226’

    地址:I2C 0x40 - 0x4f

    数据手册:可在德州仪器网站上公开获取

  • 德州仪器 INA230

    前缀:‘ina230’

    地址:I2C 0x40 - 0x4f

    数据手册:可在德州仪器网站上公开获取

  • 德州仪器 INA231

    前缀:‘ina231’

    地址:I2C 0x40 - 0x4f

    数据手册:可在德州仪器网站上公开获取

  • 德州仪器 INA260

    前缀:‘ina260’

    地址:I2C 0x40 - 0x4f

    数据手册:可在德州仪器网站上公开获取

  • 矽力杰 SY24655

    前缀:‘sy24655’

    地址:I2C 0x40 - 0x4f

    数据手册:可在矽力杰网站上公开获取

作者:Lothar Felten <lothar.felten@gmail.com>

描述

INA219 是一款带有 I2C 接口的高侧电流分流器和功率监控器。INA219 可监控分流压降和电源电压,并具有可编程的转换时间和滤波功能。

INA220 是一款带有 I2C 接口的高侧或低侧电流分流器和功率监控器。INA220 可监控分流压降和电源电压。

INA226 是一款带有 I2C 接口的电流分流器和功率监控器。INA226 可监控分流压降和总线电源电压。

INA230 和 INA231 是一款带有 I2C 接口的高侧或低侧电流分流器和功率监控器。这些芯片可监控分流压降和总线电源电压。

INA260 是一款带有集成式分流电阻器的高侧或低侧电流和功率监控器。

SY24655 是一款带有 I2C 接口的高侧和低侧电流分流器和功率监控器。SY24655 支持分流压降和电源电压,并具有可编程的校准值和转换时间。SY24655 还可以计算平均功率,用于能量转换。

分流值(以微欧姆为单位)可以在编译时通过平台数据或设备树设置,也可以在运行时通过 sysfs 中的 shunt_resistor 属性设置。如果使用设备树,请参考 Documentation/devicetree/bindings/hwmon/ti,ina2xx.yaml 以获取绑定信息。

此外,ina226 支持 update_interval 属性,如 sysfs 文件的命名和数据格式标准 中所述。在内部,该间隔是总线和分流电压转换时间之和乘以平均速率。我们不修改转换时间,只修改平均数。update_interval 的下限为 2 毫秒,上限为 2253 毫秒。实际编程的间隔可能与期望值不同。

通用 sysfs 条目

in0_input

分流电压(毫伏)通道

in1_input

总线电压(毫伏)通道

curr1_input

电流(毫安)测量通道

power1_input

功率(微瓦)测量通道

shunt_resistor

分流电阻(微欧姆)通道(不适用于 ina260)

适用于 ina226、ina230、ina231、ina260 和 sy24655 的额外 sysfs 条目

curr1_lcrit

临界低电流

curr1_crit

临界高电流

curr1_lcrit_alarm

电流临界低报警

curr1_crit_alarm

电流临界高报警

in0_lcrit

临界低分流电压

in0_crit

临界高分流电压

in0_lcrit_alarm

分流电压临界低报警

in0_crit_alarm

分流电压临界高报警

in1_lcrit

临界低总线电压

in1_crit

临界高总线电压

in1_lcrit_alarm

总线电压临界低报警

in1_crit_alarm

总线电压临界高报警

power1_crit

临界高功率

power1_crit_alarm

功率临界高报警

update_interval

数据转换时间;影响用于平均分流和总线电压结果的样本数量。

仅适用于 sy24655 的 sysfs 条目

power1_average

从上次读数到当前的平均功率。

注意

  • 在配置 power1_crit 之前,请先配置 shunt_resistor,因为功率值是根据设置的 shunt_resistor 计算的。

  • 由于底层的寄存器实现,只有一个 *crit 设置及其 alarm 可以处于活动状态。写入一个 *crit 设置会清除其他 *crit 设置和报警。将 0 写入任何 *crit 设置会清除所有 *crit 设置和报警。