《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于SNAP OS的異系統(tǒng)多點通信架構(gòu)的研究
基于SNAP OS的異系統(tǒng)多點通信架構(gòu)的研究
來源:電子技術(shù)應(yīng)用2014年第4期
金 豫,王哲宇
(華東師范大學(xué) 通信工程系,上海200241)
摘要: 隨著無線傳感器網(wǎng)絡(luò)概念的提出,對于嵌入式設(shè)備多點通信網(wǎng)絡(luò)的構(gòu)建需求也在不斷增加。提出了一種基于SNAP OS的異系統(tǒng)通信架構(gòu),底層采用對多點通信的網(wǎng)狀拓?fù)渚哂辛己弥С值牡凸臒o線通信協(xié)議ZigBee,上層使用傳統(tǒng)的串口通信協(xié)議。最終提供給用戶一套能夠?qū)崿F(xiàn)多點通信的串口通信接口,使得用戶開發(fā)無線傳感器網(wǎng)絡(luò)應(yīng)用的難度大大降低,系統(tǒng)的穩(wěn)定性相較于原先的ZigBee網(wǎng)絡(luò)也有了較大的提升。
中圖分類號: TN929.52
文獻標(biāo)識碼: A
文章編號: 0258-7998(2014)04-0019-03
The research on the framework of the multipoint communication through multi-system based on SNAP OS
Jin Yu,Wang Zheyu
Department of Communication Engineering,East China Normal University,Shanghai 200241,China
Abstract: With the development of wireless sensor network, the demand for the network framework of multipoint communication system based on embedded devices is also increasing. This article proposes a multipoint communication system architecture based on SNAP OS. The basement of the system is based on the low power consumption wireless communication system ZigBee, which can provide a good support for mesh topology. Its upper layer is based on the traditional serial protocol. The system finally provided a set of serial communication interface for multipoint communication, which can largely facilitate the user to develop wireless sensor network, and the stability of the system is also largely improved compared to former ZigBee network.
Key words : SNAP OS;ZigBee;multi-system;wireless sensor network

    物聯(lián)網(wǎng)的概念最初在1999年提出,其基本思路是:通過射頻識別(RFID)、紅外感應(yīng)器、全球定位系統(tǒng)、激光掃描器、氣體感應(yīng)器等信息傳感設(shè)備,按約定的協(xié)議,把任何物品與互聯(lián)網(wǎng)連接起來,進行信息交換和通信,以實現(xiàn)智能化識別、定位、跟蹤、監(jiān)控和管理的一種網(wǎng)絡(luò)。近些年,物聯(lián)網(wǎng)的概念總是和無線傳感器網(wǎng)絡(luò)的概念共同提出。無線傳感器網(wǎng)絡(luò)由部署在監(jiān)測區(qū)域內(nèi)的大量微型傳感器節(jié)點組成,通過無線通信方式形成一個網(wǎng)狀拓?fù)?,網(wǎng)絡(luò)中的節(jié)點能夠?qū)崿F(xiàn)路由功能,實現(xiàn)信息多跳傳輸。無線傳感器網(wǎng)絡(luò)將邏輯上的信息世界與客觀上的物理世界融合在一起,極大地延伸了人們的感知領(lǐng)域和范圍[1]。
    目前對于傳感器網(wǎng)絡(luò)節(jié)點的要求一般是結(jié)構(gòu)簡單,成本低廉,能夠長時間地工作。因此目前較為常見的解決方案一般會選用ZigBee協(xié)議作為傳感器網(wǎng)絡(luò)或是物聯(lián)網(wǎng)的通信協(xié)議。ZigBee協(xié)議與傳統(tǒng)的WiFi、藍牙等通信協(xié)議相比,擁有較低的功耗,并能實現(xiàn)多跳傳輸?shù)墓δ埽鄳?yīng)的傳輸速率也較低,適合傳感器網(wǎng)絡(luò)這類數(shù)據(jù)量不會很大,但節(jié)點規(guī)??赡芊浅4蟮木W(wǎng)絡(luò)應(yīng)用。
    目前ZigBee網(wǎng)絡(luò)節(jié)點大多數(shù)是基于TI的CC系列芯片和Ztack協(xié)議棧,這類基于C語言的協(xié)議棧往往存在著開發(fā)困難、編程復(fù)雜等缺點,無法幫助開發(fā)人員迅速地搭建基于ZigBee網(wǎng)絡(luò)的傳感器網(wǎng)絡(luò)應(yīng)用[2]。
    本文提出了一種基于SNAP OS和UART的異系統(tǒng)通信架構(gòu),SNAP OS本身就是兼容ZigBee通信標(biāo)準(zhǔn)的嵌入式操作系統(tǒng),能夠很好地實現(xiàn)多跳和多點通信。在此基礎(chǔ)上,利用工作在透傳模式下的SNAP OS,提供給用戶一組基于串口的通信協(xié)議,使得用戶只需懂得簡單的串口編程,即能實現(xiàn)多點對多點的傳感器網(wǎng)絡(luò)應(yīng)用的設(shè)計,極大地提升了傳感器網(wǎng)絡(luò)的開發(fā)效率。
