应用笔记 4033

可编程风扇控制器


摘要 : 如今的系统要在越来越小的封装内实现不断增加的性能,系统热耗散成为了一个十分严重的问题。为了避免热关机甚至系统故障,维持适当的温度十分关键。因而,许多系统需要外加风扇来保持足够的空气流通。本应用笔记介绍了风扇控制模块的概况,提供了一个利用MAX6870监控六个风扇的简单控制电路。

风扇模块概述

大型电信、网络系统经常使用高性能处理器,从而在一个简单的机架上实现更多功能。例如,一个曾经支持12条ADSL的线卡现在可以支持64条,之前能够耗散24W (每条ADSL为2W)功率的电路板现在必须耗散128W的功率。用强劲的冷空气气流降低相关热阻,以达到散热要求。

大多数电信系统包含很多风扇。为保证在一个风扇出现故障的情况下系统仍能正常工作,系统经常放置超过理论所需数目的风扇(N+1结构),这样,一个系统可能会用到6至8个风扇。每个风扇都有自己的电源,使风扇可以很容易地替换而不需要关闭整个系统。一个子机架风扇组(图1)可能包括多个风扇模块(譬如6个),它们由-48V电池总线供电,且由一个风扇控制模块统一控制。

图1. 典型的子机架风扇模块
图1. 典型的子机架风扇模块

基本的风扇模块(图2)包含一个隔离型DC-DC转换器,根据风扇类型它可以将-48V电池电压转换成+12V或+24V。在转换器之前使用一个热插拔控制器,允许在系统不掉电的情况下更换风扇。同时每个风扇为控制模块提供一个与转速成比例的数字输出(PWM或PFM)。

图2. 风扇模块的系统框图
图2. 风扇模块的系统框图

这种类型的风扇系统可以有很宽的芯片选择范围。各种各样的热插拔控制器可以满足不同性能级别的需求。譬如,Maxim的MAX5901只提供一个简单的解决方案,而MAX5920则可以提供更高的精度,这两种控制器都可以直接由-48V驱动。隔离电源可以选择MAX5021;内置功率MOSFET的高集成度转换器可以选择MAX5043,它只需要一个变压器、一个电容、一个输出二极管和几个电阻就可以提供50W的输出功率,而且不需要散热片。

风扇控制单元可以集成到系统内部,这种控制方式需要给多个风扇模块提供一个接口,同时还必须能够检测每个风扇模块是否工作正常。当一个风扇出现故障时,它必须能够通知主控制单元。另外,我们还希望它能够诊断并定位究竟是哪个风扇出现了故障。这种控制器可以通过很多方式实现上述功能。例如,通过计时器和分离器件组成的阵列来实现。但随着风扇数量的增加,分离器件的数量也增加,增大设计难度。另外一种方法利用微处理器(µC)的I/O口,可以减少分离器件数目,但需要适当编程。

第三种而且也是相对简单的替代方法是使用高集成度、EEPROM可配置、内置ADC的16位可编程电源排序器/监控器。例如,MAX6870,它包括6路可配置的输入电压检测器、4个通用输入、2个看门狗、8个可编程输出以及4kb用户EEPROM。可以通过I²C兼容串行接口进行读写和编程。除了检测电压、看门狗信号、外部温度以及其他逻辑输入信号外,该器件还能实现诸如风扇控制的功能,最多可同时检测10个风扇。

6风扇控制系统

为了便于阐述,我们先介绍一个风扇的控制系统,然后扩展到6风扇系统。

我们定义报警信号用于判决被检测风扇是否转动。目前大多数风扇都可以提供一个集电极开路输出信号(VOC),它通过一个电阻上拉到外部电压(VS) (本例从4V上拉到30V)。风扇每转一圈,该VOC输出几个(M)幅度在0V到VS间的脉冲(图3)。

图3. 图2风扇模块的输出
图3. 图2风扇模块的输出

如果风扇以每秒N转的速度转动, 则VOC每秒产生N × M个脉冲。输出是一组频率为N × M赫兹的方波。如果将该输出接至MAX6870的一个可编程输入端,当风扇停止转动时MAX6870的其中一个输出端PO_将提供指示。

如果VS = 5V,输出脉冲的范围就是0V到5V。根据风扇停止时的电压(VS或0V),设定输入欠压或过压门限为2.5V,譬如当输入电压高于(低于) 2.5V时监控器输出为“真”。该配置下,当风扇开启时,PO_输出不被触发,输出端产生5V到0V的连续脉冲。如果风扇停止转动,则触发输出,电压将保持高电平或低电平,具体取决于风扇的工作极性设置。

这个方案重要的一点是选择一个尖峰滤波器为每个PO_输出提供合适的时间常数。该滤波器一定要能容忍由于风扇电源抖动造成的频率脉冲突变。对于MAX6870而言,所需的时间常数在25µs到1600ms之间。

例如,当M = 2, N = 54rps时, VOC的脉冲频率为108赫兹,周期为9.26ms。如果需要严格控制风扇,选择PO_抗尖峰时间常数为25ms,大约是1.35转。考虑到风扇电源的波动(以及任何热效应的影响),如果风扇停止转动约2秒钟,则认为风扇已经出现故障。在这个例子中,1.6秒的暂停时间比较合适。这意味着PO_报警会在风扇出现故障后变高(或低,取决于编程设置) 25ms或1.6s。

上述例子说明了一个风扇的控制。对于6风扇系统,仍可使用MAX6870,并扩展到6个输入和6个输出。假设每个风扇模块都有独立的转速输出,我们可以使用上述架构用一个控制器分别控制每路风扇。输出可以定义为开漏和线或方式,提供一路报警信号(图4)。如果需要将信号极性反相或在触发报警前插入额外延时,可以将上述信号连至一个GPI_和多个PO_,并且增大时间常数。

图4. 基于MAX6870电源排序器/监控器的6风扇控制器
图4. 基于MAX6870电源排序器/监控器的6风扇控制器

器件配置通常是一件十分耗时的工作,而MAX6870不需要软件工程师为微处理器或其他器件编程。Maxim提供图形界面的评估板,大大简化了配置过程(图5)。

图5. MAX6870编程界面
图5. MAX6870编程界面

通过简单地指向界面中的某一个模块并输入适当的数值(如输入信号、时序等),工程师可以十分容易地配置MAX6870。经过适当配置后,点击“Load to Memory”按键对芯片装载设置。MAX6870是第一款为复杂系统设计的多输入控制器。由于精度高、易于编程等特点,大大简化了系统设计。

类似文章发表于EEPN 2006年5月。
下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 4033:
应用笔记 4033,AN4033, AN 4033, APP4033, Appnote4033, Appnote 4033