基于無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的串行通信技術(shù)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: ZigBee 技術(shù)具有低復(fù)雜度, 低功耗、低成本等優(yōu)勢(shì), 在監(jiān)測(cè)和控制領(lǐng)域具有廣闊的應(yīng)用前景。分析了ZigBee 網(wǎng)絡(luò)的優(yōu)點(diǎn), 提出利用以ZigBee 協(xié)議為基礎(chǔ)的射頻芯片模塊實(shí)現(xiàn)無(wú)線串口的設(shè)計(jì), 進(jìn)一步拓展串口的應(yīng)用范圍。經(jīng)過(guò)實(shí)踐驗(yàn)證, 該設(shè)計(jì)方法可靠, 操作簡(jiǎn)單方便, 功耗小, 成本低, 同時(shí)可以實(shí)現(xiàn)多機(jī)通信, 適合于低速率的數(shù)據(jù)傳輸, 具有廣闊的應(yīng)用前景。
0 引 言
隨著計(jì)算機(jī)應(yīng)用的普及, 計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與數(shù)據(jù)終端間的通信應(yīng)用日益廣泛, 由于電氣標(biāo)準(zhǔn)相對(duì)成熟和完善, 串口通信在其中的應(yīng)用十分廣泛。但在通信設(shè)備距離相對(duì)較遠(yuǎn)或者有線電纜鋪設(shè)不便的情形下,無(wú)線串口通信的實(shí)現(xiàn)將有利于拓展串口的應(yīng)用范圍, 同時(shí)有效節(jié)約資源。當(dāng)前無(wú)線串口通信的實(shí)現(xiàn)主要依靠藍(lán)牙、紅外、WIFI 等技術(shù), 但藍(lán)牙和紅外的推廣都受到距離、功耗的限制, 紅外適用于單對(duì)單的直接通信, 距離限制在1 ~ 2 m; 藍(lán)牙的距離也僅在10 m 左右, 并且WIFI 和藍(lán)牙系統(tǒng)的建設(shè)和使用成本都遠(yuǎn)遠(yuǎn)高于Zig2Bee 系統(tǒng), 且ZigBee 具有低功耗、高通信距離等優(yōu)點(diǎn),在無(wú)線串口的實(shí)現(xiàn)中具有明顯的優(yōu)勢(shì)。本系統(tǒng)利用以ZigBee 協(xié)議為基礎(chǔ)的射頻芯片CC2430 模塊實(shí)現(xiàn)無(wú)線串口技術(shù), 利用CC2430 自帶的UART 模式, 向下兼容RS 232協(xié)議, 有很強(qiáng)的應(yīng)用性和推廣性。利用ZigBee網(wǎng)絡(luò)架構(gòu)無(wú)線串口在設(shè)備數(shù)目較多, 拓?fù)湎鄬?duì)復(fù)雜, 互相通信需要穿越墻體等障礙物時(shí), 具有通信距離遠(yuǎn), 功耗低, 安全可靠的優(yōu)點(diǎn) 。
1 ZigBee 技術(shù)
ZigBee 是一種基于IEEE802. 15. 4 標(biāo)準(zhǔn)的短距離、低速率無(wú)線網(wǎng)絡(luò)技術(shù)。該無(wú)線連接技術(shù)主要解決低成本、低功耗、低復(fù)雜度、低傳輸速率、近距離的設(shè)備聯(lián)網(wǎng)應(yīng)用, 主要用于無(wú)線傳感器網(wǎng)絡(luò)的測(cè)量和控制方面。
CC2430 芯片是Chipcon 公司推出的用來(lái)實(shí)現(xiàn)嵌入式ZigBee 應(yīng)用的片上系統(tǒng)。它支持2. 4G IEEE802. 15. 4/ ZigBee 協(xié)議。根據(jù)芯片內(nèi)置閃存的不同容量, 提供給用戶3 個(gè)版本, 即CC24302F32/ 64/ 128, 片上FLASH 分別是32 KB、64 KB 和128 KB。CC2430 在片上集成了8 位8051 單片機(jī)、模/ 數(shù)轉(zhuǎn)換器、定時(shí)器、看門狗、ASE 協(xié)處理器、FLASH 控制器、DMA 控制器、復(fù)位電路、串行通信接口以及21 個(gè)可編程引腳等。
CC2430 有2 個(gè)片上串行通信接口(USART ) , 分別是USART 0 和USART 1。它們既具有相同的功能,又具有各自的引腳, 可以工作在異步UART 模式或者同步SPI 模式下。
當(dāng)作為異步串行接口, 使用UART 模式時(shí), 有2 種線路構(gòu)成可供選擇。一種是只包含RXT, TXD 的雙線構(gòu)成; 另一種是比雙線構(gòu)成多包含了RT S 和CTS 的4 線構(gòu)成。
UART 模式具有以下特點(diǎn):
具有8 或者9 位數(shù)據(jù)位; 奇校驗(yàn), 偶校驗(yàn)或者無(wú)奇偶校驗(yàn); 可配置起始位和停止位電平; 可配置低有效位優(yōu)先傳送或者高有效位優(yōu)先傳送; 獨(dú)立的接受和發(fā)送中斷; 獨(dú)立的接受和發(fā)送DMA 觸發(fā); 奇偶校驗(yàn)和幀校驗(yàn)錯(cuò)誤狀態(tài); 提供全雙工異步傳輸, 接收器中的位同步不影響發(fā)送功能。
2 系統(tǒng)構(gòu)成
ZigBee 標(biāo)準(zhǔn)是基于802. 15. 4 協(xié)議棧而建立的,ZigBee 網(wǎng)絡(luò)支持星狀( star ) 、樹狀( cluster tr ee) 和網(wǎng)狀(mesh) 3 種拓?fù)浣Y(jié)構(gòu), 具有可靠性高, 組網(wǎng)簡(jiǎn)單靈活, 網(wǎng)絡(luò)容量大, 自組織和自愈能力強(qiáng), 通信可靠的優(yōu)勢(shì)。如圖1 所示, 在設(shè)備分布數(shù)目多, 分布范圍廣, 拓?fù)浣Y(jié)構(gòu)復(fù)雜時(shí), 架設(shè)在ZigBee 網(wǎng)絡(luò)上的無(wú)線串口可以克服普通串口通信距離近, 布線麻煩等不足, 而擴(kuò)大串口的應(yīng)用范圍。
圖1 無(wú)線串口的應(yīng)用
在發(fā)送數(shù)據(jù)時(shí), 數(shù)據(jù)通過(guò)串口USART 進(jìn)入CC2430 的DATA 內(nèi)存區(qū)。為了提高傳輸速度, 使用DMA 傳輸方式將內(nèi)存區(qū)中的數(shù)據(jù)送達(dá)射頻模塊的TXFIFO 中, 數(shù)據(jù)進(jìn)入射頻模塊后, 經(jīng)過(guò)一系列的硬件處理, 最后通過(guò)天線發(fā)射無(wú)線信號(hào)。接收數(shù)據(jù)是發(fā)送數(shù)據(jù)的逆過(guò)程。射頻模塊從天線接收到無(wú)線信號(hào), 通過(guò)一系列的硬件處理, 將信號(hào)轉(zhuǎn)換為數(shù)據(jù), 存放在RXFIFO中, 再通過(guò)DMA 方式送入DATA 內(nèi)存區(qū)中, 最后通過(guò)USART 串口將接收到的數(shù)據(jù)送出。數(shù)據(jù)在無(wú)線模塊的傳輸路徑如圖2 所示。
不難看出, 整個(gè)數(shù)據(jù)傳輸過(guò)程大部分在CC2430 的內(nèi)部完成。這得益于CC2430 具有極高的集成度, 是一款片上系統(tǒng), 能夠提供較高的系統(tǒng)穩(wěn)定性和可靠性。
圖2 數(shù)據(jù)在無(wú)線模塊中的傳輸路徑
ZigBee 模塊接收到的數(shù)據(jù)幀作為網(wǎng)絡(luò)層的負(fù)荷, 通過(guò)ZigBee 網(wǎng)絡(luò)發(fā)送給目標(biāo)節(jié)點(diǎn)。網(wǎng)絡(luò)層幀格式如下所示:
該幀的第1 個(gè)字符表示幀類型( frame. type) : 0x00為命令幀; 0x01 為數(shù)據(jù)幀; 0x02 為確認(rèn)幀; 0x03 為錯(cuò)誤幀; 0x04~ 0xFF 保留。第2 個(gè)字符表示包序列號(hào)( se2quernce number ) 。第3 個(gè)字符表示數(shù)據(jù)傳送的目標(biāo)節(jié)點(diǎn)( destination address) 。第4 個(gè)字符表示數(shù)據(jù)的源節(jié)點(diǎn)( source address) 。第5 個(gè)字符表示數(shù)據(jù)的長(zhǎng)度( datalength) 。后續(xù)是數(shù)據(jù)負(fù)荷( data payload) , 長(zhǎng)度為datalength。最后一個(gè)字符是校驗(yàn)和( check sum) , 其值根據(jù)下式算得。
整個(gè)數(shù)據(jù)幀的長(zhǎng)度是data length+ 6, 作為MAC層負(fù)荷, 它必須小于104 B。無(wú)線模塊網(wǎng)絡(luò)層接收到數(shù)據(jù)幀后, 檢查該數(shù)據(jù)幀的目標(biāo)地址與該節(jié)點(diǎn)地址是否相同。若不相同, 則說(shuō)明該數(shù)據(jù)是給異地節(jié)點(diǎn)的, 無(wú)線模塊將通過(guò)ZigBee 網(wǎng)絡(luò)轉(zhuǎn)發(fā)給目標(biāo)節(jié)點(diǎn); 若相同, 則根據(jù)接受到的數(shù)據(jù)重新計(jì)算校驗(yàn)和; 如果得到的校驗(yàn)和與傳送過(guò)來(lái)的相同, 則回復(fù)確認(rèn)幀, 同時(shí)將數(shù)據(jù)輸出; 反之通知發(fā)送方傳輸失敗。
3 硬件設(shè)計(jì)
前面介紹了系統(tǒng)整體和軟件設(shè)計(jì)方面的方案, 下面提供一種系統(tǒng)硬件組成的設(shè)計(jì)方案。無(wú)線模塊電路圖如圖3 所示。
圖3 無(wú)線模塊電路圖
電路系統(tǒng)主要由電源、復(fù)位電路、串口連接電路和無(wú)線收發(fā)電路組成??蓪?shí)現(xiàn)串口數(shù)據(jù)的無(wú)線收發(fā), 即發(fā)送數(shù)據(jù)時(shí), 計(jì)算機(jī)通過(guò)MAX485 將RS 485 的標(biāo)準(zhǔn)電平轉(zhuǎn)換為T TL 電平, 再通過(guò)CC2430 無(wú)線發(fā)送。接收數(shù)據(jù)則是CC2430 先接收到數(shù)據(jù)信號(hào), 然后經(jīng)MAX 485將TT L 電平轉(zhuǎn)換為RS 485 的標(biāo)準(zhǔn)電平, 再通過(guò)RS2485 向上位機(jī)輸入數(shù)據(jù)。由于CC2430 具有低功耗的特性, 因此選用2 節(jié)干電池為模塊供電。另外, 還選用了AH805 升壓穩(wěn)壓器, 可將3 V 電壓升高至5 V, 故電源部分可提供3 V 或5 V 2 種電壓。其中, 3 V 電壓為CC2430 供電; 5 V 電壓為MAX485 和復(fù)位電路供電。若將系統(tǒng)用于PC 機(jī)間的通信時(shí), 可以通過(guò)引入RS 2322485 轉(zhuǎn)換器來(lái)實(shí)現(xiàn)RS 232 標(biāo)準(zhǔn)電平到RS 485標(biāo)準(zhǔn)電平的轉(zhuǎn)換, 以兼容PC 機(jī)RS 232 串口。
4 實(shí)驗(yàn)結(jié)果
在最終的系統(tǒng)測(cè)試中, 主要對(duì)系統(tǒng)在數(shù)據(jù)傳輸速率以及通信距離對(duì)數(shù)據(jù)傳輸誤碼率的影響和傳統(tǒng)有線通信做了單項(xiàng)和對(duì)比測(cè)試, 測(cè)試結(jié)果如表1 所示。
5 結(jié) 語(yǔ)
在此將最新的ZigBee 技術(shù)用于CC2430, 為RF 收發(fā)器實(shí)現(xiàn)了無(wú)線通信, 將其與計(jì)算機(jī)串口結(jié)合起來(lái), 可取代傳統(tǒng)的有線串口通信, 并通過(guò)實(shí)地的系統(tǒng)測(cè)試和理論分析, 論證了基于ZigBee 技術(shù)的無(wú)線通信相比于傳統(tǒng)有線通信的優(yōu)點(diǎn), 提出了一種新型串口通信的解決方案, 具有廣闊的實(shí)用前景。