核心驅動程式 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 網站公開獲取

作者

描述

此驅動程式支援的晶片非常相似。它們之間的唯一區別在於晶片上電後的預設行為。MAX31827 的故障佇列設定為 1,而其他兩個晶片的故障佇列設定為 4。此外,MAX31829 的報警活動狀態為高電平,而其他兩個晶片的報警在低電平有效。需要注意的是,這些晶片可以透過一次寫入配置暫存器的操作來配置為相同的操作方式。從現在開始,我們將把所有這些晶片都稱為 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。一旦 OT 狀態因超過 TH 而設定為 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 屬性,它表示輸入溫度以毫攝氏度為單位的變化。

  • 1000 毫攝氏度 -> 8 位

  • 500 毫攝氏度 -> 9 位

  • 250 毫攝氏度 -> 10 位

  • 62 毫攝氏度 -> 12 位 (預設) - 實際上是 62.5,但檔案返回 62

當晶片處於關機模式且請求讀取操作時,會觸發一次性轉換,裝置等待 <轉換時間> 毫秒,之後才讀取溫度值暫存器。請注意,轉換時間向上取整到最近的可能整數。

溫度值的 LSB 為 0.0625 攝氏度,但溫度值以毫度顯示。這意味著一些資料會丟失。兩個連續值之間的步長為 62 或 63。這種效應在寫入報警值時也可以看到。對於正數,使用者輸入值將始終向下舍入到最近的可能值;對於負數,使用者輸入將始終向上舍入到最近的可能值。

當 SCL 保持低電平超過 30 毫秒(標稱)時,匯流排超時會復位 I2C 相容介面。

報警極性決定報警的活動狀態是低電平還是高電平。兩種設定的行為都取決於故障佇列設定。ALARM 引腳是開漏輸出,需要上拉電阻才能工作。

故障佇列位選擇在相應的狀態位中指示過溫或欠溫故障之前必須發生多少次連續的溫度故障。

PEC 支援

讀取暫存器值時,PEC 位元組由晶片計算併發送。

在正常條件下,字資料事務上的 PEC 會顯著增加頻寬使用(讀寫均增加 +33%)。

由於此操作意味著每次事務都會有額外的延遲,PEC 可以透過 sysfs 停用或啟用。只需向“pec”檔案寫入 1 即可啟用 PEC,寫入 0 即可停用它。