内核驱动 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> 编辑/更正。
检测 HP SIO 并在 dc7100 上读取热数据的方法¶
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 摄氏度。
读取转速信息。风扇速度信息位于以下寄存器中
Tach1 |
0x28 |
0x29 |
(目前,这反映了所有系统上的 CPU 风扇速度)。 |
Tach2 |
0x2A |
0x2B |
|
Tach3 |
0x2C |
0x2D |
|
Tach4 |
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)。
配置模式¶
在配置模式下,索引端口位于 CONFIG PORT 地址,数据端口位于索引端口地址 + 1。
通过两个步骤访问所需的配置寄存器
将逻辑设备编号配置寄存器的索引(即 0x07)写入索引端口,然后将所需逻辑设备的编号写入数据端口。
将逻辑设备中所需配置寄存器的地址写入索引端口,然后通过数据端口写入或读取配置寄存器。
- 注意
如果访问全局配置寄存器,则不需要步骤 (a)。
退出配置模式¶
要退出配置状态,请将 0xAA 写入 CONFIG PORT (0x2E)。芯片返回到运行状态。(这很重要)。
编程示例¶
以下是如何读取位于 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) 和设备修订版 (0x21)。
设备 ID 将读取 0x6F(SCH5307-NS 为 0x81,SCH5317 为 0x85)设备修订版当前读取 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