袁玉英,羅永剛,鄒志遠
(1.山東理工大學 計算機科學與技術學院,淄博 255049;2.山東理工大學 電氣與電子工程學院,淄博 255049;3.山東淄博貝林電子有限公司,淄博 255000)
隨著科學技術的不斷發展,智能儀表進入千家萬戶,抄表方式也由傳統的手工抄表變為自動抄表。目前國內比較流行的是RS485總線抄表方式,智能儀表通過RS485總線連接起來,然后接入數據采集設備,這種方式維護繁瑣并且布線成本高?;?33 MHz的無線通信技術具有低功耗、低成本、傳輸距離遠、穿透力強等特點,在抄表系統中應用非常廣泛。基于433 MHz的組網方案較多,大多數通信協議復雜、功能強大,由于在抄表系統中各個節點位置固定,節點通信數據少,并且智能儀表中處理器容量、速度有限,有些儀表是電池供電,對功耗要求嚴格,所以很多方案不適合抄表系統[1]。本文提出了一種基于433 MHz的無線自組網抄表系統,協議代碼量少,功能簡單,但能滿足抄表需求。文中詳細分析了遠程抄表系統中的關鍵技術,并給出了解決方案。該自組網方案已經成功投入使用,并取得了良好效果。
整個抄表系統由智能儀表、無線采集器、數據中心服務器組成。智能儀表主要完成計量功能,然后將數據無線傳輸到采集器。無線采集器主要功能為采集智能儀表的數據,并將數據無線傳輸到數據中心服務器。在整個系統中,無線采集器扮演著非常重要的角色,負責管理采集多個智能儀表,如圖1所示,一個無線采集器負責管理一個或者多個樓棟。當智能儀表安裝結束之后,首先將智能儀表表號、采集器位置以及設備號等信息錄入數據中心服務器,然后將采集器需要管理采集的表號以及采集時間通過GPRS發送到采集器中,這樣采集器就開始獨立運行。當采集時間到來時,無線采集器逐個采集智能儀表信息并存儲。第一次采集之后,采集器中存儲了各個節點的路由表。采集結束后,無線采集器將數據主動傳輸到數據中心服務器中[2]。

圖1 系統框圖Fig.1 Block diagram of system
數據中心服務器負責完成對數據的存儲、用戶信息的維護以及數據的分析打印等功能,是數據處理的核心。智能儀表安裝到用戶家中,主要包括電能表、水表、熱量表以及煤氣表,完成對各個能源的計量功能,并將儀表運行的各個參數遠程傳輸到無線采集器。每個儀表內部有一個無線模塊,該無線模塊和CPU通過SPI通信,實現表內數據與無線數據的轉發。
由于智能儀表、無線采集器與數據中心服務器之間采用無線通信,因此在智能儀表與無線采集器中都帶有無線模塊,數據通信協議采用建設部公布的CJ-T188協議;無線采集器通過GPRS與數據中心服務器進行數據的傳輸,數據格式采用自定義協議。無線模塊主芯片采用笙科電子的A7108,如圖2所示。它支持自動抄表所需要的300 MHz~950 MHz,它最大的優勢在于優異的RF性能,內建的PA可以輸出最大20 dBm的發射功率,接收器靈敏度也很高。在10 kb/s的條件下,搭配直立的單心線天線,街道實測距離可達1000 m。為了適合電池的供電場合,該芯片有睡眠功能,最低的功耗僅需200 nA,并且具有自動喚醒功能。如圖2所示,SDIO、SCK、GIO1、GIO2、SCS 引腳與處理器連接,采用 SPI接口通信。RFI為信號輸入,RFO為信號輸出。數據的發送接收通過64字節的收發緩沖區實現,發送時只需要將數據寫入發送緩沖器,然后啟動發送命令,等待發送結束。當檢測到有信號時,可觸發CPU中斷,從數據緩沖區中讀出接收數據[3]。

