谷向阳
(重庆邮电大学 通信学院,重庆 400065)
LTE也被通俗地称为3.9G,具有100Mbps的数据下载能力,被视作从3G向4G演进的主流技术。它改进并增强了3G的空中接入技术,采用OFDM和MIMO作为其无线网络演进的唯一标准,改善了小区边缘用户的性能,提高小区容量和降低系统延迟。
E-UTRAN是LTE的无线接入网部分,E-UTRAN与UTRAN架构完全不同,去掉了RNC(无线网络控制器)这个网络设备,只保留了eNB(演进型基站)网元,目的是简化网络架构和降低时延。E-UTRAN结构中,eNB是在NodeB原有功能基础上,增加了RNC的物理层、MAC(介质接入控制)层、RRC(无线资源管理)层、调度、接入控制、承载控制、移动性管理和相邻小区无线资源管理等功能,提供相当于原来的RLC(无线链路控制)/MAC/PHY以及RRC层的功能。E-UTRAN的协议栈结构还是与UTRAN一样分为用户面和控制面。其中控制面负责用户无线资源的管理、无线连接的建立、业务的QoS保证和最终的资源释放,用户面则主要负责数据的正常传输[1,2]。
图1为LTE系统的用户平面结构,包括物理层、MAC层、RLC层、PDCP(分组数据汇聚协议)层[3]。PDCP层与RLC层之间的接口为SAP(服务接入点),RLC层与MAC层的数据接口为逻辑信道,MAC层与物理层的数据接口为传输信道。以上各层实体在UE和eNB中是分别存在的[4]。
协议栈用户平面主要包括PDCP、RLC、MAC层,下面分别介绍各层的构造及功能。
图1 用户平面结构
PDCP层执行加密和完整性保护等功能,它的功能由PDCP实体来实现,PDCP实体与一个或两个RLC实体相联系,它通过RRC层来配置。对于一个UE,PDCP支持多实体同时工作,且可以根据配置决定是否对用户面的数据采用头压缩机制,每个PDCP实体处理一个RB(无线承载)的数据。对于用户平面来说,PDCP实体分为映射到AM模式和UM模式两种。
RLC层的功能由RLC实体来完成,它通过RRC层来配置。RLC实体分为3种类型:TM(透明模式),UM(非确认模式),AM(确认模式),相应的RLC可分为TM实体,UM实体,AM实体。其中TM实体和UM实体分为发送实体和接收实体,AM实体本身既包含发送端也包含接收端[7]。TM实体不会存在于用户平面,它直接与RRC层相连,用于控制信息的传送。UM和AM实体与上层的PDCP连接,传送的是用户数据。
UE和eNB的MAC实体分别实现不同功能,它们都由RRC来配置。UE的MAC实体主要功能有:逻辑信道与传输信道之间的映射,调度信息的上报,MAC SDU复用到一个传输块等。上下行数据传输以调度为基础,调度器位于MAC层,其作用是为了充分利用共享资源,为传输信道分配物理层资源。此外,MAC层还负责HARQ(混合重传请求)的控制功能,做出决策使物理层执行具体过程。
当从高层接收到一个PDCP SDU(服务数据单元)后,PDCP会启动该SDU对应的丢弃定时器,同时将PDCP SDU的序列号设置为当前Next_PDCP_TX_SN(下一个发送的PDCP序列号)的值,对已配置头压缩功能的PDCP SDU进行头压缩,用与该PDCP SDU相关的COUNT值(由TX_HFN和序列号组成)对该SDU加密[8]。此外还需要对PDCP SDU加上D/C(指示是数据PDU还是控制PDU)比特,R(保留)比特,SN(序列号)比特等控制信息,加上这些头信息后的数据单元被称为PDCP PDU(协议数据单元),生成后的PDCP PDU会通过SAP递交给对应的RLC实体。同时,PDCP实体更新Next_PDCP_TX_SN的值,用于接收下一个SDU后的相应处理。
当从PDCP接收到一个PDCP PDU(RLC SDU)后,若还未处理这个SDU时PDCP的丢弃定时器超时,则PDCP通知RLC丢弃该SDU。若对应的是UM发送实体,UM实体按序发送数据,即当发送UM实体收到一个新RLC SDU后,它会置这个RLC SDU的SN的值为当前VT(US)的值,然后VT(US)的值加1。UE在接收到来自MAC层的传送时机后[7],根据特定时机通知中指示的数据块大小对发送缓冲区中的SDU进行分段和/或级联并添加RLC头后,成为PDU,才能传送。为了接收端能正确重组为完整的RLC SDU,UM发送实体在分段/级联后应该添加FI,LI比特等头信息。
若对应的是AM实体,在一个AM实体的发送端,RLC控制PDU的发送优先于RLC数据PDU,需重传的RLC数据PDU的发送优先于新RLC数据PDU。在一个AM RLC实体的发送端,根据状态变量VT(A)和VT(MS)来维持一个发送窗口,下面为一个发送窗口控制的一个举例:
图2所示为AM模式发送窗口控制图,白色方块代表该PDU已经发送出去,黑色方块代表该PDU收到相应的ACK, 假设发送窗口的大小为6。初始时,VT(S)和VT(A)均指向即将发送的0号PDU,而此时窗口上限VT(MS)为6,VT(MS)保持VT(MS)=VT(A)+AM_window_size。此后陆续收到来自上层的数据,并在分段/级联以及加头生成相应的PDU,按序发出序号为0,1,2的PDU。在这3个PDU发送出去后,AM实体收到来自对等端的ACK(针对序号为0,1的PDU),此时VT(A)和VT(MS)都向前滑动2个位置,序列号小于VT(A)的PDU若包含一个完整的RLC SDU,则通知PDCP层对等端已正确接收,同时应从重传缓冲中清除。对于AM模式的PDU来说,加头时还需按规则设置P比特位,这是为了在特定条件下尝试从对等端获取一个状态PDU。
图2 用户面数据组装过程
MAC层在收到来自eNB的上行授权后上报给RLC一个传送时机,上行授权通过调度过程来实现。上行授权是通过BSR(缓冲区状态报告)来协助获得,BSR过程是用于向服务eNB报告UE共有多少数据存在于PDCP和RLC的上行的缓冲区,SR(调度请求)用于请求上行授权以发送上行数据[7],BSR和SR通常是联合使用的。MAC在获取上行授权后会用eNB分配的资源大小减去MAC PDU中MAC控制信息单元加上其对应子头的大小,然后将剩余的资源大小告知RLC。MAC层在收到来自各个逻辑信道的RLC PDU(MAC SDU)后,要对以上数据复为一个MAC PDU,然后根据上行同步HARQ操作与物理层协作,通过PUSCH(物理上行共享信道)传给eNB。上行同步HARQ操作通过下行ACK,NACK信令传输,NDI(新数据指示)和上行数据的重传来完成的,每次重传的信道编码RV和传输格式是预定义好的,不需要额外的信令支持,只需通过NDI指示是新数据的传输还是重传。图3所示为各层数据单元的组装过程。
图3 RLC AM模式发送窗口控制
如果DL-SCH(下行共享信道)上有数据发送,则相应的下行分配会在PDCCH(物理下行控制信道)上发送,UE就会监听PDCCH获得必要的信息用于解码DL-SCH数据。下行异步HARQ操作是通过上行ACK/NACK信令传输、NDI、下行资源分配信令传输和下行数据的重传来完成的。UE根据收到的NDI值判断是一个新的传输还是重传,然后采取不同规则解码这个TB的数据,若解码成功则将MAC PDU发送到disassembly and demultiplexing(重组及解复用)实体,并指示物理层产生ACK,否则指示物理层产生NACK。
MAC层解复用后得到的数据会通过disassembly and demultiplexing实体发送到相应的逻辑信道上,再传给对应的RLC实体。若是UM接收实体,则通过VR(UH),VR(UR),VR(UX)这几个变量来维护接收窗口,若接收出现乱序,t-reordering(重排序定时器)会启动,对UMD PDU重排序后再对落在接收窗口外的PDU去头,根据FI,LI等头信息重组后还原成RLC SDU,传给PDCP层。若是AM实体,AM实体会先解析PDU的类型,若是状态PDU则交给控制模块,由控制模块控制重传缓冲中哪些PDU需要重传。若是数据PDU,接收端通过VR(R),VR(MS),VR(MR),VR(H),VR(X)等变量来维护接收窗口,若接收出现乱序,t-reordering同样会启动,且在t-reordering超时或收到P比特置“1”的PDU后会生成一个状态PDU,指示哪些AMD PDU已正确接收以及哪些没有正确接收。与UM实体相同,AM实体也对AMD PDU进行重排序,再对落在接收窗口外的PDU去头,根据FI,LI等头信息重组后还原成RLC SDU,传给PDCP层。下面为接收窗口控制的一个举例:
如图4所示,黑色方块代表该PDU已经重组并上传,白色方块代表只是接收到该PDU,假设接收窗口的大小为6。初始时,VR(R),VR(MS)和VR(H)均指向0,而此时窗口上限VR(MR)为6,VR(MR)一直保持VR(MR)=VR(R)+AM_window_size。AM实体接收端收到0号PDU后VR(R),VR(MS)和VR(H)均指向1,由于落在了接收窗口外,若1号PDU能重组成完整的SDU,则对它进行重组并上传。接下来未立即收到1号PDU,而收到了4号PDU,此时出现了乱序,所以t-reordering启动。此后接收端继续收到2号PDU,在某个时刻t-reordering超时,由于还未收到1号和3号PDU,重排序未完成,AM实体会生成一个状态PDU并通过发送端发送。这时应将VR(X)置为空[8],并将VR(MS)移向VR(H)处。
当接收到来自RLC层的PDCP PDU后,除了发生重建时,PDCP无需再进行重排序,只需对PDCP PDU解密和头解压缩。映射到AM模式和UM模式的DRB处理过程不同,AM模式较为复杂,下面举例说明其中一种情况:
图4 RLC AM模式接收窗口控制
这里假设PDCP序列号为0—9,Reordering_Window为序列号空间一半长度的重排序窗,所以窗口大小为5。RX_HFN为接收端当前HFN,接收端上一次提交给高层的PDCP SDU序列号为Last_Submitted_PDCP_RX_SN,接收端期待的下一个接收的PDCP序列号为Next_PDCP_RX_SN[8]。Mid指每一帧的中间位置,如果接收的PDCP PDU序列号为SN,当SN-Last_Submitted_PDCP_RX_SN >Reordering_Window且SN > Next_PDCP_RX_SN这两个条件满足时,则用RX_HFN-1和SN作为COUNT值进行解密,然后头解压缩,最后丢弃该PDCP SDU。
图5 PDCP滑动窗口控制
如图5所示,要保证SN - Last_Submitted_PDCP_RX_SN >Reordering_Window的话,Last_Submitted_PDCP_RX_SN只可能处于前半帧,这里选定为2。为了满足条件,Next_PDCP_RX_SN取6,received PDCP SN取8。received PDCP SN的位置有3种可能(如图中 received PDCP SN1、2、3), 以Last_Submitted_PDCP_RX_SN为中心来看,只有取前一帧时received PDCP SN位于重排序窗内(图中红色部分),所以应用RX_HFN-1作为COUNT值的一部分来解密。
在LTE系统用户平面中,PDCP,RLC,MAC三层都存在缓冲区。可定义一个指针数组,指针数组保存的是PDU在内存中的地址,发送时根据每个单元的地址指针调出PDU的数据再进行传输。若在系统设计时内存有限,PDCP和RLC可共用一个缓冲区,这样的话PDCP就不必通过信令对RLC传送数据。PDCP对PDCP SDU加头后生成PDCP PDU,然后将PDCP PDU放入公用缓冲区,RLC调用函数get_pdcp_data()得到来自公用缓冲区的数据。这种方法可节约内存资源,但实时性还有待验证。若内存足够大,则PDCP和RLC分别定义一个发送缓冲,PDCP在有新数据发送时通过将参数data封装在RLC_DATA_REQ中传送。
根据前面所述可以设计一个信令流程,图6为根据设计方案在SDL环境中生成的MSC图,验证了所设计方案的可行性。其中涉及到重传以及再分段。RLC根据MAC_RESOURCE_IND提供的资源大小对数据进行分段和/或级联,CRLC_STATUS_IND是在RLC传输达到最大次数时通知RRC使用的。
图6 层间通信MSC图
LTE是当前最热门的通信技术之一,目前LTE标准基本冻结,但离大规模商用还有较长时间。在接下来的研究和开发工作中,我们将进一步调研实现LTE协议栈的RRC,NAS,PHY等子层,并完成TD-LTE无线综合测试仪表和终端基带芯片的开发,应用于下一代移动通信系统中。
[1]赵训威、林辉、张明,等.3GPP长期演进(LTE)系统架构与技术规范[M].北京:人民邮电出版社,2009:6-20.
[2]Stefania SESIA, Issam TOUFIK, Matthew BAKER.LTE – The UMTS Long Term Evolution : From Theory to Practice[M].A John Wiley and Sons, Ltd, Publication,2009 : 62-65.
[3]3GPP TS 36.300 V8.9.0:3GPP Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA) and Evolved Universal Terrestrial Radio Access Network (E-UTRAN);Overall description; Protocol specification[S].2009-06.
[4]Erik DAHLMAN, Stefan PARKVALL, Johan SKOLD, Per BEMING.3G Evolution: HSPA and LTE for Mobile Broadband.Academic Press, 2008:107.
[5]3GPP TS 36.322 V8.7.0: 3GPP Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access(E-UTRA) Radio Link Control (RLC); Protocol specification [S].2009-09.
[6]3GPP TS 36.323 V8.6.0: 3GPP Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access(E-UTRA) Packet Data Convergence Protocol (PDCP); Protocol specification [S].2009-6.
[7]3GPP TS 36.321 V9.0.0: 3GPP Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access(E-UTRA) Medium Access Control (MAC); Protocol specification[S].2009-9.
[8]邓亚平、付红、谢显中,等:3GPP LTE协议栈RLC层AM传输模式的设计与实现[J].重庆邮电大学学报,2009(12).