溫度感測器在電腦上的應用
現在的PC和筆記本電腦追求執行速度愈來愈快,功能愈來愈多。執行速度愈來愈快代表著單一晶片的工作頻率愈來愈高,功率損耗也就愈來愈大;而功能愈來愈多,意味著許多我們能夠想到的功能的晶片,都被廠商放到主機板上面了。例如:三合一主機板已經將音效卡的晶片和簡單功能的繪圖卡晶片放入主機板了,LAN-on-board的追求代表著未來的主機板已經能提供10/100Mb/s的網路功能,有些高階主機板甚至直接將SCSI晶片也放入主機板中。
速度變快和功能變多的結果就是電源功率需求也變得愈來愈高,從最初的100W到現在的250W/350W。換句話說,整個電腦系統會變得愈來愈熱,散熱的需求也就變得愈來愈重要。在構思散熱方案的同時,正確地偵測系統或單一晶片的溫度也格外地重要。
一、 在PC中,哪些地方會用到溫度感測器?
究竟在PC中最主要的熱量產生的來源有哪些呢?瞭解熱源和為什麼會發熱以後,我們便可以為它們找到解決方案。
1、 CPU - 現在無論是Intel的Pentium 4或是AMD的Athlon CPU都已經超過1GHz。這代表著:如果沒有良好的散熱解決方案,在短短數秒鐘的時間,我們就可以用CPU來煎蛋和煎小香腸了。(詳情請參考 http://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就會有輸出。唯一需要注意的是設定點溫度是由客戶通知供應商(國家半導體),再由供應商在工廠中燒錄而成的。
LM26結構圖 * LM88 -- 精確度為±3℃的溫度調節器
由於LM88和LM86、LM26的設計理念都完全不一樣,所以我們反過來先看LM88的結構圖
在外接的遠距二極體方面有D0+、D-和D1+三支接腳,其實這代表著它可以同時接到兩顆遠距二極體,而且它們的D-是可以共同接在一起以節省腳位數的。此外,雖在LM88中放入Δ-ΣADC(類比-數位轉換器),但是沒有數位的串列介面,這代表著我們不需要透過微處理機或CPU來控制LM88。至於我們所提到的溫度設定點則和LM26一樣,必須要由供應商來燒錄。
五、 結語
雖然在過去的PC和筆記本電腦中,溫度感測器並不起眼,也沒有工程師會去注意它的重要性,更不用說使用者能感覺到它的存在。但是,對整個系統這些重要晶片來說,它是很重要的保護者,尤其是當系統愈來愈高速且愈來愈熱之後,它的重要性也會更加明顯,並且能左右系統的穩定性。希望本文能夠帶給讀者一個清晰的印象,究竟溫度感測器在PC系統中是扮演哪些角色?也希望工程師在驗證系統穩定性時,不妨考慮一下溫度感測器的一些重要參數和功用。
|