集成WSN、載波通信和多種現(xiàn)場總線的網關設計
摘要:無線傳感器網絡和低壓電力線載波通信在樓宇控制系統(tǒng)中正在逐步得到應用。為了實現(xiàn)這兩種通信網與現(xiàn)有的多種現(xiàn)場總線網絡之間的互聯(lián)和集成,提出了一種基于ARM微處理器SEP4020的多功能網關設計思想。探討了以太網、RS 232、RS 485、WSN、低壓電力載波通信等多種通信接口的軟硬件設計方法,實現(xiàn)了無線傳感網、現(xiàn)場總線、以太網和低壓電力載波通信等多種通信協(xié)議,成功地解決了現(xiàn)場總線網絡和電力載波通信與無線傳感器網絡的互聯(lián)問題。
關鍵詞:無線傳感器網絡;低壓電力栽波通信;網關;嵌入式Linux
0 引言
無線傳感器網絡作為一項新興的技術,多用在用于軍事、環(huán)境監(jiān)測和預報、健康護理、智能家居、智能樓宇、城市交通、倉庫管理,農林業(yè)監(jiān)控等領域,傳感器節(jié)點部署于監(jiān)測區(qū)域中,負責監(jiān)測區(qū)域內的信息采集,其中部分傳感器節(jié)點具有路由功能,通過無線組網方式構成網絡,將采集到的數(shù)據(jù)以自組多跳的網絡方式傳送到用戶終端;電力線載波通信網絡方興未艾,電力線載波多用在如遠程抄表等直接與電力線有接觸的設備中,與采用現(xiàn)場總線的傳統(tǒng)傳感器網絡相比,電力線載波通信網絡直接通過電力線進行數(shù)據(jù)傳輸,設備部署方便,因為采用有線通信,通信可靠性較高。
目前這兩個網絡的大部分研究還集中在自身網絡上,較少研究它與其他網絡的互聯(lián)和集成問題。已有的控制網絡(如現(xiàn)場總線、工業(yè)以太網等)也很少考慮到它們與無線傳感器網絡、電力線載波通信網絡的集成問題,相關的集成技術研究和設備開發(fā)還處于起步階段。據(jù)此,本文設計了一種支持多接口多協(xié)議的多功能網關,可解決WSN無線網絡、電力線載波通信網絡與其他網絡的互聯(lián)集成問題。
1 總體設計
多功能網關在異構網絡中負責建立異構網絡之間的連接,無線傳感器節(jié)點測量的信息在無線傳感器網絡中通過多跳接力的方式傳輸,并經過網關轉換成其他介質和協(xié)議,從而傳送給外部網絡和用戶。如圖1所示。
[!--empirenews.page--]
現(xiàn)有的WSN產品中,大多只提供RS 232串行接口,用以連接上位機,實現(xiàn)監(jiān)控。但是在現(xiàn)實的工控項目中存在各種各樣的接口和總線,需要無線傳感器網絡與其他總線網絡互相傳輸信息。因此,需要一種能夠支持多種接口的網關。當連接某種接口或通信協(xié)議時,稍加修改該網關的軟件和配置硬件模塊就可以快速投入使用。
本文設計的多功能網關可支持多種接口和多種應用模式。其主要支持以太網,RS 232,RS 485,GPRS和電力載波通信等接口。支持的應用模式包括:通過GPRS接口連接上位機,實現(xiàn)監(jiān)控、程序下載等功能;通過RS 485接口實現(xiàn)Modbus協(xié)議接入現(xiàn)場總線或其他控制總線中;通過以太網接口接入工業(yè)以太網,將無線傳感器網絡作為子網接入控制網絡;通過以太網接口,構建嵌入式Web服務器??蛻魴C可以以網頁瀏覽的方式查看WSN中所有傳感器節(jié)點的狀態(tài)和數(shù)據(jù),并進行遠動控制。
2 硬件設計
多功能網關主要包括主系統(tǒng)部分(控制器、存儲器)、電源模塊、ZigBee無線通信模塊、以太網通信模塊、GPRS通信模塊、電力載波通信模塊(PLC)和人機接口模塊等。硬件總體框圖如圖2所示。
系統(tǒng)硬件分為核心板、擴展底板和外接通信模塊3部分。核心板包括主控制器和存儲器;外接通信模塊包括ZigBee無線模塊、GPRS模塊和電力載波通信模塊;核心板和外接通信模塊插接在擴展底板上,并在擴展底板上擴展電源電路、調試接口、RS 485通信模塊、人機接口等電路。
2.1 微控制器選型
多功能網關的功能比較復雜,需要實現(xiàn)多種接口和協(xié)議的轉換,由于外接通信模塊較多,應盡量選擇性能強大、通信接口豐富,內置所需各種接口的控制器,以降低成本。
本文選擇基于ARM體系結構的微控制器搭建整個系統(tǒng)。該結構的微控制器具有強大的功能和豐富的接口擴展,在嵌入式智能網絡設備的設計中得到了大量應用。通過分析對比常用的多種ARM7微處理器,最終選擇了基于ARM720T核心的工業(yè)級微控制器SEP4020。該款微控制器由東南大學國家專用集成電路系統(tǒng)工程技術研究中心設計,集成MMU單元,內置以太網MAC,LCD接口,可通過外部總線接口(EBI)進行擴展,功能豐富、性能強大,接口豐富,功耗較低,完全適合于工業(yè)控制的需要。[!--empirenews.page--]
2.2 串行通信接口擴展
SEP4020內置4路UART接口,其中一路設計時使用跳線的方式連接MAX3221芯片,作為DEBUG串行RS 232接口,主要用于調試時發(fā)送信息,同時也可復用為紅外接口;其余3路直接以TTL電平引出,分別連接ZigBee無線通信模塊、GPRS通信模塊、電力載波通信模塊。另外利用SEP 4020提供的SPI接口連接SC16IS752芯片進行UART接口擴展,該芯片是NXP公司推出的一款通過SPI/I2C總線擴展為UART接口的芯片,可以擴展出兩個通道高性能的UART。用來連接RS 485系列隔離收發(fā)器模塊,該模塊內部集成電源隔離、電氣隔離、RS 485接口芯片和總線保護器件,具有很好的隔離特性。整個串行通信接口結構如圖3所示。
2.3 外接通信模塊
外接通信模塊為ZigBee無線通信模塊、GPRS通信模塊、電力載波通信模塊。無線模塊的ZigBee通信芯片選用TI公司生產的2.4 GHz射頻系統(tǒng)單芯片CC2430,該芯片整合了ZigBee RF前端、內存和8051微控制器;GPRS通信模塊選用SIM300GSM/GPRS模塊,該模塊主要應用于WLL,M2M和手持設備方面,實現(xiàn)語音、SMS、數(shù)據(jù)和傳真信息的高速傳輸;電力載波通信模塊采用擴頻通信技術,選擇北京福星曉程公司的PL3106載波芯片,內嵌擴頻通信調制/解調電路和8051微控制器,內部集成2路A/D,其中一路用來采集負載端電壓,另一路用來采集負載電流,可以實現(xiàn)負載功率的精確測量。外圍的配置電路主要包括功率放大電路、載波耦合電路、濾波整形電路、諧振電路及接收電路等。以上通信模塊與SEP4020之間均使用UART接口進行通信。
3 軟件設計
軟件平臺采用一種開放源碼的Linux操作系統(tǒng),便于在其基礎上完成各項相關應用程序的開發(fā)。軟件主要涉及到操作系統(tǒng)的裁剪與編譯、驅動程序編寫和系統(tǒng)主程序編寫。多功能網關軟件體系架構如圖4所示。
由底層到高層,軟件部分依次包括:BootLoader移植、Linux操作系統(tǒng)移植、設備驅動程序編寫、嵌入式端軟件和協(xié)議轉換設計、主站監(jiān)控軟件設計等。[!--empirenews.page--]
3.1 BootLoader與Linux
BootLoader是系統(tǒng)加電后運行的一小段程序,用來初始化硬件設備、建立內存空間映射,為調用操作系統(tǒng)內核準備好正確的環(huán)境,同時也將啟動內核所需要的一些信息通過相關機制傳遞給內核,并引導和加載內核。它的主要功能是完成硬件設備的初始化、操作系統(tǒng)代碼的搬運,并提供一個控制臺及一個命令集在操作系統(tǒng)運行前操控硬件設備。
Linux 2.6在內核主體中加入了提高中斷性能和調度響應時間的改進,其中有三個最顯著的改進:采用可搶占內核、更加有效的調度算法以及同步性的提高。
3.2 通信網關
網關的核心功能是完成協(xié)議轉換和數(shù)據(jù)中轉,即將ZigBee和載波協(xié)議的數(shù)據(jù)轉成TCP/IP格式的數(shù)據(jù),并在ZigBee網絡、Modbus、以太網、電力載波通信和GPRS遠程通信網之間無障礙的交互數(shù)據(jù)。
網關軟件包括:數(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é)點號、傳感器模擬量、開關量值等信息。整個網關對多種協(xié)議的處理采用事件通知和分發(fā)機制,如圖5所示。利用多線程技術,將數(shù)據(jù)處理部分、數(shù)據(jù)存儲部分分別放在單獨的線程中處理,以提高程序的運行速度。通過在Linux上移植了嵌入式數(shù)據(jù)庫系統(tǒng),可以有效的實現(xiàn)實時數(shù)據(jù)的存儲。
網關通過GPRS與遠程主站通信,主站以自身設置的通信協(xié)議發(fā)送指令,指令下達到網關后,網關解析主站的指令并獲取操作對象,依據(jù)操作對象選取載波協(xié)議或者ZigBee,對指令進行再封裝,并下發(fā)指令至操作對象,等待對象返回信息,在獲得對象的信息后,根據(jù)選取的協(xié)議解析對象數(shù)據(jù),使用主站協(xié)議重新對該數(shù)據(jù)進行封裝,而后將數(shù)據(jù)上傳至主站。
網關是建立在傳輸層以上的協(xié)議轉換器,通常它連接兩個或多個相互獨立的網絡,每接收一種協(xié)議的數(shù)據(jù)包后,在轉發(fā)之前將它轉換為另一種協(xié)議的格式。該網關不僅實現(xiàn)了4種協(xié)議的轉換和4種工控網絡的互聯(lián),而且通過TCP/IP協(xié)議連入工業(yè)以太網,實現(xiàn)了與工業(yè)以太網之間的數(shù)據(jù)互傳。通過在Linux上移植了嵌入式Web服務器功能,使操作人員能夠通過網頁遠程監(jiān)控網絡節(jié)點運行狀態(tài)。
4 結語
該系統(tǒng)將WSN、電力線載波、以太網和公共通信網絡有機地結合在一起,將信息匯集之后通過以太網接口或者GPRS達到遠程傳輸?shù)哪康摹Mㄟ^在一個軟硬件平臺上提供了工業(yè)控制中常見的多種總線和網絡的接口,能夠支持多種應用模式。該設計適合于現(xiàn)實應用中的多種需求,可以根據(jù)具體應用進行快速的裁剪和配置,具有實際的應用價值。