施茂祺
(江西財經職業學院 現代教育技術中心,婺源 332000)
隨著通信技術的迅速發展,GSM、3G等無線通信技術以及藍牙、WiFi等無線網絡越來越被人們所熟悉和應用。然而這些技術的系統一般非常復雜,功耗大、成本較高。而ZigBee技術以其無需布線,價格低廉,低功耗、設計簡單等特點,在許多的應用場合,尤其在無線傳感器網絡方面發揮其它網絡不可替代的作用[1]。本文就如何結合ZigBee技術和以太網的數據傳輸,做了系統的研究設計。
本文要實現的是ZigBee傳感器網絡采集數據,經過ZigBee網絡跳變傳輸實現數據的傳輸,送至無線傳感器網絡無線網關,網關進行數據解包和打包的格式轉換,發送到以太網網絡上。主要設計工作是搭建傳輸系統的硬件平臺,硬件設計框圖如圖1所示。

圖1 系統硬件結構框圖
本系統中要設計實現網關和終端節點兩種硬件實物,其中網關的設計較為復雜,是設計的重點。文中網關的設計思想是采用ZigBee芯片中集成的8051內核作為主處理芯片,與以太網控制芯片RTL8019AS相結合,將ZigBee傳感器網絡采集的數據與外部網絡互聯,實現數據在不通網絡中傳輸。
請求和控制信息從以太網的網絡中傳來,經過RJ-45接口送到以太網控制器RTL8019AS中,以太網控制器主要是將接收到的數據包進行解析,得到原始的請求和控制消息,并送到微處理器中,微處理器根據相應請求進行處理,將處理后的消息再通過相反的過程傳到以太網網絡中,最后反映給用戶。
終端節點設計是利用ZigBee芯片的I/O口外接傳感器,并輔助設計它的外圍電路,編程口,電源供電等電路。設計中主要是設計并驗證系統的可行性及正確性,傳感器類型的選擇可以根據不同的應用需求選擇和改變相應的傳感器,增加系統的通用性。
基于系統對芯片的優越性比較,我們ZigBee芯片選擇TI公司的CC2430芯片,以太網控制芯片選取臺灣RETLTEK公司的以太網控制芯片RTL8019AS。
經過ZigBee和以太網兩塊芯片的工作方式的分析,本系統的硬件接口采用8位的數據總線方式。鑒于CC2430的I/O的限制和系統設計的整體的成本的考慮,采用口線模擬的方式來實現數據的讀取。
C2430有21個數字I/O口,能夠配置為通用的I/O口、計時器或串行通信口,輸入的上下拉能力以及外部中斷功能。作通用的I/O口時,可分配成3個8位的I/O口,分別命名為P0,P1和P2。P0和P1為完全的8位數據口,而P2口只有5位可用,所有的I/O口通過特殊功能寄存器,既可以位尋址也可以字節尋址。CC2430提供的三個I/O口,分別作8位數據,地址和控制。具體分配如下:
數據總線:P0口(P0.0 P0.7)
地址總線:P1口的低5位(P1.0 P1.4)
讀信號線:P2.2,通過該引腳實現對芯片內部程序和數據的讀操作;
寫信號線:P2.1,通過該引腳實現對芯片內部程序和數據的寫操作;
中斷口:P2.0為中斷的申請信號線,作為RTL8019AS的中斷申請信號端口。
RTL8019AS使用的是跳線的方式,它的外部接口形式已經選定為數據地址總線方式,而CC2430沒有提供數據地址總線口,而只提供了普通I/O口功能,UART串行接口以及SPI的總線模式[2]。在不增加外圍器件的前提下,本設計選用了口線模擬的方式,用軟件的方式來模擬數據總線的讀寫時序,這樣節約了硬件成本。網關硬件接口設計如圖2所示:

