国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Mod Bus協(xié)議和ZigBee網(wǎng)絡(luò)的氣象無線傳感網(wǎng)設(shè)計(jì)*

2014-12-10 05:38楊亦洲杜景林
電子技術(shù)應(yīng)用 2014年10期
關(guān)鍵詞:電平報(bào)文路由

楊亦洲,周 杰,杜景林

(南京信息工程大學(xué) 電子與信息工程學(xué)院,江蘇 南京 210044)

0 引言

氣象要素(如氣壓、氣溫和風(fēng)速等)都是重要的天氣信息,在國(guó)民經(jīng)濟(jì)建設(shè)的各個(gè)領(lǐng)域中都有很高的價(jià)值,能夠準(zhǔn)確、有效、實(shí)時(shí)地獲取氣象要素對(duì)氣象采集提出了很高的要求。在氣象采集中,需要做到實(shí)時(shí)監(jiān)測(cè)、集中管理,氣象采集的網(wǎng)絡(luò)化尤為重要。本文引入氣象無線傳感器網(wǎng)絡(luò)的概念,將無線傳感器網(wǎng)絡(luò)技術(shù)[1]應(yīng)用于氣象要素的觀測(cè)中,并結(jié)合工業(yè)現(xiàn)場(chǎng)總線技術(shù),采用RS-485作為總線傳輸接口,ModBus協(xié)議為串口通信協(xié)議,ZigBee協(xié)議為無線通信協(xié)議,TI公司SimpleLinkTM解決方案提供并支持TinyOS系統(tǒng)的嵌入式微控制器CC2531為控制芯片。

氣象采集系統(tǒng)將ModBus協(xié)議和ZigBee協(xié)議成功移植到TinyOS系統(tǒng)中,所設(shè)計(jì)的ModBus協(xié)議與 ZigBee協(xié)議轉(zhuǎn)換方法能夠很好地進(jìn)行雙邊協(xié)議的通信,實(shí)現(xiàn)了經(jīng)典協(xié)議與高效系統(tǒng)的完美結(jié)合,并以此為基礎(chǔ)設(shè)計(jì)了網(wǎng)絡(luò)化的氣象無線傳感網(wǎng)采集系統(tǒng)。

本文設(shè)計(jì)并實(shí)現(xiàn)了基于ModBus協(xié)議和ZigBee網(wǎng)絡(luò)的氣象無線傳感網(wǎng)采集系統(tǒng),系統(tǒng)主要包含3個(gè)節(jié)點(diǎn):數(shù)據(jù)采集節(jié)點(diǎn)、路由中繼節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)。其中數(shù)據(jù)采集節(jié)點(diǎn)構(gòu)成數(shù)據(jù)采集模塊,完成氣象參數(shù)的采集和發(fā)送,節(jié)點(diǎn)由掛載傳感器的RS-485接口、電平轉(zhuǎn)換模塊和CC2531芯片電路構(gòu)成,用于氣象要素的采集、協(xié)議轉(zhuǎn)換和數(shù)據(jù)發(fā)送等處理。路由中繼節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)協(xié)同工作組成數(shù)據(jù)匯集模塊,數(shù)據(jù)匯集模塊將采集的信息通過路由中繼節(jié)點(diǎn)以多跳的方式匯聚到協(xié)調(diào)器節(jié)點(diǎn),數(shù)據(jù)管理模塊將協(xié)調(diào)器節(jié)點(diǎn)接收的數(shù)據(jù)匯總到PC端,用于后續(xù)的數(shù)據(jù)分析、儲(chǔ)存等工作,實(shí)現(xiàn)了終端PC對(duì)整個(gè)傳感器網(wǎng)絡(luò)的控制。

1 采集節(jié)點(diǎn)與ModBus協(xié)議分析

1.1 Mod Bus協(xié)議設(shè)計(jì)

ModBus支持在同一個(gè)網(wǎng)絡(luò)中,主設(shè)備最多與247個(gè)從設(shè)備連接,本文通過RS-485接口來設(shè)計(jì)一種具有分時(shí)處理能力的串口協(xié)議,該協(xié)議將運(yùn)用于數(shù)據(jù)采集模塊,通過單個(gè)的RS485接口與CC2531的I/O口連接,達(dá)到同時(shí)控制多個(gè)傳感器的目的,該總線結(jié)構(gòu)如圖1所示。

圖1 ModBus總線結(jié)構(gòu)示意圖

1.1.1 Mod Bus串行鏈路

