在本系列中,已分别介绍过PWM vs. DC风扇控制(系列一)、精确温度量测(系列二)、SST(系列三),以及在上篇文章中介绍了平台环境控制介面(Platform Environmental Control Interface;PECI)协定和数位温度感测器(Digital Thermal Sensor;DTS)。在具备这样的先进技术后,下一步是如何在实际的应用中建置这些工具。 PECI以单线序列式汇流排来支援DTS,相对于温度二极体(Thermal Diodes;TD)来说,这是一个很重要的进步,而且它以与CPU Vtt相同的电压来操作。CPU中的DTS会透过PECI介面来报告晶片的温度,或对内部的风扇控制系统提供温度数值。
要利用PECI和DTS所提供的能力来达到智慧性系统控制,其中一种作法是采用专门支援这些功能的外部晶片。在新的电路中必须使用DTS的输出来得知CPU的温度,而非依赖远端的温度二极体;PECI通讯技术也得被采用来取代SMBus。本文中将探讨一颗外部的晶片如何使用PECI和DTS来达成独立于晶片组的自动风扇速度控制(fan speed control;FSC)。
外部智慧
由Intel所定义的这一代硬体监控(hardware monitor;HWM)和整合式风扇控制(Integrated Fan Control;IFC)ASIC晶片,请参考(图一)(a)所示,此晶片具有一个SMBus介面( SMBDAT和SMBCLK)、一个内部温度二极体,也接受Remote 1和Remote 2介面的输入来获得温度二极体的讯号;此外,它有五个电压辨识(Voltage identification;VID)接脚。图一(b)则同样是一颗整合了HWM和IFC功能的晶片,但它具有使用PECI和DTS的能力。这一代晶片中用于电压辨识的五支接脚(图一(a)中的蓝色标示),晶片被PECI、Vtt输入及三组GPIO暂存器所取代。这样做是因为今日的电压调整器(voltage regulator)是直接从CPU得到输入值,来为处理器产生核心电压,因此VID的功能已不需要了。因此,这三组(GPIO1~3)用不到的接脚能够提供输入、输出、开汲极(open drain)、警示接脚(alarm)、双向性(bi-directional)、中断(interrupt)或其他用途。其他的功能则维持不变。
HWM/IFC使用PECI来获得一个区域中的关键性CPU温度输入、二个远端温度二极体式感测器输入,再加上一个晶片上的温度感测器输入,也就是从总共四组温度的量测中来控制最多四组风扇。每个风扇皆有一组脉冲宽度调变(pulse width modulation;PWM)控制和转速计(tachometer)输入,它们被用在四个独立的区域中,并用来满足主机板热量管理上的所有需求。量测到的温度可以个别被指定或也可以被合并到一个区域(Zone)中。这个系统的功能特色包括每一次量测中的自动风扇速度演算法、电压监控、界限检核(limit checks)和警示状态等。此晶片使用这些功能来降低风扇噪音的音量。在采用DTS的输入来取代温度二极体后,关于本系列二中所提到的噪音干扰、非理想的操作和串联阻抗(series resistance)等问题已不存在了。此晶片使用PECI介面来得知CPU的温度,并将数据放在一个暂存器中,就好像数据是从一个二极体的量测中得来。如(图二)所示,除了PECI的介面外,此晶片还有和SMBus相容的二线数位介面,这和这一代的ASIC晶片作法相似。在这两种晶片中都有一个10-bit Σ-Δ A-to-D转换器,它用来量测两个远端以二极体连接形式的电晶体温度,以及晶片内部的温度。
《图一 (a) aSC7611具有现今世代的硬件监控和整合式风扇控制功能;(b) aSC7621还能接收PECI输入,并使用DTS》 |
|
图一(b)的晶片量测系统规范包括针对远端二极体提供0.25°C温度解析度(temperature resolution)和±1°C的准确性,以及对本地感测器提供0.25°C的温度解析度和±3°C的准确性。远端感测器的温度量测范围在–55°C到+125°C之间(使用2的补数编码方式)。电压量测具有10位元的解析度和±2%的总不可调整误差(total unadjusted error;TUE),风扇转速计则使用90kHz的时脉区段的16位元计算,所有的量测值都有界限警示。
《图二 硬件监控加上整合式风扇控制的Block Diagram,本图蓝色区域是取代图一(a)中现有芯片的蓝色区域功能》 |
|
在风速控制上,ASIC晶片使用一个或三个温度区域的合并资料来控制三个独立的PWM输出,如(图三)所示。不论是在小于100Hz的低频范围或23到30kHz的高频范围,PWM的运作都是可选择的。转速计输入最多可量测四组风扇速度。此外,两组远端二极体可量测绘图晶片组温度、PC电路板上某处的环境温度或气流温度。 ASIC也能容易的接收通用的3904电晶体的讯号来得到量测值。所有的量测值会与界限值和状态暂存器做比较,当任何量测结果超出预设的界限时,就会对系统主机做出警示。这颗晶片使用内部比例电阻来监控VCCP、2.5V、3.3V、5.0V和12V主机板电源的系统电压。
《图三 基于PECI和其他输入来控制四组风扇的外部IC应用示意图》 |
|
为了避免瞬间突波现象(spike transient)和因在电脑中切换元件而产生的噪音等问题,风速控制晶片使用可程式滤波器来处理温度的读取。当温度的量测是发生在对特定温度区域指派读取任务之前时,风扇控制器会进行滤波的动作;一旦这个温度区域的读取任务真的发生了,在对此温度区域的风扇下达指派命令前,滤波动作还会再进行一次。(图四)显示滤波动作的讯号流过程,其中突波和平滑演算(Spike & Smoothing Algorithm)会先产生一个「无突波」(No Spike)数值,这个数值是根据现在和三个先前的数值而来;在移除最高和最低的数值后,再取得剩下的两个数值的平均数。在第二阶段中,用户自行定义滤波器和参数值,以决定温度的平滑数值。
《图四 用于二极管量测和PECI输入的可程序突波和平滑滤波器》 |
|
风速控制运作
风扇速度控制有两种操作模式,即自动风扇(Auto Fan)和最大脉宽调变(Maximum PWM)。如(图五)所示,在自动风扇的模式下,用户的可程式化项目包括风扇温度界限(Fan Temp Limit)、范围(Range)、风扇脉宽调变(Fan PWM),以及对PWM最小值或关闭状况的选择。当超出风扇温度界限时,PWM的工作周期(duty cycle)会随着温度的上升或下降而线性的增加或降低。以图五中的设定为例,当此区域的感测器感测到温度到达58?C时,风扇将以全速的工作周期进行运转。如果任一区域超出绝对的界限(absolute limit)时,所有的PWM输出都被设定为全速的工作周期,以进行最大的散热工作。
《图五 在四个区域中的一个区域里的自动风扇速度控制操作范例》 |
|
最大脉宽调变模式将风扇的速度限制在一般运转条件之下,这样做的目的是要降低风扇所产生的噪音。用户可选择绝对界限和风扇温度界限外加范围(Fan Temp Limit?plus Range)的温度值,可以将其中任一个值设定的比另一个来得高。在(图六)中显示Fan Temp Limit?plus Range是较高的温度设定值,当感测温度一到达可程式的高温界限时,PMW的转速会一下子跳到全速的工作周期。和自动风扇模式相似的是,当温度高于风扇温度界限时,PWM的工作周期会随温度的上升或下降而线性增加或降低。在这两种模式中都确保了安全的散热机制,在噪音的程度上也比上一代采用SMBus控制的架构来得低。
《图六 绝对界限设定低于风扇温度界限外加范围的自动风扇速度控制操作范例》 |
|
加入更多的智慧性和功能
在PECI输入和DTS讯号的帮助下,采用外部晶片可以获得比过去SMBus和温度二极体架构更佳的风扇建置与噪音控制程度。虽然在本文中所讨论的功能已可做出智慧型风扇,但若再使用系列三中所提到的SST连结,就能再增加更多的智慧性,也就是以取代转速(tach)和PWM讯号的方式来改善通讯效能。在PECI的延展性基础下,多颗CPU可以在不增加脚接的情况下连到相同的汇流排。这两种先进功能的整合为新的散热和噪音控制功能打开了一扇大门。(作者为Andigilog产品应用工程师)