翻译:林立明 QQ:736774042
多风扇控制芯片
MAX6651
中文数据手册
翻译:林立明 QQ:736774042
一、 从机地址
设备地址可以设置为四个不同的值之一,通过硬件编址可以使多个 MAX6651 连接到
同一条 SMBus/I2C 总线而不产生地址冲突。具体通过将 ADD 引脚(pin8,芯片示意图见前
一页)连接到不同电平来实现,如下图所示:
举例而言,如果 ADD 引脚接到 VCC,则芯片的地址被固定为 1001 011(七位地址码,
即 0x96)。(这部分工作由电路设计者负责完成,然后与程序设计人员沟通)
二、 读写时序
此处假设读者已经理解 SMBus/I2C 总线,对 MAX6651 的读写时序作说明如下:
1、 写时序
主控芯片,比如 C8051F 单片机(后面简称 MCU)发起传输(Start)->MCU 发送七位
从机地址+写标志位->收到地址匹配 MAX6651 的响应 ACK->MCU 发送欲写入 MAX6651
寄存器的 8 位地址(COMMAND)->收到 MAX6651 的响应 ACK->MCU 发送待写数据字节
(DATA)->收到 MAX6651 的响应 ACK->停止传输
2、 读时序
分两部分进行:
MCU 发 起 传 输 ( Start ) ->MCU 发 送 七 位 从 机 地 址 + 写 标 志 位 -> 收 到 地 址 匹 配
MAX6651 的响应 ACK->MCU 发送欲读取 MAX6651 寄存器的 8 位地址(COMMAND)->
收到 MAX6651 的响应 ACK
MCU 重新发起传输(Start)->MCU 发送七位从机地址+读标志位->收到地址匹配
MAX6651 的响应 ACK->MCU 读取 MAX6651 发送的选定寄存器的数据字节( DATA)-
>MCU 发送结束响应标志 NACK->停止传输
翻译:林立明 QQ:736774042
三、 寄存器地址
如下图所示,第一列为寄存器名称,第二列为寄存器地址,第五列为寄存器系统默认
值,第六列为寄存器功能说明:
举 例 而 言 , 欲 对 CONFIG 寄 存 器 进 行 读 写 , 则 发 送 的 地 址 ( 即 传 输 协 议 中 的
COMMAND 值)为 0000 0010(即 0x02)。
四、 SPEED 寄存器
对 SPEED 寄存器进行设置,可以使风扇工作在相应的速度下,下表给出了 SPEED 中
不同值(Ktach)对应的风扇转速:
举例而言,如果选定的缩放因子(Kscale)为 4(后面应用实例会说明),且 SPEED
寄存器写入值为 0001 1110(即 0x1E),则风扇稳定后将运行在 7700rpm(7700 转/每分
钟)。
反过来说,欲使风扇工作于某个转速 Fan Speed,可通过查表获得应写入 SPEED 寄存
器的值 Ktach,比如目标速度 3700rpm,缩放因子 Kscale 为 4,则 Ktach 为 0100 0000(即
0x40)。
如果需要的速度表格中没有,则可根据以下两个公式来计算 Ktach:
tTACH=1/(2*Fan Speed)-------------------------(1)其中 Fan Speed 为目标速度(rps)
Ktach=(tTACH*Kscale*fCLK/128)-1----------(2)其中 fCLK=254kHz=254000Hz
五、 CONFIG 寄存器
bit7、bit6 无定义;bit5-bit4 用于设置操作模式,00(默认值)-全速运行、01-风扇停
止、10-闭环模式、11-开环模式;bit3 用于区分风扇的工作电压,0-5V、1(默认值)-
12V;bit2-bit0 用于选择缩放因子 Kscale,对应关系见下表:
翻译:林立明 QQ:736774042
举例而言,若选取 Kscale 为 4(默认值),使用的风扇的工作电压为 12V,采用闭环
控制模式(Close loop),则写入 CONFIG 的值为 0010 1010(即 0x2a)。
六、 COUNT 寄存器
全称 Tachometer Count-Time Register(计速器计数时间寄存器),用于定义计速器
(Tachometer)对风扇脉冲计数的持续时间,即计数周期 tCOUNT。在一个 tCOUNT 里,
计速器计数范围为 0-255(0xFF),即使一个周期里输入的脉冲数目(由风扇转动时产
生)超过 255,MAX6651 将依然返回 255,同时对溢出警报相关寄存器 ALARM 进行置位。
可见,正确设置 COUNT 寄存器至关重要,它将保证即使风扇工作在最大速度时,计速器
也不至于溢出,始终给出风扇准确的实时转速。对应关系如下表所示:
表格的使用方式很简单,只需根据以下公式计算出最小方案后查表确定 COUNT 寄存
器的写入值:
Max Fan Speed(rps)=255/(2*tCOUNT)-----------------------(3)
Min Resolution(rps)=1/(2*tCOUNT)--------------------------(4)
举例而言,假设使用的风扇最大转速为 13000rpm,即 216.667rps,根据公式(3)计算
得到 tCOUNT=255/(2* Max Fan Speed)=255/(2* 216.667)=0.5885,根据公式(4)计算
得到 Min Resolution=0.85 约等于 1.0,对照表格,选择第二个值,即 COUNT 寄存器写入值
Kcount 为 0000 0001(0x01)。
具体地说,公式(3)是为了计算上限值,确保不溢出(216.667<256<512);公式
(4)是为了计算最小值,确保精度。很容易理解,如果选择 Kcount=0000 0010,则适合的
风 扇 最大 值 仅 为 128rps , 对 13000rpm ( 216rps ) 的 风扇 而言, 必 然 溢出 ;如 果选 择
评论1
最新资源