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

?

一種協(xié)議棧RRC狀態(tài)機(jī)的分析與實(shí)現(xiàn)

2018-02-22 12:32汪小軍祝頌東
無線互聯(lián)科技 2018年23期
關(guān)鍵詞:狀態(tài)機(jī)

汪小軍 祝頌東

摘 要:無線資源控制(RRC)層是協(xié)議棧空口部分控制面的重要組成部分。文章首先介紹了RRC層的作用,之后提出了一種RRC狀態(tài)機(jī)的實(shí)現(xiàn)原理,最后給出了狀態(tài)機(jī)的實(shí)現(xiàn)并通過測(cè)試驗(yàn)證。

關(guān)鍵詞:協(xié)議棧;RRC;狀態(tài)機(jī)

隨著通信技術(shù)發(fā)展,移動(dòng)通信已經(jīng)與人們的日常生活密不可分。地面移動(dòng)通信從GSM演進(jìn)到4G/5G,移動(dòng)通信系統(tǒng)基站協(xié)議棧的無線資源控制(Radio Resource Control,RRC)層作為空中接口部分控制面功能的實(shí)際載體,負(fù)責(zé)管理整個(gè)空口資源及無線鏈路的執(zhí)行過程[1]。因此,開發(fā)好RRC狀態(tài)機(jī)對(duì)整個(gè)通信系統(tǒng)協(xié)議棧的穩(wěn)定和高效運(yùn)行有著重要的作用。

1 RRC層協(xié)議分析與狀態(tài)機(jī)實(shí)現(xiàn)

RRC是3層控制面協(xié)議,是移動(dòng)通信系統(tǒng)中空中接口部分協(xié)議棧控制面功能的實(shí)際載體,負(fù)責(zé)空中接口無線鏈路過程的執(zhí)行。主要負(fù)責(zé)無線資源的分配與管理、系統(tǒng)消息廣播、尋呼、RRC連接建立和釋放、RRC連接移動(dòng)性管理(小區(qū)更新、GRA更新)、RB管理、NAS層消息傳遞、測(cè)量控制、加密等[2]。

RRC層主要分為空閑狀態(tài)和連接狀態(tài),其中連接狀態(tài)又細(xì)分為RRC-Cell_Shared,RRC-Cell_Dedicated 和 RRC-GRA_PCH 3種狀態(tài)。RRC連接模式下,RRC層會(huì)執(zhí)行相關(guān)的過程,進(jìn)而實(shí)現(xiàn)相關(guān)的功能。

RRC消息的觸發(fā)和執(zhí)行使用一個(gè)線程進(jìn)行控制,由狀態(tài)機(jī)進(jìn)行過程執(zhí)行的決策控制。所以,狀態(tài)機(jī)的實(shí)現(xiàn)是開發(fā)協(xié)議棧RRC層的核心部分,通過接收RRC消息的到來以及根據(jù)RRC消息的接收情況來觸發(fā)相應(yīng)的RRC處理過程,從而實(shí)現(xiàn)狀態(tài)機(jī)的跳轉(zhuǎn),維持協(xié)議棧的運(yùn)行。另外,在收到上層或下層實(shí)時(shí)性的請(qǐng)求時(shí),狀態(tài)機(jī)控制模塊能夠作出正確處理。在整個(gè)子系統(tǒng)運(yùn)行過程中,狀態(tài)機(jī)控制模塊還能夠管理和維護(hù)RRC過程,包括并行性處理,過程的事務(wù)性管理。對(duì)具有事務(wù)性處理的過程能夠保存和恢復(fù)過程的正確狀態(tài)。因此,如何設(shè)計(jì)狀態(tài)機(jī)使其更清晰地維護(hù)狀態(tài)機(jī)跳轉(zhuǎn),同時(shí)高效地完成RRC的各個(gè)過程,將直接影響整個(gè)協(xié)議棧的運(yùn)行效率和穩(wěn)定性[3]。

狀態(tài)機(jī)的一般運(yùn)行方式是:在某個(gè)狀態(tài)下,收到某個(gè)事件,執(zhí)行相應(yīng)的動(dòng)作,轉(zhuǎn)到相應(yīng)的狀態(tài),再在新的狀態(tài)下,重復(fù)上述循環(huán),直至結(jié)束。其中事件可以是收到的消息,某個(gè)定時(shí)器的到達(dá)等;相應(yīng)的動(dòng)作一般可以是執(zhí)行相應(yīng)的函數(shù)處理等。

現(xiàn)有技術(shù)主要針對(duì)一般復(fù)雜度的狀態(tài)機(jī)系統(tǒng),涉及的有單一并行狀態(tài)機(jī)的處理,有單一串行狀態(tài)機(jī)的處理;有采用狀態(tài)機(jī)方法,有采用兩層狀態(tài)機(jī)結(jié)構(gòu),有表格驅(qū)動(dòng)的,有基于狀態(tài)事件的數(shù)組結(jié)構(gòu)的。而RRC層協(xié)議棧狀態(tài)機(jī)復(fù)雜,涉及的過程較多,現(xiàn)有的技術(shù)沒有完全考慮到RRC層協(xié)議棧的特點(diǎn),實(shí)現(xiàn)起來,要么消耗過多的資源,要么線程多,運(yùn)行繁雜,造成后續(xù)開發(fā)維護(hù)困難,影響整個(gè)系統(tǒng)的穩(wěn)定性。

