[鄭輝 方一鳴]
基于DSP的RLC層協(xié)議一致性測試*
[鄭輝 方一鳴]
在系統(tǒng)級測試儀表的開發(fā)過程中,對協(xié)議棧各個層功能進行測試和驗證是關(guān)鍵一步,其中RLC層也不例外,依據(jù)3GPP 最新發(fā)布的Release 14標準在對RLC層數(shù)據(jù)處理功能進行認真分析研究的基礎(chǔ)上,首先利用CCS軟件進行基于DSP的仿真環(huán)境搭建,并在此基礎(chǔ)上對無線鏈路控制層功能進行協(xié)議一致性測試,實現(xiàn)了跨平臺的仿真和測試,最后再利用TTworkbench開發(fā)平臺進行RRM一致性測試,通過系統(tǒng)級測試驗證該層功能的正確性。提出了通過DSP進行仿真和測試的正確性。
DSP 一致性測試 無線鏈路控制 數(shù)據(jù)處理
鄭輝
重慶郵電大學(xué),重慶市移動通信技術(shù)重點實驗室,碩士研究生,主要研究方向:TD-LTE系統(tǒng)協(xié)議棧開發(fā),RRM一致性測試儀表開發(fā)。
方一鳴
重慶郵電大學(xué),重慶市移動通信技術(shù)重點實驗室,碩士研究生,主要研究方向:TD-LTE系統(tǒng)協(xié)議棧開發(fā),RRM一致性測試儀表開發(fā)。
無線鏈路控制層(Radio Link Control,RLC)位于協(xié)議棧分組數(shù)據(jù)匯聚協(xié)議層(Packet Data Convergence Protocol, PDCP)和媒體接入控制層(Medium Access Control, MAC)之間,功能是對來自PDCP層的RLC PDU(Protocol Data Unit, PDU)進行格式化,以適應(yīng)MAC層所提供資源的大小[1]。本文基于TD-LTE TTCN擴展測試儀表開發(fā),通過實現(xiàn)網(wǎng)絡(luò)端協(xié)議棧各個層功能來驗證終端功能的正確性,RLC層位于LTE協(xié)議棧的接入層,它的功能能否正確實現(xiàn)是整個測試儀表開發(fā)的重要部分。
現(xiàn)以RLC層UM模式下數(shù)據(jù)的重組為例,首先利用CCS軟件進行DSP仿真環(huán)境的搭建,并在該環(huán)境上進行RLC層單層代碼的調(diào)試和驗證,最后在TTworkbench開發(fā)平臺上進行的RRM一致性測試,通過系統(tǒng)級測試驗證該層功能的正確性[2]。
1.1 UM模式PDU格式
非確認(Unacknowledged Mode, UM)模式下PDU的格式如圖1所示,UMD PDU由RLC協(xié)議頭和數(shù)據(jù)域兩部分組成,其中,協(xié)議頭包含固定部分和擴展部分。固定頭部分由FI、E和SN組成,擴展頭部分由LI和E組成,但擴展頭部分只有當該UMD PDU包含至少2個SDU的數(shù)據(jù)域元素時才存在[3]。
3.創(chuàng)新工作方式。開展社會組織黨建工作,必須與社會組織的日常經(jīng)營活動有機結(jié)合起來,堅持“為社會組織所需要,為黨員所歡迎,為職工所擁護,為所有者、經(jīng)營者所理解和支持”的原則,如針對其從業(yè)人員流動性比較強的特點,要落實黨的十八大報告“改進對流動黨員的教育、管理、服務(wù)”要求,探索“一方隸屬、多重管理”模式,并注意為其黨員辦理好流動黨員證,針對其場室有限,可安排在附近社區(qū)活動等。實行分類指導(dǎo)、網(wǎng)絡(luò)化管理的黨建工作方式和“小型、業(yè)余、靈活、多樣”的活動方式,增強黨建工作的時效性和吸引力。
圖1 UM模式PDU格式
FI(Framing Info feld,F(xiàn)I)域:占2 bit長度,用來描述數(shù)據(jù)域中第一個和最后一個元素是否是完整的SDU。特別的,該FI域指明數(shù)據(jù)域的第一個字節(jié),是否對應(yīng)SDU的第一個字節(jié),以及數(shù)據(jù)域的最后一個字節(jié)是否對應(yīng)SDU的最后一個字節(jié)(其中0表示對應(yīng),1表示不對應(yīng))。
E(Extension,E)域:占1 bit長度,用來指示該字段后面是數(shù)據(jù)域還是{E,LI}集合。RLC固定頭部分和擴展頭部分中的E域意義不同(其中0表示數(shù)據(jù)域,1表示一個E域和LI域的集合)。
SN(Sequence Number,SN)域:即PDU的序列號,SN的作用是方便接收端進行重排序和重復(fù)性檢測。
LI(Length Indicator feld,LI)域:占11 bit長度,用來指示多個數(shù)據(jù)域元素存在時相應(yīng)的數(shù)據(jù)域元素的長度。第一個LI與第一個數(shù)據(jù)域元素對應(yīng),第二個LI與第二個數(shù)據(jù)域元素對應(yīng),以此類推。最后一個數(shù)據(jù)域元素的長度可以根據(jù)PDU的大小以及前面的LI推斷出來,所以沒有LI與其對應(yīng)。為實現(xiàn)字節(jié)對齊,當有奇數(shù)個LI時,RLC擴展頭會出現(xiàn)4個填充比特。
1.2 UM模式傳輸流程設(shè)計
(1)UM模式數(shù)據(jù)接收流程的設(shè)計如圖2所示。
圖2 UM實體接收流程圖
無線資源控制層(Radio Resource Control, RRC)利用原語CRLC_CONFIG_REQ配置RLC實體,配置完成后由NULL狀態(tài)跳轉(zhuǎn)到UMT(UM模式傳輸態(tài))狀態(tài)。UMT狀態(tài)下,MAC層將RLC PDU通過原語MAC_ DATA_IND發(fā)送給RLC層。UM接收實體將接收到的RLC PDU保存到接收緩存中,并將其重組為服務(wù)數(shù)據(jù)單元(Service Data Unit, SDU),然后通過原語RLC_UM_ DATA_IND將它們發(fā)送到PDCP層。
在CCS軟件上搭建DSP的運行環(huán)境,并根據(jù)測試協(xié)議TS36.508編寫測試例,對RLC層的功能進行了一致性測試[4]。.
2.1 測試環(huán)境的搭建
CCS軟件的工程建立選項和運行配置選項如圖3和圖4所示,本運行環(huán)境在以TI公司的TMS320C6670為核心器件,具體實現(xiàn)了TD-LTE數(shù)據(jù)鏈路層的代碼開發(fā)工作并對RLC層進行了單層測試。利用TMS320C6670操作系統(tǒng)在系統(tǒng)初始化過程中為協(xié)議棧的MAC層、RLC層和PDCP層各創(chuàng)建了一個對應(yīng)的任務(wù)和隊列,依據(jù)下層優(yōu)先級高于上層的原則為不同任務(wù)設(shè)置不同優(yōu)先級,隊列則作為傳輸中介用來傳輸原語消息[5]。
圖3 CCS c66xx工程建立
具體步驟可以分為:
①設(shè)計調(diào)度機制:即各子層的隊列及相應(yīng)的隊列優(yōu)先級,采用輪詢機制對各子層的隊列進行輪詢。根據(jù)協(xié)議規(guī)定,設(shè)計MAC子層的優(yōu)先級最高,接著是RLC層,PDCP層的優(yōu)先級最低。當操作系統(tǒng)監(jiān)聽到RLC層隊列中有任務(wù),且此時沒有優(yōu)先級高于RLC層的任務(wù)存在時,操作系統(tǒng)會調(diào)用RLC層入口函數(shù)進入RLC層狀態(tài)機處理模塊。按照隊列中任務(wù)的先后順序讀取到第一條需要處理的原語后,它會先通過原語頭解析出實例ID,然后獲取當前實例的狀態(tài),最后根據(jù)原語頭中的信令I(lǐng)D調(diào)用當前狀態(tài)下相應(yīng)的處理函數(shù)。進行相應(yīng)的函數(shù)處理后,根據(jù)需要組裝新的原語發(fā)送到相應(yīng)子層的隊列中,對當前實例下的RLC層進行相應(yīng)的狀態(tài)更新并釋放該原語所占資源。該消息處理完后,RLC層入口函數(shù)會繼續(xù)從RLC層隊列中讀取消息進行處理,直至隊列為空。隊列為空時,RLC層任務(wù)會被掛起,并跳出本層狀態(tài)機,控制權(quán)限交還給操作系統(tǒng)。當操作系統(tǒng)檢測到其他層任務(wù)被激活后,便會跳轉(zhuǎn)至其它層狀態(tài)機進行消息處理,對于PDCP層的處理與RLC層相似。
②設(shè)計各子層狀態(tài)的跳轉(zhuǎn):根據(jù)詳細設(shè)計文檔規(guī)劃各子層的狀態(tài),并驗證各子層的各個狀態(tài)能否正常跳轉(zhuǎn),其中RLC層設(shè)計了4個狀態(tài):空狀態(tài)NULL、確認模式傳輸狀態(tài)AMT、非確認模式傳輸狀態(tài)UMT和掛起狀態(tài)SUSPEND。驗證代碼跳轉(zhuǎn)情況與狀態(tài)躍遷設(shè)計圖是否一致。
圖4 CCS c6670運行配置
③驗證各子層的通信:根據(jù)前期的詳細設(shè)計,設(shè)計各子層通信的原語函數(shù),并設(shè)計跟蹤函數(shù)來驗證各子層間的正確收發(fā)。
2.2 有分段情況的重組
在這個測試例中,外部環(huán)境構(gòu)造3個PDU發(fā)送給RLC實體,它們分別為{0x41,0x11}、{0xc2,0x22,0x33}、{0x83,0x44,0x55,0x66},這3個PDU頭中的FI域分別為01、10、11,其代表的意思為數(shù)據(jù)域中的元素頭尾是否是SDU的頭尾。
利用原語MAC_DATA_IND對應(yīng)的處理函數(shù)將PDU發(fā)送給RLC層,經(jīng)函數(shù)處理,收到PDU#1、PDU#2、PDU#3后,RLC接收實體正確重組出了SDU#1。
圖5 (a)PDU#1
圖5 (b)PDU#2
圖5 (c)PDU#2
圖5 (d)PDU#2
2.3 有級聯(lián)情況的重組
有級聯(lián)情況的PDU意味著其數(shù)據(jù)域元素至少有兩個,則RLC頭除了固定頭部分還多了擴展頭的部分。擴展頭所攜帶的信息是LI域,指示每個數(shù)據(jù)域元素的大小,如果LI的長度大于該PDU自身的長度,即意味著出錯,那么RLC接收實體就會丟棄這個出錯的PDU,之后繼續(xù)處理下一個PDU。該測試例的測試目的是檢查RLC實體能否正確重組有級聯(lián)情況的PDU,同時對LI異常的情況給予丟棄處理。
外部環(huán)境構(gòu)造的4個PDU分別是{0x40,0x11,0x22}、{0xe1,0x00,0x20,0x33,0x44,0x55,0x66,0x77,0x88}、{0xe2,0x00,0x90,0x99,0xaa,0xbb,0xcc,0xdd}、其中以PDU#3來舉例說明,將其頭部數(shù)據(jù)域轉(zhuǎn)換為二進制我們可以看到{1110,0010,0000,0000,1001,0000},其中FI域為11,E域為1說明有擴展頭,SN號為2,10~20比特位為LI,其值為9,已超出PDU的本身大小8字節(jié),所以該PDU將被丟棄。
圖6 (a)PDU#3
圖6 (b)SDU#1
由于PDU#3被丟棄,其中數(shù)據(jù)域包含SDU#2的最后部分和SDU#3的第一部分,這兩部分的丟失導(dǎo)致重組SDU#2和SDU#3失敗,RLC實體將能重組的SDU#1解出來,遞交給上層。
無線資源管理(Radio Resource Management,RRM)是無線網(wǎng)絡(luò)及終端的關(guān)鍵功能,其功能的正確實現(xiàn)對終端設(shè)備性能及網(wǎng)絡(luò)質(zhì)量至關(guān)重要[6]。終端協(xié)議一致性測試的目的是驗證終端是否符合協(xié)議要求,通過該方法能檢驗終端是否具備商用水平,是終端通向市場的第一步,其中無線資源管理是重要的一部分[7]。在TTworkbench開發(fā)平臺上完成測試例的編寫及調(diào)試,整體的底層支撐架構(gòu)如圖7所示,其中主要模塊的功能有TTCN-3抽象測試套、TTCN-3執(zhí)行環(huán)境、被測系統(tǒng)適配器、通信接口實現(xiàn)等[8]。
圖7 RRM一致性測試系統(tǒng)整體架構(gòu)
RLC模塊即屬于底層協(xié)議和網(wǎng)絡(luò)的支持部分,負責實現(xiàn)無線接口的通信[9]。將平臺搭建好后,利用編寫好的測試例對終端進行RRM一致性驗證。測試過程的日志圖如圖8所示,圖中記錄了部分層三的流程消息,證明TTCN-3測試系統(tǒng)和終端實現(xiàn)了通信,進一步驗證了RLC層實現(xiàn)的正確性[10]。
圖8 層三消息圖
首先提出了RLC單層測試對系統(tǒng)級測試儀表開發(fā)的重要性,然后詳細分析了RLC層UM模式下PDU格式以及UMT狀態(tài)的詳細設(shè)計流程。經(jīng)實踐證明,通過CCS軟件和DSP搭建的仿真平臺完成了單層測試,最后使用TTworkbench軟件進行系統(tǒng)級測試,確保了該層功能的正確性并驗證了DSP平臺的仿真的可行性[11]。在今后的工作中,還需對如何節(jié)省緩存資源以及上下層之間內(nèi)存的合理分配等問題進行更加深入的研究[12]。
1 3GPP TS 36.323 V14.0.1,Packet Data Convergence Protocol (PDCP) specifcation,2016.09
2 陳發(fā)堂,牛勇清,韓娜娜. 協(xié)議一致性測試平臺的搭建及仿真實現(xiàn)[J]. 電子技術(shù)應(yīng)用,2014,40(4):137-140
3 3GPP TS 36.322 V13.2.0,Radio Link Control (RLC) protocol specifcation,2016.06
4 3GPP. TS 36.508 Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access(E-UTRA) and Evolved Packet Core(EPC);Common test environments for Use Equipment(UE) conformance testing[S]. France: 3GPP Organizational Partners, 2016
5 辛熠,楊瑞民. 多核DSP編程技術(shù)研究[J]. 電子測試, 2011.09
6 楊爽. TD-LTE-A終端RF/RRM一致性測試系統(tǒng)研究與開發(fā)[D].北京郵電大學(xué),2015
7 朱向暉,周東升,聶小逢. 通用網(wǎng)絡(luò)協(xié)議一致性測試平臺的設(shè)計與研究[J]. 電子技術(shù). 2011(06)
8 董宏成,張寧,李小文.TTCN-3在RRC協(xié)議一致性測試中的應(yīng)用[J]. 電子技術(shù)應(yīng)用, 2013, 39(7):117-120
9 程方,蒲偉,張治中.TD-LTE終端協(xié)議一致性測試系統(tǒng)數(shù)據(jù)處理方案設(shè)計[J]. 電視技術(shù)2013,37(17):186-188
10 賴文昌. 基于軟件無線電平臺的TD-LTE鏈路級仿真平臺的實現(xiàn)[D]. 北京郵電大學(xué) 2015
11 雷杰,趙熠飛,黃敏,齊心,周世東. 基于GPP SDR的LTE系統(tǒng)RLC協(xié)議層實現(xiàn)研究[J]. 移動通信,2011,02:45-50
12 劉斌濤,張形形,聶文霞. TD-LTE系統(tǒng)RLC層協(xié)議一致性測試[J]. 光通信研究,2015,05:67-70
2016-11-18)
10.3969/j.issn.1006-6403.2015.12.017
國家科技重大專項資助項目“TD-LTE TTCN 擴展測試集儀表開發(fā)(無線資源管理部分)”(No.2012ZX03001024)