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