本文提出了一種適合RRC狀態(tài)機(jī)的設(shè)計(jì)和實(shí)現(xiàn),簡(jiǎn)化了狀態(tài)機(jī)的實(shí)現(xiàn)復(fù)雜度,保證了系統(tǒng)運(yùn)行的高效性和穩(wěn)定性。首先分解RRC協(xié)議棧中的過程,將過程執(zhí)行分解為子狀態(tài)觸發(fā),將子狀態(tài)和事件以及對(duì)應(yīng)的處理函數(shù)都記錄到前面定義的數(shù)組結(jié)構(gòu)中,同時(shí)按照上述的描述,記錄好過程之間的聯(lián)系,對(duì)并行執(zhí)行的過程,如果有優(yōu)先級(jí)的過程,要記錄所有低優(yōu)先級(jí)過程子狀態(tài)收到高優(yōu)先級(jí)事件及對(duì)應(yīng)的處理函數(shù)。這樣,維護(hù)RRC的狀態(tài)機(jī)就變得簡(jiǎn)單了,只需要一個(gè)數(shù)組結(jié)構(gòu)就可以實(shí)現(xiàn)。后續(xù)若有新的過程加入,分析過程關(guān)系,分解過程子狀態(tài),就很方便地加入狀態(tài)機(jī)中運(yùn)行;而且運(yùn)行時(shí),通過調(diào)用回調(diào)函數(shù),無需多次查找,耗費(fèi)的資源也較少,使?fàn)顟B(tài)機(jī)能高效穩(wěn)定地運(yùn)行,通過分析RRC的各個(gè)功能分類,明確過程之間的相互關(guān)系和優(yōu)先級(jí),對(duì)每一個(gè)可能引起RRC_Idle,RRC-Cell_Shared,RRC-Cell_Dedicated 和 RRC-GRA_PCH基本狀態(tài)改變的功能過程,添加過程執(zhí)行的各個(gè)觸發(fā)子狀態(tài)。

具體實(shí)現(xiàn)步驟如下:

(1)用結(jié)構(gòu)數(shù)組記錄所有過程中出現(xiàn)的狀態(tài)事件及對(duì)應(yīng)的處理函數(shù),并初始化,數(shù)組結(jié)構(gòu)構(gòu)成如下:

結(jié)構(gòu)數(shù)組S{ 參數(shù)1 狀態(tài);

參數(shù)2 事件;

參數(shù)3 回調(diào)函數(shù)(形參1, 形參2, 形參3);

}rrc_sm[] = {{狀態(tài)0, 事件1,函數(shù)1},{狀態(tài)1, 事件2,函數(shù)2},

{狀態(tài)2, 事件1,函數(shù)3}, ………其他……};。

上述數(shù)組結(jié)構(gòu)中的route是回調(diào)函數(shù),而且上述結(jié)構(gòu)中完整記錄了所有可能出現(xiàn)的過程狀態(tài)事件及處理函數(shù),如狀態(tài)0下收到事件1,執(zhí)行函數(shù)1動(dòng)作;所述結(jié)構(gòu)數(shù)組中的參數(shù)3是一個(gè)回調(diào)函數(shù),函數(shù)1,2,3有相同的形參,符合回調(diào)函數(shù)的要求。

(2)當(dāng)接收到事件后(消息或定時(shí)器到達(dá)),確定事件類型,再判斷當(dāng)前的狀態(tài),看在當(dāng)前的狀態(tài)下收到的事件是否在上述記錄表中有相應(yīng)的處理函數(shù),若有,調(diào)用回調(diào)函數(shù)執(zhí)行相應(yīng)的函數(shù),將狀態(tài)改變到新的狀態(tài);若沒有相應(yīng)的處理函數(shù),丟棄收到的消息,不處理,狀態(tài)保持不變。

(3)重復(fù)(2)過程直至結(jié)束。