ModBus在串行鏈路上位于OSI模型的數(shù)據(jù)鏈路層,它為網(wǎng)絡(luò)設(shè)備之間提供主從通信,本文提到氣象采集系統(tǒng)采用ModBus-RTU模式,其中報(bào)文幀采用無校驗(yàn)?zāi)J?,每個(gè)字節(jié)包括 1 bit起始位、8 bit數(shù)據(jù)位、0 bit校驗(yàn)位、2 bit停止位。在RTU模式下,幀與幀之間的間隔至少為3.5個(gè)字符時(shí)間,而字符之間的間隔不能大于1.5個(gè)字符時(shí)間,否則將會(huì)認(rèn)為報(bào)文幀不完整,并且丟棄該報(bào)文幀,具體幀格式如圖2所示。

圖2 ModBus RTU報(bào)文幀

1.1.2 協(xié)議功能碼

在ModBus協(xié)議中,從站通過地址碼來識(shí)別是否屬于自己的查詢報(bào)文,通信鏈路空閑的時(shí)候,主機(jī)發(fā)送報(bào)文給從機(jī),通過功能碼來確定需要執(zhí)行的功能,如果CRC校驗(yàn)無誤,則執(zhí)行需要的任務(wù),然后把任務(wù)的結(jié)果返回給主機(jī),本系統(tǒng)定義了通用功能模塊。

1.1.3 協(xié)議軟件設(shè)計(jì)方案

MoudBus串行鏈路協(xié)議的編程主要包括主函數(shù)、串口模塊、功能模塊、CRC校驗(yàn)?zāi)K、數(shù)據(jù)處理模塊。運(yùn)行串口模塊生成PDU協(xié)議報(bào)文,通過CRC校驗(yàn)?zāi)K生成CRC效驗(yàn)碼并與PDU協(xié)議報(bào)文生成ADU數(shù)據(jù)單元,采用廣播模式發(fā)送給從機(jī)傳感器,傳感器執(zhí)行相應(yīng)的命令將數(shù)據(jù)返回給主機(jī)。

數(shù)據(jù)采集節(jié)點(diǎn)遵循ModBus通信過程,采用ModBus RTU協(xié)議的命令子集。數(shù)據(jù)傳輸方式為異步10位,數(shù)據(jù)傳輸速率為 4 800 b/s,傳輸一個(gè)字節(jié)需要 1/4 800×11×1 000≈2.29 ms,一個(gè) ModBus發(fā)送命令有 8 B,響應(yīng)命令有 7 B,由于RS-485為半雙工,所以本文中ModBus進(jìn)行一次通信的時(shí)間約35 ms,主機(jī)請(qǐng)求數(shù)據(jù)報(bào)文描述如圖3所示。從機(jī)響應(yīng)報(bào)文描述如圖4所示。RTU通信從站側(cè)事務(wù)處理流程圖如圖5所示。

圖3 命令報(bào)文格式

圖4 響應(yīng)報(bào)文格式

圖5 RTU通信流程圖

一旦作為從站的傳感器處理來自主站控制器的請(qǐng)求,從站傳感器就會(huì)建立相應(yīng)的響應(yīng),根據(jù)不同的處理結(jié)果,建立兩種響應(yīng)類型:

(1)正常的響應(yīng),響應(yīng)的功能碼與請(qǐng)求功能碼一致。

(2)異常的響應(yīng),異常的功能碼等于請(qǐng)求的功能碼加上0x080,并提供一個(gè)異常碼指示原因。

1.2 Mod Bus協(xié)議與ZigBee協(xié)議轉(zhuǎn)換

ModBus協(xié)議與ZigBee協(xié)議的轉(zhuǎn)換包括RS -485接口模塊,電平驅(qū)動(dòng)模塊與控制模塊,RS-485接口向電平驅(qū)動(dòng)模塊輸入數(shù)據(jù),而后與節(jié)點(diǎn)進(jìn)行數(shù)據(jù)電平的轉(zhuǎn)換,節(jié)點(diǎn)控制器與電平驅(qū)動(dòng)模塊相連傳輸電平數(shù)據(jù),并將得到的ModBus報(bào)文與ZigBee報(bào)文進(jìn)行轉(zhuǎn)換。

1.2.1 電平驅(qū)動(dòng)模塊

