當(dāng)前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]摘要:利用ZigBee技術(shù),組成具有可“自愈”能力的Mesh網(wǎng)絡(luò),實現(xiàn)無線串口通信。ZigBee技術(shù)的Mesh網(wǎng)絡(luò),單個模塊的傳輸距離在10~100 m之間,加功放在1 km以上。傳輸速率為250 kb·s-1,完全能滿足一

摘要:利用ZigBee技術(shù),組成具有可“自愈”能力的Mesh網(wǎng)絡(luò),實現(xiàn)無線串口通信。ZigBee技術(shù)的Mesh網(wǎng)絡(luò),單個模塊的傳輸距離在10~100 m之間,加功放在1 km以上。傳輸速率為250 kb·s-1,完全能滿足一般用戶的要求。
關(guān)鍵詞:ZigBee技術(shù);Mesh網(wǎng)絡(luò);“自愈”能力;無線串口

    RS-232串行通信是異步通信中應(yīng)用最廣的標(biāo)準(zhǔn)總線,在沒有Modem的情況下,一般傳輸距離限制在15 m內(nèi),使得遠(yuǎn)距離串口通信受到較大限制。無線技術(shù)是當(dāng)今設(shè)備通信中取代有線技術(shù)的必然趨勢。
    本文利用ZigBee無線技術(shù)組成Mesh網(wǎng)絡(luò)實施串口通信,網(wǎng)絡(luò)中任意兩個模塊的傳輸距離可達100 m,如果模塊有功放,傳輸距離可上升至1.5 km。因為Mesh網(wǎng)絡(luò)的多跳性,數(shù)據(jù)能夠多跳傳輸,所以數(shù)據(jù)的傳輸距離取決于跳數(shù)的多少,如圖1所示S4經(jīng)過3跳把數(shù)據(jù)傳送到S1,如果每一跳距離是1 km,則傳輸距離達3 km,這有效地解決了有線串口傳送的距離限制問題。同時,ZigBee網(wǎng)絡(luò)中最大的數(shù)傳速率為250 kb·s-1,完全能滿足一般用戶的要求。



1 ZigBee無線串口設(shè)計原理
1.1 節(jié)點入網(wǎng)后的初始化
    根據(jù)ZigBee技術(shù)的要求,ZigBee網(wǎng)絡(luò)中存在3種角色,協(xié)調(diào)器、路由和終端設(shè)備,協(xié)調(diào)器負(fù)責(zé)建立網(wǎng)絡(luò),路由器負(fù)責(zé)路由,終端設(shè)備只能收發(fā)數(shù)據(jù)。協(xié)調(diào)器和路由統(tǒng)稱為全功能設(shè)備(FFD)。
    在此,所有的設(shè)備都統(tǒng)稱為節(jié)點(node),只是所扮演的角色不一樣,每個節(jié)點都人為地在程序里給它們?nèi)∶?,如?1、02、03表示節(jié)點1、節(jié)點2、節(jié)點3,00保留給協(xié)調(diào)器。
    協(xié)調(diào)器(00)加電后組建網(wǎng)絡(luò),各節(jié)點自動發(fā)現(xiàn)并加入網(wǎng)絡(luò),根據(jù)本文的設(shè)計,節(jié)點在加入網(wǎng)絡(luò)后都會自動地向網(wǎng)絡(luò)中的其他節(jié)點廣播其16位網(wǎng)絡(luò)地址和名字,網(wǎng)絡(luò)中的其他節(jié)點接收到這廣播數(shù)據(jù)后將該數(shù)據(jù)儲存在數(shù)組NodeAddress[]中,然后以單播的方式向新加入節(jié)點反饋自己的網(wǎng)絡(luò)地址和名字,新節(jié)點也將該數(shù)據(jù)保存在數(shù)組NodeAddress[]中,從而保證網(wǎng)絡(luò)中的每個節(jié)點都知道其他節(jié)點的網(wǎng)絡(luò)地址和名字。具體流程如圖2所示。


