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