2007年5月19日 星期六

整合I2C系統管理功能的小型微控制器

電子工程專輯

系統設計人員一直致力於改善運算、嵌入式及消費電子系統的穩定性和強韌性。如在伺服器管理中,可靠性就顯得特別重要。伺服器的停機、數據毀壞和硬體故障都會對公司營運產生直接影響。因此,伺服器製造商設計了系統管理架構,透過提供分層式管理、自主監控和可測量性來提升可靠性。

伺服器管理架構所管理的元件,是一些控制和監測電壓軌、啟動狀態和系統冷卻的元件。此外,所管理的元件還提供即時時脈功能,並在非揮發性記憶體中儲存故障數據。為了實現上述功能,通常使用各種功能固定、目的單一的元件。

不過,整合了串列通訊週邊設備的微控制器能為此類應用增值,因為它能讓這些應用更靈活、整合度更高且成本更低。這種解決方案不僅適用於伺服器管理應用,而且也適用於任何著重靈活性、整合度和降低成本的串列通訊應用。

常用的系統管理架構

目前常見的系統管理架構通常採用單一且功能強大的處理器來進行管理。此類處理器通常是專用積體電路(ASIC)、系統單晶片(SoC)或高性能16位元微控制器。圖1是系統管理架構範例,透過I2C匯流排進行通訊。I2C匯流排是目前最通用的匯流排,因為它需要的通訊線數很少,硬體開銷低,而且能獨立尋址連接在匯流排上的大量元件。

圖1:微處理器系統管理架構圖。
圖1:微處理器系統管理架構圖。

在典型的系統管理架構中,可將高階處理器視為系統的‘大腦’。它和系統內的各元件通訊並進行控制,為用戶決策提供依據。依照相同考量,可將外部元件 視為系統的眼睛和手腳。每個元件的目的單一,且能自主工作,保證系統的可靠性。高階處理器與每個獨立IC進行通訊,以根據作業人員的輸入資訊來管理和監控 系統執行狀態。

圖1所示的各個獨立IC模組展示了部份伺服器系統管理架構所負責的功能。電源管理和供電時序在伺服器應用中是必須的,因為ASIC、 SoC和其它高階處理元件的上電條件(電壓上升斜率和上電順序)均有明確的規定。通常,通訊匯流排上的獨立IC會根據這些元件的規格管理其上電順序和電壓 上升斜率。

熱管理IC會監控系統溫度並最佳化風扇轉速,使系統保持在特定溫度,以防止熱失控情形,確保溫度不會超過元件規格。高階處理器能尋址熱管理元件,以便監控風扇轉速和功能,並調節風扇速度使溫度達到設定值。

即時時脈元件用來為數據記錄提供準確時間。由於元件具有I2C功能,使時間暫存器可依高階處理器的請求進行讀取。在這種情況下,時間保持功能可自動完成。

在系統關閉時,配置參數和診斷數據都保存在EEPROM中。這將能記錄元件故障參數,找出引起硬體故障的根本原因。根據具體應用,其他單一目的的IC也可能連接到匯流排上,對系統進行管理。

目前,系統管理的方法是利用各種獨立元件來執行。這些獨立元件的靈活性受到其設計規格的限制。例如,熱管理控制器可測量溫度,並採用開放迴 路控制法來控制風扇轉速。這對滿足系統管理要求而言或許足夠了;然而,若將來這些要求或規格產生變化,如要求風扇轉速採用封閉迴路控制,那麼就可能需要購 買新元件並改變硬體。如果無法找到符合需求的元件,那麼系統開發人員可能要與ASIC製造商合作,設計專用元件來滿足這些需求─這樣做的成本顯然很高。如 果沒有新的元件設計流程,專用元件在增加或改變功能特性上也缺乏靈活性。

微控制器方案

微控制器為現行的系統管理方法提供了另一個可選擇的解決方案。由於小型微控制器整合了整合週邊設備和韌體,所以可用來實現幾乎所有的系統管理功能。除了微控制器,唯一需要的是串列通訊週邊設備,因為典型的系統管理架構均使用諸如I2C之類的串列通訊匯流排來管理元件。

許多微控制器除具有內部振盪器、可編程記憶體、EEPROM、脈寬調變(PWM)模組和比較器這些能用於實現各種系統管理功能的模組外,晶片上還具有串列通訊週邊設備。

Microchip的PIC16F886微控制器整合了主同步串列埠(MSSP)模組,支援SPI和I2C硬體,並整合了數據EEPROM 模組,提供256位元組的非揮發性記憶體;該晶片還整合了一個比較器和一個類比數位轉換器(ADC),用於測量和監控輸入電壓。其輸出可透過捕捉、比較及 PWM(CCP)模組進行控制。圖2為PIC16F886的結構圖。

">
圖2:典型的小型微控制器(如PIC16F886)結構圖。

PIC16F886可實現許多系統管理功能,如熱管理控制器;串列EEPROM;串列ADC;帶日曆的即時時脈等。

熱管理控制器

