專利名稱:一種面向工廠自動化tdma無線網(wǎng)絡(luò)的包聚合方法
技術(shù)領(lǐng)域:
本發(fā)明涉及工業(yè)無線網(wǎng)絡(luò)技術(shù),具體地說是一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法。
背景技術(shù):
工業(yè)無線網(wǎng)絡(luò)技術(shù)是繼現(xiàn)場總線之后,工業(yè)控制領(lǐng)域的又一個熱點技術(shù),是降低工業(yè)測控系統(tǒng)成本,提高工業(yè)測控系統(tǒng)應(yīng)用范圍的革命性技術(shù),也是未來幾年工業(yè)自動化產(chǎn)品新的增長點。工業(yè)無線網(wǎng)絡(luò)技術(shù)面向設(shè)備間短程、低速率信息交互,適合在惡劣的工業(yè)現(xiàn)場環(huán)境使用,具有很強的抗干擾能力、超低能耗、實時通信等技術(shù)特征,是對現(xiàn)有無線技術(shù)在工業(yè)應(yīng)用方向上的功能擴展和技術(shù)創(chuàng)新,并最終轉(zhuǎn)化為新的無線技術(shù)標準。目前,工業(yè)無線網(wǎng)絡(luò)技術(shù)應(yīng)用于高速的工廠自動化領(lǐng)域,成為繼面向過程自動化的工業(yè)無線網(wǎng)絡(luò)技術(shù)之后,國際上無線網(wǎng)絡(luò)技術(shù)競爭的又一焦點。相對于傳統(tǒng)的有線總線技術(shù),工廠自動化無線網(wǎng)絡(luò)不僅具有低成本、易安裝、易維護的優(yōu)勢,而且能夠避免設(shè)備因移動導(dǎo)致的線纜易老化、線纜污染、滑環(huán)電力接觸易失敗等問題。TDMA機制因其確定性的資源分配以及有效避免沖突的特點,可以實現(xiàn)較高的可靠性和實時性,因此成為工廠自動化無線網(wǎng)絡(luò)介質(zhì)訪問控制層的首選。然而,在基于簡單的TDMA機制的無線網(wǎng)絡(luò)中存在一個帶寬利用率低的問題,這導(dǎo)致它在工業(yè)現(xiàn)場通信時難以支持大規(guī)模的節(jié)點數(shù)量。另外,工業(yè)應(yīng)用中較短的采集數(shù)據(jù)加大了物理層的開銷,進一步降低了帶寬的有效利用率。包聚合的方法在無損數(shù)據(jù)聚合的前提下,能夠有效減少網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量,增加有效載荷的比例,從而降低了物理層的開銷,提高了網(wǎng)絡(luò)的有效吞吐量,同時避免了大量數(shù)據(jù)傳輸過程中帶來的沖突碰撞問題,提高了網(wǎng)絡(luò)的可靠性和實時性。包聚合的實質(zhì)在于把多個包按照一定的格式重新封裝成一個包發(fā)送出去,接收端收到該包后,進行反向的解聚合操作,還原成原始的多個包。目前,多數(shù)應(yīng)用,如802.1ln,都采用這類技術(shù)來提高吞吐量。然而,現(xiàn)有的包聚合方法僅支持一對一或者多對一的數(shù)據(jù)聚合模式,尚未有一對多的聚合方法且缺乏有效的ACK機制保證聚合包傳輸?shù)目煽啃浴?br>
發(fā)明內(nèi)容
針對現(xiàn)有的包聚合方法僅支持一對一或者多對一的數(shù)據(jù)聚合模式,尚未有一對多的聚合方法且缺乏有效的ACK機制保證聚合包傳輸可靠性的缺陷,提出了一種介質(zhì)訪問控制層(Medium Acess Control layer,MAC)的包聚合方法,充分利用工廠自動化應(yīng)用中確認幀長度短的特點,在保證數(shù)據(jù)無損的前提下,減少網(wǎng)絡(luò)中包的數(shù)量和包頭開銷,提高包的有效載荷,優(yōu)化面向工廠自動化的無線網(wǎng)絡(luò)的性能。本發(fā)明為實現(xiàn)上述目的所采用的技術(shù)方案是:一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,包括以下步驟:將工廠自動化無線網(wǎng)絡(luò)的各類節(jié)點搭建成星型拓撲結(jié)構(gòu);
AP為網(wǎng)絡(luò)中的節(jié)點分配通信所需時隙;基于上述拓撲結(jié)構(gòu)和時隙分配結(jié)果,如果緩存空間足夠,AP將需要發(fā)送給多個節(jié)點的包按照聚合包格式封裝成一個包;節(jié)點收到來自AP的聚合包后,判斷該節(jié)點是否為該聚合包的目的節(jié)點,如果是則接收并解聚該包,否則丟棄該包;收到聚合包的節(jié)點向AP回復(fù)ACK響應(yīng),AP向未發(fā)來ACK的節(jié)點重傳聚合包;AP根據(jù)ACK響應(yīng)的結(jié)果,決定重傳。所述星型拓撲結(jié)構(gòu)包括接入點AP和在AP —跳通信范圍內(nèi)的節(jié)點。所述時隙包括節(jié)點向AP發(fā)送數(shù)據(jù),AP向節(jié)點發(fā)送數(shù)據(jù)和用于數(shù)據(jù)重傳所需的時隙。如果緩存空間不夠,則將部分包聚合或者不聚合包。所述聚合幀格式包括兩個部分:主頭和載荷,其中,主頭部分包括四個子域,分別為幀控制、序列號、源地址和ACK掩碼;載荷部分由聚合后的多個幀的片段組成,每個片段包括一個輔助頭和可變長度的數(shù)據(jù)。所述幀控制子域包括六個子域,分別為協(xié)議掩碼、上行鏈路標識、后繼數(shù)據(jù)標識、網(wǎng)絡(luò)標識符、包類型和聚合包數(shù)量。所述輔助頭包括兩個子域:子幀控制和目的地址,其中,子幀控制子域包括三個子域,分別為子幀長度、子幀類型和ACK掩碼分配。所述AP將需要發(fā)送給多個節(jié)點的包按照聚合包格式封裝成一個包的過程為:AP將其內(nèi)部需要發(fā)送給節(jié)點的包按照接收時間進行排序,并將各個包按照聚合包載荷中片段的格式填充相應(yīng)內(nèi)容后,存儲在緩存中,其中,緩存的第一項存儲主頭的內(nèi)容;收到一個新包后,AP判斷其緩存中的已有數(shù)據(jù)長度的和+待聚合包的數(shù)據(jù)域的長度+4字節(jié)是否小于Nmax個字節(jié),其中,Nmax的值取決于具體的協(xié)議和硬件,其值限定緩存中每一項的大小,如果小于Nmax個字節(jié),則放棄聚合待加入的包;否則,轉(zhuǎn)入下一步;聚合待聚合的包,在AP緩存增加包含“子幀控制、目的地址和數(shù)據(jù)”元素的項,用于填充待聚合報文的內(nèi)容;根據(jù)待聚合報文MAC層頭域中的ACK標識判斷是否需要ACK響應(yīng),如果不需要ACK響應(yīng),則將子幀控制子域中的ACK掩碼分配子域置0,否則,將ACK掩碼分配子域置I 15之間的值,且所置值尚未被緩存中其他待聚合的包使用。所述包解聚的過程為:節(jié)點收到來自AP的廣播包后,解析廣播包,根據(jù)主頭中的幀控制子域的包類型子域,判斷包的類型,如果為聚合包,則按照聚合包的格式解析聚合包主頭后面的數(shù)據(jù);對于解析后的聚合包,如果輔助頭對應(yīng)的目的地址與本地地址匹配,則存儲對應(yīng)的輔助頭和數(shù)據(jù);解析輔助頭,根據(jù)其中的ACK掩碼分配子域的值mask_b判斷是否需要回復(fù)ACK響應(yīng);如果需要回復(fù),則執(zhí)行ACK響應(yīng)步驟,否則,不做處理。所述ACK響應(yīng)和重傳的過程為:節(jié)點向AP返回ACK響應(yīng);如果AP收到節(jié)點的ACK響應(yīng),則將ACK掩碼ACKjnask中對應(yīng)的位的值置為I ;如果AP未收到某個節(jié)點的ACK響應(yīng),則重傳聚合包,并將聚合包的主頭的ACK掩碼子域的值置為ACK_mask ;節(jié)點收到重傳包后,將自身的ACK掩碼與ACKjnask執(zhí)行與運算,如果對應(yīng)位的結(jié)果為0,則表示節(jié)點的ACK響應(yīng)發(fā)送失敗,節(jié)點重新解析發(fā)來的重傳包;否則,丟棄重傳的聚合包。本發(fā)明提出的面向面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法是在充分考慮工業(yè)自動化無線網(wǎng)絡(luò)的數(shù)據(jù)和傳輸特點的前提下提出的,能夠提高網(wǎng)絡(luò)的有效吞吐量,具有無損聚合、低能耗和易實現(xiàn)等優(yōu)點,具體表現(xiàn)在:1.本發(fā)明方法設(shè)計的包聚合方法降低了網(wǎng)絡(luò)系統(tǒng)的載荷,提高了網(wǎng)絡(luò)的有效吞吐量;2.本發(fā)明方法設(shè)計了基于掩碼處理的ACK響應(yīng)和重傳方法以及基于搭載的ACK響應(yīng)結(jié)果傳 輸方法,在保證數(shù)據(jù)傳輸可靠性的同時,降低了開銷,提高了網(wǎng)絡(luò)的吞吐量;3.本發(fā)明方法設(shè)計了用于包聚合的幀格式,一方面它能夠使數(shù)據(jù)融合機制易于實現(xiàn),另一方面它解決了聚合后ACK響應(yīng)多對一的問題。
圖1為本發(fā)明中采用的網(wǎng)絡(luò)拓撲示意圖;圖2為AP為節(jié)點分配時隙的一個實例結(jié)果示意圖;圖3為本發(fā)明中設(shè)計的聚合包的格式;圖4為聚合包中幀控制域的格式;圖5為聚合包中子幀控制子域的格式;圖6為AP聚合包的流程圖;圖7為節(jié)點解聚包的流程圖。
具體實施例方式下面結(jié)合附圖及實施例對本發(fā)明做進一步的詳細說明。本發(fā)明方法包括以下步驟:將工廠自動化無線網(wǎng)絡(luò)的各類節(jié)點搭建成星型拓撲結(jié)構(gòu);AP為網(wǎng)絡(luò)中的節(jié)點分配通信所需時隙;基于上述拓撲結(jié)構(gòu)和時隙分配結(jié)果,設(shè)計包聚合和解聚的過程和包格式;聚合包的目的節(jié)點回復(fù)ACK響應(yīng);AP根據(jù)ACK響應(yīng)的結(jié)果,決定重傳。本發(fā)明采用的星型拓撲結(jié)構(gòu)如圖1所示,包括接入點AP(Access Point)和節(jié)點(Node)。其中,將AP標記為N。。網(wǎng)絡(luò)中的所有節(jié)點都在AP的一跳通信范圍內(nèi)。AP根據(jù)節(jié)點的數(shù)據(jù)率和實時性要求為網(wǎng)絡(luò)中的每個節(jié)點分配相應(yīng)的時隙。圖2給出時隙分配的一個實例。假設(shè)節(jié)點NpN2、N3和N4的數(shù)據(jù)率和實時性要求相同,AP分別為其分配時隙Slot4、Slot5、Slot6以及Slot7用于上行數(shù)據(jù)通信(即節(jié)點向AP發(fā)送數(shù)據(jù));時隙Slot24、Slot25、Slot26以及Slot27用于重傳;時隙Slot1^Slot20以及Slot4ci用于下行數(shù)據(jù)通信(即AP向節(jié)點發(fā)送數(shù)據(jù))。時隙分配結(jié)束后,網(wǎng)絡(luò)中的節(jié)點和AP之間進行正常通信。在網(wǎng)絡(luò)通信過程中,為了降低網(wǎng)絡(luò)中包的數(shù)量以及包頭開銷,本發(fā)明設(shè)計如下包聚合和解聚過程,具體包括三個步驟:包聚合、包解聚和確認巾貞(ACKnowledgement, ACK)響應(yīng)。步驟I包聚合:AP根據(jù)緩存空間的大小,將需要發(fā)送給多個節(jié)點的包聚合為一個包;如果緩存空間不夠,則將部分包聚合或者不聚合包;否則,按照所設(shè)計的聚合包格式將需要聚合的包封裝成一個包。步驟2包解聚:節(jié)點收到來自AP的聚合包后,判斷是否為目的節(jié)點。如果是目的節(jié)點,則接收并解聚該包;否則,丟棄該包。步驟3ACK響應(yīng)和重傳:收到聚合包的節(jié)點向AP回復(fù)ACK響應(yīng),AP通過ACK掩碼標識ACK的回復(fù)結(jié)果,并且將ACK掩碼搭載在重傳的聚合包中廣播出去。節(jié)點根據(jù)ACK掩碼的值和目的地址判斷是否接收重傳的聚合包。所述聚合幀格式見圖3,包括兩個部分:主頭(Main Header, MH)和載荷(Payload)。其中,主頭部分包括四個子域,分別為幀控制、序列號、源地址和ACK掩碼;載荷部分由聚合后的多個幀的片段組成,每個片段包括一個輔助頭(Sub Header, SH)和可變長度的數(shù)據(jù)(Data)。下面將對各個子域的長度和功能作詳細說明。幀控制:2個字節(jié)長,用于控制MAC層接入的一些參數(shù),包括協(xié)議掩碼、上行鏈路標識、后繼數(shù)據(jù)標識以及網(wǎng)絡(luò)標識符(Identifier,ID),其格式見圖4。1.協(xié)議掩碼:占用4個比特,用于標識所采用無線協(xié)議的類型和版本號;本發(fā)明中該值假設(shè)為Obllll。2.上行鏈路標識:占用I個比特,用于指示報文上行或者下行。其中,O表示下行,I表示上行。3.后繼數(shù)據(jù)標識:占用I個比特,用于指示發(fā)送端的發(fā)送隊列中是否有待發(fā)送的數(shù)據(jù);值為O表示發(fā)送端的發(fā)送隊列為空。4.網(wǎng)絡(luò)標識符:占用4個比特,用于區(qū)分同一個網(wǎng)絡(luò)的不同子網(wǎng)。5.包類型:占2個比特,用于標識包的類型。其中,O標識數(shù)據(jù)包;1標識命令包;2表示聚合包;3保留。6.聚合包數(shù)量:占4個比特,用于標識聚合包中載荷域中被聚合包的數(shù)量。如果包類型的值不為2,則該域無效。序列號(Sequence Number, SN):2個字節(jié)長,用于標識巾貞的序號;序列號由一個16位的內(nèi)部計數(shù)器維護;節(jié)點或者AP發(fā)送幀時,將內(nèi)部計數(shù)器的值拷貝到該域,隨后,內(nèi)部計數(shù)器的值作加I運算;重傳幀的序列號保持不變。源地址:2個字節(jié)長,用于標識當前幀的發(fā)送者。ACK掩碼:2個字節(jié)長,用于指示是否已經(jīng)接收到來自前一聚合幀的接收端發(fā)來的ACK響應(yīng);如果該域的值為0x00,則表示所有的被聚合幀的接收端都已經(jīng)回復(fù)ACK響應(yīng);否貝U,如果該域的某一位為1,則表示對應(yīng)該位的接收端尚未回復(fù)ACK響應(yīng)。由于ACK掩碼子域為2個字節(jié)長,因此,最多可以標識16個節(jié)點的ACK響應(yīng)情況。數(shù)據(jù)長度:2個字節(jié)長,用于標識載荷部分數(shù)據(jù)的字節(jié)長度。輔助頭:4個字節(jié)長,包括子幀控制子域和目的地址子域。1.子幀控制:2個字節(jié)長,如圖5所示,包括以下信息:
(I)子幀長度:占用7個比特,表示子幀的總長度,即從子幀控制域開始到數(shù)據(jù)結(jié)束的整個長度;(2)子幀類型:占用4個比特,表示子幀的類型,其含義見表I ;表I幀類型標識
權(quán)利要求
1.一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,其特征在于,包括以下步驟: 將工廠自動化無線網(wǎng)絡(luò)的各類節(jié)點搭建成星型拓撲結(jié)構(gòu); AP為網(wǎng)絡(luò)中的節(jié)點分配通信所需時隙; 基于上述拓撲結(jié)構(gòu)和時隙分配結(jié)果,如果緩存空間足夠,AP將需要發(fā)送給多個節(jié)點的包按照聚合包格式封裝成一個包; 節(jié)點收到來自AP的聚合包后,判斷該節(jié)點是否為該聚合包的目的節(jié)點,如果是則接收并解聚該包,否則丟棄該包; 收到聚合包的節(jié)點向AP回復(fù)ACK響應(yīng),AP向未發(fā)來ACK的節(jié)點重傳聚合包; AP根據(jù)ACK響應(yīng)的結(jié)果,決定重傳。
2.根據(jù)權(quán)利要求1所述的一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,其特征在于,所述星型拓撲結(jié)構(gòu)包括接入點AP和在AP —跳通信范圍內(nèi)的節(jié)點。
3.根據(jù)權(quán)利要求1所述的一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,其特征在于,所述時隙包括節(jié)點向AP發(fā)送數(shù)據(jù),AP向節(jié)點發(fā)送數(shù)據(jù)和用于數(shù)據(jù)重傳所需的時隙。
4.根據(jù)權(quán)利要求 1所述的一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,其特征在于,如果緩存空間不夠,則將部分包聚合或者不聚合包。
5.根據(jù)權(quán)利要求1所述的一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,其特征在于,所述聚合幀格式包括兩個部分:主頭和載荷,其中,主頭部分包括四個子域,分別為幀控制、序列號、源地址和ACK掩碼;載荷部分由聚合后的多個幀的片段組成,每個片段包括一個輔助頭和可變長度的數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,其特征在于,所述幀控制子域包括六個子域,分別為協(xié)議掩碼、上行鏈路標識、后繼數(shù)據(jù)標識、網(wǎng)絡(luò)標識符、包類型和聚合包數(shù)量。
7.根據(jù)權(quán)利要求5所述的一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,其特征在于,所述輔助頭包括兩個子域:子幀控制和目的地址,其中,子幀控制子域包括三個子域,分別為子幀長度、子幀類型和ACK掩碼分配。
8.根據(jù)權(quán)利要求1所述的一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,其特征在于,所述AP將需要發(fā)送給多個節(jié)點的包按照聚合包格式封裝成一個包的過程為: AP將其內(nèi)部需要發(fā)送給節(jié)點的包按照接收時間進行排序,并將各個包按照聚合包載荷中片段的格式填充相應(yīng)內(nèi)容后,存儲在緩存中,其中,緩存的第一項存儲主頭的內(nèi)容; 收到一個新包后,AP判斷其緩存中的已有數(shù)據(jù)長度的和+待聚合包的數(shù)據(jù)域的長度+4字節(jié)是否小于Nmax個字節(jié),其中,Nmax的值取決于具體的協(xié)議和硬件,其值限定緩存中每一項的大小,如果小于Nmax個字節(jié),則放棄聚合待加入的包;否則,轉(zhuǎn)入下一步; 聚合待聚合的包,在AP緩存增加包含“子幀控制、目的地址和數(shù)據(jù)”元素的項,用于填充待聚合報文的內(nèi)容;根據(jù)待聚合報文MAC層頭域中的ACK標識判斷是否需要ACK響應(yīng),如果不需要ACK響應(yīng),則將子幀控制子域中的ACK掩碼分配子域置O,否則,將ACK掩碼分配子域置I 15之間的值,且所置值尚未被緩存中其他待聚合的包使用。
9.根據(jù)權(quán)利要求1所述的一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,其特征在于,所述包解聚的過程為: 節(jié)點收到來自AP的廣播包后,解析廣播包,根據(jù)主頭中的幀控制子域的包類型子域,判斷包的類型,如果為聚合包,則按照聚合包的格式解析聚合包主頭后面的數(shù)據(jù); 對于解析后的聚合包,如果輔助頭對應(yīng)的目的地址與本地地址匹配,則存儲對應(yīng)的輔助頭和數(shù)據(jù); 解析輔助頭,根據(jù)其中的ACK掩碼分配子域的值mask_b判斷是否需要回復(fù)ACK響應(yīng);如果需要回復(fù),則執(zhí)行ACK響應(yīng)步驟,否則,不做處理。
10.根據(jù)權(quán)利要求1所述的一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法,其特征在于,所述ACK響應(yīng)和重傳的過程為: 節(jié)點向AP返回ACK響應(yīng); 如果AP收到節(jié)點的ACK響應(yīng),則將ACK掩碼ACKjnask中對應(yīng)的位的值置為I ; 如果AP未收到某個節(jié)點的ACK響應(yīng),則重傳聚合包,并將聚合包的主頭的ACK掩碼子域的值置為ACK_mask ; 節(jié)點收到重傳包后,將自身的ACK掩碼與ACKjnask執(zhí)行與運算,如果對應(yīng)位的結(jié)果為O,則表示節(jié)點的ACK響應(yīng)發(fā)送失敗, 節(jié)點重新解析發(fā)來的重傳包;否則,丟棄重傳的聚合包。
全文摘要
本發(fā)明涉及工業(yè)無線網(wǎng)絡(luò)技術(shù),具體地說是一種面向工廠自動化TDMA無線網(wǎng)絡(luò)的包聚合方法。將工廠自動化無線網(wǎng)絡(luò)的各類節(jié)點搭建成星型拓撲結(jié)構(gòu);AP為網(wǎng)絡(luò)中的節(jié)點分配通信所需時隙;基于上述拓撲結(jié)構(gòu)和時隙分配結(jié)果,如果緩存空間足夠,AP將需要發(fā)送給多個節(jié)點的包按照聚合包格式封裝成一個包;節(jié)點收到來自AP的聚合包后,判斷該節(jié)點是否為該聚合包的目的節(jié)點,如果是則接收并解聚該包,否則丟棄該包;收到聚合包的節(jié)點向AP回復(fù)ACK響應(yīng),AP向未發(fā)來ACK的節(jié)點重傳聚合包;AP根據(jù)ACK響應(yīng)的結(jié)果,決定重傳。本發(fā)明充分利用工廠自動化應(yīng)用中確認幀長度短的特點,在保證數(shù)據(jù)無損的前提下,減少網(wǎng)絡(luò)中包的數(shù)量和包頭開銷,提高包的有效載荷,優(yōu)化面向工廠自動化的無線網(wǎng)絡(luò)的性能。
文檔編號H04W28/06GK103179613SQ20111044176
公開日2013年6月26日 申請日期2011年12月26日 優(yōu)先權(quán)日2011年12月26日
發(fā)明者梁煒, 林俊如, 張曉玲, 于海斌, 楊雨沱 申請人:中國科學(xué)院沈陽自動化研究所