摘 要:ZigBee技術具有低復雜度,低功耗、低成本等優勢,在監測和控制領域具有廣闊的應用前景。分析了ZigBee網絡的優點,提出利用以ZigBee協議為基礎的射頻芯片模塊實現無線串口的設計,進一步拓展串口的應用范圍。經過實踐驗證,該設計方法可靠,操作簡單方便,功耗小,成本低,同時可以實現多機通信,適合于低速率的數據傳輸,具有廣闊的應用前景。關鍵詞:ZigBee; CC2430; 無線串口; 多機通信
中圖分類號:TN925-34文獻標識碼:A
文章編號:1004-373X(2010)18-0151-03
Serial Communication Based on Wireless Sensor Network Nodes
GAO Shan, YUAN Jie
(School of Electronics Science and Engineering, Nanjing University, Nanjing 210046, China)
Abstract: Because of the advantages of low complexity, low power and low cost, ZigBee technique has wide application in the fields of monitoring and control. This design analyzes the advantages of ZigBee network, and proposes the wireless serial port design achieved by ZigBee-based RF chip module, the application of serial port is expanded. The experiment verifies that it has reliable method, easy operation, low power consumption and low cost, and its multi-machine communication can be achieved. It is suitable for low-speed data transmission, and has broad application prospects. Keywords: ZigBee; CC2430; wireless serial interface; communication of multi-computer
0 引 言
隨著計算機應用的普及,計算機與計算機、計算機與數據終端間的通信應用日益廣泛,由于電氣標準相對成熟和完善,串口通信在其中的應用十分廣泛。但在通信設備距離相對較遠或者有線電纜鋪設不便的情形下,無線串口通信的實現將有利于拓展串口的應用范圍,同時有效節約資源。當前無線串口通信的實現主要依靠藍牙、紅外、WIFI等技術,但藍牙和紅外的推廣都受到距離、功耗的限制,紅外適用于單對單的直接通信,距離限制在1~2 m;藍牙的距離也僅在10 m左右,并且WIFI和藍牙系統的建設和使用成本都遠遠高于ZigBee系統,且ZigBee具有低功耗、高通信距離等優點,在無線串口的實現中具有明顯的優勢。本系統利用以ZigBee協議為基礎的射頻芯片CC2430模塊實現無線串口技術,利用CC2430自帶的UART模式,向下兼容RS 232協議,有很強的應用性和推廣性。利用ZigBee網絡架構無線串口在設備數目較多,拓撲相對復雜,互相通信需要穿越墻體等障礙物時,具有通信距離遠,功耗低,安全可靠的優點[1-2]。
1 ZigBee技術
ZigBee是一種基于IEEE802.15.4標準的短距離、低速率無線網絡技術。該無線連接技術主要解決低成本、低功耗、低復雜度、低傳輸速率、近距離的設備聯網應用,主要用于無線傳感器網絡的測量和控制方面。
CC2430 芯片是 Chipcon 公司推出的用來實現嵌入式 ZigBee 應用的片上系統。它支持2.4G IEEE 802.15.4/ZigBee協議。根據芯片內置閃存的不同容量,提供給用戶3個版本,即CC2430-F32/64/128,片上FLASH分別是32 KB、64 KB和128 KB。CC2430在片上集成了8位8051單片機、模/數轉換器、定時器、看門狗、ASE協處理器、FLASH控制器、DMA控制器、復位電路、串行通信接口以及21個可編程引腳等。
CC2430有2個片上串行通信接口(USART),分別是USART0和USART1。它們既具有相同的功能,又具有各自的引腳,可以工作在異步UART模式或者同步SPI模式下。
當作為異步串行接口,使用UART模式時,有2種線路構成可供選擇。一種是只包含RXT,TXD的雙線構成;另一種是比雙線構成多包含了RTS和CTS的4線構成。
UART模式具有以下特點[3-4]:
具有8或者9位數據位;奇校驗,偶校驗或者無奇偶校驗;可配置起始位和停止位電平;可配置低有效位優先傳送或者高有效位優先傳送;獨立的接受和發送中斷;獨立的接受和發送DMA觸發;奇偶校驗和幀校驗錯誤狀態;提供全雙工異步傳輸,接收器中的位同步不影響發送功能。
2 系統構成
ZigBee標準是基于802.15.4協議棧而建立的,ZigBee網絡支持星狀(star)、樹狀(cluster tree)和網狀(mesh)3種拓撲結構,具有可靠性高,組網簡單靈活,網絡容量大,自組織和自愈能力強,通信可靠的優勢[5]。
如圖1 所示,在設備分布數目多,分布范圍廣,拓撲結構復雜時,架設在ZigBee網絡上的無線串口可以克服普通串口通信距離近,布線麻煩等不足,而擴大串口的應用范圍。
圖1 無線串口的應用
在發送數據時,數據通過串口USART進入CC2430的DATA內存區。為了提高傳輸速度,使用DMA傳輸方式將內存區中的數據送達射頻模塊的TXFIFO中,數據進入射頻模塊后,經過一系列的硬件處理,最后通過天線發射無線信號。接收數據是發送數據的逆過程。射頻模塊從天線接收到無線信號,通過一系列的硬件處理,將信號轉換為數據,存放在RXFIFO中,再通過DMA方式送入DATA內存區中,最后通過USART串口將接收到的數據送出[6]。數據在無線模塊的傳輸路徑如圖2所示。
不難看出,整個數據傳輸過程大部分在CC2430的內部完成。這得益于CC2430具有極高的集成度,是一款片上系統,能夠提供較高的系統穩定性和可靠性。
圖2 數據在無線模塊中的傳輸路徑
ZigBee模塊接收到的數據幀[7-8]作為網絡層的負荷,通過ZigBee網絡發送給目標節點。網絡層幀格式如下所示:
字節11111變化1
幀類型序列號目標地址源地址數據長度數據負荷檢查和
該幀的第1個字符表示幀類型(frame type):0x00為命令幀;0x01為數據幀;0x02為確認幀;0x03為錯誤幀;0x04~0xFF保留。第2個字符表示包序列號(sequernce number)。第3個字符表示數據傳送的目標節點(destination address)。第4個字符表示數據的源節點(source address)。第5個字符表示數據的長度(data length)。后續是數據負荷(data payload),長度為data length。最后一個字符是校驗和(check sum),其值根據下式算得。
CheckSum=FrmTypy^SeqNum^DstAddr^SrcAddr^DataLen^Data[0]^Data[1]^ ...^Data[DataLen-1]
整個數據幀的長度是data length+6,作為MAC層負荷,它必須小于104 B。無線模塊網絡層接收到數據幀后,檢查該數據幀的目標地址與該節點地址是否相同。若不相同,則說明該數據是給異地節點的,無線模塊將通過ZigBee網絡轉發給目標節點;若相同,則根據接受到的數據重新計算校驗和;如果得到的校驗和與傳送過來的相同,則回復確認幀,同時將數據輸出;反之通知發送方傳輸失敗。
3硬件設計
前面介紹了系統整體和軟件設計方面的方案,下面提供一種系統硬件組成的設計方案。無線模塊電路圖如圖3所示。
圖3 無線模塊電路圖
電路系統主要由電源、復位電路、串口連接電路和無線收發電路組成。可實現串口數據的無線收發,即發送數據時,計算機通過MAX485將RS 485的標準電平轉換為TTL電平,再通過CC2430無線發送。接收數據則是CC2430先接收到數據信號,然后經MAX 485將TTL電平轉換為RS 485的標準電平,再通過RS-485向上位機輸入數據[9]。
由于CC2430具有低功耗的特性,因此選用2節干電池為模塊供電。另外,還選用了AH805升壓穩壓器,可將3 V電壓升高至5 V,故電源部分可提供3 V或5 V 2種電壓。其中,3 V電壓為CC2430供電;5 V電壓為MAX485和復位電路供電[10]。
若將系統用于PC機間的通信時,可以通過引入RS 232-485轉換器來實現RS 232標準電平到RS 485標準電平的轉換,以兼容PC機RS 232串口。
4 實驗結果
在最終的系統測試中,主要對系統在數據傳輸速率以及通信距離對數據傳輸誤碼率的影響和傳統有線通信做了單項和對比測試,測試結果如表1所示。
表1 新型串行通信技術與傳統串行通信技術比較
新型串行通信技術傳統串行通信技術
傳輸距離及速率室內10 m,無遮擋物環境下速率為250 Kb/s;室外空曠環境30~75 m,速率40 Kb/s;300 m時速率20 Kb/sRS485傳輸距離大大受限于傳輸速率,受布線環境、地形的影響
施工成本數據通過無線網絡傳輸,節省資源,建設和維護的成本很低且施工簡單RS 485接口采用屏蔽雙絞線,線材昂貴,組網鋪設布線成本很高
誤碼率射頻模塊在距離150 m時通信的誤碼率小于1%,ZigBee的誤碼率在信噪比為4 dB的情況下可達10-9RS 485的誤碼率約為10-7,通信質量受距離的影響很大
通信范圍理論上通訊距離從標準的75 m到幾百米、幾公里,并且支持無限擴展,支持星狀、樹狀和網狀結構,組網簡單,方式靈活RS 485推薦使用在點對點網絡中,線型,總線型,不能是星型,環型網絡,理論最大通信距離為1 219 m
系統能耗射頻模塊在發射狀態下耗電為25.6 mA,接收狀態為28.4 mA,休眠狀態僅為2.5 μA。待機模式下,2節5號干電池一般可支持1個節點工作6~24個月,低功耗。穩定電源供電,對供電環境要求較高
5 結 語
在此將最新的ZigBee技術用于CC2430,為RF收發器實現了無線通信,將其與計算機串口結合起來,可取代傳統的有線串口通信,并通過實地的系統測試和理論分析,論證了基于ZigBee技術的無線通信相比于傳統有線通信的優點,提出了一種新型串口通信的解決方案,具有廣闊的實用前景。
參考文獻
[1]朱向慶,陳志雄,洪暉.基于ZigBee協議帶AT命令的無線串口設計[J].低壓電器,2009,51(10):16-19.
[2]趙孟文,袁朝暉,王鴻輝.基于藍牙技術的溫度無線傳感器網絡系統[J].現代電子技術,2009,32(21):144-146.
[3]尹應鵬,李平舟,郭志華.基于CC2430的ZigBee無線數傳模塊的設計和實現[J].電子元器件應用,2008,10(4):18-21.
[4]陳紅,李瑋.無線傳感器網絡中傳輸電路的設計[J].現代電子技術,2009,32(21):76-78,92.
[5]李正,關永,王亮,等.嵌入式ZigBee串口模塊的設計[J].微計算機信息,2009,25(20):21-23.
[6]劉紅沙,雷偉,尹酉.基于CC2430的串口無線模塊的設計[J].國外電子元器件,2007(4):47-50.
[7]朱曉明,趙曉麗.基于UART接口的ZigBee傳感器網絡的設計[J].機床與液壓,2008,36(10):271-273.
[8]朱文舉,楊銀堂.基于ZigBee的文件傳輸技術[J].電子元器件應用,2007,9(12):63-65,68.
[9]楊鑫,黃宏光,何瑋華,等.基于RS-232的無線數據傳輸系統的實現[J].工藝與技術,2005(5A):40-41,44.
[10]王東東,郭文成.基于ZigBee技術的路燈無線網絡控制系統設計[J].天津工業大學學報,2009,28(1):84-85.
[11]PENG Yu.ZigBee-a wireless communication protocol with features of low power, low cost, high reliability and low complexity[J].Process Atuomation Instrumentation, 2005,26(5):7-11.
[12]李暉,何志強.基于ZigBee無線熱能檢測系統設計[J].現代電子技術,2010,33(1):132-134,138.
[13]楊燁,董惠.基于ZigBee的無線傳感器網絡節點的設計[J].現代電子技術,2009,32(17):140-142.