1.2 串口數(shù)據(jù)的格式
    當(dāng)節(jié)點串口有數(shù)據(jù)要發(fā)送的時候,必須要指明,數(shù)據(jù)的發(fā)送目的地,所以從串口輸入的數(shù)據(jù)必須滿足一定的格式,本設(shè)計規(guī)定該格式為:××……;××為要發(fā)送的目的節(jié)點名字,……為要發(fā)送的數(shù)據(jù)。譬如向節(jié)點01發(fā)送數(shù)據(jù)“ZigBee”,格式為:01 ZigBee。因為節(jié)點在加入網(wǎng)絡(luò)的時候,已經(jīng)建立了名字和網(wǎng)絡(luò)地址的對應(yīng)表,所以發(fā)送節(jié)點會自動將01解釋為網(wǎng)絡(luò)地址0x0023,從而將數(shù)據(jù)準(zhǔn)確地發(fā)送到節(jié)點01上。

2 無線串口硬件設(shè)計
2.1 系統(tǒng)框圖


    串口接收、發(fā)送系統(tǒng)可以是PC或者其他嵌入式系統(tǒng),ZigBee控制系統(tǒng)負(fù)責(zé)組網(wǎng)和接收發(fā)送數(shù)據(jù)。這里主要研究ZigBee控制系統(tǒng)。
2.2 芯片選擇
    選擇TI公司的2.4 GHz片上系統(tǒng)解決方案CC2530。CC2530是用于IEEES02.15.4、ZigBee和RF4CE應(yīng)用的一個片上系統(tǒng)解決方案。它能以較低的總材料成本建立強大的網(wǎng)絡(luò)節(jié)點。CC2530結(jié)合了領(lǐng)先的RF收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的增強型8051CPU,使操作更容易,具備不同的運行模式,尤其適應(yīng)超低功耗要求的系統(tǒng)。
2.3 無線串口電路設(shè)計
    CC2530中的P0_1和P0_2為TTL電平的串口接收發(fā)送管腳,可直接與TTL電平的串口系統(tǒng)相連,如果與PC機連,要加上MAX232模塊。可見該無線串口與其他系統(tǒng)的兼容性很強,而且連接方便。



3 軟件設(shè)計
3.1 ZigBee協(xié)議棧簡介
    ZigBee協(xié)議棧以IEEE 802.15.4標(biāo)準(zhǔn)為基礎(chǔ),IEEES02.15.4工作組主要負(fù)責(zé)制定物理層(PHY)、媒體訪問控制層(MAC)。ZigBee聯(lián)盟提供了網(wǎng)絡(luò)層和應(yīng)用層(APL)框架的設(shè)計。其中,應(yīng)用層的框架包括了應(yīng)用支持子層(APS)、ZigBee設(shè)備對象(ZDO)及由制造商制定的應(yīng)用對象。如圖5所示。


    采用TI公司的Z—Stack 07協(xié)議棧實現(xiàn)ZigBee協(xié)議。Z—Stack 07協(xié)議棧,對之前幾個版本的協(xié)議進行了改進,使得網(wǎng)絡(luò)穩(wěn)定性更強,組網(wǎng)更靈活。
3.2 主體程序流程與任務(wù)
    TI的Z—Stack 07/PRO協(xié)議棧,對應(yīng)的開發(fā)環(huán)境為IAR 7.51A。在安裝完Z—Stack 07協(xié)議棧之后,用IAR打開工程文件GenericApp,GenericApp是TI公司專門為開發(fā)者提供的開發(fā)模板,在此借助該模板實現(xiàn)無線串口。
    打開GenericApp后,如圖6所示,App文件夾即為應(yīng)用層代碼文件夾。利用模板只需在GenericApp.c中加入實現(xiàn)代碼,就可以實現(xiàn)無線串口。


    Z—Stack采用操作系統(tǒng)的思想來構(gòu)建,采用任務(wù)輪循機制,當(dāng)各層初始化之后,系統(tǒng)進入低功耗模式,當(dāng)任務(wù)有事件發(fā)生時,喚醒系統(tǒng),開始進入中斷處理任務(wù)事件,結(jié)束后繼續(xù)進入低功耗模式。如果同時有幾個事件發(fā)生,判斷優(yōu)先級,逐次處理事件。Z—Stack的工作流程如圖7所示。


