周信譽 陳文俊


摘要:文章首先簡要介紹了健康管理系統平臺的實現和設計背景,然后引出了使用單片機作為MCU實現IPMC的功能,最后詳細說明了該系統的主要框架設計、硬件電路和軟件等。關鍵詞:IPMI;健康管理;單片機
中圖法分類號:TP315文獻標識碼:A
Design and realization of IPMI health management system based on
single chip MCU
ZHOU Xinxing, CHEN Wenjun
(The 34th Research Institute of China Electronics Technology Group Corporation,Guilin,Guangxi 541004,China)
Abstract:Firstly, the paper briefly introduces the realization and design background of the health management system platform, then introduces the function of using single chip microcomputer as MCU to realize IPMC function, and finally explains the main frame design, hardware circuit and software of the system in detail.
Key words: IPMI, health management, single chip microcomputer
1引言
隨著現代系統設備模塊化和冗余備份的廣泛使用,各業務板卡的運行維護、安全穩定、硬件性能指標監測等工作量和難度隨之增加。此前,系統設備的維護監測基本都是人員在機房之中進行,極大耗費了人力物力,效果也不盡理想。因此,如何簡單有效實現各業務板卡的統一管理需求越來越迫切。目前,許多基于IPMI的智能管理平臺被廣泛應用于機箱,可以實時監控和管理各系統設備的運行狀態。而實現IPMI的方式較多,如基于CPLD等邏輯處理器實現以及基于單片機實現。而相對CPLD而言,單片機更具備簡易性、經濟性、內部資源多樣性等優勢。因為單片機具備非常豐富的資源,如MII/RMII,IIC,USART,SPI,ADC,GPIO和定時器等。我們可以使用MII/RMII網絡接口實現PC端的遠程維護;可以不進機房就實現系統的管理監測;可以使用IIC總線實現健康管理單元之間的信息交互;可以使用USART或者SPI實現與業務數據單元的交互;可以使用SPI或者IIC,ADC等實現溫度、電流、電壓的測量;使用定時器等實現PWM信號的輸出,以此控制電機。本文以此為出發點,研究使用單片機作為MCU簡單、有效實現IPMI健康管理智能平臺的系統設計。
IPMI(IntelligentPlatformManagementInterface)是智能平臺管理接口,也是一種開放標準的硬件管理接口。IPMI是由intel,Dell,HP,SuperMicro和NEC等公司發起制定的,它定義了一種通過嵌入式管理子系統進行通信的特定方法;IPMB(IntelligentPlatformManagementBus)則為智能平臺管理總線;IPMC(IntelligentPlatformManagementController)是智能平臺管理控制器,通常由MCU構成。該系統由IPMC進行數據信息的收集獲取、處理成統一格式,然后通過IPMB總線進行傳輸,在IPMI進行統一管理和維護。
2系統總體架構設計
對于智能管理平臺的系統總體架構,目的是實現對硬件的運營和維護,再以單片機為核心構造一套硬件、軟件。首先,智能管理平臺是獨立于主體業務數據的傳輸而存在的,兩者應不能有所干擾。同時,明確該平臺能否在終端上進行操作以及遠程維護。此外,系統維護內容、手段須加以細化。
此前,健康管理模塊和業務數據單元相互依存,兩者幾乎共用一套電源、數據處理單元和器件。因此,若要獨立存在,就必須有一套獨立的電源和處理單元。通常而言,可直接使用背板電源或者DC?DC單獨供電。而針對獨立的處理單元,從處理資源的需求程度而言,完全可由單片機承擔。因此,即使在業務數據單元不工作的情況下,智能平臺依舊可以在線進行維護和操作[1]。
健康管理系統的終端維護依托于單片的MII/RMII接口協議,外面擴展連接一個百兆的物理層芯片,以此可以生成一個基于SNMP協議的IPMI接口,從而使用以太網接口在PC等終端進行操作維護,進而實現遠程管理的目的。也可依托于單片的USART接口協議,使用COM在終端設備進行維護和管理操作。
健康管理平臺的內容方面,主要使用單片機的GPIO,ADC、定時器等功能去實現,具體包括電流、電壓的監測,溫度的管理、電機的控制和反饋、電源的上下電的管理等,也可根據系統的需求,進行靈活擴展。
由此,整套健康管理平臺系統就初具雛形,接下來介紹軟件、硬件的細化部分。
3硬件系統設計
基于總體考慮,我們可將健康管理平臺系統分為子、母兩個部分。母部分的功能設計為IPMI的主體控制部分(CHMC,機箱管理控制器),即控制主單元的健康管理部分,一般僅設計為一個。對于CHMC來說,一方面要實現IPMI的接口功能,另一方面要實現與業務數據主體之間的交互以及對業務數據本單元的健康管理和監測,通過IPMB對子單元的健康管理數據進行收集。而子部分(IPMC)也可稱為業務數據傳輸單元的健康管理部分,數量并非固定,可依據系統的需求進行擴充。相較而言,子部分的要求簡單,對本板業務數據單元進行健康管理即可。然后通過IPMB總線,將信息報送至控制主單元。
綜上,控制單元主要實現對本單元的溫度、電壓電流等的監測;實現電機的控制與監測;實現與業務主體的交互(USART);實現系統平臺的獨立管理(Ethernet);實現與業務數據傳輸單元健康管理的交互等。而業務數據傳輸單元的健康管理,則實現對本單元的健康管理監測(如溫度、電壓電流等),然后上報至控制單元。
控制主單元的硬件設計主要由單片機MCU、存儲器、DC?DC供電、物理層芯片、網絡變壓器、IPMB總線電路、溫度傳感電路、熱插拔隔離電路、電壓電流檢測電路、電機控制反饋電路、單元ID電路組成。
據此,我們構建了如圖1所示的硬件系統原理框圖。根據框圖所知,整套健康管理系統都應由背板或DC?DC獨立單元進行供電,保證了主體業務數據在不供電的情況下,管理系統也可正常工作。對于控制主單元,為單片機設計以太網管理電路,即MII/RMII接口,外部連接物理層,經由MII/RMII轉Copper,再經過一個變壓器出去,從而實現10/100M自適應的以太網接口,用以實現在終端的操作和管理維護[2]。
控制主單元和業務數據傳輸單元健康管理之間的IPMB總線由單片機的IIC總線實現:其硬件電路設計,僅需在單片機的IIC接口擴展一個IIC的驅動隔離器,以增強板間的通信能力和適配以及防燒毀。其中,相關電路實現單元之間的信息上傳、命令下發,可設計兩路總線用于滿足備份與保護需求。
控制主單元的溫度傳感電路:獲取業務單元硬件的溫度信息,以實現對溫度的監控管理。其中,相關硬件電路一般由具有單總線、IIC總線或者SPI總線的溫度傳感器構成,從而使用單片機的ADC,IIC或者SPI進行溫度傳感器的數據讀取,然后轉化成溫度值,傳遞至控制主單元,檢測監控系統的溫度狀態,從而優化控制電機。
控制主單元的熱插拔硬件電路:實現業務數據主體單元的熱插拔功能,同時包含業務單元的電源控制,即實現板卡的上電、掉電控制。一般由熱插拔芯片或者MOS實現開關電路,再由單片機的GPIO實現上下電控制。實際上,健康管理系統的電源部分與業務數據單元相互獨立,即使將業務板卡下電處理,健康管理系統依舊在線。
控制主單元的電流、電壓監測硬件電路:電路可由專用器件實現電壓、電流檢測,然后由單片機的GPIO或者ADC讀取和轉化。當然,也可通過高精度的電阻達到電流檢測的目的,或者用簡單的電阻搭建電路分壓檢測電壓。電壓電流檢測主要是為了監測硬件的工作狀態和各電源是否存在供電異常。同時,對電流的監測,也達到了監測業務板卡功耗的目的[3]。
控制主單元的單元ID電路:主要實現業務單元槽位地址的識別,從而精確定位和監控。相關硬件電路較為簡單,一般由單片機的GPIO實現,通過簡單的上下拉電阻來獲取。
控制主單元的電機控制反饋硬件電路:主要由單片機的定時器輸出PWM信號,再經過三極管放大電路輸出和匹配電機的PWM,以實現電機的工作轉速控制。同時,通過單片機的GPIO配合MOS管開關電路,也可實現電機電源的開關、電機反饋信號的讀取處理,以實時監測控制電機的工作狀態。
業務數據傳輸單元健康管理的硬件電路有IPMB總線電路、溫度傳感電路、電壓電流檢測電路、單元ID等,各部分均與控制主單元相同。當然,也可根據需要進行靈活擴充或刪減,由具體的業務需求決定。
4軟件系統設計
從健康管理系統的需求角度出發,將系統軟件設計為三部分,即終端系統管理軟件、CHMC軟件和IPMC軟件(圖2)。
終端系統管理軟件是維護系統的窗口,它與CHMC通過以太網或者串口通信。一般情況下,系統配置管理優先采用SNMP協議接口進行管理,它將經過統一格式后的各功能板卡的監測信息(如電壓信息、電流信息、溫度信息、電機轉速、告警信息等),解析后展示在平臺界面上。同時,系統管理軟件還應具備參數的配置和下發等功能,如控制告警、控制電機轉速、控制業務數據板卡上下電等。
CHMC軟件的功能是同時接受和執行主控命令,并轉化為IPMI消息。對上,CHMC通過以太網口與終端通信,以實現遠程管理。對下,通過IPMB總線和各個功能板完成通信,管理各個功能板。此外,CHMC通過SPI或者USART和業務數據傳輸模塊交互,將收集到的信息傳遞至業務數據功能板,在帶外管理的同時仍能兼顧帶內系統。
IPMC軟件的功能是負責電流電壓、溫度傳感器的模擬量采集、報警的管理,將指令轉化為IPMI消息通過IPMB總線上傳到CHMC,同時也接收來至CHMC的命令,對業務數據傳輸功能板卡進行上下電的操作,或者顯示告警信號。
5結束語
隨著系統設備復雜度的提高,越來越多的系統設備使用IPMI進行管理和硬件維護,實現IPMI的方式亦是五花八門。本文則介紹了一種基于單片機MCU、易于實現的IPMI管理系統,以有效、統一運營設備系統。該系統利用單片機具備的MII,ADC,GPIO,SPI,USART、定時器等功能,可以簡單實現系統設備的健康管理,具備非常高的經濟性、獨立性、靈活性和擴展性。一方面,它是獨立在業務傳輸數據之外的專用管理通道,可將健康管理數據與業務數據分離,兩者互不影響。另一方面,管理檢測的對象多樣化,包括電壓電流、溫度、電機,電源控制等,該系統還可進行擴展,非常靈活。不僅如此,還可以通過網絡接口對該系統進行遠程管理和維護,極大節約了人力成本和時間成本,提高了運維效率。
參考文獻:
[1]張冰潔.基于IPMI的智能平臺管理系統設計[D].廣州:中山大學,2014.
[2]劉龍.智能服務器電源管理控制平臺技術研究與實現[D].北京:北京郵電大學,2011.
[3]于治樓,陳乃闊,牛玉峰.基于IPMI的服務器遠程管理的研究與實現[J].現代機械,2010(1)36?38.
作者簡介:
周信譽(1992—),本科,初級工程師,研究方向:通信技術。陳文俊(1996—),本科,初級工程師,研究方向:通信技術。