高性能系統必須進行熱管理。隨著PC、伺服器和視訊轉換盒中處理器所含的電晶體數量不斷成長,對系統冷卻的要求也不斷提升。熱管理控制器可 測量機箱內部、處理器管芯或風扇通風孔出口的系統溫度。溫度輸出可透過熱感應電阻測量並在軟體中線性化,或從溫度感測器(如Microchip的 MCP9700)直接獲得線性輸出。在測得溫度後,熱管理控制器將最佳化風扇轉速,使溫度不會超出限定範圍。儘管風扇控制的細節不在本文討論範圍之內,不 過,典型的三線風扇控制方法是採用低速PWM。改變PWM工作週期,實際上將改變提供給風扇的直流功率,進而控制風扇轉速。典型的PWM輸出-溫度關係曲 線如圖3所示。

">
圖3:熱控制器工作週期輸出-溫度。

低頻PWM(10~100Hz)由於頻率太低,無法由硬體PWM週邊設備產生。然而,諸如定時器等其他週邊設備可產生非常精確的低頻PWM,其方法 是反覆開關I/O接腳。適當設計微控制器韌體,可動態地計算最小和最大溫度間的直線斜率。風扇轉速可透過測量三線風扇轉速計輸出的脈衝時間來計算,轉速計 輸出能連接到比較器的輸入端,以產生測量中斷。

現有的熱控制器方案很容易被取代。韌體的靈活性使系統設計人員能增加和改進其功能特性。例如,我們討論的熱控制實現方法是開放迴路控制。 控制目標是把轉速作為溫度的函數,線性地改變轉速。但問題在於,PWM工作週期與風扇轉速不成比例。實際上,風扇轉速與PWM工作週期的關係根本不是線性 的,如圖4所示。數位設計人員能實現數位比例-積分-微分(PID)演算法的封閉迴路控制,大幅改善風扇轉速與PWM工作週期間的線性度。此外,還可以最 佳化PID常數,改進轉速的階躍響應,滿足對可聞噪音的要求。

">
圖4:基於微控制器的風扇轉速控制,提供了線性度更好的穩態響應與可編程動態響應。

其他功能

MSSP模組提供了主從I2C和SPI模式。透過編寫串列元件的韌體和定義其通用RAM(GPR),能完成對數據的尋址,尋址方式與現有的串列元件相同。

例如,現有的串列EEPROM元件可用PIC16F886內256位元組的數據EEPROM來模擬。諸如頁面緩衝和應答輪詢等特性,都可透 過微控制器韌體來實現,甚至加以改良。採用微控制器韌體和晶片上10位元ADC,可模擬串列ADC元件,還能根據現有規格對數據進行格式化。最後, PIC16F886也能實現帶日曆的即時時脈,可定義RAM變量使其與現有暫存器映射匹配。僅需的外部硬體是產生精確時基的32.768kHz晶振。微控 制器內部的低功耗晶振電路能驅動外部晶振,把訊號轉換到定時器週邊設備中,使韌體能適當地更新時間暫存器。

利用整合週邊設備,微控制器可實現現有的系統管理功能。Microchip的MSSP串列通訊週邊設備能保護I2C地址。I2C從模式特 性允許微控制器週邊設備響應多個地址的尋址。換句話說,一個微控制器能以多個地址出現,如同I2C匯流排上的多個元件一樣。這將使上述的所有系統管理功能 均能同時在微控制器上實現,並具有獨立的可尋址特性。圖5展示了改良後的系統管理架構圖,它採用PIC16F886 8位元微控制器。

圖5:改進後的微處理器系統管理架構圖。
圖5:改進後的微處理器系統管理架構圖。

微控制器優勢

採用微控制器實現系統管理功能帶來許多優勢,包括靈活性、整合度和低成本。靈活性源於微控制器的可編程性。可編程性允許設計人員根據規格定製功能。設計人員可定義RAM變量,使之與串列元件的現有暫存器映射匹配。透過韌體還能提高系統的智慧功能。

在本文討論的例子中,可透過實現封閉迴路控制以改善現有熱控制器的執行。採用編碼結構(如軟體狀態機和看門狗定時器)可保證整合系統的靈活 及可靠度。可編程性能以韌體實現升級,無需採用昂貴的硬體修改或開發ASIC。此外,元件整合降低了系統總體成本,不用再為單一任務購買IC,僅需一顆小 型微控制器就能完成所有任務。

本文小結

本文提出的解決方案討論了微控制器韌體和週邊設備在實現現有系統管理功能時的靈活性,還討論了整合這些功能的方法。本文闡述的系統可以作為 現有方法的替代方案,並帶來更多優勢,如節省成本和改善性能。最重要的是,此類整合系統把控制權交給了設計人員,設計人員能為應用定製和最佳化解決方案。 文中提出的解決方案不僅適合系統管理應用,同時也適用於任何著重靈活性、整合度和成本縮減的串列通訊應用。

作者:Brian Claveria

應用工程師

安全、微控制器及技術開發部

Microchip Technology

沒有留言: