首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 25-03-03 01:09
  • 3566
  • 6625
blog.csdn.net

项目组提了一个需求,要用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)

注:本文转载自blog.csdn.net的Groom_Jung的文章"https://blog.csdn.net/u011605941/article/details/90453246"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top