圖2 A7108接線圖Fig.2 A7108 connection diagram
無線自組網絡是一個具有自動轉發功能的多節點網絡,當目的節點超出源節點通信范圍時,需要中間節點的轉發才能實現相互通信;有些網絡中通信節點的位置不斷移動,隨之網絡拓撲結構不斷變化,如何快速準確地找到目的節點是自組網中的核心問題,因此自組網中的路由協議在網絡中有著非常重要的地位。目前,有各種各樣的路由協議,根據路由發現的驅動模式不同,可將路由協議分為表驅動路由協議、按需路由協議以及混合路由協議。驅動路由協議又稱為主動路由協議,每個節點中存儲一個路由表,并且不斷更新,保持路由路徑的準確性。按需路由驅動節點平時不需要維護網絡路由,只有在節點有數據分組要發送而路由表中又沒有到達該節點路由的情況下,才開始尋找目的節點的路由,所以稱為按需路由。在抄表系統中,智能儀表作為通信節點,由于節點中處理器處理速度慢、容量小以及有些儀表對功耗要求嚴格,因此不能支持復雜的路由協議。同時,抄表系統中的節點位置都是固定不變的,通信量較小、節點數較少、實時性要求不高也是抄表系統的特點。本設計的路由協議采用按需路由的方式,路由表存儲在無線采集器中[2]。
當數據中心服務器需要抄收某一節點的數據時,將抄收數據命令發送給無線采集器,無線采集器首先在其存儲器中查找有沒有該節點的路由信息,如果有,則按照路由信息把抄表命令發送給路由路徑的第一個中間節點,然后依次下發直到目的節點。表1是每個節點的路由表格式,分別存儲目的節點號、中間節點以及跳數。由于無線采集器管理節點數少并且節點相對集中,因此共設置最大三級中繼。當目的節點不在路由表中時,無線采集器進行廣播來搜索目的節點,以便建立路由路徑。采集器發送搜索幀,每個節點收到該搜索幀時,如果自己不是目的地址,在幀中中繼位置增加自己的地址,然后再次廣播。當目的節點收到搜索幀后,按照接收搜索幀的路徑返回響應幀給采集器。采集器建立并存儲該路由路徑以便下次通信時使用。由于在抄表系統中各個節點安裝之后位置固定不變,因此路由表建立之后除非目的節點不在路由表中或者節點無數據返回,平時不需要實時維護路由表,節約了資源。同時因為路由表存儲在采集器中,運行在數據中心服務器中的管理軟件可以實時查看或修改路由表,這給管理者提供了靈活的抄表方式。同時,為了避免相鄰采集器之間相互干擾,通過撥碼開關設置不同的傳輸頻段[4]。

表1 路由表格式Tab.1 Format of routing table
A7108內建RSSI功能,用于檢測當前接收信號的強弱。采集器在搜索目的節點時,目的節點可能收到來自不同路徑的多個搜索幀,其可根據接收信號的強弱以及接收搜索幀中的中繼節點個數來判斷采用哪一條路徑。當新節點加入網絡時,可以主動給采集器發送信息,建立路由。新節點上電之后,使用智能儀表自帶的按鍵或者設置卡觸發節點發送加入網絡幀,通知附近節點有新節點加入網絡。附近節點接收到該幀后,添加自己的地址然后廣播該幀,直到采集器收到該加入幀并建立新節點的路由信息。當更換節點時,新節點安裝之后,只需要通過運行在數據中心服務器中的管理軟件更新無線采集器中的路由信息即可。
無線采集器采用主從方式與節點通訊。采集器發送采集命令之后等待節點回傳,得到回傳信息之后,再去發送另外一幀數據,因此正常運行后不會存在沖突問題。但是在開始組網時或者路由表中沒有目的節點的路由信息時,有可能造成通信沖突。為了避免沖突和減少發送幀的次數,節點通信采用類似CSMA/CD的防沖突機制。節點在發送數據之前首先監聽信道的忙閑,如果信道忙則選擇隨機時間再監聽。即使信道空閑,也會等待隨機時間再發送。節點之間通信過程都采用應答方式,保證數據的可靠傳輸[5]。
在智能儀表中,包括熱量表、水表、煤氣表使用的都是電池供電,因此能作為中繼節點的只有電能表節點。為了進一步降低功耗,電池供電的智能儀表當偵聽到請求數據的命令幀時,檢測目的節點與自己的地址是否相符,如果不相符將關掉接收中斷,等待一段時間后再打開接收中斷,避免反復進中斷增加功耗。
本文介紹了無線自組網抄表系統的構成和工作原理。設計了一種無線自組網的協議,完成新入節點自動入網以及各個節點的自組網功能,協議雖然簡單,但代碼量小,能夠滿足抄表的需求,實踐證明該系統運行穩定,可靠性高。隨著無線技術規范的進一步完善,無線抄表系統將會得到更加廣泛的應用和發展。
[1] 遲雪華.基于GPRS無線遠程抄表系統的研究與設計[D].南京:南京理工大學,2011.
[2] 邢建平,劉曉娟.自動抄表系統設計[J].計算機應用,2011,20(4):28-30.
[3] 笙科電子.A7108 Datasheet v0.1(Preliminary)[Z],2011.
[4] 楊海粟.基于NRF905的無線傳感網絡硬件平臺的設計與實現[D].秦皇島:燕山大學,2010.
[5] 沈建華,郝立平.STM32W無線射頻ZigBee單片機原理與應用[M].北京:北京航空航天大學出版社,2010.■