现在的PC和笔记本计算机追求执行速度愈来愈快,功能愈来愈多。执行速度愈来愈快代表着单一芯片的工作频率愈来愈高,功率损耗也就愈来愈大;而功能愈来愈多,意味着许多我们能够想到的功能的芯片,都被厂商放到主机板上面了。例如:三合一主机板已经将声卡的芯片和简单功能的绘图卡芯片放入主机板了,LAN-on-board的追求代表着未来的主机板已经能提供10/100Mb/s的网络功能,有些高阶主机板甚至直接将SCSI芯片也放入主机板中。
速度变快和功能变多的结果就是电源功率需求也变得愈来愈高,从初的100W到现在的250W/350W。换句话说,整个计算机系统会变得愈来愈热,散热的需求也就变得愈来愈重要。在构思散热方案的同时,正确地侦测系统或单一芯片的温度也格外地重要。
一、 在PC中,哪些地方会用到温度传感器?
究竟在PC中主要的热量产生的来源有哪些呢?了解热源和为什么会发热以后,我们便可以为它们找到解决方案。
1、 CPU - 现在无论是Intel的Pentium 4或是AMD的Athlon CPU都已经超过1GHz。这代表着:如果没有良好的散热解决方案,在短短数秒钟的时间,我们就可以用CPU来煎蛋和煎小香肠了。(详情请参考 https://www6.tomshardware.com/cpu/01q3/010917/index.html)
2、 绘图芯片或3D加速芯片 - 随着视觉效果的需求,绘图芯片和计算机游戏所依赖的加速芯片变得功能强大、设计很复杂且执行频率也很高,所以绘图芯片是主机板上产生热量的第二号因素。
3、 电源供应器 - 自从交换式电源供应器普及后,
变压器已经不再是电源部份的主要热量产生来源,而是做大电流切换动作的Power MOSFET。
4、 系统内部的热流(机壳内部) - 我们一般人都会想到PC的机壳那么大,内部的温度再高也高不到那里去。可是正常的常规的半导体组件都只保证可以在摄氏零度到七十度之间工作,若系统内部的散热不良或散热装置工作不佳的话,也会造成系统的不稳定或甚至死机。
5、 PC存储卡(PCMCIA) - 由于PCMCIA控制芯片的负担并不大,所以不会发出许多热量,但真正的凶手是PCMCIA卡本身。理论上,包着铁壳的薄卡片是容易散热的,但是因为PCMCIA卡是完全密合地插入笔记本计算机中,所以没有办法直接散热到外面空气中。
6、 导热管(Heat Pipe) - 本来导热管的发明就是要将热量从CPU带到计算机外部,但是导热管本身也会耗电,再加上出口地方的风扇没有转动的情形下,导热管就会变成另一号危险因素。由于它横跨的区域很大,所以伤害性相对也更大。
7、 其它PC接口设备 - 如:光驱、硬盘机、和喷墨/激光打印机都是容易发热的装置。
二、 减少热量产生和降低温度的方法
方法一:想办法减少在主机板上的每一颗芯片的功率损耗。
这可以从两个地方着手:、从芯片设计上动脑筋,也就是减少逻辑门的总数目(Gate Count)。第二、从半导体制程(Process)上改善。然而,一旦功能确定以后,能够减少的逻辑门数目便有限。如果,我们可以不断地往次微米(Sub-micro)的制程进步,那芯片的工作电压便可以由5伏特,降到3.3/3伏特,甚至可低到2.5伏特或者1.8伏特,那电源功率消耗至少可以减少二倍至三倍以上。
可是,由于改变的是半导体制程,所以研发的时程相对也拉长很多,并且证验费用和初期生产成本都会提高。
方法二:降低执行频率。
在相同的数字电路中,电源消耗和工作频率是成正比的。所以,频率愈高则消耗的功率也愈高。如果我们不让芯片达到那么快的频率,那系统自然也不会产生那么多的热量。这完全不需要额外的成本就可以达到,是省成本的解决方案。但是,使用者买这个等级的PC就是希望能够执行得够快,若降低频率来执行,不会被客户或使用者所接受。
方法三:利用风扇带走热量。
用一台电风扇来吹走热气,我们就可以为计算机解决散热问题,这并不会额外增加多少成本,更重要的是不需要改变整个芯片的设计或制程。
然而,风扇的马达也是相当耗电的,所以何时打开风扇及关掉风扇便是很重要的设计参数,否则我们是可以吹散热气,却达不到省电的效果。
三、 解决方案
虽然Intel极力想从CPU的设计和制程上的改善来减少热的问题,但是在没有散热系统的情形下还是会烧毁。可见得方法三是现阶段不能被取代的解决方案,然而风扇的
开关控制和意外防患更需要温度传感器的协助才能完成。笔者从现在的PC机种所使用的解决方案,选取代表性的几个,供读者参考:
* CPU - LM86(Remote Diode Temp Sensor)
一般的温度传感器(无论是
热敏电阻或IC温度传感器)都需要很长的时间才能够将热传导到传感器的部份。根据National内部的实验结果,从CPU把热传导到空气中,再从空气中传导到温度传感器中,这个过程至少需要20分钟以上的时间。如果散热片(Heat Sink)没装好或风扇没转,不到二分钟的时间,使用者的CPU可能就会烧毁。
所以,CPU厂商(Intel和AMD)将一颗3904埋入芯片中,我们称这颗3904为远程
二极管(Remote Diode),因为它离温度传感器本身很远。于是在短短几个毫秒(mini-second)中,温度传感器便能地侦测到CPU内部的温度了。现在的技术要能做到1℃的度已经不是很难的事,而且会变成PC和笔记本计算机的一个重要的趋势。
在LM86(图1)的运用实例中,通常T_CRIT_A的输出信号用来做过温度保护的功能,我们称之为热保护(Thermal Shutdown)。好处是当Windows或某一个应用程序造成系统死机时,LM86还能保护整个系统。而Alert这个输出信号便可以做为软件中断,以达到ACPI规格的要求。另外,LM86除了能接到CPU的Remote Diode之外,本身内部还有一颗传感器(sensor),可以感测LM86所在的温度。所以,前面所提到的PC的系统温度和笔记本计算机的导热管,便可以使用LM86的本地传感器来侦测,不需要再花额外的成本去买另外一颗温度传感器。
* 绘图芯片或3D加速芯片 - LM26, LM88
通常绘图芯片也是不能被降频来执行的,否则画面会变成慢动作播放一般。那的方法还是加一散热风扇。在这里就有两个方式来激活和关闭风扇了,个是便宜的做法,用LM26来侦测温度(如图2),等达到某一个界便激活风扇,若温度降下来了,便自动关闭风扇。第二是采LM88来设计时髦的4段变速风扇控制器(如图3),让不同温度的状况能够有不同的转速。
* Power MOSFET - LM26
无论是PC的电源供应器或者是笔记本计算机中的DC-DC转换模块,内部都会有一颗很烫的Power MOSFET。虽然电源部份都有一个风扇随时在转动,但是我们必须设想一件事:万一风扇坏掉了,或者内部电路有发生短路的时候,怎么办?利用LM26的过温度保护功能,在极限温度时能够自动关闭电源而达到关闭(Shutdown)或甚至恢复(Recovery)的功能。
* PCMCIA - LM88
LM88本身并不被设计来做为风扇的4段变速控制器,而是能同时侦测二个待测物。一般笔记本计算机的PCMCIA插槽都有两个,所以LM88是用来侦测PCMCIA的选择。由于LM88不需要用软件来控制,所以我们不用担心Windows死机或蓝屏幕(Blue Screen)的问题。
四、 如何使用LM86、LM26和LM88这三颗芯片?
单就上一节的内容,虽然我们了解到这些解决方案可以帮助我解决过热的问题,但许多读者想问如何把这些芯片用到PC系统中?接着,我们来讨论一些如何使用这些芯片的技巧:
* LM86 - 准确度为±1℃的温度传感器
首先,我们从LM86的技术规格资料看LM86所具有的特性。
表1:LM86技术规格表
电源供应电压 3.0V~3.6V
消耗电流 0.8mA
温度感测准确度 ±1℃@60 to 100℃
工作温度 -55℃~ +125℃
ADC分辨率 11位
串行界面 SMBus2.0
封装 SOP-8或MSOP-8
LM86所具有的主要特色是±1℃的准确度和可由数字界面读写内部寄存器(Register),我们先来看看为何LM86能够达到这些功能呢?在图4中我们呈现了LM86内部结构,在左上方的温度感测电路(Temperature Sensor Circuit)中National运用了她所特有的技术,可以增
强远距二极管(Remote Diode)感测的准确度。
另外,中央上方的Δ-ΣADC(模拟-数字转换器)也是增加准确度的重要功臣,我们可以把它想象成在转换时间,将信号取样了数千次,再求得平均值般地将数字信号输出,所以从模拟输入端所带进来的噪声便因此而滤掉了。当我们取得了相当准确的数字信号后,无论我们对它们施予任何数字电路运算,都已经不会再影响准确度了。
在LM86的8支脚中,电源(Power)和接地(Ground)是固定的,而D+/D-是接到CPU的远距二极管,SMBData/SMBClock则接到系统的SMBus上。唯独 /Alert 和 /T_Crit_A比较有争议性,第三节中所描述的应用例子是常用的设计,值得我们注意的是这两支脚都是集电极开路的,所以在外部电路上必须加上提升电阻(Pull up resistor)。
* LM26 -- 度为±3℃的温度调节器
相同地,我们也先瞧瞧LM26的技术规格,再进一步讨论:
在电源部份,我们放宽了输入电源的范围从2.7V到5.5V,也就是说,这一颗芯片并不只是可以用在PC或是笔记本电脑中,它甚至可以用在任何消费性
电子产品及可携式产品上。由于它的功率损耗只有20uA,使用两颗碱性电池(200mA-hr)就可以有一年以上的电池寿命。
表2:LM26技术规格表
电源供应电压 2.7V~5.5V
消耗电流 20uA(40uA)
温度感测准确度 ±3℃
磁现象的温度区间 2℃或10℃
工作温度 -55℃~ +110℃
温度设定点 由供应厂商设定
串行界面 无
封装 SOP-23
200mA-小时/ 20uA = 10000小时 = 416 天 = 1.14年
由于LM26并没有串行界面和微处理机相连接,所以不需要任何的软件支持。在设计时的考虑就更加简单了,只要将电源和地线接上,给予HYST脚位高电位或是低电位,则只要温度达到设定点时,/OS就会有输出。需要注意的是设定点温度是由客户通知供货商(国家半导体),再由供货商在工厂中烧录而成的。
图5:LM26结构图
* LM88 -- 度为±3℃的温度调节器
由于LM88和LM86、LM26的设计理念都完全不一样,所以我们反过来先看LM88的结构图(如图6)。
在外接的远距二极管方面有D0+、D-和D1+三支接脚,其实这代表着它可以同时接到两颗远距二极管,而且它们的D-是可以共同接在一起以节省脚位数的。此外,虽在LM88中放入Δ-ΣADC(模拟-数字转换器),但是没有数字的串行界面,这代表着我们不需要透过微处理机或CPU来控制LM88。至于我们所提到的温度设定点则和LM26一样,必须要由供货商来烧录。
五、 结语
虽然在过去的PC和笔记本计算机中,温度传感器并不起眼,也没有工程师会去注意它的重要性,更不用说使用者能感觉到它的存在。但是,对整个系统这些重要芯片来说,它是很重要的保护者,尤其是当系统愈来愈高速且愈来愈热之后,它的重要性也会更加明显,并且能左右系统的稳定性。希望本文能够带给读者一个清晰的印象,究竟温度传感器在PC系统中是扮演哪些角色?也希望工程师在验证系统稳定性时,不妨考虑一下温度传感器的一些重要参数和功用。