系統(tǒng)設計人員一直致力於改善運算、嵌入式及消費電子系統(tǒng)的穩(wěn)定性和強韌性。如在伺服器管理中,可靠性就顯得特別重要。伺服器的停機、數(shù)據(jù)毀壞和硬體故障都會對公司營運產(chǎn)生直接影響。因此,伺服器製造商設計了系統(tǒng)管理架構(gòu),透過提供分層式管理、自主監(jiān)控和可測量性來提升可靠性。
伺服器管理架構(gòu)所管理的元件,是一些控制和監(jiān)測電壓軌、啟動狀態(tài)和系統(tǒng)冷卻的元件。此外,所管理的元件還提供即時時脈功能,並在非揮發(fā)性記憶體中儲存故障數(shù)據(jù)。為了實現(xiàn)上述功能,通常使用各種功能固定、目的單一的元件。
不過,整合了串列通訊週邊設備的微控制器能為此類應用增值,因為它能讓這些應用更靈活、整合度更高且成本更低。這種解決方案不僅適用於伺服器管理應用,而且也適用於任何著重靈活性、整合度和降低成本的串列通訊應用。
常用的系統(tǒng)管理架構(gòu)
目前常見的系統(tǒng)管理架構(gòu)通常採用單一且功能強大的處理器來進行管理。此類處理器通常是專用積體電路(ASIC)、系統(tǒng)單晶片(SoC)或高性能16位元微控制器。圖1是系統(tǒng)管理架構(gòu)範例,透過I2C匯流排進行通訊。I2C匯流排是目前最通用的匯流排,因為它需要的通訊線數(shù)很少,硬體開銷低,而且能獨立尋址連接在匯流排上的大量元件。
圖1:微處理器系統(tǒng)管理架構(gòu)圖。
在典型的系統(tǒng)管理架構(gòu)中,可將高階處理器視為系統(tǒng)的‘大腦’。它和系統(tǒng)內(nèi)的各元件通訊並進行控制,為用戶決策提供依據(jù)。依照相同考量,可將外部元件視為系統(tǒng)的眼睛和手腳。每個元件的目的單一,且能自主工作,保證系統(tǒng)的可靠性。高階處理器與每個獨立IC進行通訊,以根據(jù)作業(yè)人員的輸入資訊來管理和監(jiān)控系統(tǒng)執(zhí)行狀態(tài)。
圖1所示的各個獨立IC模組展示了部份伺服器系統(tǒng)管理架構(gòu)所負責的功能。電源管理和供電時序在伺服器應用中是必須的,因為ASIC、SoC和其它高階處理元件的上電條件(電壓上升斜率和上電順序)均有明確的規(guī)定。通常,通訊匯流排上的獨立IC會根據(jù)這些元件的規(guī)格管理其上電順序和電壓上升斜率。
熱管理IC會監(jiān)控系統(tǒng)溫度並最佳化風扇轉(zhuǎn)速,使系統(tǒng)保持在特定溫度,以防止熱失控情形,確保溫度不會超過元件規(guī)格。高階處理器能尋址熱管理元件,以便監(jiān)控風扇轉(zhuǎn)速和功能,並調(diào)節(jié)風扇速度使溫度達到設定值。
即時時脈元件用來為數(shù)據(jù)記錄提供準確時間。由於元件具有I2C功能,使時間暫存器可依高階處理器的請求進行讀取。在這種情況下,時間保持功能可自動完成。
在系統(tǒng)關閉時,配置參數(shù)和診斷數(shù)據(jù)都保存在EEPROM中。這將能記錄元件故障參數(shù),找出引起硬體故障的根本原因。根據(jù)具體應用,其他單一目的的IC也可能連接到匯流排上,對系統(tǒng)進行管理。
目前,系統(tǒng)管理的方法是利用各種獨立元件來執(zhí)行。這些獨立元件的靈活性受到其設計規(guī)格的限制。例如,熱管理控制器可測量溫度,並採用開放迴路控制法來控制風扇轉(zhuǎn)速。這對滿足系統(tǒng)管理要求而言或許足夠了;然而,若將來這些要求或規(guī)格產(chǎn)生變化,如要求風扇轉(zhuǎn)速採用封閉迴路控制,那麼就可能需要購買新元件並改變硬體。如果無法找到符合需求的元件,那麼系統(tǒng)開發(fā)人員可能要與ASIC製造商合作,設計專用元件來滿足這些需求─這樣做的成本顯然很高。如果沒有新的元件設計流程,專用元件在增加或改變功能特性上也缺乏靈活性。
微控制器方案
微控制器為現(xiàn)行的系統(tǒng)管理方法提供了另一個可選擇的解決方案。由於小型微控制器整合了整合週邊設備和韌體,所以可用來實現(xiàn)幾乎所有的系統(tǒng)管理功能。除了微控制器,唯一需要的是串列通訊週邊設備,因為典型的系統(tǒng)管理架構(gòu)均使用諸如I2C之類的串列通訊匯流排來管理元件。
許多微控制器除具有內(nèi)部振盪器、可編程記憶體、EEPROM、脈寬調(diào)變(PWM)模組和比較器這些能用於實現(xiàn)各種系統(tǒng)管理功能的模組外,晶片上還具有串列通訊週邊設備。
Microchip的PIC16F886微控制器整合了主同步串列埠(MSSP)模組,支援SPI和I2C硬體,並整合了數(shù)據(jù)EEPROM模組,提供256位元組的非揮發(fā)性記憶體;該晶片還整合了一個比較器和一個類比數(shù)位轉(zhuǎn)換器(ADC),用於測量和監(jiān)控輸入電壓。其輸出可透過捕捉、比較及PWM(CCP)模組進行控制。圖2為PIC16F886的結(jié)構(gòu)圖。
圖2:典型的小型微控制器(如PIC16F886)結(jié)構(gòu)圖。
PIC16F886可實現(xiàn)許多系統(tǒng)管理功能,如熱管理控制器;串列EEPROM;串列ADC;帶日曆的即時時脈等。
熱管理控制器
高性能系統(tǒng)必須進行熱管理。隨著PC、伺服器和視訊轉(zhuǎn)換盒中處理器所含的電晶體數(shù)量不斷成長,對系統(tǒng)冷卻的要求也不斷提升。熱管理控制器可測量機箱內(nèi)部、處理器管芯或風扇通風孔出口的系統(tǒng)溫度。溫度輸出可透過熱感應電阻測量並在軟體中線性化,或從溫度感測器(如Microchip的MCP9700)直接獲得線性輸出。在測得溫度後,熱管理控制器將最佳化風扇轉(zhuǎn)速,使溫度不會超出限定範圍。儘管風扇控制的細節(jié)不在本文討論範圍之內(nèi),不過,典型的三線風扇控制方法是採用低速PWM。改變PWM工作週期,實際上將改變提供給風扇的直流功率,進而控制風扇轉(zhuǎn)速。典型的PWM輸出-溫度關係曲線如圖3所示。
圖3:熱控制器工作週期輸出-溫度。
低頻PWM(10~100Hz)由於頻率太低,無法由硬體PWM週邊設備產(chǎn)生。然而,諸如定時器等其他週邊設備可產(chǎn)生非常精確的低頻PWM,其方法是反覆開關I/O接腳。適當設計微控制器韌體,可動態(tài)地計算最小和最大溫度間的直線斜率。風扇轉(zhuǎn)速可透過測量三線風扇轉(zhuǎn)速計輸出的脈衝時間來計算,轉(zhuǎn)速計輸出能連接到比較器的輸入端,以產(chǎn)生測量中斷。
現(xiàn)有的熱控制器方案很容易被取代。韌體的靈活性使系統(tǒng)設計人員能增加和改進其功能特性。例如,我們討論的熱控制實現(xiàn)方法是開放迴路控制??刂颇繕耸前艳D(zhuǎn)速作為溫度的函數(shù),線性地改變轉(zhuǎn)速。但問題在於,PWM工作週期與風扇轉(zhuǎn)速不成比例。實際上,風扇轉(zhuǎn)速與PWM工作週期的關係根本不是線性的,如圖4所示。數(shù)位設計人員能實現(xiàn)數(shù)位比例-積分-微分(PID)演算法的封閉迴路控制,大幅改善風扇轉(zhuǎn)速與PWM工作週期間的線性度。此外,還可以最佳化PID常數(shù),改進轉(zhuǎn)速的階躍響應,滿足對可聞噪音的要求。
圖4:基於微控制器的風扇轉(zhuǎn)速控制,提供了線性度更好的穩(wěn)態(tài)響應與可編程動態(tài)響應。
其他功能
MSSP模組提供了主從I2C和SPI模式。透過編寫串列元件的韌體和定義其通用RAM(GPR),能完成對數(shù)據(jù)的尋址,尋址方式與現(xiàn)有的串列元件相同。
例如,現(xiàn)有的串列EEPROM元件可用PIC16F886內(nèi)256位元組的數(shù)據(jù)EEPROM來模擬。諸如頁面緩衝和應答輪詢等特性,都可透過微控制器韌體來實現(xiàn),甚至加以改良。採用微控制器韌體和晶片上10位元ADC,可模擬串列ADC元件,還能根據(jù)現(xiàn)有規(guī)格對數(shù)據(jù)進行格式化。最後,PIC16F886也能實現(xiàn)帶日曆的即時時脈,可定義RAM變量使其與現(xiàn)有暫存器映射匹配。僅需的外部硬體是產(chǎn)生精確時基的32.768kHz晶振。微控制器內(nèi)部的低功耗晶振電路能驅(qū)動外部晶振,把訊號轉(zhuǎn)換到定時器週邊設備中,使韌體能適當?shù)馗聲r間暫存器。
利用整合週邊設備,微控制器可實現(xiàn)現(xiàn)有的系統(tǒng)管理功能。Microchip的MSSP串列通訊週邊設備能保護I2C地址。I2C從模式特性允許微控制器週邊設備響應多個地址的尋址。換句話說,一個微控制器能以多個地址出現(xiàn),如同I2C匯流排上的多個元件一樣。這將使上述的所有系統(tǒng)管理功能均能同時在微控制器上實現(xiàn),並具有獨立的可尋址特性。圖5展示了改良後的系統(tǒng)管理架構(gòu)圖,它採用PIC16F886 8位元微控制器。
圖5:改進後的微處理器系統(tǒng)管理架構(gòu)圖。
微控制器優(yōu)勢
採用微控制器實現(xiàn)系統(tǒng)管理功能帶來許多優(yōu)勢,包括靈活性、整合度和低成本。靈活性源於微控制器的可編程性。可編程性允許設計人員根據(jù)規(guī)格定製功能。設計人員可定義RAM變量,使之與串列元件的現(xiàn)有暫存器映射匹配。透過韌體還能提高系統(tǒng)的智慧功能。
在本文討論的例子中,可透過實現(xiàn)封閉迴路控制以改善現(xiàn)有熱控制器的執(zhí)行。採用編碼結(jié)構(gòu)(如軟體狀態(tài)機和看門狗定時器)可保證整合系統(tǒng)的靈活及可靠度??删幊绦阅芤皂g體實現(xiàn)升級,無需採用昂貴的硬體修改或開發(fā)ASIC。此外,元件整合降低了系統(tǒng)總體成本,不用再為單一任務購買IC,僅需一顆小型微控制器就能完成所有任務。
本文小結(jié)
本文提出的解決方案討論了微控制器韌體和週邊設備在實現(xiàn)現(xiàn)有系統(tǒng)管理功能時的靈活性,還討論了整合這些功能的方法。本文闡述的系統(tǒng)可以作為現(xiàn)有方法的替代方案,並帶來更多優(yōu)勢,如節(jié)省成本和改善性能。最重要的是,此類整合系統(tǒng)把控制權(quán)交給了設計人員,設計人員能為應用定製和最佳化解決方案。文中提出的解決方案不僅適合系統(tǒng)管理應用,同時也適用於任何著重靈活性、整合度和成本縮減的串列通訊應用。