基于FPGA的嵌入式智能管理系統(tǒng)的設(shè)計與實現(xiàn)
近些年,針對智能管理的研究越來越廣泛,采用的技術(shù)也越來越多,如基于單片機開發(fā)的智能監(jiān)控平臺[1]、在Linux內(nèi)核下的智能儀器開發(fā)[2]、對智能管理的某一個方面進行研究[3]等。隨著嵌入式核心芯片的高速發(fā)展,傳統(tǒng)嵌入式系統(tǒng)的設(shè)計方法也隨之改變,嵌入式系統(tǒng)逐漸由板級向芯片級過渡,即片上系統(tǒng)(SoC),進而發(fā)展至如今流行的可編程片上系統(tǒng)(SoPC)。本文就是通過超大規(guī)模FPGA和功能復(fù)雜的IP核來實現(xiàn)一個可編程片上系統(tǒng),此系統(tǒng)利用可編程器件內(nèi)的可編程資源以及專用硬核,構(gòu)建處理器、存儲器、邏輯電路和其他專用功能模塊,并在智能管理軟件和算法的配合下完成智能管理的各項功能。
所謂智能管理,就是以人類智能結(jié)構(gòu)為基礎(chǔ),系統(tǒng)研究人與組織的管理活動規(guī)律和方法的一門學(xué)科,具有很強的實踐性和擴展性,體現(xiàn)在本文中就是通過系統(tǒng)本身的智能化操作而非人工干預(yù)的手段去執(zhí)行其在運行過程中所遇到的諸如檢測和控制等行為。對于本系統(tǒng)來說,其主要功能就是系統(tǒng)監(jiān)測、綜合處理,并依靠事先確定的閾值和準(zhǔn)則實施相應(yīng)的控制。其中包括對各關(guān)鍵模塊的工作狀態(tài)進行監(jiān)控,對風(fēng)機與電源的運行狀態(tài)進行管理,并對系統(tǒng)智能管理過程中所得到的一些信息通過以太網(wǎng)上報給上位機等。
1 硬件系統(tǒng)構(gòu)成
1.1 FPGA內(nèi)部硬核系統(tǒng)構(gòu)成
FPGA片內(nèi)結(jié)構(gòu)如圖1所示,F(xiàn)PGA片內(nèi)所有模塊包括PPC405處理器、MAC核、I2C核、GPIO核及URAT核,都連接到片上高性能PLB總線上,PPC405通過PLB總線來訪問每個IP核,各IP核的大致作用如下:
(1)MAC核實現(xiàn)網(wǎng)絡(luò)鏈路層硬件,與FPGA片外的PHY芯片實現(xiàn)網(wǎng)絡(luò)所需的硬件;
(2)I2C核實現(xiàn)I2C邏輯,支持智能管理模塊與各個工作模塊之間的I2C總線協(xié)議,實現(xiàn)I2C總線的檢測與控制功能,如接收各工作模塊的溫度等;
(3)GPIO核實現(xiàn)PPC405對FPGA通用I/O管腳的基本操作,可以通過軟件編程來指定各端口的行為;
(4)UART核實現(xiàn)PPC405的串口操作,將串口信息傳送至主機進行系統(tǒng)調(diào)試。
片上系統(tǒng)硬件結(jié)構(gòu)大致描述為:用FPGA實現(xiàn)I2C總線協(xié)議,并與處理模塊對接;用FPGA實現(xiàn)1-wire單線總線協(xié)議,并與溫度傳感器對接;智能管理模塊要求實現(xiàn)的網(wǎng)絡(luò)上報功能必須用軟件來實現(xiàn)TCP/IP協(xié)議棧;用MAC核實現(xiàn)鏈路層功能。為減少器件數(shù)量,提高可靠性,本設(shè)計采用FPGA內(nèi)嵌的PPC405處理器,為此需要使用Xilinx公司的系統(tǒng)開發(fā)工具EDK進行軟硬件協(xié)同設(shè)計。
1.2 智能管理模塊的構(gòu)成
智能管理模塊構(gòu)成如圖2所示。
FPGA和125電路共同實現(xiàn)兩路1-wire總線的協(xié)議控制和電平規(guī)范,其中一路通過溫度傳感器來檢測兩個風(fēng)機組內(nèi)的溫度。同時,另一路125芯片實現(xiàn)I2C總線的協(xié)議控制和電平規(guī)范,并通過I2C總線來讀取機箱中各個處理模塊的內(nèi)部溫度。FPGA通過網(wǎng)口與上位機進行數(shù)據(jù)通信,并通過串口對智能管理模塊進行調(diào)試。FPGA通過和隔離與驅(qū)動電路連接后來控制電源,即相當(dāng)于是程控開/關(guān)電源,以保護機箱中的各處理模塊免于因過熱而損壞。該模塊僅采用12 V電源供電,模塊中的其他類型的電源均通過DC-DC轉(zhuǎn)換模塊內(nèi)部產(chǎn)生。
1.3 智能管理系統(tǒng)的構(gòu)成
智能管理系統(tǒng)的構(gòu)成如圖3所示。智能管理模塊作為智能管理系統(tǒng)的核心,執(zhí)行著整個系統(tǒng)運行的幾乎所有指令。
(1) 智能電源。多電源平衡供電的智能電源模塊,具有短路、過載、過壓及過熱保護功能,空載可開機,并且多個電源可以并聯(lián)輸出。
(2)溫度傳感器。采用軍品溫度傳感器,置入風(fēng)機組中用于測試風(fēng)機通道的空氣溫度。該溫度傳感器只有3個管腳,從右到左分別是VDD(+5 V電源)、DQ(數(shù)據(jù)信號)、GND(地線)。其中,DQ管腳符合1-wire總線協(xié)議,與智能管理模塊相對接。該溫度傳感器的工作溫度范圍廣、精度高、使用簡單可靠。
(3)風(fēng)機組。一個機箱配兩個風(fēng)機組,每組由7個大風(fēng)機組成。每個風(fēng)機都帶有集電極開路輸出的被檢測脈沖信號,智能管理模塊根據(jù)該信號是否有脈沖波形來判定每個風(fēng)機是否工作。
(4)計算機。智能管理模塊與計算機可以通過網(wǎng)口和串口兩種方式進行通信,本系統(tǒng)給出了預(yù)留,可以任意選擇,主要功能是上報各類系統(tǒng)數(shù)據(jù)。
2 工作原理
智能管理模塊的設(shè)計采用基于FPGA片內(nèi)PowerPC的SoPC技術(shù),通過PPC405可以很方便地對FPGA的各個I/O端口和內(nèi)部IP核進行控制。
2.1 對風(fēng)機溫度的監(jiān)測
利用PPC405通過PLB總線控制GPIO核,編程控制I/O端口電平,使其滿足1-wire總線協(xié)議的時序要求,再通過125芯片進行隔離并提供溫度傳感器1-wire總線協(xié)議需要的電平。最后,PPC405由1-wire總線讀取溫度傳感器測量的風(fēng)機處環(huán)境溫度。
2.2 對風(fēng)機狀態(tài)的監(jiān)測
風(fēng)機運行狀態(tài)輸入信號通過連接器進入智能管理模塊,經(jīng)過隔離驅(qū)動后進入FPGA,PPC再通過PLB總線控制GPIO核,讀取I/O端口輸入電平,再依據(jù)程序設(shè)定來判斷風(fēng)機運行狀態(tài)。
2.3 工作模塊運行狀態(tài)監(jiān)測
PPC通過PLB總線控制I2C核,在I/O端口產(chǎn)生符合I2C總線協(xié)議的時序,再通過125芯片進行隔離并提供I2C總線協(xié)議需要的電平,然后PPC再讀取I2C總線的數(shù)據(jù)來確定各工作模塊的溫度和運行狀態(tài)信息。
2.4 對智能電源模塊的控制
片內(nèi)PPC根據(jù)上述監(jiān)測到的風(fēng)機處環(huán)境溫度、風(fēng)機運行狀態(tài)、各工作模塊溫度和運行狀態(tài),采用一定的控制算法,決定對智能電源模塊的控制狀態(tài)。通過PLB總線管理GPIO核,將智能電源控制狀態(tài)傳遞到FPGA相應(yīng)管腳,再由隔離和驅(qū)動電路對智能電源進行管理。
2.5 系統(tǒng)運行信息上報
本系統(tǒng)信息上報采用以太網(wǎng)協(xié)議,協(xié)議上層軟件通過編程實現(xiàn);TCP/IP層通過LWIP協(xié)議棧實現(xiàn);鏈路層由FPGA內(nèi)部的以太網(wǎng)MAC核實現(xiàn);物理層用智能管理模塊上的以太網(wǎng)PHY芯片實現(xiàn),并通過模塊上的變壓器進行隔離。[!--empirenews.page--]
片內(nèi)PPC把風(fēng)機處環(huán)境溫度、風(fēng)機運行狀態(tài)、各工作模塊溫度和運行狀態(tài)以及智能電源的工作狀態(tài)通過PLB總線發(fā)送給片內(nèi)的MAC核,再經(jīng)過片外的PHY芯片最終上報給上位機。
3 性能測試
溫度傳感器模塊性能測試主要是為了驗證該模塊能否按照預(yù)先設(shè)置的門限作出正確的操作。若超過設(shè)定值上限或低于設(shè)定值下限,則報警;若溫度過高即將損壞系統(tǒng)時,則關(guān)機(注:在該測試中,無需啟動風(fēng)機控制系統(tǒng))。
(1)執(zhí)行Set Sensor Threshold指令,實現(xiàn)各門限值設(shè)定;(2)執(zhí)行Set Sensor Event Enable指令,允許報警事件產(chǎn)生;(3)基板在室溫下工作,無報警事件產(chǎn)生;(4)基板加溫,超過各門限值上限,有報警事件產(chǎn)生,過高時斷電;(5)基板降溫,返回室溫時正常工作;(6)基板繼續(xù)降溫,超過各門限值下限時,有報警事件產(chǎn)生。
經(jīng)測試獲得的各溫度門限值與預(yù)先設(shè)置溫度基本一致,但溫度傳感器門限值設(shè)置的合理性還有待進一步實驗來確定。
設(shè)計本智能管理系統(tǒng)基于三個指導(dǎo)思想:獨立性、高可靠和低成本。本系統(tǒng)的供電獨立于工作模塊,即使其他模塊處于斷電狀態(tài),本智能系統(tǒng)仍可照常工作。采用一片FPGA和少量外圍設(shè)備,最大限度地減少了元器件的數(shù)量和品種。同時,在智能管理模塊和溫度傳感器之間采用簡單可靠的1-wire總線協(xié)議來傳遞信息,各工作模塊之間采用I2C總線協(xié)議來傳遞信息,這些都為日后擴展系統(tǒng)規(guī)模及其功能提供了很好的技術(shù)方向。