内核驱动 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

分流电压(mV)通道

in1_input

总线电压(mV)通道

curr1_input

电流(mA)测量通道

power1_input

功率(uW)测量通道

shunt_resistor

分流电阻(uOhm)通道(不适用于 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 设置和警报。向任何 *crit 设置写入 0 会清除所有 *crit 设置和警报。