RS-485接口的電平轉(zhuǎn)換通過半雙工收發(fā)器SP485實(shí)現(xiàn)[2],SP485包括一個(gè)接收器和一個(gè)發(fā)送器,其中接收器將RS-485接口的RX端電平轉(zhuǎn)換為+5 V并發(fā)送給控制模塊,發(fā)送器將來自控制模塊的電平轉(zhuǎn)換成RS-485接口的TX端接口電平,實(shí)現(xiàn)電平的轉(zhuǎn)換。

1.2.2 Mod Bus報(bào)文轉(zhuǎn)換ZigBee報(bào)文

主控芯片收到轉(zhuǎn)換的電平后,控制模塊將定義一個(gè)char型數(shù)組 MBUF[],其中 MBUF[0]是地址位,MBUF[1]是功能位,MBUF[2]是數(shù)據(jù)位,MBUF[2]的長(zhǎng)度是數(shù)據(jù)幀的長(zhǎng)度減去4 B,包括1 B地址、1 B功能碼和2 B CRC校驗(yàn)碼,將電平數(shù)據(jù)幀的數(shù)據(jù)位存入數(shù)組MBUF[]中,再將存入數(shù)據(jù)位的數(shù)組MBUF[]加入到ZigBee的數(shù)據(jù)幀中,轉(zhuǎn)換得到 ZigBee報(bào)文[3]。

1.2.3 ZigBee報(bào)文轉(zhuǎn)換Mod Bus報(bào)文

從ZigBee報(bào)文中提取數(shù)據(jù)幀,得到數(shù)組ZBUF[]。其中 ZBUF[1]是功能位,ZBUF[2]是數(shù)據(jù)位,將數(shù)據(jù)幀的長(zhǎng)度減去 4 B得到ZBUF[2]的長(zhǎng)度,提取數(shù)據(jù)位,將ZBUF放入ModBus數(shù)據(jù)幀中,通過電平驅(qū)動(dòng)轉(zhuǎn)換得到數(shù)據(jù)報(bào)文。

2 匯聚模塊與ZigBee協(xié)議設(shè)計(jì)

ZigBee協(xié)議設(shè)計(jì),即數(shù)據(jù)匯集模塊的設(shè)計(jì),采用芯片CC2531和CC2591,CC2531主要負(fù)責(zé)對(duì)節(jié)點(diǎn)的控制和處理,CC2591負(fù)責(zé)信號(hào)功率放大。CC2591是TI公司的低功耗射頻前端,最大可以提高22 dBm的輸出功率,CC2530和CC2591的結(jié)合使用僅需極少的外部元器件[4],具體連接如圖6所示。

圖6 CC2591與CC2531接口電路

2.1 通信距離的估算

在自然環(huán)境中,任意兩個(gè)節(jié)點(diǎn)之間的通信都會(huì)有損耗,這些損耗由于環(huán)境的變化而無法預(yù)測(cè)。通過對(duì)鏈路損耗的估算可以減少計(jì)算傳播距離與實(shí)際的誤差,無線通信傳輸自由空間損耗計(jì)算如下:

由式(1)可知電磁波在理想空間傳輸時(shí),傳播損耗只與傳輸距離發(fā)射頻率F和發(fā)射距離R相關(guān)。每當(dāng)頻率或傳輸距離增加一倍時(shí),其鏈路損耗就會(huì)增加6 dB。傳輸距離計(jì)算如下:

其中,GT、GR分別為發(fā)送、接收天線增益。本方案中采用的天線增益 GT、GR均為2 dB,鏈路損耗為110 dBm,載波頻率為2 450 MHz,可得無線通信傳輸距離R=3.87 km。

2.2 ZigBee協(xié)議設(shè)計(jì)方案與流程

本方案采用TI ZStack-CC2530-2.4.0-1.4.0協(xié)議棧作為軟件平臺(tái),由終端、ZigBee模塊和采集模塊組成,網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。

圖7 氣象無線傳感網(wǎng)網(wǎng)絡(luò)結(jié)構(gòu)圖

ZigBee協(xié)議主要設(shè)計(jì)包括協(xié)調(diào)器程序、路由程序和終端程序[5],在所設(shè)計(jì)網(wǎng)絡(luò)中節(jié)點(diǎn)之間采用Mesh型網(wǎng)絡(luò),由路由節(jié)點(diǎn)匯集參數(shù)到終端,在同一個(gè)ZigBee網(wǎng)絡(luò)內(nèi)所有的節(jié)點(diǎn)必須有相同的 channel和 PAN ID[6]。Mesh網(wǎng)中的MAC層由于調(diào)度機(jī)制的不同會(huì)影響網(wǎng)絡(luò)層路由的性能[7],因此需要讓網(wǎng)絡(luò)層實(shí)時(shí)感受到MAC層的變化才可以自組織的改變路由性能。

