内核驱动 nsa320_hwmon

支持的芯片

  • Holtek HT46R065 微控制器,带有板载固件,配置为充当硬件监控器。

    配置为充当硬件监控器。

    前缀:“nsa320”

    扫描地址:无

    数据手册:不可用,驱动程序是根据 Zyxel 内核源代码进行逆向工程的。

    Zyxel 内核源代码

作者

描述

已知此芯片用于 Zyxel NSA320 和 NSA325 NAS 设备,以及 NSA310 的某些变体,但该驱动程序仅在 NSA320 上进行了测试。在所有这些设备中,它都连接到相同的 3 条 GPIO 线,这些线用于提供芯片选择、时钟和数据线。该接口的行为类似于 SPI,但速度远低于通常用于 SPI 的速度。

在每个芯片选择脉冲之后,芯片将生成一个 32 位字,其中包含 0x55 作为标记,指示数据正在正确读取,然后是一个 8 位风扇速度(以 100 RPM 为单位)和一个 16 位温度(以十分之一度为单位)。

sysfs 接口

temp1_input

温度输入

fan1_input

风扇速度

注释

驱动程序中使用的访问时序与 Zyxel 提供的内核中使用的相同。测试表明,如果芯片选择和第一个时钟脉冲之间的延迟从 100 毫秒减少到略低于 10 毫秒,则芯片将不会产生任何输出。如果时钟的任一阶段的持续时间从 100 微秒减少到小于 15 微秒,则数据脉冲很可能被读取两次,从而损坏输出。以上分析基于一个单元的样本,但表明 Zyxel 提供的延迟值包含合理的容差。

该驱动程序包含一个限制,即它不会以快于每秒一次的速度检查更新的值。这是因为硬件读取设备中的数据需要相对较长的时间,并且在读取时会同时读取温度和风扇速度。由于两次快速访问最可能的情况是读取这两个值,因此避免第二次读取延迟是可取的。