3.3 無線串口程序流程
    因為Z—Stack是采用任務(wù)輪循機制,GenericApp是屬于其中的一個任務(wù),在文件GenericApp.c中的任務(wù)初始化函數(shù)GenericApp_Init()中添加串口初始化代碼,在GenericApp_ProcessEven()函數(shù)中添加無線串口收發(fā)事件Serial_RecEven和Serial_TranEven的處理函數(shù)。圖8和圖9是GenericApp_Init()函數(shù)流程圖和GenericApp_ProcessEven()函數(shù)流程圖。


    圖中初始化NV Flash是用以儲存其他節(jié)點網(wǎng)絡(luò)地址名字對應(yīng)表。
    當(dāng)節(jié)點上電加入ZigBee網(wǎng)絡(luò)后,便會執(zhí)行GenericApp_Init()函數(shù),初始化串口,并向網(wǎng)絡(luò)中的其他節(jié)點以廣播的方式發(fā)送其網(wǎng)絡(luò)地址和名字。
    當(dāng)網(wǎng)絡(luò)中的其他節(jié)點接收到數(shù)據(jù)時,便會觸發(fā)接收數(shù)據(jù)事件,GenericApp_ProcessEven()函數(shù)判斷是串口接收數(shù)據(jù)命令還是儲存網(wǎng)絡(luò)地址命令,如果是前者,便將數(shù)據(jù)寫到串口;如果是后者則先判斷是否來自于廣播方式發(fā)送來的數(shù)據(jù):若是則儲存該網(wǎng)絡(luò)地址和名字,并且以單播的方式回饋本節(jié)點的網(wǎng)絡(luò)地址,保證網(wǎng)絡(luò)中的各個節(jié)點都知道其他節(jié)點的地址和名字;若不是就儲存該網(wǎng)絡(luò)地址和名字,不用反饋本節(jié)點的網(wǎng)絡(luò)地址和名字。
    當(dāng)GenericApp_ProcessEven()函數(shù)檢測到Serial_TranEven事件發(fā)生時,便讀串口并將數(shù)據(jù)按照約定的格式發(fā)送出去。

4 實際測試
4.1 測試1
    無功放ZigBee模塊W00與W02,如圖10~圖12所示。

    實驗環(huán)境:足球場,可視距離100 m。實驗結(jié)果如圖12所示。
    Node:02 ShortAddress:0x3595是W02加入網(wǎng)絡(luò)后自動向W00發(fā)送網(wǎng)絡(luò)地址和名字。因為W00是協(xié)調(diào)器,默認(rèn)地址為0x00,已預(yù)存在各模塊中。
4.2 測試2
    無功放ZigBee模塊W00,W02,W03和W04,實驗環(huán)境:各大樓之間。如圖13所示。


    W00與W02、W03能直接通信,W00經(jīng)過兩跳后可與W04,通信,W02經(jīng)過兩跳后可以與W04通信。實驗結(jié)果截圖如14所示。


    Node:04 ShortAddress:0xE805是W04入網(wǎng)后向W02發(fā)送的網(wǎng)絡(luò)地址和名字,Node:02 ShortAddress:0x3595是W02節(jié)點回饋的網(wǎng)絡(luò)地址和名字。由實驗可知,基于ZigBee的無線串口通信,數(shù)據(jù)傳輸穩(wěn)定、可靠,有效解決長距離串口通信問題。

5 Mesh網(wǎng)絡(luò)無線串口的特點
    (1)能夠遠(yuǎn)距離串口通信。通信距離取決于單個節(jié)點的有效傳輸距離和跳數(shù),一般無功放模塊傳輸距離為100 m,經(jīng)過5跳可以傳輸500 m的距離。如果加上功放,單個節(jié)點的傳輸距離為1.5 km,5跳為7.5 km。缺點是加上功放,成本增加。
    (2)Mesh網(wǎng)絡(luò)具有自愈能力,當(dāng)某條路徑被切斷,節(jié)點會自動尋找另外的路徑傳輸數(shù)據(jù),如圖15所示。


    (3)兼容性好,易安裝。簡單的串口線連接。由圖4可知,從模塊中引出4根TTL電平的串口線,直接可以與嵌入式系統(tǒng)連接,或者加上MAX232便可以與PC連接。

6 結(jié)束語
    利用ZigBee無線技術(shù)組成Mesh網(wǎng)絡(luò)實施串口通信,無線通信距離取決于單跳距離和跳數(shù),而默認(rèn)最大跳數(shù)為20,但多跳的出現(xiàn)會導(dǎo)致數(shù)據(jù)延時,出現(xiàn)誤碼。建議跳數(shù)控制在5跳之內(nèi),此時數(shù)據(jù)傳輸穩(wěn)定、時延短、誤碼率低,能有效地解決有線串口距離限制的問題。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