圖2 網關硬件接口框圖
本設計中微帶線設計參照的TI公司公布的2.4GHZ天線參數來完成的。CC2430采用的是2.4GHZ無線收發,天線的諧振頻率為2.45GHZ,天線的面積為 ,工作帶寬為100MHZ,天線的輻射效率超過90%[3]。
CC2430射頻信號的無線收發采用差分方式進行傳輸,根據數據手冊查得它的最佳差分負載是 ,具體參數阻抗匹配電路應該根據這個參數來進行調整[4]。
網關設計中選取的芯片工作在兩個不同的電壓等級上,CC2430需要3.3V的工作電壓,而RTL8019AS需要5V的工作電壓,所用的電源適配器輸出電壓為9V,因此設計的電源要進行電壓等級的變換由9V到5V和由9V到3.3V。設計選用的穩壓芯片是SPX1117-5V和SPX1117-3.3V,分別完成從電源適配器9V電壓到5V和3.3V的電源降壓,以滿足整個電路的需要。電源適配器輸出電壓時9V時,分別經過兩塊穩壓芯片SPX1117-3.3(U4)和 SPX1117-5(U5),完成 9V到3.3V,9V到5V的電壓轉換,以滿足兩個芯片的工作電壓需要。穩壓芯片僅需要一個阻值為0.33uF的電解電容和一個普通的0.1uF的普通電容就可以實現穩壓芯片的工作。電源電路設計如圖3所示。

圖3 電源電路設計
RTL8019AS和CC2430在開始工作的時候都需要復位。CC2430有三種復位方式:低電平,上電復位和看門狗復位,本設計采用給第一種方式,給復位引腳輸入低電平復位。RTL8019AS的復位要求復位引腳RSTDRV高復位,當脈沖寬度小于800ns忽略不記。手動復位電路設計如圖4所示。
復位電源通過穩壓芯片SPX1117—5V的輸出引腳提供,當按鍵S1沒有按下時,A點斷路,三極管的集電結截止不導通,B點為高電平;當按鍵S1按下時,節點A處出現高電平,電阻R5,R6起到限流和分壓作用,三極管基極B高電平,基極和發射極之間BE導通,由于三極管的導通特性,CE極將導通,集電極被拉低,B點出現低電平,起到復位作用。這樣就會使系統的兩塊芯片均得到復位,滿足整個系統的復位要求。

圖4 復位電路設計
終端節點的作用是通過ZigBee傳感器網絡采集現場溫度或數據,它傳輸數據的方式是依托ZigBee網絡的數據跳變傳輸模式傳遞。終端節點的設計是利用ZigBee傳感器芯片CC2430,外接溫度傳感器DS18B20采集數據,通過節點傳輸到以太網網關進行數據的匯總,數據格式的轉換在以太網進行數據的傳輸。
終端節點的電路比較簡潔,就是CC2430的基本外圍電路,外擴傳感器接口,編程口接口,電源供電接口。CC2430的基本外圍電路已在前面的章節(4.3.1 小節)介紹過,在這里將不再贅述。需要說明的是:CC2430的P1.2引腳連接溫度傳感器的DQ引腳,而終端節點的供電采用的電池盒供電,兩節干電池(3V)就可以滿足終端節點的供電需求。
本設計中的網關實現數據在兩個不同類型的網絡之間的傳輸,要把傳輸的數據用兩種協議實現各自的打包和解包,并在兩個網絡中進行傳輸。網關的程序設計包含ZigBee和以太網數據的打包和解包程序,以及相關設備的初始化和中斷程序。
主程序在初始化以后就進入等待接受中斷請求,判斷請求后進入各自的中斷服務程序中,分別處理ZigBee數據的發送請求和TCP/IP的數據的發送請求。
當ZigBee網絡中的終端節點通過無線方式發送ZigBee數據包到網關時,網關產生終端請求,調用接收ZigBee數據包函數,經MCU處理后解包出ZigBee數據,再通過以太網部分,實現數據到TCP/IP的打包封裝,發送到以太網芯片進行處理,把數據寫到RTL8019相應的數據區,然后啟動RTL8019發送TCP/IP數據包。將數據包發完以后,重新設置標志位和中斷控制,返回等待中斷狀態。
本文系統的通過對ZigBee協議的研究和分析,設計了結合ZigBee網絡和以太網網絡的傳輸系統,對研究中所涉及的各項設計進行了詳細的分析和說明。通過傳輸系統的可行性的實驗性驗證,該系統設計具有功能完善、性能可靠、接線簡單、使用方便、控制靈活,可擴展性強等特點。該傳輸系統設計是具有可行性的,本文中網關和終端節點適合低速率,短距離的無線數據傳輸。
[1] 李文仲, 段朝玉,等. zigbee無線網絡技術入門與實踐[M].北京: 北京航空航天出版社, 2007.
[2] 黃敬堯, 蔣冰華, 陸啟帥. 基于Windows CE.net 的串行通訊設計與實現[J]微計算機信息, 2006, 9: 40-41.
[3] 周書民, 湯彬, 孫亞民. MobileIP的無線/有線網絡通信模擬分析[J]. 計算機工程, 2006, (12).