在ZigBee軟件設(shè)計(jì)中由協(xié)調(diào)器來完成網(wǎng)絡(luò)的啟動(dòng),調(diào)用以下函數(shù)啟動(dòng)網(wǎng)絡(luò)建立。

網(wǎng)絡(luò)建立成功后,網(wǎng)絡(luò)的地址將會(huì)被初始化為0x0000,并為新的網(wǎng)絡(luò)定義標(biāo)示符,此后節(jié)點(diǎn)將會(huì)被允許加入網(wǎng)絡(luò)與協(xié)調(diào)器通信,網(wǎng)絡(luò)中用MET_Data.Request發(fā)出請(qǐng)求,協(xié)調(diào)器用MET_Data.Confirm來響應(yīng)。

當(dāng)RoutF為真的時(shí)候,網(wǎng)絡(luò)層就通過AODV路由算法進(jìn)行工作,并創(chuàng)建路由表,發(fā)送路由請(qǐng)求幀。AODV路由算法主要包括路由發(fā)現(xiàn),路由建立,路由維護(hù)和路由管理,在AODV算法中,源節(jié)點(diǎn)以廣播形式發(fā)送路由請(qǐng)求(RREQ)報(bào)文,RREQ報(bào)文中有著源節(jié)點(diǎn)和目的節(jié)點(diǎn)的網(wǎng)絡(luò)地址,當(dāng)相鄰節(jié)點(diǎn)收到RRQE后判斷是否屬于自己的命令,不是則尋找下一個(gè),是則響應(yīng)請(qǐng)求[8-10]。

在公共層中,網(wǎng)絡(luò)層向所連接設(shè)備的MAC層發(fā)送數(shù)據(jù)幀。

當(dāng)MAC層接收到對(duì)應(yīng)報(bào)文之后,MAC層將發(fā)送一條MET_RC_Data.Request語(yǔ)句給物理層,物理層響應(yīng)一個(gè)MET_RC_Data.Confirm語(yǔ)句給MAC層,MAC層通過射頻發(fā)送給所需要的目的節(jié)點(diǎn)中,完成無線通信的功能。

3 系統(tǒng)測(cè)試與數(shù)據(jù)處理

3.1 傳感器采集測(cè)試

根據(jù)上述方案組建系統(tǒng)后,將系統(tǒng)中各節(jié)點(diǎn)上電并燒錄相應(yīng)的程序,安裝到室外進(jìn)行測(cè)試,測(cè)試系統(tǒng)準(zhǔn)備了3個(gè)采集節(jié)點(diǎn)和一個(gè)協(xié)調(diào)器。通過遠(yuǎn)程的控制可以實(shí)時(shí)了解氣象參數(shù)的變化,最終這些參數(shù)回傳到PC上。

經(jīng)實(shí)際測(cè)試表明,基于ModBus協(xié)議和ZigBee網(wǎng)絡(luò)的氣象無線傳感網(wǎng)采集系統(tǒng)實(shí)現(xiàn)了對(duì)有線節(jié)點(diǎn)和無線傳感網(wǎng)的通信與控制,測(cè)量值如圖8所示。

圖8 軟件查看數(shù)據(jù)窗口

3.2 通信距離測(cè)試

在上文中提到過,通過理論的計(jì)算最大通信距離可以達(dá)到3.7 km,測(cè)試地點(diǎn)在室外的大片空地上,試驗(yàn)中隨著距離的加大,會(huì)出現(xiàn)傳感器節(jié)點(diǎn)能夠收到命令幀,但協(xié)調(diào)器收不到數(shù)據(jù)的情況,丟包率如表1所示。

表1 丟包率測(cè)試

由測(cè)試表可知,使用CC2951芯片后節(jié)點(diǎn)的通信距離得到了顯著的提高,1 000 m以內(nèi)的通信丟包率很低,當(dāng)通信距離達(dá)到1 500 m以上時(shí)通信鏈路出現(xiàn)了不穩(wěn)定,測(cè)試結(jié)果發(fā)現(xiàn),理論計(jì)算值和測(cè)量值存在很大差異,不過測(cè)試的效果還是達(dá)到了預(yù)期要求。如果單以CC2531的射頻功率,射頻距離是遠(yuǎn)遠(yuǎn)達(dá)不到要求的。

4 結(jié)論

