金毅敦 王晰 陳曉忠
【摘 要】
基于TTCN語言的測試方法已經廣泛用于LTE終端一致性測試。主要介紹TD-LTE終端一致性測試中L2(層二)的測試模型設計和TTCN-3代碼ASP接口的應用實現。
【關鍵詞】
TD-LTE 終端一致性測試 TTCN-3 L2模塊 測試接口設計
1 引言
LTE(Long Term Evolution,長期演進)已在全球范圍內得到迅速發展,據《TDIA產業和市場發展簡訊》數據顯示:2014年Q1期間,全球新增4個商用網絡,商業網總數達到33個(包括13張TDD+FDD雙模網絡,1張eRelay網絡);全球在建TD-LTE網絡新增22個,總數達到83個;有28個運營商明確將于2014年內推出TD-LTE商用服務。全球已有15家芯片廠商成功開發超過40款TD-LTE樣片和商用芯片。全球有122家廠商推出了445款TD-LTE終端,比上季度增加了87款;已有38家廠商推出了132款TD-LTE智能手機。此外,共有113款TD-LTE終端取得中國工業和信息化部入網許可證書,包括74款手機終端和39款數據終端。
終端一致性測試是終端入網認證的重要內容,包括射頻一致性測試、RRM一致性測試和協議一致性測試,其主要目標是通過完成一致性相關要求的測試,以保證不同廠家的終端在網絡內的表現一致并能夠互聯互通。TD-LTE協議一致性測試TTCN-3代碼集由ETSI和TDIA合作開發,作為標準測試集發布在3GPP 36.523-3協議中,包括空閑態小區選擇與重選、MAC(媒體介入控制層)、RLC(無線鏈路控制層)、PDCP(分組數據匯聚層)、RRC(無線資源控制層)及NAS(非接入層)等各層測試內容。
2 LTE終端一致性L2測試模型
在協議一致性測試系統框架中,TTCN-3代碼運行于HostPC上,控制系統模擬器SS的行為。對RRC和NAS層的測試例,TTCN模擬了SS RRC層和網絡側行為,SS側使用物理層和L2(MAC/RLC/PDCP)的正常模式。對于L2協議的一致性測試來說,UE啟用Loop back數據回環模式將收到的data發送回網絡側,TTCN-3代碼模擬被測試層的部分功能,相應地需要將SS配置為特定的功能,才能對終端的L2協議棧進行完整測試。
UE的test loop功能在36.509中描述,分為test loop mode A、B、C共3種模式。
(1)UE test loop mode A為雙向DRB提供PDCP SDU回環,對于每個雙向DRB當UE收到下行PDCP SDU時在同一RB上將其返回且不考察PDCP SDU內容及EPS相關的TFT內容。
(2)對于E-UTRA、UTRA、GSM/GPRS、CDMA2000的UE test loop mode B,UE為雙向EPS承載提供PDCP SDU(E-UTRA和UTRA)、SNDCP PDU(GSM/GPRS)、RLP PDU(CDMA2000)的回環。當建立了多于一個PDN連接或激活多于一個主PDP上下文時不能使用test loop mode B。對于E-UTRA模式下所有雙向DRB,當UE收到下行PDCP SDU時,將其返回到與該PDCP SDU中攜帶的EPS上下文中的TFT TCP/UDP/IP協議信息相匹配的RB上。
(3)UE test loop mode C提供對已成功接收的MTCH上MBMS包的計算。
其中UE test loop mode A功能、E-UTRA模式下的UE test loop mode B功能對于所有E-UTRA UE來說都是必須支持的。UE test loop mode C功能對于支持E-MBMS的E-UTRA UE是必須的。
2.1 MAC層測試模型
MAC層測試模型如圖1所示。
UE:配置為Test Loop Mode,loop back PDCP層之上的用戶域數據。使用空Ciphering算法,不使用ROHC。
SS側:L1設為標準配置,MAC配置為下述的特殊模式,其他功能正常。DRB端口DL不添加和/或者UL不移除MAC headers,由TTCN提供最終的包含padding的PDU。DRB端口的RLC設置為透傳模式(transparent mode),即RLC PDU就是RLC SDU。SS不配置PDCP。對于DRB來說TTCN與SS的接口位于RLC層之上。
其中MAC header添加/刪除配置分為兩種不同模式:
(1)DL/UL header-transparent mode:DL不添加header、UL不移除header。
(2)DL only header-transparent mode:僅DL不添加header,UL方向MAC為正常模式,即負責移除header并且按照邏輯信道Id分發MAC SDU。
如果SS配置為第1種模式,TTCN和SS之間最終交換的DRB PDU是包括MAC、RLC、PDCP header的MAC PDU。TTCN代碼將負責組建/處理DL/UL方向的MAC、RLC、PDCP header,維護RLC、PDCP層的sequence number和狀態變量。對于UE的多個DRB測試,SS側可能僅按照圖1所示配置了1個DRB,其他DRB不配置以便于路由UL TBS。TTCN負責完成不同的DRB PDU的復用和解復用。由于MAC層在UL方向不解析MAC header,UL方向的SRB和DRB將無法區分。因此當MAC層配置為本測試模式的時候將沒有SRB傳輸。
如果SS配置為第2種模式,UL方向TTCN和SS之間最終交換的DRB PDU是包括RLC、PDCP header的RLC PDU。SS將根據邏輯信道Id路由這些PDU。DL方向TTCN最終在DRB端口發送的是編碼后的MAC PDU,包含MAC、RLC、PDCP header。TTCN負責維護RLC、PDCP層的sequence number和狀態變量。在本測試模式中SS在UL和DL方向MAC層可以處理SRB數據,也就是說可以處理來自SRB的DL RLC PDU和分發UL RLC PDU到SRB。此外,TTCN將確保在同一個TTI中正常模式下的DL MAC SDU和測試模式下的DL MAC PDU不同時出現。endprint
TTCN通過系統控制端口配置UL Scheduling Grant和DL Scheduling assignments。SS可通過系統指示端口上報PUCCH調度信息和RACH preamble。
2.2 RLC層測試模型
本測試模型適用于UE DRB的RLC層UM/AM mode的測試,如圖1所示。
UE:配置為Test Loop Mode,loop back PDCP層之上的用戶域數據。使用空Ciphering算法,不使用ROHC。
SS側:L1和MAC設為標準配置,RLC設置為透傳模式(transparent mode),即RLC PDU就是RLC SDU。SS不配置PDCP。對于DRB來說TTCN與SS的接口位于RLC層之上。
TTCN和SS之間最終交換的DRB PDU是包括RLC、PDCP header的RLC PDU。TTCN代碼將負責組建/處理DL/UL方向的RLC、PDCP header,維護RLC、PDCP層的sequence number和狀態變量。如果UE的RLC是AM mode,TTCN將負責DL方向的poll生成和對收到的UL Poll響應。
TTCN通過系統控制端口配置UL Scheduling Grant和DL Scheduling assignments。
2.3 PDCP層測試模型
PDCP ROHC測試模型如圖2所示。
UE:配置為Test Loop Mode,loop back PDCP層之上的用戶域數據。使用加密和ROHC。
SS側:L1、MAC、RLC設為標準配置,完成完整協議棧功能。TTCN與SS的接口位于PDCP層之上。
PDCP配置為特殊模式,不進行header處理。DL/UL雙向加密。只對DL方向配置ROHC,由ASP接收UL ROHC反饋信息。可以獨立地配置UL/DL方向“不進行header處理(no header manipulation)”。在本測試模式下,SS在DL方向不添加PDCP header和UL方向不移除PDCP header。SS負責維護PDCP的狀態變量。可以使用控制原語讀取或設置PDCP內部狀態變量。
TTCN通過系統控制端口配置UL Scheduling Grant和DL Scheduling assignments。SS可通過系統指示端口上報PUCCH調度信息。
PDCP(Non ROHC)測試模型如圖3所示:
圖3 PDCP(Non ROHC)測試模型
UE:配置為Test Loop Mode,loop back PDCP層之上的用戶域數據。使用加密但不使用ROHC。
SS側:L1、MAC、RLC設為標準配置,完成完整協議棧功能。TTCN與SS的接口位于PDCP層之上。
PDCP配置為透傳模式(transparent mode)。SS在DL方向不添加PDCP header和UL方向不移除PDCP header。TTCN負責維護PDCP的sequence number和狀態變量,使用模擬的加密算法完成雙向AS加密功能。TTCN為加密和解密留出外部函數接口。PDCP不配置ROHC。
TTCN通過系統控制端口配置UL Scheduling Grant和DL Scheduling assignments。SS可通過系統指示端口上報PUCCH調度信息。
3 LTE終端一致性TTCN-3 L2測試接口設計
按照3GPP對EUTRAN ASP設計,定義了如下測試端口,以下描述的發送與接收都是以TTCN或者EUTRA_PTC為參照的。
(1)SYS:EUTRAN配置端口,負責配置SS EUTEAN的PHY、MAC、RLC、PDCP層參數,控制系統消息的生成、小區功率的修改、L2特殊測試模式的設置、小區的建立刪除等,并根據TTCN或者測試需要,返回配置成功的確認信息。SYS端口定義了兩個消息:SYSTEM_CTRL_REQ用于發送配置信息,SYSTEM_CTRL_CNF用于接收系統確認。
(2)SYSIND:EUTRAN指示端口,負責上報SS的PHY、MAC、RLC等協議層的特定的指示響應。SYSIND端口定義了一個SYSTEM_IND消息用于接收。
(3)SRB:EUTRAN信令無線承載端口,用于無線承載SRB0/1/2上的RRC消息的發送和接收。SRB端口定義了兩個消息:SRB_COMMON_REQ用于控制SS發送DL RRC消息,SRB_COMMON_IND用于接收UL RRC消息。
(4)DRB:EUTRAN數據無線承載端口,用于控制DRB端口上數據的發送和接收,數據種類包括MAC PDU、RLC PDU、RLC SDU、PDCP PDU、PDCP SDU。DRB端口定義了兩個消息:DRB_COMMON_REQ用于發送DRB數據,DRB_COMMON_IND用于接收DRB數據。
(5)NASCTRL:EUTRAN非接入層控制端口,用于請求NAS安全和NAS COUNT信息,端口定了兩個消息:NAS_CTRL_REQ用于發送請求,NAS_CTRL_CNF用于接收反饋確認。
與第2部分介紹的L2測試模型的配置直接相關的端口有SYS、SYSIND、DRB,下面將詳細介紹。
SYS端口上的配置消息SYSTEM_CTRL_REQ中的配置內容如下:
type union SystemRequest_Type {
CellConfigRequest_Type Cell,
CellAttenuationList_Type CellAttenuationList,endprint
RadioBearerList_Type RadioBearerList,
Null_Type EnquireTiming,
AS_Security_Type AS_Security,
SpsConfig_Type Sps,
PagingTrigger_Type Paging,
L1Mac_IndicationControl_Type L1MacIndCtrl,
Rlc_IndicationControl_Type RlcIndCtrl,
PDCP_CountReq_Type PdcpCount,
PDCP_HandoverControlReq_Type PdcpHandoverControl,
L1_TestMode_Type L1_TestMode,
RA_PDCCH_Order_Type PdcchOrder,
ActivateScell_Type ActivateScell,
MBMS_Config_Type MbmsConfig,
PDCCH_MCCH_ChangeNotification_Type
PDCCH_MCCH_ChangeNotification,
MSI_Config_Type MSI_Config
};
其中RadioBearerList配置和釋放SRB和DRB;L1MacIndCtrl配置SS建立一個L1/MAC事件的指示信息,控制SS將底層事件RachPreamble/SchedReq/BSR/UL_HARQ/C_RNTI/PHR/HarqError/PeriodicRI/EPHR/PeriodicCQI上報給TTCN;RlcIndCtrl配置SS建立一個RLC事件的指示信息;L1_TestMode配置DL CRC和PHICH測試相關的L1/MAC參數;PdcchOrder配置SS傳輸一個PDCCH order給UE來觸發RA過程。對于L2測試模型的配置,主要集中在RadioBearerList中對各DRB的L2各層的配置接口設計上,3.1-3.3各小節將展開說明。
SYSIND端口上SYSTEM_IND接收SS L1/L2的指示響應。
type union SystemIndication_Type {
charstring Error,
RachPreamble_Type RachPreamble,
Null_Type SchedReq,
BSR_Type BSR,
HARQ_Type UL_HARQ,
C_RNTI C_RNTI,
PHR_Type PHR,
HarqError_Type HarqError,
RlcDiscardInd_Type RlcDiscardInd,
RI_Type PeriodicRI,
MAC_CTRL_ExtPowerHeadRoom_Type EPHR,
Null_Type CqiInd
};
其中Error上報SS錯誤指示,會導致測試判決為INCONC;RachPreamble上報UE使用的RACH preamble信息內容;SchedReq上報UE是否進行調度請求;BSR上報UE發送的Short/Truncated/Long BSR內容;UL_HARQ上報某下行傳輸對應的UL HARQ確認ACK/NACK;C_RNTI上報UE發送MAC PDU內包含的CRNTI;PHR上報已收到的PHR;HarqError上報SS側發現的UL傳輸HARQ錯誤和UE側的DL傳輸HARQ NACK;RlcDiscardInd上報被SS丟棄的RLC層的PDU的SN;PeriodicRI上報UE periodic RI;EPHR上報UE Extended PHR;CqiInd上報UE periodic CQI。一般來說,首先TTCN通過SYS端口的L1MacIndCtrl(包括RachPreamble、SchedReq、BSR、UL_HARQ、C_RNTI、PHR、HarqError、PeriodicRI、EPHR、PeriodicCQI)、RlcIndCtrl配置SS激活上報功能,SS才會在層1、層2上將檢測到的相應指示信息通過SYSIND端口上報給TTCN。
由于TTCN對SS的配置模式和測試內容的差異,相應地DRB端口上通過DRB_COMMON_REQ和DRB_COMMON_IND發送和接收到的數據類型有所不同,如MAC、RLC、PDCP的PDU或SDU數據。其中MacPdu、RlcPdu、PdcpPdu的TTCN接口定義包括了各層可能存在的PDU種類。對于MAC PDU,包括MAC header、MAC控制單元和MAC SDU;對于RLC PDU,包括RLC TMD、UMD、AMD PDU和RLC status PDU;對于PDCP PDU,包括PCDP Data PDU、PDCP Control PDU。其中PDU header中的各字段都單獨定義為一個元素,以方便TTCN發送時單獨配置和接收時單獨進行匹配檢測。PdcpSdu、RlcSdu接口定義只有數據部分。用戶平面的數據類型與各層配置模型結合使用將在3.1-3.3小節詳細說明。
type union U_PlaneDataList_Type {
MAC_PDUList_Type MacPdu,
RLC_PDUList_Type RlcPdu,endprint
PDCP_PDUList_Type PdcpPdu,
PDCP_SDUList_Type PdcpSdu,
RLC_SDUList_Type RlcSdu
};
3.1 MAC層測試模型的TTCN接口設計
當MAC層使用標準配置時TestMode設置為None,配置成圖1模型時TTCN接口定義如下:
type record MAC_TestModeInfo_Type {
MAC_Test_DLLogChID_Type DiffLogChId,
MAC_Test_SCH_NoHeaderManipulation_Type
No_HeaderManipulation
};
type union MAC_Test_DLLogChID_Type {
TestLogicalChannelId_Type LogChId,
Null_Type ConfigLchId
};
type enumerated MAC_Test_SCH_NoHeader-
Manipulation_Type {
NormalMode,
DL_SCH_Only,
DL_UL_SCH
};
配置分為兩個部分:1)DiffLogChId配置了MAC頭中LCID使用特定的LogChId值(范圍0~31)還是ConfigLchId狀態(使用SS MAC層正常配置);2)頭處理操作HeaderManipulation使用正常模式、MAC測試模型2(DL_SCH_Only)或MAC測試模型1(DL_UL_SCH)。
MAC按照如上配置的同時,PDCP層不配置(PDCP_Configuration_None)。對于MAC測試模型1,RLC設置為透傳模式(TM),DRB端口上傳輸的數據為MacPdu;對于MAC測試模型2,RLC設置為透傳模式(TM)且指出是AM/UM模式及SN長度,DRB端口上DL數據為MacPdu,UL為RlcPdu。
對于MAC層的測試例來說,并不是所有的測試例都需要按照圖1測試模型對SS進行配置。TTCN代碼會根據測試例的具體測試內容配置SS的底層功能,如隨機接入過程中對RAResponse和ContentionResolutionCtrl的控制、HARQ過程中對ACK/NACK的控制、對上行數據UL GRANT的控制等等。通常測試例需要結合使用MAC測試模型、SYS端口上SYSTEM_CTRL_REQ消息中的相關配置、SYSIND端口上SS接收層1/層2的指示信息,對UE的MAC層的隨機接入過程、HARQ過程、調度請求、狀態緩存報告、非連續接收、跳頻、傳輸塊選擇等功能進行測試。TTCN DRB端口完整定義了MAC PDU可能出現的所有字段,包括SubHeader、CtrlElementList、SduList和Padding。若一個MAC PDU中有不存在字段時該字段設置為omit。
type record MAC_PDU_Type {
MAC_Header_Type Header,
MAC_CTRL_ElementList_Type CtrlElementList optional,
MAC_SDUList_Type SduList optional,
Octetstring Padding optional
};
其中MAC Header包含CtrlElement、Sdu、Padding的SubHeader(如果存在);CtrlElementList(如果存在)包含Short/Long BSR、C_RNTI、ContentionResolutionID、TimingAdvance、PowerHeadRoom等中的一項或幾項;SduList(如果存在)包含一個或多個MAC SDU;Padding(如果存在)是隨機生成的比特串。在測試模型1中,TTCN代替MAC層在下行方向組建MAC PDU,如包含哪些MAC控制單元和SDU、是否存在padding、各MAC SubHeader如何添加;上行方向TTCN檢查UE返回的MAC PDU中的內容是否正確。對在測試模型2中,下行方向與模型1相同,上行方向TTCN檢查UE返回的RLC PDU是否正確,RlcPdu的定義見3.2節。
3.2 RLC層測試模型的TTCN接口設計
當RLC層使用標準配置時TestMode設置為None,配置成圖1模型時TTCN接口定義如下:
type union RLC_TestModeInfo_Type {
RLC_ACK_Prohibit_Type AckProhibit,
RLC_NotACK_NextRLC_PDU_Type
NotACK_NextRLC_PDU,
RLC_AM_SequenceNumber_Type ModifyVTS,
Null_Type TransparentMode_UMDwith5BitSN,
Null_Type TransparentMode_UMDwith10BitSN,
Null_Type TransparentMode_AMD
};
配置接口分為6部分內容任選其一,其中前3個是對RLC層測試的輔助配置,如AckProhibit配置SS在AM模式下不發送/發送ACK給UE確認UL傳輸,NotACK_NextRLC_PDU配置SS在AM模式下對下一個收到的UL RLC PDU不發送ACK給UE,ModifyVTS修改SS側的VT(S)變量值;后3個是按照圖1設置SS RLC為SN長度5或10bit的UM透傳模式或AM透傳模式(SN長度10bit)。endprint
RLC按照如上配置的同時,PDCP層不配置(PDCP_Configuration_None),MAC使用正常配置。此時,DRB端口上傳輸的數據為RlcPdu。
對于RLC層的測試例來說,SS配置成測試模型,TTCN模擬RLC PDU的各種情況,對UE RLC層在UM或AM傳輸模式下對SDU的分段、重組、重排序以及AM模式下的錯誤檢測、重分段功能進行檢測。TTCN DRB端口定義了RLC PDU可能出現的所有種類,包括5bit/10bit SN UMD、AMD(AMD PDU和AMD PDU segment)、Status等。
type union RLC_PDU_Type {
RLC_TMD_PDU_Type TMD,
RLC_UMD_PDU_Type UMD,
RLC_AMD_PDU_Type AMD,
RLC_AM_StatusPDU_Type Status
};
type union RLC_UMD_PDU_Type {
RLC_UMD_PDU_ShortSN_Type ShortSN,
RLC_UMD_PDU_LongSN_Type LongSN
};
type record RLC_UMD_PDU_ShortSN_Type {
RLC_UMD_HeaderShortSN_Type Header,
RLC_DataFieldList_Type Data
};
type record RLC_UMD_PDU_LongSN_Type {
RLC_UMD_HeaderLongSN_Type Header,
RLC_DataFieldList_Type Data
};
type record RLC_AMD_PDU_Type {
RLC_AMD_Header_Type Header,
RLC_DataFieldList_Type Data
};
type record RLC_AM_StatusPDU_Type {
B1_Type D_C,
B3_Type Type,
RLC_Status_ACK_Type Ack,
RLC_Status_NACK_List_Type NackList optional,
RLC_Status_Padding_Type Padding optional
};
3.3 PDCP層測試模型的TTCN接口設計
當PDCP層使用標準配置時TestMode設置為None,配置成圖2或圖3模型時TTCN接口定義如下:
type union PDCP_TestModeInfo_Type {
PDCP_ROHC_Mode_Type PDCP_ROHC_Mode,
PDCP_NonROHC_Mode_Type PDCP_NonROHC_Mode
};
type record PDCP_ROHC_Mode_Type {
PDCP_SNLength_Type SN_Size
};
type record PDCP_NonROHC_Mode_Type {
PDCP_SNLength_Type SN_Size
};
可以選擇將SS配置成PDCP_ROHC_Mode(圖2)或者PDCP_NonROHC_Mode(圖3),且需要指出PDCP SN長度(PDCP_SNLength5/7/12)。
PDCP按照如上配置的同時,RLC/MAC都要正常配置。此時,若SS不處理PDCP header,DRB端口上傳輸的數據為PdcpPdu。
對于PDCP層的測試例來說,AS加密和完整性保護、UP加密測試可以使用SS本身的PDCP層功能;PDCP SN等其他測試需要SS配置成測試模型,TTCN完成PDCP SDU的加解密功能,模擬PDCP PDU對UE的PDCP層進行測試。TTCN DRB端口定義了PDCP PDU可能出現的所有種類,包括LongSN Data PDU、ShortSN Data PDU、RohcFeedback、StatusReport等。
type union PDCP_PDU_Type {
PDCP_DataPdu_LongSN_Type DataLongSN,
PDCP_DataPdu_ShortSN_Type DataShortSN,
PDCP_DataPdu_ExtSN_Type DataExtSN,
PDCP_Ctrl_ROHC_FB_PDU_Type RohcFeedback,
PDCP_Ctrl_StatusReport_Type StatusReport,
PDCP_Ctrl_StatusReportExt_Type StatusReportExt
};
4 結束語
TD-LTE終端協議一致性測試內容覆蓋各層協議過程的理解與實現,使得TTCN對SS的設置非常細致。在L2測試SS的開發過程或者與UE聯調過程中,都要求研發測試人員對L2測試模型和相關TTCN的接口定義的含義有明確理解。對于L2測試例來說,TTCN要求SS的可控性非常高,SS不能僅限于支持TD-LTE各層的完整協議棧,還要按照TTCN的要求,在完整協議棧實現的基礎上留出相應的測試接口,以便靈活的控制測試流程,才能更好的檢驗UE協議的完整性和一致性。
參考文獻:
[1] 3GPP TS 36.523-1 V12.0.0. Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Packet Core (EPC); User Equipment (UE) conformance specification; Part 1: Protocol conformance specification[S]. 2013.
[2] 3GPP TS 36.523-3 V11.2.0. Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Packet Core (EPC); User Equipment (UE) conformance specification; Part 3: Test Suites[S]. 2013.
[3] 3GPP TS 36.509 V10.1.0. Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Packet Core (EPC); Special conformance testing functions for User Equipment (UE)[S]. 2013.
[4] TD產業聯盟. TDIA產業和市場發展簡訊[EB/OL]. (2014-03-30). http://www.tdia.cn/Downloads/PDF/2014Q1.pdf.endprint
RLC按照如上配置的同時,PDCP層不配置(PDCP_Configuration_None),MAC使用正常配置。此時,DRB端口上傳輸的數據為RlcPdu。
對于RLC層的測試例來說,SS配置成測試模型,TTCN模擬RLC PDU的各種情況,對UE RLC層在UM或AM傳輸模式下對SDU的分段、重組、重排序以及AM模式下的錯誤檢測、重分段功能進行檢測。TTCN DRB端口定義了RLC PDU可能出現的所有種類,包括5bit/10bit SN UMD、AMD(AMD PDU和AMD PDU segment)、Status等。
type union RLC_PDU_Type {
RLC_TMD_PDU_Type TMD,
RLC_UMD_PDU_Type UMD,
RLC_AMD_PDU_Type AMD,
RLC_AM_StatusPDU_Type Status
};
type union RLC_UMD_PDU_Type {
RLC_UMD_PDU_ShortSN_Type ShortSN,
RLC_UMD_PDU_LongSN_Type LongSN
};
type record RLC_UMD_PDU_ShortSN_Type {
RLC_UMD_HeaderShortSN_Type Header,
RLC_DataFieldList_Type Data
};
type record RLC_UMD_PDU_LongSN_Type {
RLC_UMD_HeaderLongSN_Type Header,
RLC_DataFieldList_Type Data
};
type record RLC_AMD_PDU_Type {
RLC_AMD_Header_Type Header,
RLC_DataFieldList_Type Data
};
type record RLC_AM_StatusPDU_Type {
B1_Type D_C,
B3_Type Type,
RLC_Status_ACK_Type Ack,
RLC_Status_NACK_List_Type NackList optional,
RLC_Status_Padding_Type Padding optional
};
3.3 PDCP層測試模型的TTCN接口設計
當PDCP層使用標準配置時TestMode設置為None,配置成圖2或圖3模型時TTCN接口定義如下:
type union PDCP_TestModeInfo_Type {
PDCP_ROHC_Mode_Type PDCP_ROHC_Mode,
PDCP_NonROHC_Mode_Type PDCP_NonROHC_Mode
};
type record PDCP_ROHC_Mode_Type {
PDCP_SNLength_Type SN_Size
};
type record PDCP_NonROHC_Mode_Type {
PDCP_SNLength_Type SN_Size
};
可以選擇將SS配置成PDCP_ROHC_Mode(圖2)或者PDCP_NonROHC_Mode(圖3),且需要指出PDCP SN長度(PDCP_SNLength5/7/12)。
PDCP按照如上配置的同時,RLC/MAC都要正常配置。此時,若SS不處理PDCP header,DRB端口上傳輸的數據為PdcpPdu。
對于PDCP層的測試例來說,AS加密和完整性保護、UP加密測試可以使用SS本身的PDCP層功能;PDCP SN等其他測試需要SS配置成測試模型,TTCN完成PDCP SDU的加解密功能,模擬PDCP PDU對UE的PDCP層進行測試。TTCN DRB端口定義了PDCP PDU可能出現的所有種類,包括LongSN Data PDU、ShortSN Data PDU、RohcFeedback、StatusReport等。
type union PDCP_PDU_Type {
PDCP_DataPdu_LongSN_Type DataLongSN,
PDCP_DataPdu_ShortSN_Type DataShortSN,
PDCP_DataPdu_ExtSN_Type DataExtSN,
PDCP_Ctrl_ROHC_FB_PDU_Type RohcFeedback,
PDCP_Ctrl_StatusReport_Type StatusReport,
PDCP_Ctrl_StatusReportExt_Type StatusReportExt
};
4 結束語
TD-LTE終端協議一致性測試內容覆蓋各層協議過程的理解與實現,使得TTCN對SS的設置非常細致。在L2測試SS的開發過程或者與UE聯調過程中,都要求研發測試人員對L2測試模型和相關TTCN的接口定義的含義有明確理解。對于L2測試例來說,TTCN要求SS的可控性非常高,SS不能僅限于支持TD-LTE各層的完整協議棧,還要按照TTCN的要求,在完整協議棧實現的基礎上留出相應的測試接口,以便靈活的控制測試流程,才能更好的檢驗UE協議的完整性和一致性。
參考文獻:
[1] 3GPP TS 36.523-1 V12.0.0. Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Packet Core (EPC); User Equipment (UE) conformance specification; Part 1: Protocol conformance specification[S]. 2013.
[2] 3GPP TS 36.523-3 V11.2.0. Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Packet Core (EPC); User Equipment (UE) conformance specification; Part 3: Test Suites[S]. 2013.
[3] 3GPP TS 36.509 V10.1.0. Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Packet Core (EPC); Special conformance testing functions for User Equipment (UE)[S]. 2013.
[4] TD產業聯盟. TDIA產業和市場發展簡訊[EB/OL]. (2014-03-30). http://www.tdia.cn/Downloads/PDF/2014Q1.pdf.endprint
RLC按照如上配置的同時,PDCP層不配置(PDCP_Configuration_None),MAC使用正常配置。此時,DRB端口上傳輸的數據為RlcPdu。
對于RLC層的測試例來說,SS配置成測試模型,TTCN模擬RLC PDU的各種情況,對UE RLC層在UM或AM傳輸模式下對SDU的分段、重組、重排序以及AM模式下的錯誤檢測、重分段功能進行檢測。TTCN DRB端口定義了RLC PDU可能出現的所有種類,包括5bit/10bit SN UMD、AMD(AMD PDU和AMD PDU segment)、Status等。
type union RLC_PDU_Type {
RLC_TMD_PDU_Type TMD,
RLC_UMD_PDU_Type UMD,
RLC_AMD_PDU_Type AMD,
RLC_AM_StatusPDU_Type Status
};
type union RLC_UMD_PDU_Type {
RLC_UMD_PDU_ShortSN_Type ShortSN,
RLC_UMD_PDU_LongSN_Type LongSN
};
type record RLC_UMD_PDU_ShortSN_Type {
RLC_UMD_HeaderShortSN_Type Header,
RLC_DataFieldList_Type Data
};
type record RLC_UMD_PDU_LongSN_Type {
RLC_UMD_HeaderLongSN_Type Header,
RLC_DataFieldList_Type Data
};
type record RLC_AMD_PDU_Type {
RLC_AMD_Header_Type Header,
RLC_DataFieldList_Type Data
};
type record RLC_AM_StatusPDU_Type {
B1_Type D_C,
B3_Type Type,
RLC_Status_ACK_Type Ack,
RLC_Status_NACK_List_Type NackList optional,
RLC_Status_Padding_Type Padding optional
};
3.3 PDCP層測試模型的TTCN接口設計
當PDCP層使用標準配置時TestMode設置為None,配置成圖2或圖3模型時TTCN接口定義如下:
type union PDCP_TestModeInfo_Type {
PDCP_ROHC_Mode_Type PDCP_ROHC_Mode,
PDCP_NonROHC_Mode_Type PDCP_NonROHC_Mode
};
type record PDCP_ROHC_Mode_Type {
PDCP_SNLength_Type SN_Size
};
type record PDCP_NonROHC_Mode_Type {
PDCP_SNLength_Type SN_Size
};
可以選擇將SS配置成PDCP_ROHC_Mode(圖2)或者PDCP_NonROHC_Mode(圖3),且需要指出PDCP SN長度(PDCP_SNLength5/7/12)。
PDCP按照如上配置的同時,RLC/MAC都要正常配置。此時,若SS不處理PDCP header,DRB端口上傳輸的數據為PdcpPdu。
對于PDCP層的測試例來說,AS加密和完整性保護、UP加密測試可以使用SS本身的PDCP層功能;PDCP SN等其他測試需要SS配置成測試模型,TTCN完成PDCP SDU的加解密功能,模擬PDCP PDU對UE的PDCP層進行測試。TTCN DRB端口定義了PDCP PDU可能出現的所有種類,包括LongSN Data PDU、ShortSN Data PDU、RohcFeedback、StatusReport等。
type union PDCP_PDU_Type {
PDCP_DataPdu_LongSN_Type DataLongSN,
PDCP_DataPdu_ShortSN_Type DataShortSN,
PDCP_DataPdu_ExtSN_Type DataExtSN,
PDCP_Ctrl_ROHC_FB_PDU_Type RohcFeedback,
PDCP_Ctrl_StatusReport_Type StatusReport,
PDCP_Ctrl_StatusReportExt_Type StatusReportExt
};
4 結束語
TD-LTE終端協議一致性測試內容覆蓋各層協議過程的理解與實現,使得TTCN對SS的設置非常細致。在L2測試SS的開發過程或者與UE聯調過程中,都要求研發測試人員對L2測試模型和相關TTCN的接口定義的含義有明確理解。對于L2測試例來說,TTCN要求SS的可控性非常高,SS不能僅限于支持TD-LTE各層的完整協議棧,還要按照TTCN的要求,在完整協議棧實現的基礎上留出相應的測試接口,以便靈活的控制測試流程,才能更好的檢驗UE協議的完整性和一致性。
參考文獻:
[1] 3GPP TS 36.523-1 V12.0.0. Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Packet Core (EPC); User Equipment (UE) conformance specification; Part 1: Protocol conformance specification[S]. 2013.
[2] 3GPP TS 36.523-3 V11.2.0. Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Packet Core (EPC); User Equipment (UE) conformance specification; Part 3: Test Suites[S]. 2013.
[3] 3GPP TS 36.509 V10.1.0. Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Packet Core (EPC); Special conformance testing functions for User Equipment (UE)[S]. 2013.
[4] TD產業聯盟. TDIA產業和市場發展簡訊[EB/OL]. (2014-03-30). http://www.tdia.cn/Downloads/PDF/2014Q1.pdf.endprint