專利名稱:基于ieee802.15.4標(biāo)準(zhǔn)的非槽道方式csma-ca算法的優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明屬于無(wú)線通信領(lǐng)域,涉及一種基于IEEE802. 15.4標(biāo)準(zhǔn)的非槽道方式 CSMA-CA算法的優(yōu)化方法。
背景技術(shù):
CSMA-CA(帶有沖突避免的載波監(jiān)聽(tīng)多路訪問(wèn))算法指的是在多個(gè)節(jié)點(diǎn)同時(shí)嘗試 通信時(shí)判優(yōu)射頻通道使用,避免信道之間相互碰撞的算法協(xié)議。在不同應(yīng)用條件的標(biāo)準(zhǔn)協(xié) 議下,其算法流程也會(huì)有所不同。IEEE802. 15. 4標(biāo)準(zhǔn)的CSMA-CA的算法工作流程分為兩種方式槽道方式 (slotted)和非槽道方式(unslotted)。如圖1所示,為IEEE 802. 15. 4標(biāo)準(zhǔn)CSMA-CA算法 流程圖。在實(shí)際使用中,根據(jù)使用情況一般只能確定使用其中一種。槽道方式slotted 必須有協(xié)調(diào)器發(fā)出信標(biāo)幀進(jìn)行同步,相互競(jìng)爭(zhēng)隨后的時(shí)間片 的信道使用,信標(biāo)幀中也還指定一些時(shí)間片的具體使用,但必須先有節(jié)點(diǎn)提出申請(qǐng)。這種方 式雖然一定程度上可以合理利用信道,但對(duì)于突發(fā)性和隨機(jī)性的傳輸要求無(wú)法及時(shí)執(zhí)行, 信道的利用率也并不高。非槽道方式unslotted:隨時(shí)進(jìn)入信道使用的競(jìng)爭(zhēng),適用于傳輸具有突發(fā)性和隨 機(jī)性的普通分組數(shù)據(jù),在實(shí)際使用上較為常用。但是在使用射頻信號(hào)通信的一對(duì)多無(wú)線監(jiān)控系統(tǒng)中,若使用傳統(tǒng)的IEEE802. 15. 4 標(biāo)準(zhǔn)的非槽道方式CSMA-CA算法,當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)都需要發(fā)送較多數(shù)據(jù)包時(shí),每個(gè)節(jié)點(diǎn) 的數(shù)據(jù)都進(jìn)行突發(fā)性隨機(jī)發(fā)送,沖突的發(fā)生和重傳的概率就快速上升,信道的有效傳輸 效率下降,由于不能及時(shí)將數(shù)據(jù)包送出,造成需發(fā)送數(shù)據(jù)的節(jié)點(diǎn)增加,競(jìng)爭(zhēng)更加激烈,惡 性循環(huán),傳輸效率更加下降,數(shù)據(jù)累計(jì)導(dǎo)致系統(tǒng)反應(yīng)遲鈍甚至癱瘓。為此,本發(fā)明人針對(duì) IEEE802. 15. 4標(biāo)準(zhǔn)的非槽道方式CSMA-CA算法提供了一種優(yōu)化方法。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于IEEE802. 15. 4標(biāo)準(zhǔn)的非槽道方式CSMA-CA算法的 優(yōu)化方法,以使當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)都需要發(fā)送較多數(shù)據(jù)包時(shí),能有效地降低沖突的發(fā)生,保證 信道的有效傳輸效率,大幅度提升信道的有效利用率。本發(fā)明為一種基于EEE802. 15. 4的非槽道方式CSMA-CA算法的優(yōu)化方法,當(dāng)某節(jié) 點(diǎn)需要發(fā)送數(shù)據(jù)幀,進(jìn)入非槽道方式CSMA-CA算法,包括以下幾個(gè)步驟(1)初始化退避次數(shù)值為0,將退避隨機(jī)限定指數(shù)設(shè)置為系統(tǒng)設(shè)定的最小值;(2)執(zhí)行CCA檢測(cè),判斷當(dāng)前信道是否空閑,若非空閑狀態(tài)則繼續(xù)執(zhí)行CCA檢測(cè); 若為空閑狀態(tài),則判斷是否具有第1優(yōu)先發(fā)送權(quán),若具有第1優(yōu)先發(fā)送權(quán),則跳轉(zhuǎn)到步驟5 ; 若不具有第1優(yōu)先發(fā)送權(quán),則進(jìn)入步驟3 ;(3)延時(shí)一個(gè)后退周期,繼續(xù)執(zhí)行CCA檢測(cè),判斷當(dāng)前信道是否空閑,非空閑狀態(tài)跳轉(zhuǎn)到步驟2 ;若為空閑狀態(tài),則判斷是否具有第2優(yōu)先發(fā)送權(quán),若具有第2優(yōu)先發(fā)送權(quán),則 跳轉(zhuǎn)到步驟5 ;若不具有第2優(yōu)先發(fā)送權(quán),則進(jìn)入步驟4 ;(4)延時(shí)由退避隨機(jī)限定指數(shù)所限定產(chǎn)生的隨機(jī)數(shù)個(gè)后退周期,繼續(xù)執(zhí)行CCA檢 測(cè),判斷當(dāng)前信道是否空閑,非空閑狀態(tài)跳轉(zhuǎn)到步驟8 ;若為空閑狀態(tài),則進(jìn)入步驟5 ;(5)進(jìn)入發(fā)送狀態(tài),將數(shù)據(jù)幀送出;(6)數(shù)據(jù)幀送出后,與主機(jī)確認(rèn)當(dāng)前送出的數(shù)據(jù)幀是否需要回應(yīng)ACK應(yīng)答,若不需 要?jiǎng)t認(rèn)為當(dāng)前的數(shù)據(jù)幀發(fā)送成功;若需要?jiǎng)t限時(shí)等待接收ACK應(yīng)答,超時(shí)沒(méi)有收到ACK應(yīng) 答,則認(rèn)為當(dāng)前數(shù)據(jù)幀發(fā)送請(qǐng)求失??;若限時(shí)收到ACK應(yīng)答,則認(rèn)為當(dāng)前的數(shù)據(jù)幀發(fā)送成 功;(7)判斷當(dāng)前是否還有數(shù)據(jù)幀需要發(fā)送,若有則跳轉(zhuǎn)到步驟5 ;否則跳轉(zhuǎn)至步驟 9 ;(8)退避次數(shù)值加1,退避隨機(jī)限定指數(shù)加1,判斷若該退避隨機(jī)限定指數(shù)已為最 大值則不需累加,判斷該退避次數(shù)值是否超過(guò)最大預(yù)設(shè)值,沒(méi)有則跳轉(zhuǎn)到步驟2,否則認(rèn)為 當(dāng)前數(shù)據(jù)幀發(fā)送請(qǐng)求失??;(9)發(fā)送結(jié)束。上述的第1優(yōu)先發(fā)送權(quán)是指接收到的數(shù)據(jù)幀規(guī)定需求發(fā)送回應(yīng)ACK,具有第1優(yōu)先 發(fā)送權(quán);當(dāng)前正在發(fā)送數(shù)據(jù)幀者,當(dāng)判斷成功發(fā)送當(dāng)前數(shù)據(jù)幀后,并且還有數(shù)據(jù)幀要求發(fā)送 的,也具有第1優(yōu)先發(fā)送權(quán)。上述的第2優(yōu)先發(fā)送權(quán)是指當(dāng)前收到非廣播數(shù)據(jù)幀者,在收到數(shù)據(jù)幀后(需ACK 應(yīng)答的,指送完ACK后)的一個(gè)退后周期內(nèi),如有數(shù)據(jù)幀需要發(fā)送,則具有第2優(yōu)先發(fā)送權(quán), 超過(guò)一個(gè)后退周期則自動(dòng)降到不具有優(yōu)先發(fā)送級(jí)別;數(shù)據(jù)幀的ACK應(yīng)答,也具有第1優(yōu)先發(fā) 送權(quán),其發(fā)送者同第2優(yōu)先發(fā)送權(quán)。使用了該算法因?yàn)橐肓藘?yōu)先發(fā)送權(quán)級(jí)別的設(shè)置,使發(fā)送節(jié)點(diǎn)數(shù)據(jù)幀能一次性發(fā) 完,減少信道競(jìng)爭(zhēng)使用的節(jié)點(diǎn),以及競(jìng)爭(zhēng)帶來(lái)延時(shí)的信道浪費(fèi);將ACK的接收納入算法流 程,判斷發(fā)送的成功和失敗,使通訊過(guò)程更加完整;取消信道被占用期間,非競(jìng)爭(zhēng)使用的退 避次數(shù)增加,減少導(dǎo)致容易出現(xiàn)發(fā)送失敗的幾率。將一對(duì)一的有效載荷傳輸率(只計(jì)算 802. 15. 4協(xié)議中有效載荷部分)從最高120kb/s提高到最高180kb/s,并且在多節(jié)點(diǎn)同時(shí) 發(fā)送請(qǐng)求下,有效載荷傳輸率也能達(dá)到150kb/s以上。在同等條件下大幅度提升信道的有 效利用率。
圖 1 為原 IEEE 802. 15. 4 CSMA-CA 算法流程圖;圖2為本發(fā)明的IEEE802. 15. 4的非槽道方式的CSMA-CA算法流程圖。以下結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明作進(jìn)一步詳述。
具體實(shí)施例方式如圖2所示,本發(fā)明為一種基于IEEE802. 15. 4的非槽道方式CSMA-CA算法的優(yōu)化 方法,當(dāng)某節(jié)點(diǎn)需要發(fā)送數(shù)據(jù)幀,為了獲取信道的使用權(quán),進(jìn)入非槽道方式CSMA-CA算法1、初始化退避次數(shù)值NB為0,將退避隨機(jī)限定指數(shù)BE設(shè)置為系統(tǒng)設(shè)定的最小值;
2、執(zhí)行CCA檢測(cè),判斷當(dāng)前信道是否空閑,若非空閑狀態(tài)則繼續(xù)執(zhí)行CCA檢測(cè);若 為空閑狀態(tài),則判斷是否具有第1優(yōu)先發(fā)送權(quán),若具有第1優(yōu)先發(fā)送權(quán),則跳轉(zhuǎn)到步驟5 ;若 不具有第1優(yōu)先發(fā)送權(quán),則進(jìn)入步驟3 ;3、延時(shí)一個(gè)后退周期,繼續(xù)執(zhí)行CCA檢測(cè),判斷當(dāng)前信道是否空閑,非空閑狀態(tài)跳 轉(zhuǎn)到步驟2 ;若為空閑狀態(tài),則判斷是否具有第2優(yōu)先發(fā)送權(quán),若具有第2優(yōu)先發(fā)送權(quán),則跳 轉(zhuǎn)到步驟5 ;若不具有第2優(yōu)先發(fā)送權(quán),則進(jìn)入步驟4 ;4、延時(shí)由退避隨機(jī)限定指數(shù)BE所限定產(chǎn)生的隨機(jī)數(shù)個(gè)后退周期,繼續(xù)執(zhí)行CCA檢 測(cè),判斷當(dāng)前信道是否空閑,非空閑狀態(tài)跳轉(zhuǎn)到步驟8 ;若為空閑狀態(tài),則進(jìn)入步驟5 ;5、進(jìn)入發(fā)送狀態(tài),將數(shù)據(jù)幀送出;6、數(shù)據(jù)幀送出后,與主機(jī)確認(rèn)當(dāng)前送出的數(shù)據(jù)幀是否需要回應(yīng)ACK應(yīng)答,若不需 要?jiǎng)t認(rèn)為當(dāng)前的數(shù)據(jù)幀發(fā)送成功;若需要?jiǎng)t限時(shí)等待接收ACK應(yīng)答,超時(shí)沒(méi)有收到ACK應(yīng) 答,則認(rèn)為當(dāng)前數(shù)據(jù)幀發(fā)送請(qǐng)求失?。蝗粝迺r(shí)收到ACK應(yīng)答,則認(rèn)為當(dāng)前的數(shù)據(jù)幀發(fā)送成 功;7、判斷當(dāng)前是否還有數(shù)據(jù)幀需要發(fā)送?若有則跳轉(zhuǎn)到步驟5 ;若沒(méi)有則跳轉(zhuǎn)至步 驟9;8、退避次數(shù)值NB加1,退避隨機(jī)限定指數(shù)BE加1,判斷若該退避隨機(jī)限定指數(shù)BE 已為最大值則不需累加,判斷該退避次數(shù)值NB是否超過(guò)最大預(yù)設(shè)值,沒(méi)有超過(guò)則跳轉(zhuǎn)到步 驟2,否則認(rèn)為當(dāng)前數(shù)據(jù)幀發(fā)送請(qǐng)求失敗;9、發(fā)送結(jié)束。上述的第1優(yōu)先發(fā)送權(quán)是指接收到的數(shù)據(jù)幀規(guī)定需求發(fā)送ACK應(yīng)答,具有第1優(yōu) 先發(fā)送權(quán);當(dāng)前正在發(fā)送數(shù)據(jù)幀者,當(dāng)判斷成功發(fā)送當(dāng)前數(shù)據(jù)幀后,并且還有數(shù)據(jù)幀要求發(fā) 送的,也具有第1優(yōu)先發(fā)送權(quán)。上述的第2優(yōu)先發(fā)送權(quán)是指當(dāng)前收到非廣播數(shù)據(jù)幀者,在收到數(shù)據(jù)幀后(需ACK 應(yīng)答的,指送完ACK后)的一個(gè)退后周期內(nèi),如有數(shù)據(jù)幀需要發(fā)送,則具有第2優(yōu)先發(fā)送權(quán), 超過(guò)一個(gè)后退周期則自動(dòng)降到不具有優(yōu)先發(fā)送級(jí)別;數(shù)據(jù)幀的ACK應(yīng)答,也具有第1優(yōu)先發(fā) 送權(quán),其發(fā)送者同第2優(yōu)先發(fā)送權(quán)。由于本發(fā)明引入了優(yōu)先發(fā)送權(quán)級(jí)別的設(shè)置,使發(fā)送節(jié)點(diǎn)數(shù)據(jù)幀能一次性發(fā)完,減 少信道競(jìng)爭(zhēng)使用的節(jié)點(diǎn),以及競(jìng)爭(zhēng)帶來(lái)延時(shí)的信道浪費(fèi);將ACK的接收納入算法流程,判 斷發(fā)送的成功和失敗,使通訊過(guò)程更加完整;取消信道被占用期間,避免非競(jìng)爭(zhēng)使用的退 避次數(shù)增加,減少導(dǎo)致容易出現(xiàn)發(fā)送失敗的幾率。將一對(duì)一的有效載荷傳輸率(只計(jì)算 802. 15. 4協(xié)議中有效載荷部分)從最高120kb/s提高到最高180kb/s,并且在多節(jié)點(diǎn)同時(shí) 發(fā)送請(qǐng)求下,有效載荷傳輸率也能達(dá)到150kb/s以上。在同等條件下大幅度提升信道的有 效利用率。
權(quán)利要求
本發(fā)明為一種基于IEEE802.15.4的非槽道方式CSMA-CA算法的優(yōu)化方法,當(dāng)某節(jié)點(diǎn)需要發(fā)送數(shù)據(jù)幀,進(jìn)入非槽道方式CSMA-CA算法,其特征在于包括以下幾個(gè)步驟(1)初始化退避次數(shù)值為0,將退避隨機(jī)限定指數(shù)設(shè)置為系統(tǒng)設(shè)定的最小值;(2)執(zhí)行CCA檢測(cè),判斷當(dāng)前信道是否空閑,若非空閑狀態(tài)則繼續(xù)執(zhí)行CCA檢測(cè);若為空閑狀態(tài),則判斷是否具有第1優(yōu)先發(fā)送權(quán),若具有第1優(yōu)先發(fā)送權(quán),則跳轉(zhuǎn)到步驟5;若不具有第1優(yōu)先發(fā)送權(quán),則進(jìn)入步驟3;(3)延時(shí)一個(gè)后退周期,繼續(xù)執(zhí)行CCA檢測(cè),判斷當(dāng)前信道是否空閑,非空閑狀態(tài)跳轉(zhuǎn)到步驟2;若為空閑狀態(tài),則判斷是否具有第2優(yōu)先發(fā)送權(quán),若具有第2優(yōu)先發(fā)送權(quán),則跳轉(zhuǎn)到步驟5;若不具有第2優(yōu)先發(fā)送權(quán),則進(jìn)入步驟4;(4)延時(shí)由退避隨機(jī)限定指數(shù)所限定產(chǎn)生的隨機(jī)數(shù)個(gè)后退周期,繼續(xù)執(zhí)行CCA檢測(cè),判斷當(dāng)前信道是否空閑,非空閑狀態(tài)跳轉(zhuǎn)到步驟8;若為空閑狀態(tài),則進(jìn)入步驟5;(5)進(jìn)入發(fā)送狀態(tài),將數(shù)據(jù)幀送出;(6)數(shù)據(jù)幀送出后,與主機(jī)確認(rèn)當(dāng)前送出的數(shù)據(jù)幀是否需要回應(yīng)ACK應(yīng)答,若不需要?jiǎng)t認(rèn)為當(dāng)前的數(shù)據(jù)幀發(fā)送成功;若需要?jiǎng)t限時(shí)等待接收ACK應(yīng)答,超時(shí)沒(méi)有收到ACK應(yīng)答,則認(rèn)為當(dāng)前數(shù)據(jù)幀發(fā)送請(qǐng)求失??;若限時(shí)收到ACK應(yīng)答,則認(rèn)為當(dāng)前的數(shù)據(jù)幀發(fā)送成功;(7)判斷當(dāng)前是否還有數(shù)據(jù)幀需要發(fā)送,若有則跳轉(zhuǎn)到步驟5;否則跳轉(zhuǎn)至步驟9;(8)退避次數(shù)值加1,退避隨機(jī)限定指數(shù)加1,判斷若該退避隨機(jī)限定指數(shù)已為最大值則不需累加,判斷該退避次數(shù)值是否超過(guò)最大預(yù)設(shè)值,沒(méi)有則跳轉(zhuǎn)到步驟2,否則認(rèn)為當(dāng)前數(shù)據(jù)幀發(fā)送請(qǐng)求失??;(9)發(fā)送結(jié)束。
2.根據(jù)權(quán)利要求1所述的一種基于IEEE802.15. 4的非槽道方式CSMA-CA算法的優(yōu)化 方法,其特征在于所述的第1優(yōu)先發(fā)送權(quán)是指接收到的數(shù)據(jù)幀規(guī)定需求發(fā)送ACK應(yīng)答的, 具有第1優(yōu)先發(fā)送權(quán);當(dāng)前正在發(fā)送數(shù)據(jù)幀者,當(dāng)判斷成功發(fā)送當(dāng)前數(shù)據(jù)幀后,并且還有數(shù) 據(jù)幀要求發(fā)送的,也具有第1優(yōu)先發(fā)送權(quán);所述的第2優(yōu)先發(fā)送權(quán)是指當(dāng)前收到非廣播數(shù)據(jù)幀的,在收到數(shù)據(jù)幀后的一個(gè)退后周 期內(nèi),需ACK應(yīng)答的則指送完ACK應(yīng)答后,如有數(shù)據(jù)幀需要發(fā)送,則具有第2優(yōu)先發(fā)送權(quán),超 過(guò)一個(gè)后退周期則自動(dòng)降到不具有優(yōu)先發(fā)送級(jí)別;數(shù)據(jù)幀的ACK應(yīng)答,也具有第1優(yōu)先發(fā)送 權(quán),其發(fā)送者同第2優(yōu)先發(fā)送權(quán)。
全文摘要
本發(fā)明一種基于IEEE802.15.4的非槽道方式CSMA-CA算法的優(yōu)化方法,引入了優(yōu)先發(fā)送權(quán)級(jí)別的設(shè)置,使發(fā)送節(jié)點(diǎn)數(shù)據(jù)幀能一次性發(fā)完,減少信道競(jìng)爭(zhēng)使用的節(jié)點(diǎn),以及競(jìng)爭(zhēng)帶來(lái)延時(shí)的信道浪費(fèi);將ACK應(yīng)答的接收納入算法流程,判斷發(fā)送的成功和失敗,使通信過(guò)程更加完整;取消信道被占用期間,避免非競(jìng)爭(zhēng)使用的退避次數(shù)增加,減少導(dǎo)致容易出現(xiàn)發(fā)送失敗的幾率,將一對(duì)一的有效載荷傳輸率從最高120kb/s提高到最高180kb/s,并且在多節(jié)點(diǎn)同時(shí)發(fā)送請(qǐng)求下,有效載荷傳輸率也能達(dá)到150kb/s以上,大幅度提升了信道的有效利用率。
文檔編號(hào)H04W74/08GK101873710SQ200910111600
公開(kāi)日2010年10月27日 申請(qǐng)日期2009年4月23日 優(yōu)先權(quán)日2009年4月23日
發(fā)明者林煒嵐, 肖賢勝, 胡憲年 申請(qǐng)人:廈門星網(wǎng)銳捷軟件有限公司