集成WSN、載波通信和多種現(xiàn)場總線的網(wǎng)關設計
3.1 BootLoader與Linux
BootLoader是系統(tǒng)加電后運行的一小段程序,用來初始化硬件設備、建立內存空間映射,為調用操作系統(tǒng)內核準備好正確的環(huán)境,同時也將啟動內核所需要的一些信息通過相關機制傳遞給內核,并引導和加載內核。它的主要功能是完成硬件設備的初始化、操作系統(tǒng)代碼的搬運,并提供一個控制臺及一個命令集在操作系統(tǒng)運行前操控硬件設備。
Linux 2.6在內核主體中加入了提高中斷性能和調度響應時間的改進,其中有三個最顯著的改進:采用可搶占內核、更加有效的調度算法以及同步性的提高。
3.2 通信網(wǎng)關
網(wǎng)關的核心功能是完成協(xié)議轉換和數(shù)據(jù)中轉,即將ZigBee和載波協(xié)議的數(shù)據(jù)轉成TCP/IP格式的數(shù)據(jù),并在ZigBee網(wǎng)絡、Modbus、以太網(wǎng)、電力載波通信和GPRS遠程通信網(wǎng)之間無障礙的交互數(shù)據(jù)。
網(wǎng)關軟件包括:數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)顯示(測試用)和遠程數(shù)據(jù)傳輸。數(shù)據(jù)采集功能負責獲取從串口傳過來的數(shù)據(jù)。具體過程是主線程中初始化并打開串口,建立串口接收信號,在信號處理函數(shù)中。處理接收到的數(shù)據(jù)。當接到數(shù)據(jù)包時產生信號,在信號處理函數(shù)里調用協(xié)議轉換程序按照ZigBee,Modbus和載波協(xié)議的定義解析數(shù)據(jù),解析出原始數(shù)據(jù)中的節(jié)點號、傳感器模擬量、開關量值等信息。整個網(wǎng)關對多種協(xié)議的處理采用事件通知和分發(fā)機制,如圖5所示。利用多線程技術,將數(shù)據(jù)處理部分、數(shù)據(jù)存儲部分分別放在單獨的線程中處理,以提高程序的運行速度。通過在Linux上移植了嵌入式數(shù)據(jù)庫系統(tǒng),可以有效的實現(xiàn)實時數(shù)據(jù)的存儲。本文引用地址:http://www.ex-cimer.com/article/155140.htm
網(wǎng)關通過GPRS與遠程主站通信,主站以自身設置的通信協(xié)議發(fā)送指令,指令下達到網(wǎng)關后,網(wǎng)關解析主站的指令并獲取操作對象,依據(jù)操作對象選取載波協(xié)議或者ZigBee,對指令進行再封裝,并下發(fā)指令至操作對象,等待對象返回信息,在獲得對象的信息后,根據(jù)選取的協(xié)議解析對象數(shù)據(jù),使用主站協(xié)議重新對該數(shù)據(jù)進行封裝,而后將數(shù)據(jù)上傳至主站。
網(wǎng)關是建立在傳輸層以上的協(xié)議轉換器,通常它連接兩個或多個相互獨立的網(wǎng)絡,每接收一種協(xié)議的數(shù)據(jù)包后,在轉發(fā)之前將它轉換為另一種協(xié)議的格式。該網(wǎng)關不僅實現(xiàn)了4種協(xié)議的轉換和4種工控網(wǎng)絡的互聯(lián),而且通過TCP/IP協(xié)議連入工業(yè)以太網(wǎng),實現(xiàn)了與工業(yè)以太網(wǎng)之間的數(shù)據(jù)互傳。通過在Linux上移植了嵌入式Web服務器功能,使操作人員能夠通過網(wǎng)頁遠程監(jiān)控網(wǎng)絡節(jié)點運行狀態(tài)。
4 結語
該系統(tǒng)將WSN、電力線載波、以太網(wǎng)和公共通信網(wǎng)絡有機地結合在一起,將信息匯集之后通過以太網(wǎng)接口或者GPRS達到遠程傳輸?shù)哪康?。通過在一個軟硬件平臺上提供了工業(yè)控制中常見的多種總線和網(wǎng)絡的接口,能夠支持多種應用模式。該設計適合于現(xiàn)實應用中的多種需求,可以根據(jù)具體應用進行快速的裁剪和配置,具有實際的應用價值。
評論