本設(shè)計(jì)涉及智能電網(wǎng)電力線通信領(lǐng)域,主要是對現(xiàn)有的電力線載波通信中使用的通用的CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance帶有沖突避免的載波監(jiān)聽多路訪問)機(jī)制進(jìn)行改進(jìn),實(shí)現(xiàn)對電力線載波通信網(wǎng)絡(luò)擁塞的控制。
背景技術(shù):
隨著智能電表的普及,供電公司告別了人工讀取電量的方式,可以通過多種方式獲取電量,其中最常見的一種就是電力線載波通信。它以設(shè)計(jì)和運(yùn)營成本低廉成為電表數(shù)據(jù)通信的首選。早期的電力線載波通信在一個(gè)網(wǎng)絡(luò)內(nèi)有一個(gè)主節(jié)點(diǎn),多個(gè)從節(jié)點(diǎn),只有主節(jié)點(diǎn)可以發(fā)起通信,從節(jié)點(diǎn)只有接收到訪問信息后才能進(jìn)入通信發(fā)送狀態(tài)。因此,不存在電力線信道通信的沖突,但網(wǎng)絡(luò)通信的利用率低。隨著電力用電信息采集和現(xiàn)場管理要求的提高,許多電力用戶需要從節(jié)點(diǎn)能將從節(jié)點(diǎn)發(fā)生的事件主動(dòng)上報(bào),因此要求從節(jié)點(diǎn)和主節(jié)點(diǎn)一樣能主動(dòng)發(fā)起通信,這樣在電力線上就會(huì)發(fā)生通信的沖突,如何根據(jù)電力線載波通信的特點(diǎn)處理好通信沖突,成為電力線載波通信研究的重要任務(wù)。
通信沖突是指當(dāng)數(shù)據(jù)在網(wǎng)絡(luò)中傳輸時(shí),出現(xiàn)兩個(gè)設(shè)備或兩個(gè)以上設(shè)備同時(shí)發(fā)送數(shù)據(jù)的現(xiàn)象,從而導(dǎo)致網(wǎng)絡(luò)中數(shù)據(jù)擁塞,數(shù)據(jù)丟失的情況。CSMA/CA協(xié)議一般位于通信協(xié)議的介質(zhì)訪問層MAC(Media Access Control)層,是介質(zhì)訪問層的核心算法之一。它利用檢測和避免兩大手段來避免數(shù)據(jù)沖突,從而保證了數(shù)據(jù)的傳輸?shù)目煽啃浴.?dāng)一個(gè)節(jié)點(diǎn)想發(fā)送數(shù)據(jù)時(shí),首先檢測信道,觀察信道是否空閑。如果信道空閑,等待一段時(shí)間,接著發(fā)送數(shù)據(jù),其它的節(jié)點(diǎn)都置信道繁忙標(biāo)志位NAV(Network Allocation Vector)。當(dāng)目的節(jié)點(diǎn)接收到數(shù)據(jù)幀后,等待一段時(shí)間發(fā)送應(yīng)答ACK(Acknowledge)幀。源節(jié)點(diǎn)接收到ACK數(shù)據(jù)幀后,標(biāo)志著發(fā)送數(shù)據(jù)完成。等待一段時(shí)期后,進(jìn)入競爭窗口,各個(gè)節(jié)點(diǎn)競爭發(fā)送,取得發(fā)送權(quán)的節(jié)點(diǎn)重復(fù)上述動(dòng)作,而沒有取得發(fā)送權(quán)的節(jié)點(diǎn)進(jìn)入退避狀態(tài)。
由于電力線載波通信的信道的主要功能是傳輸電力,不是為通信而設(shè)計(jì),因此,它不是一個(gè)理想的通信線路。其通信的帶寬和速度受到限制,如果單純的使用通用的CSMA/CA,當(dāng)數(shù)據(jù)通信頻繁,信道擁塞嚴(yán)重時(shí),部分節(jié)點(diǎn)可能會(huì)一直處于避讓狀態(tài),根據(jù)CSMA/CA機(jī)制,很可能會(huì)進(jìn)入放棄發(fā)送的狀態(tài),從而可能造成部分?jǐn)?shù)據(jù)的丟失,本發(fā)明將重要數(shù)據(jù)和普通數(shù)據(jù)區(qū)分開來,讓重要數(shù)據(jù)優(yōu)先競爭發(fā)送,從而保證重要的數(shù)據(jù)在電力線上優(yōu)先傳輸和可靠性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明在CSMA/CA協(xié)議的基礎(chǔ)上增加了重要數(shù)據(jù)發(fā)送的請求幀RF(Request Frame)和允許幀AF(Allow Frame)命令,從而確保重要數(shù)據(jù)通信的可靠性,當(dāng)一個(gè)節(jié)點(diǎn)需要發(fā)送高優(yōu)先級數(shù)據(jù)時(shí),先發(fā)送一個(gè)請求信號RF,預(yù)約信道,目的節(jié)點(diǎn)接收到了RF后,回復(fù)AF信號。這樣雙方成功進(jìn)行了RF/AF通信握手后,才進(jìn)行數(shù)據(jù)的發(fā)送,保證數(shù)據(jù)的安全可靠性。
另外,本發(fā)明還對競爭窗口進(jìn)行改進(jìn)和劃分,將競爭窗口劃分為高優(yōu)先級窗口和普通優(yōu)先級窗口。重要的通信數(shù)據(jù)被設(shè)置為高優(yōu)先級數(shù)據(jù),當(dāng)出現(xiàn)發(fā)送競爭時(shí),首先進(jìn)入高優(yōu)先級窗口進(jìn)行競爭,等待高優(yōu)先級窗口用完,再進(jìn)入普通優(yōu)先級窗口進(jìn)行數(shù)據(jù)發(fā)送競爭,以確保重要數(shù)據(jù)的優(yōu)先發(fā)送。
在本發(fā)明中,我們將RF和AF的格式設(shè)定為源節(jié)點(diǎn)短地址(2個(gè)字節(jié))和目的節(jié)點(diǎn)短地址(2個(gè)字節(jié)),以及一個(gè)狀態(tài)位(1個(gè)字節(jié))。RF和AF的幀長度較小,僅相當(dāng)于普通數(shù)據(jù)幀長度的幾十分之一,對網(wǎng)絡(luò)資源的開銷很小。因此增加RF和AF命令,對電力線上的數(shù)據(jù)的傳輸量影響并不大,但是有了RF和AF的交互,卻可以更好的保護(hù)高優(yōu)先級數(shù)據(jù)的安全,避免重要數(shù)據(jù)的丟失,也減少因數(shù)據(jù)丟失而導(dǎo)致的數(shù)據(jù)重發(fā)。
在對高低優(yōu)先級窗口的劃分上,可以根據(jù)一些參數(shù)(maxBE為最大退避指數(shù)值,macHighPriorityWindowSize為高優(yōu)先級窗口時(shí)間片數(shù), SlotTime為 CSMA/CA中一個(gè)時(shí)間片的時(shí)長,maxBE和macHighPriorityWindowSize來自于應(yīng)用層,可自己設(shè)定,SlotTime來自于802.15.4標(biāo)準(zhǔn))來決定窗口時(shí)間的長度,本發(fā)明中設(shè)置高優(yōu)先級的窗口寬度(HPCW time)為:
HPCW time = macHighPriorityWindowSize * SlotTime;
由于退避措施采用二進(jìn)制退避算法,那么普通優(yōu)先級的窗口寬度(NPCW time)則為:
NPCW time = (2maxBE * SlotTime) – HPCW time;
只有當(dāng)高優(yōu)先級窗口時(shí)間用完,才能進(jìn)入普通優(yōu)先級窗口。
為保證重要數(shù)據(jù)發(fā)送的優(yōu)先性和可靠性,本次發(fā)明還提出了高優(yōu)先級數(shù)據(jù)搶占式發(fā)送機(jī)制。當(dāng)網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)正在發(fā)送普通優(yōu)先級數(shù)據(jù)時(shí),信道處于繁忙狀態(tài)。此時(shí),網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)接收到來自應(yīng)用層的高優(yōu)先級的數(shù)據(jù),為了確保此數(shù)據(jù)優(yōu)先發(fā)送,高優(yōu)先級數(shù)據(jù)搶占發(fā)送機(jī)制將正在進(jìn)行發(fā)送的普通優(yōu)先級數(shù)據(jù)打斷,將它置于重發(fā)狀態(tài),等待下一次發(fā)送。高優(yōu)先級數(shù)據(jù)發(fā)送節(jié)點(diǎn)搶占到信道后,優(yōu)先將數(shù)據(jù)發(fā)送。
附圖說明
圖1.CSMA/CA協(xié)議的工作原理圖;
圖2.幀間間隔位置與競爭窗口劃分圖;
圖3.改進(jìn)后的CSMA/CA協(xié)議工作原理圖;
圖4.高優(yōu)先級數(shù)據(jù)發(fā)送流程圖;
圖5.高優(yōu)先級數(shù)據(jù)搶占發(fā)送機(jī)制原理圖;
具體實(shí)施方法
下面結(jié)合附圖詳細(xì)介紹本發(fā)明:
結(jié)合圖4所示,在發(fā)送數(shù)據(jù)前,初始化CSMA/CA中NB(退避次數(shù))和BE(二進(jìn)制指數(shù))變量,將NB設(shè)置為0,BE設(shè)置為MinBE(二進(jìn)制指數(shù)最小值),并對數(shù)據(jù)的高低優(yōu)先級進(jìn)行判斷。如果判斷此數(shù)據(jù)為高優(yōu)先級數(shù)據(jù),進(jìn)入高優(yōu)先級競爭窗口,然后啟動(dòng)沖突避讓機(jī)制,等待一個(gè)避讓時(shí)間,避讓時(shí)間為random(CW)(根據(jù)競爭窗口CW生成的隨機(jī)數(shù)),進(jìn)行物理層監(jiān)聽PCS(physical carrier sense)。當(dāng)確認(rèn)信道空閑時(shí),將進(jìn)入數(shù)據(jù)發(fā)送狀態(tài)。如果發(fā)現(xiàn)此信道處于繁忙狀態(tài),那么將NB和BE的變量加1,根據(jù)BE的值重新決定CW(競爭窗口)的大小。并判斷NB的值是否大于maxCSMABackoffs(最大退避次數(shù)),如果NB的值超出范圍,則退出發(fā)送,如果沒有超出,進(jìn)入競爭窗口。
如果高優(yōu)先級的數(shù)據(jù)進(jìn)入發(fā)送狀態(tài),將先發(fā)送一個(gè)RF信號給目標(biāo)節(jié)點(diǎn),如果目標(biāo)節(jié)點(diǎn)接收到RF信號,將反饋一個(gè)AF信號,進(jìn)行數(shù)據(jù)傳輸前的握手準(zhǔn)備。如果RF信號已經(jīng)發(fā)送,等待一段時(shí)間,發(fā)現(xiàn)無AF回應(yīng),可以重發(fā)一次RF,并統(tǒng)計(jì)RF的發(fā)送次數(shù),如果發(fā)送次數(shù)超出范圍,退出發(fā)送狀態(tài)。
在發(fā)送數(shù)據(jù)的過程中,在幀發(fā)送之后,會(huì)間隔一段時(shí)間,再發(fā)送下一幀或等候下一幀,這段時(shí)間稱之為幀間間隔。幀之間的時(shí)間間隔對于數(shù)據(jù)的發(fā)送是非常必要的。結(jié)合圖2所示,在CSMA/CA協(xié)議中,有兩種幀間間隔;分別為CIFS和RIFS。CIFS(contention interframe space)稱之為爭奪幀間隙,它緊跟著ACK幀發(fā)送完成之后,表明數(shù)據(jù)發(fā)送完成。RIFS(response interframe space)稱之為回復(fù)幀間間隔,它出現(xiàn)在ACK幀之前,數(shù)據(jù)幀之后。在RF與AF之間的間隔稱之為SIFS(short interframe space)短幀間隙。
對于普通優(yōu)先級數(shù)據(jù)發(fā)送,首先等待高優(yōu)先級數(shù)據(jù)發(fā)送完成,高優(yōu)先級窗口關(guān)閉,普通優(yōu)先級窗口開啟,普通優(yōu)先級的數(shù)據(jù)進(jìn)入普通優(yōu)先級窗口進(jìn)行退避競爭,啟動(dòng)物理層監(jiān)聽(PCS),確認(rèn)信道空閑,獲得發(fā)送權(quán)的數(shù)據(jù),進(jìn)入發(fā)送狀態(tài),其它數(shù)據(jù)進(jìn)入等待狀態(tài)。獲得發(fā)送權(quán)的節(jié)點(diǎn)無須進(jìn)行RF/AF握手,直接將數(shù)據(jù)發(fā)送給目標(biāo)節(jié)點(diǎn),目標(biāo)節(jié)點(diǎn)接收到數(shù)據(jù)之后,發(fā)送ACK幀給源節(jié)點(diǎn),源節(jié)點(diǎn)收到ACK幀,表明數(shù)據(jù)幀發(fā)送完成。
另外,為了確保高優(yōu)先級數(shù)據(jù)發(fā)送的絕對優(yōu)先權(quán),我們考慮到了高優(yōu)先級數(shù)據(jù)搶占式發(fā)送機(jī)制。結(jié)合圖5所示,當(dāng)一個(gè)普通優(yōu)先級數(shù)據(jù)正在發(fā)送過程中,網(wǎng)絡(luò)中的另一個(gè)節(jié)點(diǎn)接收到了應(yīng)用層下發(fā)的高優(yōu)先級的數(shù)據(jù)。則此節(jié)點(diǎn)先進(jìn)入退避狀態(tài),退避一段時(shí)間后,對電力線進(jìn)行偵聽并判斷電力線上數(shù)據(jù)的高低優(yōu)先級。如果電力線上傳輸?shù)臄?shù)據(jù)優(yōu)先級為高優(yōu)先級時(shí),則進(jìn)入等待狀態(tài)。如果電力線上的數(shù)據(jù)是普通優(yōu)先級數(shù)據(jù),節(jié)點(diǎn)會(huì)發(fā)送一個(gè)RF幀,進(jìn)行信道預(yù)約,并打斷普通優(yōu)先級數(shù)據(jù)發(fā)送。原先發(fā)送的節(jié)點(diǎn)被打斷后,會(huì)置重發(fā)標(biāo)志位(Resend Flag),等待下一次發(fā)送。競爭到信道的節(jié)點(diǎn)接收到目的節(jié)點(diǎn)發(fā)出的AF幀后,接著發(fā)送數(shù)據(jù)幀,等待到目的節(jié)點(diǎn)的ACK幀回復(fù)后,則此次高優(yōu)先級數(shù)據(jù)發(fā)送結(jié)束。