如圖1所示,比方RRC層的信令過程包括RRC連接建立過程、初始直傳過程、上下行直傳過程、小區(qū)更新過程等;其中,RRC連接建立過程要先完成,該過程完成后基本狀態(tài)從空閑狀態(tài)轉(zhuǎn)到連接狀態(tài),在所述的連接狀態(tài)下,初始直傳過程、上下行直傳過程、小區(qū)更新過程都可以發(fā)生,但是上下行直傳過程必須要等到初始直傳過程發(fā)生后才能完成,而小區(qū)更新過程和初始直傳過程沒有聯(lián)系,小區(qū)更新過程的優(yōu)先級(jí)高,這樣,在完成RRC連接建立過程后,如果同時(shí)收到初始直傳過程、上下行直傳和小區(qū)更新過程的事件,則優(yōu)先處理小區(qū)更新過程。在RRC連接建立過程(相當(dāng)于a過程)、初始直傳過程(相當(dāng)于b過程)、上下行直傳過程(相當(dāng)于c過程)、小區(qū)更新過程(相當(dāng)于d過程)中,設(shè)定狀態(tài)0、1、2是過程a的子狀態(tài),狀態(tài)3、4、5是過程b的子狀態(tài),狀態(tài)6、7是過程c的子狀態(tài),狀態(tài)8、9、10是過程d的子狀態(tài)。假定過程a完成之后變到狀態(tài)2,這時(shí)可以用一個(gè)主狀態(tài)(4個(gè)基本狀態(tài)之一)去表示,在該狀態(tài)(對(duì)應(yīng)子狀態(tài)2)下,過程b、過程c、過程d都可以發(fā)生,但是過程c必須等到過程b完成之后才完成,這兩個(gè)過程有先后順序,而過程d和過程b完全是并行的,之間沒有聯(lián)系,但是過程d的執(zhí)行優(yōu)先級(jí)最高,也就是說,狀態(tài)3、4、5、6、7、8、9、10都處在一個(gè)大的主狀態(tài)下,在這個(gè)大的主狀態(tài)下,只要收到最高優(yōu)先級(jí)的事件觸發(fā)過程d發(fā)生,就立即轉(zhuǎn)到子狀態(tài)8,執(zhí)行過程d,不管狀態(tài)是處在過程b還是過程c的任一子狀態(tài)。圖2中的在狀態(tài)3、4、5、6、7狀態(tài)下收到事件10都會(huì)轉(zhuǎn)到狀態(tài)8,表明事件10的優(yōu)先級(jí)要高于事件6、7、8、9。

2 測(cè)試驗(yàn)證

為了驗(yàn)證狀態(tài)機(jī)實(shí)現(xiàn)的正確性,符合協(xié)議信令過程,搭建測(cè)試環(huán)境進(jìn)行測(cè)試,通過wireshark抓包工具進(jìn)行抓包,對(duì)抓取的數(shù)據(jù)包進(jìn)行分析。圖2是一個(gè)終端打電話的過程流程,從抓包信令可知,通過該方法實(shí)現(xiàn)的RRC層協(xié)議信令過程,其中的狀態(tài)機(jī)實(shí)現(xiàn)了正確的狀態(tài)跳轉(zhuǎn),保證了通信過程的正確執(zhí)行。

3 結(jié)語

本文分析了RRC的協(xié)議過程,將RRC的信令過程分解為各個(gè)子狀態(tài),設(shè)計(jì)了一種RRC狀態(tài)機(jī)的實(shí)現(xiàn)方式,同時(shí)實(shí)驗(yàn)驗(yàn)證了狀態(tài)機(jī)運(yùn)行的正確性、穩(wěn)定性,狀態(tài)機(jī)維護(hù)簡(jiǎn)單、高效,為移動(dòng)通信系統(tǒng)協(xié)議棧的開發(fā)設(shè)計(jì)起到了很好的支撐作用。

[參考文獻(xiàn)]

[1]陳宇恒,肖竹,王洪.LTE協(xié)議棧和信令分析[M].北京:人民郵電出版社,2013.

[2]3GPP.Universal Mobile Telecommunications System (UMTS) Radio Resource Control (RRC) Protocol specification TS 25.331 v4.21.0. 2012-01[S].3GPP,2012.

[3]陳玲.WCDMA終端測(cè)試儀中高層協(xié)議棧狀態(tài)機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2014.

Abstract:Radio resource control layer is an important part of the control plane of the protocol stack. This paper introduces the function of RRC layer at first, and then proposes the implementation principle of RRC state machine, finally gives the realization of state machine and verifies it through testing.

Key words:protocol stack; RRC; state machine

猜你喜歡
狀態(tài)機(jī)
FPGA狀態(tài)機(jī)綜合可靠性探究 ①
基于有限狀態(tài)機(jī)的交會(huì)對(duì)接飛行任務(wù)規(guī)劃方法
基于Spring StateMachine的有限狀態(tài)機(jī)應(yīng)用研究
三段式狀態(tài)機(jī)在單片機(jī)中的實(shí)現(xiàn)
基于單片機(jī)運(yùn)行的多線程任務(wù)狀態(tài)機(jī)
基于狀態(tài)機(jī)比對(duì)的狀態(tài)機(jī)推斷方案
雙口RAM讀寫正確性自動(dòng)測(cè)試的有限狀態(tài)機(jī)控制器設(shè)計(jì)方法
FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計(jì)
μC/OS 的層次式狀態(tài)機(jī)在人機(jī)界面中的應(yīng)用
大渡口区| 安龙县| 梅州市| 云龙县| 盐亭县| 土默特右旗| 泰来县| 平昌县| 临猗县| 普宁市| 巨鹿县| 乃东县| 石台县| 林州市| 河源市| 郴州市| 惠州市| 南丹县| 临朐县| 龙游县| 微山县| 张家川| 山丹县| 邢台市| 镇安县| 保康县| 吴江市| 银川市| 修水县| 固原市| 长沙市| 苗栗县| 金溪县| 高陵县| 灵丘县| 泸州市| 体育| 梁山县| 谷城县| 柘城县| 溆浦县|