本文基于ModBus協(xié)議和ZigBee網(wǎng)絡(luò)開發(fā)了氣象無線傳感網(wǎng)采集系統(tǒng)。系統(tǒng)由數(shù)據(jù)采集節(jié)點(diǎn)、路由中繼節(jié)點(diǎn)和協(xié)調(diào)器節(jié)點(diǎn)組成,節(jié)點(diǎn)以CC2531芯片為主控芯片,實(shí)現(xiàn)了氣象參數(shù)網(wǎng)絡(luò)化的采集,由PC端控制傳感器的工作,可以同時(shí)采集包括氣壓、氣溫、濕度、光照、風(fēng)速和風(fēng)向的氣象參數(shù)。系統(tǒng)使用低成本的無線模塊和傳感器,具有價(jià)格低廉的特點(diǎn)。性能試驗(yàn)表明:

(1)通過氣象無線傳感網(wǎng)采集系統(tǒng),用戶使用PC可動(dòng)態(tài)訪問戶外氣象信息,為野外氣象信息獲取提供了一種低成本、方便的技術(shù)方案。

(2)傳感器采集試驗(yàn)表明,通過RS-485接口能夠成功地由單端口控制多傳感器,并且能夠?qū)崟r(shí)地采集到戶外的氣象信息。

(3)通信距離試驗(yàn)表明,在正常工作狀態(tài),1 km通信距離下丟包率小于0.1,能夠滿足正常工作需求。

(4)由于掛載的傳感器功能單一,造成了不必要的空間和資源的浪費(fèi),尤其是增加了電能的損耗,如果使用多參數(shù)傳感器,可以使系統(tǒng)集成度更高。下一步將采用大規(guī)模的節(jié)點(diǎn)設(shè)計(jì),嘗試單節(jié)點(diǎn)掛載多個(gè)多參數(shù)傳感器,通過進(jìn)一步的改進(jìn),提高系統(tǒng)的穩(wěn)定性和實(shí)用性。

[1]YICK J,MUKHERJEE B,GHOSAL D.Wireless sensor network survey[J].Computer Networks,2008,52(12):2292-2330.

[2]邰鳴,李雙.基于RS485通信方式的多單片機(jī)控制系統(tǒng)[J].微計(jì)算機(jī)應(yīng)用,2008,29(7):109-112.

[3]Yu Chengbo,Liu Yanfei,Wang Cheng.Research on ZigBee wireless sensors network based on ModBus protocol[J].Wireless Sensor Network,2009,1(1):43-47.

[4]馬飛,鄭云水.基于ZigBee網(wǎng)絡(luò)的智能鐵鞋系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2012,38(12):26-28.

[5]萬蓉鳳,修春波,盧少磊.基于ZigBee技術(shù)的風(fēng)速測(cè)量系統(tǒng)的設(shè)計(jì)[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,44(51):162-165.

[6]AKYILDIZI F,WANG X D,WANG W L.Wireless meshnetworks:Asurvey[J].Computer Networks,2005,47(4):445-487.

[7]章偉聰,俞新武,李忠成.基于 CC2530及ZigBee協(xié)議棧設(shè)計(jì)無線網(wǎng)絡(luò)傳感器節(jié)點(diǎn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,20(7):184-187.

[8]黃旭,王子歐,季愛明.基于 ZigBee無線Mesh網(wǎng)絡(luò)的溫濕度測(cè)量系統(tǒng)[J].微型機(jī)與應(yīng)用,2014,31(9):89-91.

[9]Xu Bing.Design of automatic weather station based on Zig-Bee[D].Nanjing,China:Nanjing University of Information Science&Technology,2008.

[10]劉邵華,黃廷磊,夏鋒.一種基于AODV路由協(xié)議改進(jìn)的無線 Mesh路由協(xié)議[J].微型機(jī)與應(yīng)用,2013,32(4):54-57.

猜你喜歡
電平報(bào)文路由
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
鐵路數(shù)據(jù)網(wǎng)路由匯聚引發(fā)的路由迭代問題研究
淺析反駁類報(bào)文要點(diǎn)
一種基于虛擬分扇的簇間多跳路由算法
探究路由與環(huán)路的問題
基于預(yù)期延遲值的擴(kuò)散轉(zhuǎn)發(fā)路由算法
ATS與列車通信報(bào)文分析
NPC五電平Z源逆變器的設(shè)計(jì)研究
基于三電平光伏并網(wǎng)逆變器控制系統(tǒng)的研究與實(shí)踐