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