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