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