1 SNAP OS及相關(guān)硬件的介紹
    SNAP OS是由美國Synapse公司發(fā)布的一套能運行在各類計算平臺上的網(wǎng)絡(luò)操作系統(tǒng),該系統(tǒng)的總體框圖如圖1所示。SNAP OS能夠兼容目前所有主流的通信協(xié)議,并進行異系統(tǒng)之間的數(shù)據(jù)路由傳輸。而該操作系統(tǒng)的另一大特色就是其專門為嵌入式平臺所開發(fā)的SNAPpy虛擬機系統(tǒng),能夠利用一種與python語法兼容的腳本語言進行編程,并且由于其解釋執(zhí)行的特點,能夠在系統(tǒng)運行的狀態(tài)下進行應(yīng)用編程,極大地提高了系統(tǒng)開發(fā)的靈活度和便利度。

    由于SNPA OS目前還不是開源的操作系統(tǒng),因此它只能運行在由Synapse公司或其合作伙伴所開發(fā)的硬件平臺上。本文在設(shè)計異系統(tǒng)多點通信架構(gòu)時,選用了目前國內(nèi)唯一能獲得的ZIC2410模塊作為系統(tǒng)的主要無線通信模塊。該無線通信模塊結(jié)構(gòu)如圖2所示。模塊的整體尺寸十分小巧,并且已經(jīng)集成了射頻收發(fā)的硬件電路和PCB印刷天線及射頻端子,對于需要二次開發(fā)的用戶而言,只需設(shè)計底板即可,大大提高了系統(tǒng)的開發(fā)效率。而ZIC2410芯片則是一塊以8051作為內(nèi)核、集成了基帶Modem收發(fā)器的SoC,同時它還擁有豐富的常規(guī)外設(shè),基本能滿足用戶日常開發(fā)所需。

2 ZigBee網(wǎng)絡(luò)節(jié)點硬件設(shè)計
    本文所采用的ZIC2410模塊的最小系統(tǒng)如圖3所示,其在運行SNPA OS之后,原生支持ZigBee網(wǎng)絡(luò)的多跳、節(jié)點中繼等特性,并且由于其利用SNAPpy編程語言進行開發(fā),因此用戶只需幾行代碼即能使其運行在串口透傳模式下,并實現(xiàn)多點通信的功能。但由于ZIC2410采用的是8051內(nèi)核,其運行效率并不是很高,當(dāng)工作在透傳模式下時,操作系統(tǒng)的大部分運行時間將被透傳任務(wù)所占據(jù),系統(tǒng)對于需要高運算負(fù)荷任務(wù)的處理效率大大降低[3]。

    為了使本文所設(shè)計的異系統(tǒng)多點通信架構(gòu)能夠滿足各種不同應(yīng)用場合對于系統(tǒng)性能的要求,設(shè)計的ZigBee節(jié)點采用雙處理器的架構(gòu),由ZIC2410芯片專門負(fù)責(zé)無線數(shù)據(jù)的收發(fā)和ZigBee協(xié)議棧的實現(xiàn),而利用基于Cortex M3內(nèi)核的LPC1754芯片來負(fù)責(zé)高運算負(fù)荷的任務(wù),并利用其極為豐富的外設(shè),極大地豐富了ZigBee節(jié)點的應(yīng)用場合。
    本文所設(shè)計的雙處理器ZigBee節(jié)點系統(tǒng)框圖如圖4所示,LPC1754和ZIC2410芯片采用串口進行通信。同時,利用LPC172自帶的全速USB2.0接口和UART接口,拓展了USB CDC總線和485總線接口[4]。

3.2 通信數(shù)據(jù)包格式
    用戶平面的通信數(shù)據(jù)包如圖6所示,其中接收者地址和發(fā)送者地址可以是承載用戶平面通信的ZigBee節(jié)點在系統(tǒng)中的節(jié)點編號,也可以是用戶平面本身所指定的一些地址信息。由于UART平面和ZigBee平面將廣播所收到的所有用戶平面數(shù)據(jù)包,對于用戶平面來說完全透明,因此該地址無需和ZigBee節(jié)點地址一一對應(yīng)。此外,該數(shù)據(jù)包格式還對鏈路層的信息進行了額外的打包過程,將鏈路層信息中每7 B數(shù)據(jù)的最高位提取出來,形成一個新的字節(jié),放在這7 B的末尾,并將這8 B的最高位置0。這樣做的好處是可以把幀起始符和結(jié)束符的最高位置1,從而使得最終在無線鏈路上傳輸?shù)臄?shù)據(jù)除了起始符和結(jié)束符以外的所有字節(jié)最高位都是0,不會造成幀起始符和結(jié)束符的誤判[6-7]。

