基于FPGA的嵌入式智能管理系統(tǒng)的設計與實現
近些年,針對智能管理的研究越來越廣泛,采用的技術也越來越多,如基于單片機開發(fā)的智能監(jiān)控平臺[1]、在Linux內核下的智能儀器開發(fā)[2]、對智能管理的某一個方面進行研究[3]等。隨著嵌入式核心芯片的高速發(fā)展,傳統(tǒng)嵌入式系統(tǒng)的設計方法也隨之改變,嵌入式系統(tǒng)逐漸由板級向芯片級過渡,即片上系統(tǒng)(SoC),進而發(fā)展至如今流行的可編程片上系統(tǒng)(SoPC)。本文就是通過超大規(guī)模FPGA和功能復雜的IP核來實現一個可編程片上系統(tǒng),此系統(tǒng)利用可編程器件內的可編程資源以及專用硬核,構建處理器、存儲器、邏輯電路和其他專用功能模塊,并在智能管理軟件和算法的配合下完成智能管理的各項功能。
本文引用地址:http://m.ptau.cn/article/148277.htm所謂智能管理,就是以人類智能結構為基礎,系統(tǒng)研究人與組織的管理活動規(guī)律和方法的一門學科,具有很強的實踐性和擴展性,體現在本文中就是通過系統(tǒng)本身的智能化操作而非人工干預的手段去執(zhí)行其在運行過程中所遇到的諸如檢測和控制等行為。對于本系統(tǒng)來說,其主要功能就是系統(tǒng)監(jiān)測、綜合處理,并依靠事先確定的閾值和準則實施相應的控制。其中包括對各關鍵模塊的工作狀態(tài)進行監(jiān)控,對風機與電源的運行狀態(tài)進行管理,并對系統(tǒng)智能管理過程中所得到的一些信息通過以太網上報給上位機等。
1 硬件系統(tǒng)構成
1.1 FPGA內部硬核系統(tǒng)構成
FPGA片內結構如圖1所示,FPGA片內所有模塊包括PPC405處理器、MAC核、I2C核、GPIO核及URAT核,都連接到片上高性能PLB總線上,PPC405通過PLB總線來訪問每個IP核,各IP核的大致作用如下:

(1)MAC核實現網絡鏈路層硬件,與FPGA片外的PHY芯片實現網絡所需的硬件;
(2)I2C核實現I2C邏輯,支持智能管理模塊與各個工作模塊之間的I2C總線協(xié)議,實現I2C總線的檢測與控制功能,如接收各工作模塊的溫度等;
(3)GPIO核實現PPC405對FPGA通用I/O管腳的基本操作,可以通過軟件編程來指定各端口的行為;
(4)UART核實現PPC405的串口操作,將串口信息傳送至主機進行系統(tǒng)調試。
片上系統(tǒng)硬件結構大致描述為:用FPGA實現I2C總線協(xié)議,并與處理模塊對接;用FPGA實現1-wire單線總線協(xié)議,并與溫度傳感器對接;智能管理模塊要求實現的網絡上報功能必須用軟件來實現TCP/IP協(xié)議棧;用MAC核實現鏈路層功能。為減少器件數量,提高可靠性,本設計采用FPGA內嵌的PPC405處理器,為此需要使用Xilinx公司的系統(tǒng)開發(fā)工具EDK進行軟硬件協(xié)同設計。
1.2 智能管理模塊的構成
智能管理模塊構成如圖2所示。

FPGA和125電路共同實現兩路1-wire總線的協(xié)議控制和電平規(guī)范,其中一路通過溫度傳感器來檢測兩個風機組內的溫度。同時,另一路125芯片實現I2C總線的協(xié)議控制和電平規(guī)范,并通過I2C總線來讀取機箱中各個處理模塊的內部溫度。FPGA通過網口與上位機進行數據通信,并通過串口對智能管理模塊進行調試。FPGA通過和隔離與驅動電路連接后來控制電源,即相當于是程控開/關電源,以保護機箱中的各處理模塊免于因過熱而損壞。該模塊僅采用12 V電源供電,模塊中的其他類型的電源均通過DC-DC轉換模塊內部產生。
1.3 智能管理系統(tǒng)的構成
智能管理系統(tǒng)的構成如圖3所示。智能管理模塊作為智能管理系統(tǒng)的核心,執(zhí)行著整個系統(tǒng)運行的幾乎所有指令。

(1) 智能電源。多電源平衡供電的智能電源模塊,具有短路、過載、過壓及過熱保護功能,空載可開機,并且多個電源可以并聯(lián)輸出。
(2)溫度傳感器。采用軍品溫度傳感器,置入風機組中用于測試風機通道的空氣溫度。該溫度傳感器只有3個管腳,從右到左分別是VDD(+5 V電源)、DQ(數據信號)、GND(地線)。其中,DQ管腳符合1-wire總線協(xié)議,與智能管理模塊相對接。該溫度傳感器的工作溫度范圍廣、精度高、使用簡單可靠。
(3)風機組。一個機箱配兩個風機組,每組由7個大風機組成。每個風機都帶有集電極開路輸出的被檢測脈沖信號,智能管理模塊根據該信號是否有脈沖波形來判定每個風機是否工作。
(4)計算機。智能管理模塊與計算機可以通過網口和串口兩種方式進行通信,本系統(tǒng)給出了預留,可以任意選擇,主要功能是上報各類系統(tǒng)數據。
2 工作原理
智能管理模塊的設計采用基于FPGA片內PowerPC的SoPC技術,通過PPC405可以很方便地對FPGA的各個I/O端口和內部IP核進行控制。
2.1 對風機溫度的監(jiān)測
利用PPC405通過PLB總線控制GPIO核,編程控制I/O端口電平,使其滿足1-wire總線協(xié)議的時序要求,再通過125芯片進行隔離并提供溫度傳感器1-wire總線協(xié)議需要的電平。最后,PPC405由1-wire總線讀取溫度傳感器測量的風機處環(huán)境溫度。
2.2 對風機狀態(tài)的監(jiān)測
風機運行狀態(tài)輸入信號通過連接器進入智能管理模塊,經過隔離驅動后進入FPGA,PPC再通過PLB總線控制GPIO核,讀取I/O端口輸入電平,再依據程序設定來判斷風機運行狀態(tài)。
2.3 工作模塊運行狀態(tài)監(jiān)測
PPC通過PLB總線控制I2C核,在I/O端口產生符合I2C總線協(xié)議的時序,再通過125芯片進行隔離并提供I2C總線協(xié)議需要的電平,然后PPC再讀取I2C總線的數據來確定各工作模塊的溫度和運行狀態(tài)信息。
2.4 對智能電源模塊的控制
片內PPC根據上述監(jiān)測到的風機處環(huán)境溫度、風機運行狀態(tài)、各工作模塊溫度和運行狀態(tài),采用一定的控制算法,決定對智能電源模塊的控制狀態(tài)。通過PLB總線管理GPIO核,將智能電源控制狀態(tài)傳遞到FPGA相應管腳,再由隔離和驅動電路對智能電源進行管理。
2.5 系統(tǒng)運行信息上報
本系統(tǒng)信息上報采用以太網協(xié)議,協(xié)議上層軟件通過編程實現;TCP/IP層通過LWIP協(xié)議棧實現;鏈路層由FPGA內部的以太網MAC核實現;物理層用智能管理模塊上的以太網PHY芯片實現,并通過模塊上的變壓器進行隔離。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論