核心驅動 smsc47b397¶
支援的晶片
SMSC LPC47B397-NC
SMSC SCH5307-NS
SMSC SCH5317
字首: ‘smsc47b397’
掃描的地址:無,從 Super I/O 配置空間讀取地址
資料表:在此檔案中
作者
Mark M. Hoffman <mhoffman@lightlink.com>
Utilitek Systems, Inc.
2004 年 11 月 23 日
以下規範描述了 SMSC LPC47B397-NC [1] 感測器晶片(沒有公開的資料表)。本文件由 Craig Kelly (In-Store Broadcast Network) 提供,並由 Mark M. Hoffman 編輯/更正<mhoffman@lightlink.com>.
在 dc7100 上檢測 HP SIO 和讀取熱資料的方法¶
dc7100 上的熱資訊包含在 SIO 硬體監視器 (HWM) 中。 這些資訊透過索引/資料對訪問。索引/資料對位於 HWM 基址 + 0 和 HWM 基址 + 1。HWM 基址可以從邏輯裝置 8 的暫存器 0x60 (MSB) 和 0x61 (LSB) 獲取。目前,我們使用 0x480 作為 HWM 基址,0x480 和 0x481 作為索引/資料對。
讀取溫度資訊。溫度資訊位於以下暫存器中
Temp1 |
0x25 |
(目前,這反映了所有系統上的 CPU 溫度)。 |
Temp2 |
0x26 |
|
Temp3 |
0x27 |
|
Temp4 |
0x80 |
程式設計示例 以下是如何讀取 HWM 溫度暫存器的示例
MOV DX,480H
MOV AX,25H
OUT DX,AL
MOV DX,481H
IN AL,DX
AL 包含十六進位制資料,以攝氏度表示的溫度是十進位制等效值。
例如:如果 AL 包含 0x2A,則溫度為 42 攝氏度。
讀取轉速資訊。風扇速度資訊位於以下暫存器中
轉速1 |
0x28 |
0x29 |
(目前,這反映了所有系統上的 CPU 風扇速度)。 |
轉速2 |
0x2A |
0x2B |
|
轉速3 |
0x2C |
0x2D |
|
轉速4 |
0x2E |
0x2F |
重要
讀取轉速 LSB 會鎖定轉速 MSB。必須先讀取 LSB。
如何將轉速讀數轉換為 RPM¶
轉速讀數 (TCount) 由下式給出:(轉速 MSB * 256) + (轉速 LSB) SIO 計算每轉 90kHz (11.111us) 脈衝的數量。 RPM = 60/(TCount * 11.111us)
示例
Reg 0x28 = 0x9B
Reg 0x29 = 0x08
TCount = 0x89B = 2203
RPM = 60 / (2203 * 11.11111 E-6) = 2451 RPM
獲取 SIO 版本。
配置序列¶
要對配置暫存器進行程式設計,必須遵循以下順序: 1. 進入配置模式 2. 配置配置暫存器 3. 退出配置模式。
進入配置模式¶
要將晶片置於配置狀態,配置金鑰 (0x55) 將寫入 CONFIG PORT (0x2E)。
配置模式¶
在配置模式下,INDEX PORT 位於 CONFIG PORT 地址,DATA PORT 位於 INDEX PORT 地址 + 1。
所需的配置暫存器分兩步訪問
將邏輯裝置編號配置暫存器的索引(即 0x07)寫入 INDEX PORT,然後將所需的邏輯裝置編號寫入 DATA PORT。
將邏輯裝置中所需配置暫存器的地址寫入 INDEX PORT,然後透過 DATA PORT 寫入或讀取配置暫存器。
- 注意
如果訪問全域性配置暫存器,則不需要步驟 (a)。
退出配置模式¶
要退出配置狀態,請將 0xAA 寫入 CONFIG PORT (0x2E)。 晶片返回到 RUN 狀態。(這很重要)。
程式設計示例¶
以下是如何讀取位於 0x20 的 SIO 裝置 ID 的示例
; 進入配置模式 MOV DX,02EH MOV AX,055H OUT DX,AL ; 全域性配置暫存器 MOV DX,02EH MOV AL,20H OUT DX,AL ; 讀取資料 MOV DX,02FH IN AL,DX ; 退出配置模式 MOV DX,02EH MOV AX,0AAH OUT DX,AL
用於識別 dc7100 上的 SIO 的相關暫存器是裝置 ID (0x20) 和裝置 Rev (0x21)。
裝置 ID 將讀取 0x6F(SCH5307-NS 為 0x81,SCH5317 為 0x85),裝置 Rev 目前讀取 0x01
獲取 HWM 基址¶
以下是如何讀取位於邏輯裝置 8 中的 HWM 基址的示例
; ENTER CONFIGURATION MODE
MOV DX,02EH
MOV AX,055H
OUT DX,AL
; CONFIGURE REGISTER CRE0,
; LOGICAL DEVICE 8
MOV DX,02EH
MOV AL,07H
OUT DX,AL ;Point to LD# Config Reg
MOV DX,02FH
MOV AL, 08H
OUT DX,AL;Point to Logical Device 8
;
MOV DX,02EH
MOV AL,60H
OUT DX,AL ; Point to HWM Base Addr MSB
MOV DX,02FH
IN AL,DX ; Get MSB of HWM Base Addr
; EXIT CONFIGURATION MODE
MOV DX,02EH
MOV AX,0AAH
OUT DX,AL