3.3 通信協(xié)議
    首先,位于UART平面的LPC1754將工作在透明傳輸或ACK傳輸模式下。
    (1)透明傳輸:LPC1754不負(fù)責(zé)任何對于3.2中通信數(shù)據(jù)包的校驗,只負(fù)責(zé)將從用戶平面收到的數(shù)據(jù)轉(zhuǎn)發(fā)出去,所有數(shù)據(jù)包的解析與校驗均在用戶平面完成。其優(yōu)點是用戶平面直接透明傳輸,編程和協(xié)議均較為簡單。而缺點則是由于無線鏈路的不確定性,使得系統(tǒng)整體的通信速率較低,可能會出現(xiàn)較大的重傳概率。
    (2)ACK傳輸模式:LPC1754負(fù)責(zé)用戶平面下發(fā)的數(shù)據(jù)包的校驗和重傳確認(rèn)。具體實現(xiàn)方式如下:LPC1754不再透明傳輸從用戶層傳下來的數(shù)據(jù),而是將用戶層傳輸過來的數(shù)據(jù)存儲在緩存中,并負(fù)責(zé)對用戶平面的數(shù)據(jù)進行校驗,如果校驗不通過,則直接向用戶平面發(fā)起重傳請求。其優(yōu)點是有效降低了通信的延時,并提高了通信鏈路的可靠性;而缺點則是編程較為復(fù)雜,節(jié)點模塊的程序需要根據(jù)具體應(yīng)用調(diào)整參數(shù)。
    其次,位于ZigBee平面的ZIC2410也將工作在兩種模式下。
    (1)串口廣播模式:ZIC2410將收到的數(shù)據(jù)廣播給某一分組的所有節(jié)點。這樣做的優(yōu)點是ZIC2410將收到的數(shù)據(jù)包直接廣播出去,無需與UART平面有ACK過程,簡化了UART平面編程的難度并降低了運行負(fù)荷。而這樣做的缺點也十分明顯,由于ZIC2410將數(shù)據(jù)直接廣播出去,因此當(dāng)用戶平面下發(fā)的數(shù)據(jù)較大的情況下,無線鏈路上所承載的數(shù)據(jù)負(fù)荷將成倍增加,從而造成了ZigBee平面通信效率的下降。
    (2)串口點對點模式:UART平面在將數(shù)據(jù)下發(fā)給ZigBee平面之前,先對ZIC2410下一次無線傳輸?shù)慕邮展?jié)點的地址進行配置,ZIC2410將根據(jù)這一地址來進行后續(xù)數(shù)據(jù)包的點對點無線傳輸。這樣做的優(yōu)點十分明顯,由于ZIC2410工作在點對點模式下,因此無線鏈路傳輸?shù)男屎涂煽啃詫⒋蟠笤黾?,但由此也會造成UART平面的傳輸效率降低,需要額外的REQ-ACK過程。
    本文所提出的基于ZigBee和UART的異系統(tǒng)多點通信架構(gòu)很好地利用了ZigBee協(xié)議支持網(wǎng)狀拓?fù)?、多點、節(jié)點中繼的特點以及UART編程簡單的特點,為用戶搭建物聯(lián)網(wǎng)和無線傳感器網(wǎng)絡(luò)提供了極大的便利。同時,通過不同工作模式的結(jié)合和靈活切換,能夠滿足各類不同的應(yīng)用場合,有望成為下一代物聯(lián)網(wǎng)的主流通信平臺。
參考文獻
[1] 胡杰.淺談ZigBee無線通信網(wǎng)絡(luò)與物聯(lián)網(wǎng)之間互補式發(fā)展[J].科技風(fēng),2012(01):25.
[2] 王萌.基于ZigBee技術(shù)的智能養(yǎng)殖系統(tǒng)[J].科技風(fēng),2012(07):27-28.
[3] ZigBee聯(lián)盟.ZigBee技術(shù)引領(lǐng)無線數(shù)字新生活[J].電腦知識與技術(shù),2006(9):29-34.
[4] 朱向慶,王建明.ZigBee協(xié)議網(wǎng)絡(luò)層的研究與實現(xiàn)[J].電子技術(shù)應(yīng)用,2006,32(1):129-132.
[5] 夏恒星,馬維華.基于CC2430的無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計[J].電子技術(shù)應(yīng)用,2007,31(5):45-47,54.
[6] 石繁榮,黃玉清,任珍文.基于ZigBee的多傳感器物聯(lián)網(wǎng)無線監(jiān)測系統(tǒng)[J].電子技術(shù)應(yīng)用,2013,34(3):96-99.
[7] 徐書芳,王金海,宮玉龍,等.基于ZigBee的智能家居控制系統(tǒng)的研究與設(shè)計[J].電子技術(shù)應(yīng)用,2013,39(8):80-83.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。