謝功德
?
基于SOPC系統(tǒng)的智能傳感網(wǎng)絡(luò)設(shè)計與實現(xiàn)
謝功德
中國人民解放軍78156部隊,四川 成都 1610083
傳感網(wǎng)絡(luò)是指通過數(shù)量眾多的傳感裝置進行組網(wǎng),并實現(xiàn)無線數(shù)據(jù)的通信。傳感網(wǎng)絡(luò)具有多跳功能,且是自組網(wǎng)。以SOPC的智能傳感網(wǎng)絡(luò)為基礎(chǔ),對貨運列車的狀態(tài)進行實時管控。該系統(tǒng)可以實時共享傳感裝置的信息,能夠?qū)⑾嚓P(guān)數(shù)據(jù)實時展現(xiàn)在屏幕和網(wǎng)頁上,同時還能自動報警,既能監(jiān)控網(wǎng)絡(luò)狀態(tài),又能自主恢復(fù)網(wǎng)絡(luò)。
SOPC系統(tǒng);智能傳感網(wǎng)絡(luò);設(shè)計與實現(xiàn)
SOPC系統(tǒng)的基礎(chǔ)為SOC,是一種靈活性更高,并具有可編程功能的SOC。因為它本身屬于可編程系統(tǒng),在硬件層面上,具有可擴展性,同時功能還具有可升級性和可編程性。將SOPC作為核心,開發(fā)應(yīng)用于不同領(lǐng)域的復(fù)雜系統(tǒng),已成為電子產(chǎn)品發(fā)展的重要方向。該系統(tǒng)也開始成為嵌入式系統(tǒng)開發(fā)的關(guān)鍵方向。本次研究就以該系統(tǒng)為核心,構(gòu)建了相應(yīng)的傳感網(wǎng)絡(luò),進而對貨運列車的行駛狀態(tài)進行監(jiān)控和跟蹤。該智能網(wǎng)絡(luò)系統(tǒng)能將傳感數(shù)據(jù)動態(tài)顯示在相應(yīng)的屏幕上,同時還能夠展現(xiàn)在控制中心網(wǎng)頁中,既能自動報警,又能對網(wǎng)絡(luò)狀態(tài)進行監(jiān)測等。圖1展示了該系統(tǒng)的整體架構(gòu)[1]。
圖1 系統(tǒng)結(jié)構(gòu)圖
對于地面中心而言,可以借助GPRS技術(shù)和列車進行數(shù)據(jù)交互,從而監(jiān)控該列車的相關(guān)狀態(tài)數(shù)據(jù)。列車的諸多車廂則能夠借助ZigBee無線網(wǎng)絡(luò)進行對接。不同車廂的運行數(shù)據(jù)最終統(tǒng)一到主車廂上,并由后者和數(shù)據(jù)中心進行信息交互。該列車上的GNSS節(jié)點,也被置于主車廂中。遠(yuǎn)程通信,既能夠使用GPRS技術(shù),又能夠使用當(dāng)前的4G技術(shù)。另外,還需要結(jié)合功能需求,應(yīng)用模塊設(shè)計技術(shù),其中主節(jié)點由GNSS、遠(yuǎn)程無線交互、無線傳感網(wǎng)絡(luò)、SOPC主控計算機以及傳感器模塊等構(gòu)成,尤其是傳感器模塊,是該系統(tǒng)的信息采集主體。它又可以進一步細(xì)分成溫度和管控傳感器模塊。前者主要使用了DALLAS公司生產(chǎn)的 DS18B20模塊。GNSS模塊則使用了“和芯星通”公司開發(fā)的相應(yīng)模塊,芯片型號為Um220-Ⅲ。這是以北斗衛(wèi)星系統(tǒng)為基礎(chǔ)的國產(chǎn)GPS模塊,擁有較高的靈敏度和精密度,可以很好地滿足本系統(tǒng)開發(fā)需求。無線傳感網(wǎng)絡(luò)模塊則使用了ZigBee協(xié)議下的網(wǎng)絡(luò)系統(tǒng),該無線網(wǎng)絡(luò)雖然傳輸距離不長,但是卻具有較低的功耗,而且復(fù)雜度很小,可以支持遠(yuǎn)程控制,在很多嵌入式系統(tǒng)中得到了廣泛的應(yīng)用。遠(yuǎn)程無線交互模塊,其核心功能就是實現(xiàn)列車和控制中心的數(shù)據(jù)交互。SOPC模塊系統(tǒng)則能對采集到的數(shù)據(jù)進行統(tǒng)計分析,負(fù)責(zé)系統(tǒng)諸多底層功能的實現(xiàn)。
圖2 MYD-C7Z020開發(fā)板的接口資源
本次系統(tǒng)應(yīng)用了Zedboard開發(fā)板設(shè)計技術(shù)。這是當(dāng)前主流的低成本開發(fā)板,可以支持SOPC系統(tǒng)的開發(fā),也能支持各種主流的操作系統(tǒng),如Linux以及Windows等,而支持的處理器則為ARMCortex-A9。開發(fā)人員可以借助AXI4總線,對操作系統(tǒng)的諸多外設(shè)以及相關(guān)的用戶自定義IP進行訪問。本次設(shè)計使用了嵌入式的Linux系統(tǒng),對網(wǎng)口的通信進行了相應(yīng)設(shè)計,并使用了當(dāng)前較為成熟的Xilinx工具技術(shù),啟動Linux系統(tǒng)的過程如下。
第一,導(dǎo)入Boot ROM程序。通常,ZynqSOPC芯片上存在著相應(yīng)的ROM和RAM。在此芯片上進行上電,或者加以復(fù)位之后,相關(guān)的處理裝置,就會對ROM代碼初始化,然后啟動設(shè)備地址,也就是對Boot Device地址加以判斷,隨后將FSBL的代碼復(fù)制到RAM中。啟動該設(shè)備,則涵蓋了JTAG和SD卡等,在本系統(tǒng)中則使用了SD卡。當(dāng)然,本系統(tǒng)也能對啟動設(shè)備的地址進行修改[2]。
第二,在啟動裝置之上,將FSBL代碼復(fù)制于RAM后,便能執(zhí)行FSBL代碼,該代碼通常由開發(fā)者編寫,涵蓋了PS配置的初始化,并對PL的邏輯部分進行配置,或者加載和執(zhí)行相關(guān)應(yīng)用系統(tǒng)等。該代碼需要在對XPS配置之前完成,并通過后者將其自動導(dǎo)入至SDK。
第三,此時需要完成Linux系統(tǒng)啟動。該系統(tǒng)的內(nèi)核為SSBL。在本單元中,是將U-BOOT當(dāng)成SSBL。該系統(tǒng)再啟動時,可以根據(jù)U-BOOT和設(shè)備樹、文件系統(tǒng)順序來進行加載。整個Linux系統(tǒng)在啟動時,需要準(zhǔn)備以下文件,如U-BOOT、FSBL文件系統(tǒng)。其可以在SDK中獲取,而其他的文件則可以通過Zedboard來獲取。
SOPC主控計算機系統(tǒng)需要和諸多模塊進行通信,如ZigBee、GPS等。它們和傳感裝置的接口都采用了RS-232串口技術(shù),而GPRS接口則要使用以太網(wǎng)接口技術(shù),該技術(shù)主要應(yīng)用了XC7Z020芯片中的網(wǎng)口,處于PS部分。它的串口數(shù)相對較少,僅為兩個。為此還需要引入PMOD接口,使之得到拓展。當(dāng)前由米爾科技開發(fā)的MYD-C7Z020開發(fā)板上,則使用了PMOD接口,這樣便能完成上述所需要接口的對接。
圖3 OSAL初始化及自組網(wǎng)全過程
從圖2可以得出該開發(fā)板上存在著相應(yīng)的調(diào)試串口。它是PS借助于MIO實現(xiàn)外延,為后續(xù)的調(diào)試提供快捷路徑。另外,則是UART當(dāng)成了ZigBee來應(yīng)用,而有關(guān)傳感裝置和GPS接口則需要使用對應(yīng)的SPI來實現(xiàn)通信。當(dāng)然為了實現(xiàn)這種通信,還需要將其轉(zhuǎn)換成相應(yīng)的GPS和傳感器接口模塊。在XPS之中,可以分別選擇SPI01,對應(yīng)的是GPS和傳感器通信,也能選擇UART01,對應(yīng)的是系統(tǒng)調(diào)試和ZigBee通信。因為ZigBee和GPS等都使用了PMOD擴展接口,所以要借助EMIO,將相關(guān)外設(shè)對接PMOD。在連線時,需要選擇相應(yīng)的EMIO,接著寫相應(yīng)的UCF約束文件,并對接與EMIO和PMoD相關(guān)的芯片管腳。上述動作完成后,便可關(guān)閉XPS。隨后在PlanAhead產(chǎn)生等成的HDL文件,同時產(chǎn)生相應(yīng)的Bit文件。至此,該芯片的硬件編程結(jié)束,隨后就可以通過Launch SDK,完成SDK的啟動,進而進入軟件編程環(huán)節(jié)。
SOPC主控計算機,能夠管控車廂中的諸多傳感和通信裝置,并能使這些元件按照SOPC主控計算機提供的策略運行[3]。本單元重點完成軟件系統(tǒng)的開發(fā),因為SOPC主控計算機可執(zhí)行多線程程序,而且首先運行的是Main程序。它實現(xiàn)的功能為以下幾個方面。
第一,構(gòu)建相應(yīng)的存儲空間,存儲本車廂及其傳感裝置、不同車廂上的傳感裝置的信息,而且這幾個存儲空間要提供相互緊鎖的機制,規(guī)避這幾個線程,同時對存儲空間進行操作。
第二,讀取車廂配置文件。通常該文件內(nèi)置了車廂屬性和編號,前者又可以細(xì)分成普通和主車廂。
第三,對通信設(shè)備進行初始化,其中就包括了傳感裝置、GPS、ZigBee及其接口等。這些都采用了RS-232串口。只有GPRS,應(yīng)用了以太網(wǎng)口進行對接。
第四,創(chuàng)建子線程,不同的子線程和主線程獨立運行,另外結(jié)合功能,可以創(chuàng)建諸多的線程,如可以獲取的GPS授時、位置信息、GPRS的監(jiān)聽指令等線程。有關(guān)ZigBee的數(shù)據(jù)交互,則是借助主線程的輪詢來實現(xiàn)。
普通和主車廂之間,存在著差異性的程序。它們的差異體現(xiàn)在后者的主線程需要定時借助GPRS向地面控制中心傳輸諸多車廂的傳感裝置信息,同時還需要向諸多車廂傳送相應(yīng)的更新指令。對于普通車廂而言,則是借助ZigBee,并通過定時的方式上報本車廂所對應(yīng)的傳感裝置的信息。
無線傳感網(wǎng)絡(luò)的功能就是實時監(jiān)控列車的每個車=廂進行。它所實現(xiàn)的功能有以下幾個方面。
第一,基于ZigBee實現(xiàn)自組網(wǎng)絡(luò)。第二,借助串口,并通過SOPC技術(shù)和主控計算機進行通信,由此能得到車廂和傳感裝置的信息。第三,借助主控計算機,采集各個車廂中的八路和一路的軸承和環(huán)境溫度,并定時上報。第四,借助SOPC主控計算機實現(xiàn)傳感網(wǎng)絡(luò)的監(jiān)控功能。圖3展示了OSAL系統(tǒng)的初始化、組網(wǎng)以及正常運行的各個過程。組網(wǎng)操作實際上就是OSAL的初始化過程。成功組網(wǎng)之后,就能夠進入到相應(yīng)的OSAL,并對網(wǎng)絡(luò)、信息以及硬件的變化進行輪詢監(jiān)控,并通過不同層的函數(shù)來加以處理[4]。
總而言之,隨著現(xiàn)代物流的快速發(fā)展,對貨運列車的動態(tài)監(jiān)控和跟蹤成了當(dāng)前迫切的需求,而以SOPC技術(shù)為核心的解決方案,可以借助無線傳感裝置和SOPC系統(tǒng)進行動態(tài)信息交互。這樣就能對列車的諸多動態(tài)指標(biāo)進行實時監(jiān)測和報警,并能夠通過遠(yuǎn)程管控中心采集和處理相關(guān)信息。在本次研究中,應(yīng)用了XilinxZynq-7000系列SOPC,并使之成為該監(jiān)控系統(tǒng)的主控計算機,并融合了GPS、ZigBee和GPRS等技術(shù),實現(xiàn)了對貨運列車狀態(tài)的動態(tài)監(jiān)控。
[1]宇文慧彪,陳燁,陳煒. 基于SOPC技術(shù)的網(wǎng)絡(luò)監(jiān)控系統(tǒng)的設(shè)計[J]. 工礦自動化,2011,37(12):118-122.
[2]武一,黃宇,劉曉娟,等. 基于SOPC的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計[J]. 計算機測量與控制,2012,20(1):71-73,77.
[3]劉國華,周科科,葉巍翔,等. 基于SOPC的嵌入式測控系統(tǒng)設(shè)計[J]. 南開大學(xué)學(xué)報:自然科學(xué)版,2017(6):26-29.
[4]王寶龍,黃考利,蘇林,等. 基于SOPC的嵌入式網(wǎng)絡(luò)化測控網(wǎng)關(guān)設(shè)計[J]. 計算機測量與控制,2012,20(6):68-71.
Design and Implementation of Intelligent Sensor Network Based on SOPC System
Xie Gongde
78156 Troop of People’ Liberation Army of China, Sichuan Chengdu 1610083
The sensor network refers to networking through a large number of sensing devices, and realizes wireless data communication. The sensor network has multi-hop function and is an ad hoc network. In the paper, SOPC’s intelligent sensor network is used as the basis to control the status of freight trains in real time. The system can real-time commonality of the information of the sensing device, and can display relevant data in real time on screen and webpage, and can also perform automatic alarming, which can monitor the network status and do the self-recovery of the network.
SOPC system; intelligent sensor network; design and implementation
TN929.5;TP212.9
A