董航飛,許仁德
(1.南通航運職業(yè)技術學院,南通 226010;2.中國電子科技集團公司 第五十二研究所)
ZigBee技術是一種新興的近距離無線通信技術,它具有功耗低、成本低、使用方便的優(yōu)點,在傳感器網(wǎng)絡、家庭監(jiān)控、工業(yè)監(jiān)控、安全系統(tǒng)等領域有著廣泛的應用。為了有效增加圖像數(shù)據(jù)每一幀中的數(shù)據(jù)凈載荷,提高傳輸效率,采用數(shù)據(jù)幀跨層傳輸?shù)姆椒▊鬏擹igBee無線圖像數(shù)據(jù)。其基本思想是:一旦邏輯鏈路建立完成,ZigBee協(xié)調(diào)器組織中的通信網(wǎng)絡有且僅有一條鏈路可以使用;并且數(shù)據(jù)幀采用跨層傳輸,傳輸完成后協(xié)調(diào)器斷開該鏈路;再有新任務出現(xiàn)時,重新建立鏈路。
邏輯鏈路建立、喚醒機制的實現(xiàn)步驟如圖1所示。各步驟實現(xiàn)如下:
① 當協(xié)調(diào)器檢測到有圖像傳輸任務后,向APL層發(fā)送鏈路建立命令,喚醒該鏈路上的傳輸設備進入常態(tài),并保存鏈路節(jié)點地址。
② 若協(xié)調(diào)器喚醒鏈路設備不成功,需重新建立路由路徑,則啟動ZigBee協(xié)議標準中路由發(fā)現(xiàn)功能,自行建立鏈路。
③ 若出現(xiàn)超時現(xiàn)象,則顯示異常信息。
④ 若鏈路建立成功,協(xié)調(diào)器和該鏈路上的所有路由設備都保存下一跳的地址,當傳輸路由設備接收到數(shù)據(jù)幀任務時,就直接通過已經(jīng)保存的地址完成數(shù)據(jù)幀傳輸。
圖1 邏輯鏈路建立、喚醒機制實現(xiàn)步驟
標準ZigBee傳輸協(xié)議中,數(shù)據(jù)傳輸從應用層到物理層逐層依次傳輸,由于每一幀圖像數(shù)據(jù)幀都包含各層的完整幀頭信息,其數(shù)據(jù)凈載荷相對減小。當傳輸較大圖片時,由于數(shù)據(jù)量大、冗余信息多,極大地降低了傳輸速率和系統(tǒng)的工作效率。若采用跨層傳輸方式,圖像數(shù)據(jù)幀直接從應用層傳輸?shù)組AC層,略去網(wǎng)絡層數(shù)據(jù)幀頭等相關冗余信息。
ZigBee協(xié)議標準應用層的數(shù)據(jù)幀中包括11字節(jié)MAC幀頭、8字節(jié)網(wǎng)絡層幀頭、6字節(jié)APS幀頭、4字節(jié)APL幀頭、1字節(jié)幀長度,共30字節(jié)。而跨層傳輸方式下數(shù)據(jù)幀中僅包括1字節(jié)幀長度、11字節(jié)MAC幀頭、4字節(jié)APL幀頭,每一幀數(shù)據(jù)減少14字節(jié)。
當傳輸連續(xù)多幀的圖像數(shù)據(jù)時,提高通信效率顯而易見,并且數(shù)據(jù)量越大,效率提高越明顯。當然,只有原數(shù)據(jù)節(jié)點到目標節(jié)點的鏈路建立以后,跨層傳輸才可以實現(xiàn)。MAC層請求NWK層進行傳輸數(shù)據(jù)服務的流程如圖2所示。MAC層接收到應用層傳輸過來的圖像數(shù)據(jù)幀后,進行數(shù)據(jù)類型分析,并選擇相應的傳輸方式,向NWK層傳輸。協(xié)調(diào)器向終端設備發(fā)送圖像數(shù)據(jù)幀時,同樣采用基于鏈路建立、喚醒機制的數(shù)據(jù)幀跨層傳輸方式。
2 MAC層請求NWK層進行傳輸數(shù)據(jù)服務流程
根據(jù)設備特點和功能不同,該設計定義了3種FFD網(wǎng)絡設備:PAN Coordinator、Router和End Device。FFD網(wǎng)絡設備可以縮短圖像數(shù)據(jù)系統(tǒng)的響應時間,并采用條件編譯的方式來優(yōu)化程序設計。
主函數(shù)流程的設計思想就是要包含3種網(wǎng)絡設備各自的主函數(shù)處理過程。其流程如圖3所示。其中,通過條件編譯選項,可以選擇End Device、Router的功能,比如End Device設備可以選擇具有路由功能。
系統(tǒng)復位時首先查看網(wǎng)絡配置是否完成,其依據(jù)是定義在外部Flash中的變量——CONFIG_COMPLETE的值。如果網(wǎng)絡參數(shù)被重新配置,這些參數(shù)都會在外部Flash中保存,并置位CONFIG_COMPLETE。
設備完成初始配置后運行任務函數(shù)。為便于系統(tǒng)程序在以后的實踐操作中可以添加新任務或者優(yōu)化,該部分程序設計改進了操作系統(tǒng)中原有的任務劃分的設計思想,使各任務間沒有信息交換,更加簡練。若設備沒有數(shù)據(jù)傳輸任務,就進入空閑狀態(tài)。而Router和End Device在空閑狀態(tài)下確保能夠正常接收數(shù)據(jù)幀,協(xié)調(diào)器設備通過外部中斷來喚醒,并根據(jù)命令要求進入正常工作方式。
圖3 主函數(shù)流程
協(xié)調(diào)器網(wǎng)絡配置完成或Router、End Device添加到網(wǎng)絡中后,設備會進入空閑模式。協(xié)調(diào)器任務處理流程如圖4所示。當協(xié)調(diào)器有圖像傳輸任務時,檢測Flash中是否已經(jīng)保存該邏輯鏈路的路由表。如果已存在,就可以發(fā)送一條建立邏輯鏈路的命令幀,喚醒該鏈路上的所有設備。因為數(shù)據(jù)傳輸過程難免出現(xiàn)異常情況,為確保能從各種異常情況下自動恢復,協(xié)調(diào)器任務流程中就必須包括圖像數(shù)據(jù)傳輸異常的處理過程。
圖4 協(xié)調(diào)器任務處理流程
End Device設備的功能具有選擇性,可以具有數(shù)據(jù)轉(zhuǎn)發(fā)的功能,也可以具有終端設備的無線圖像傳輸應用程序功能。終端設備中無線圖像傳輸功能涉及的應用函數(shù)比較多,包含于ZigBee協(xié)議棧處理傳輸任務的整個過程中,由于篇幅有限,不再展開分析。
為驗證該設計的可行性、高效性,利用相關設備完成基于鏈路喚醒機制的無線圖像跨層傳輸完整功能測試。內(nèi)容主要包括:網(wǎng)絡基本功能測試,設備低功耗控制測試,基于邏輯鏈路建立、喚醒機制的圖像數(shù)據(jù)幀跨層傳輸方式測試,節(jié)點設備通信異常測試等。
測試利用簇樹網(wǎng)絡結(jié)構。協(xié)調(diào)器節(jié)點設備與攝像頭采用串口連接,終端節(jié)點設備通過串口與PC機連接,其測試系統(tǒng)硬件連接結(jié)構如圖5所示。
圖5 測試系統(tǒng)硬件連接結(jié)構
測試中,采用96.35kb/s作為圖像數(shù)據(jù)幀傳輸速率。串口波特率設置為所用攝像頭工作的最大速率57 600bps。該攝像頭采集640×480像素的圖像,經(jīng)壓縮后其數(shù)據(jù)量一般為10~20KB。測試結(jié)果表明,在該條件下,簇樹拓撲網(wǎng)絡中采用基于鏈路建立、喚醒機制的圖像數(shù)據(jù)幀跨層傳輸方式時,一張圖像的傳輸時間約為0.76~1.65s。無線圖像傳輸完整功能的演示結(jié)果如圖6、圖7所示。攝像頭連續(xù)拍攝640×480像素的圖像通過協(xié)調(diào)器節(jié)點設備、路由節(jié)點設備發(fā)送給終端節(jié)點設備,終端節(jié)點設備接收到圖像數(shù)據(jù)并發(fā)送給上位機來顯示。采用按鍵觸發(fā)的形式停止圖像數(shù)據(jù)傳輸。由測試結(jié)果可以看出,圖像數(shù)據(jù)幀傳輸完整、連續(xù)。
圖6 網(wǎng)絡數(shù)據(jù)傳輸測試最后一幀數(shù)據(jù)圖
ZigBee技術是近年來迅速成長并運用越來越廣泛的一門技術。針對ZigBee技術在可視門禁系統(tǒng)運用中出現(xiàn)的傳輸數(shù)據(jù)效率低、實時性差的問題,設計了新型的鏈路建立、喚醒機制及數(shù)據(jù)幀跨層傳輸?shù)哪J剑?jīng)過反復實驗與運用檢測,達到了預期的設計要求和結(jié)果,并成功在實際的公司項目中運用,具有很高的運用價值和廣闊的市場前景。
圖7 測試結(jié)果
[1] Communications Design Conference.ZigBee technology:Wireless Control that Simply Works[EB/OL].[2012-03].http://freedownload. is/doc/zigbee-technology-wirelesscontrol-that-simply-works-3777062.html.
[2] Gang Ding,Sahinoglu Z,Orlik P,et al.Tree-Based Data Broadcast in IEEE 802.15.4and ZigBee Networks[J].Mobile Computing,2006:1561-1574.
[3] N Baker.ZigBee and Bluetooth strengths and weaknesses for industrial application.Computing & Cortrol Engineering,2005,16(2):20-25.