核心驅動 adm9240

支援的晶片

作者

介面

上面列出的 I2C 地址假定 BIOS 沒有更改晶片的 MSB 5 位地址。每個晶片都報告一個唯一的製造商識別碼以及晶片修訂版/步進級別。

描述

[來自 ADM9240] ADM9240 是一個完整的系統硬體監視器,適用於基於微處理器的系統,提供最多四個電源和兩個處理器核心電壓的測量和限制比較,以及溫度、兩個風扇速度和機箱入侵。 測量值可以透過 I2C 相容的序列系統管理匯流排讀出,並且限制比較的值可以透過相同的序列匯流排進行程式設計。 高速逐次逼近 ADC 允許頻繁取樣所有模擬通道,以確保對任何超出限制的測量做出快速中斷響應。

ADM9240、DS1780 和 LM81 是暫存器相容的,以下細節是這三個晶片共有的。 晶片差異在本節後描述。

測量

測量週期

adm9240 驅動程式的最快測量讀取速度為每兩秒一次。 使用者空間讀取 sysfs 介面的速度可能快於測量更新速率,並將收到來自最近一次測量的快取資料。

ADM9240 具有非常快的 320us 溫度和電壓測量週期,以及獨立的風扇速度測量週期,該週期會計算風扇轉速輸入的交替上升沿。

DS1780 測量週期約為每秒一次,包括風扇速度。

LM81 測量週期約為每 400 毫秒一次,包括風扇速度。 不支援 LM81 12 位擴充套件溫度測量模式。

溫度

片上溫度報告為攝氏度,採用 9 位有符號資料,解析度為 0.5 攝氏度。 高低溫限制是 8 位有符號資料,解析度為 1 攝氏度。

一旦溫度超過上限,就會發出溫度警報,並且當溫度降至 temp1_max_hyst 值以下時,警報會被清除。

風扇速度

提供兩個風扇轉速輸入,ADM9240 透過分頻器將內部 22.5kHz 時鐘門控到 8 位計數器。 風扇速度 (rpm) 的計算公式為

rpm = (22500 * 60) / (count * divider)

自動風扇時鐘分頻器

  • 使用者將 0 設定為 fan_min 限制

    • 停用低速警報

    • 風扇時鐘分頻器未更改

    • 啟用自動風扇時鐘調節器以進行有效的風扇速度讀取

  • 使用者將 fan_min 限制設定得太低

    • 啟用低速警報

    • 風扇時鐘分頻器設定為最大值

    • fan_min 設定為暫存器值 254,對應於 adm9240 上的 664 rpm

    • 如果風扇速度低於最小可測量速度,則會發出低速警報

    • 停用自動風扇時鐘調節器

  • 使用者設定合理的風扇速度

    • 啟用低速警報

    • 風扇時鐘分頻器設定為適合 fan_min

    • 啟用自動風扇時鐘調節器:調整 fan_min

  • 使用者設定不合理的高低風扇速度限制

    • 低速限制的解析度可能會降低

    • 將發出警報

    • 啟用自動風扇時鐘調節器:調整 fan_min

  • 在自動風扇時鐘分頻器調節器將風扇速度時鐘分頻器恢復到晶片測量範圍之前,風扇速度可能會顯示為零,這將在幾個測量週期內發生。

模擬輸出

模擬輸出提供 0 到 1.25 伏的訊號,用於外部風扇速度放大器電路。 模擬輸出在上電或重置時設定為最大值。 這在測試 Intel SE440BX-2 上沒有多大作用。

電壓監控


電壓 (IN) 測量在內部進行縮放

編號

標籤

標稱

mV

最大值

mV

解析度

mV

0

+2.5V

2500

3320

13.0

1

Vccp1

2700

3600

14.1

2

+3.3V

3300

4380

17.2

3

+5V

5000

6640

26.0

4

+12V

12000

15940

62.5

5

Vccp2

2700

3600

14.1

該讀數是一個無符號 8 位值,標稱電壓測量由 192 的讀數表示,即測量範圍的 3/4。

對於低於或高於設定限制的任何電壓,都會發出警報。

驅動程式報告並接受縮放到上表的電壓限制。

VID 監控

該晶片有五個輸入,用於讀取 5 位 VID,並報告基於檢測到的 CPU 型別的 mV 值。

機箱入侵

當 CI 引腳變為高電平時,會發出警報。 ADM9240 資料表提供了一個外部溫度感測器驅動該引腳的示例。 在 Intel SE440BX-2 上,機箱入侵頭連線到常開開關。

ADM9240 在此線上提供一個內部開漏,並且可以輸出 20 毫秒的低電平有效脈衝來重置外部機箱入侵鎖存器。

透過向 sysfs intrusion0_alarm 檔案寫入值 0 來清除 CI 鎖存器。

警報標誌報告為 16 位字

標籤

註釋

0

+2.5 V_Error

超過高限或低限

1

VCCP_Error

超過高限或低限

2

+3.3 V_Error

超過高限或低限

3

+5 V_Error

超過高限或低限

4

Temp_Error

溫度錯誤

6

FAN1_Error

超過風扇低限

7

FAN2_Error

超過風扇低限

8

+12 V_Error

超過高限或低限

9

VCCP2_Error

超過高限或低限

12

Chassis_Error

CI 引腳變為高電平

剩餘位被保留,因此未定義。 重要的是要注意,警報位可以在讀取時清除,使用者空間可以鎖存警報併為終端使用者提供清除警報記憶體的方法。