关于服务器风扇的接口信号

项目组提了一个需求,要用CPLD做一套风扇的控制逻辑,在BMC挂掉或者未启动的时候接管风扇的控制,于是研究了一下风扇的控制逻辑。

1、接口

一般服务器或交换机上的风扇接口都会走以下几种信号:(1)POWER;(2)GND;(3)PWM;(4)TACH/FG;(5)LED。

(1)(2)POWER、GND:风扇上一般都是12V供电的,红线接12V,黑线接GND。不过也有风扇是正负54V供电的,为了获取更强的驱动能力。

(3)PWM:风扇的转速控制一般是通过PWM来控制的,频率一般为25K到50K,占空比从10%到100%可调。PWM引脚的输入匹配电路如下图所示。从图中可以看出在风扇内部事实上是将输入端电平匹配到了3.3V,因此默认情况下风扇都是满速转的。关于PWM对风扇的控制,笔者猜测应该是通过PWM控制内部MOS的开关来调节风扇的输入电压,类似于开关电源的方法来控制输入给电机的电压值,电压越高对应的转速越快。

(4)TACH信号:全称是tachometer,转速表的意思,一些说明书里也被称为FG(Frequency Generator)信号。Tach信号输出的是一个频率可变的方波信号。其原理是,在风扇转子旁边布置了一个霍尔传感器,当电机转动的时候,电机的转子的磁体经过霍尔传感器时,输出一个高电平,经过信号处理后输出一个方波。方波的2个周期的时间就是电机转子转动一圈的时长。因此,电机转速rpm=freq*60/2。

另外,对于BMC来说,其读取风扇转速的原理是使用24M的频率进行采样,设置一个计数器,每一个时钟周期会对计数器+1,直到计满2个周期后,将计数器的值保存在一个名叫TachoValue的寄存器里,然后进程通过读取该寄存器的值即可通过换算获取风扇的转速。

换算公式是RPM=24M*60/(2*TachoValue*TachoClkDivision)

  • 10
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值