内核驱动 max31827¶
支持的芯片
Maxim MAX31827
前缀:‘max31827’
扫描地址:I2C 0x40 - 0x5f
数据手册:可在 Analog Devices 网站上公开获取
Maxim MAX31828
前缀:‘max31828’
扫描地址:I2C 0x40 - 0x5f
数据手册:可在 Analog Devices 网站上公开获取
Maxim MAX31829
前缀:‘max31829’
扫描地址:I2C 0x40 - 0x5f
数据手册:可在 Analog Devices 网站上公开获取
- 作者
Daniel Matyas <daniel.matyas@analog.com>
描述¶
此驱动程序支持的芯片非常相似。它们之间的唯一区别在于芯片的默认上电行为。虽然 MAX31827 的故障队列设置为 1,但其他两个芯片的故障队列设置为 4。此外,MAX31829 的报警激活状态为高电平,而其他两个芯片的报警激活状态为低电平。重要的是要注意,可以通过 1 次写入配置寄存器的操作来配置芯片以相同的方式运行。从现在起,我们将所有这些芯片都称为 MAX31827。
MAX31827 实现了一个采用 6 WLP 封装方案的温度传感器。此传感器测量芯片本身的温度。
MAX31827 具有低温和高温警报,具有有效值和迟滞值:低温警报为 -40 度和 -30 度,高温警报为 +100 度和 +90 度。
可以通过设备树在比较器和中断模式下配置警报。在比较器模式下,当温度升高到 TH 值以上或降至 TL 以下时,OT/UT 状态位的值为 1,这也受故障队列选择的影响。当温度降至 TH_HYST 值以下或进入关断模式时,OT 状态返回 0。同样,当温度升高到 TL_HYST 值以上或进入关断模式时,UT 状态返回 0。
在中断模式下,超过 TH 也会将 OT 状态设置为 1,该状态保持设置直到对配置/状态寄存器(最大或最小属性)执行读取操作;此时,它返回 0。一旦由于超过 TH 而将 OT 状态设置为 1 并复位,则仅当温度降至 TH_HYST 以下时,才会再次设置为 1。输出保持断言,直到通过读取将其复位。如果温度升高到 TH 以上,则再次设置,依此类推。相同的逻辑适用于 UT 状态位的操作。
将 MAX31827 置于关断模式也会复位 OT/UT 状态位。请注意,如果在设置 OT/UT 状态位时更改模式,则可能需要复位 OT/UT 状态才能使其开始正常运行。为防止这种情况,建议在更改操作模式之前读取配置/状态寄存器以清除状态位。
可以通过单次功能手动进行转换,也可以通过设置频率自动进行转换。上电时,芯片以 1 次转换/秒的速度测量温度。可以使用芯片的 update_interval 属性修改转换率。转换/秒 = 1/update_interval。因此,根据数据手册,可用的选项为
64000 (ms) = 1 次转换/64 秒
32000 (ms) = 1 次转换/32 秒
16000 (ms) = 1 次转换/16 秒
4000 (ms) = 1 次转换/4 秒
1000 (ms) = 1 次转换/秒(默认)
250 (ms) = 4 次转换/秒
125 (ms) = 8 次转换/秒
在设备已启用时启用设备会产生将转换频率设置为 1 次转换/秒的副作用。转换时间因分辨率而异。
转换时间随着分辨率的每一位增加而加倍。可用的分辨率为
8 位 -> 8.75 毫秒转换时间
9 位 -> 17.5 毫秒转换时间
10 位 -> 35 毫秒转换时间
12 位(默认)-> 140 毫秒转换时间
有一个 temp1_resolution 属性,指示输入温度的单位变化,以毫度 C 为单位。
1000 mC -> 8 位
500 mC -> 9 位
250 mC -> 10 位
62 mC -> 12 位(默认)- 实际上这是 62.5,但 fil 返回 62
当芯片处于关断模式并且请求读取操作时,将触发单次转换,设备等待 <转换时间> 毫秒,然后才读取温度值寄存器。请注意,转换时间向上舍入到最接近的可能整数。
温度值的 LSB 为 0.0625 摄氏度,但温度值以毫度显示。这意味着,会丢失一些数据。2 个连续值之间的步长为 62 或 63。在写入报警值时也可以看到此效果。对于正数,用户输入值将始终向下舍入到最接近的可能值,对于负数,用户输入值将始终向上舍入到最接近的可能值。
当 SCL 为低电平超过 30 毫秒(标称值)时,总线超时会复位与 I2C 兼容的接口。
报警极性确定报警的活动状态是低电平还是高电平。两种设置的行为都取决于故障队列设置。ALARM 引脚是开漏输出,需要上拉电阻才能工作。
故障队列位选择在相应的状态位中指示过温或欠温故障之前必须发生多少个连续的温度故障。
PEC 支持¶
读取寄存器值时,PEC 字节由芯片计算并发送。
在正常情况下,字数据事务的 PEC 代表带宽使用率的显着增加(对于写入和读取都增加 +33%)。
由于此操作意味着每次事务都会有额外的延迟,因此可以通过 sysfs 禁用或启用 PEC。只需将 1 写入“pec”文件即可启用 PEC,将 0 写入即可禁用它。