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