LTELayer2协议分析005——DL-SCH数据处理流程本文档主要分析MAC层中的DL-SCH数据相关处理流程,该部分内容主要源于TS36.321,5.3小节,以及TS36.331中关于SIB的相关描述。由于百度文库显示原因,文档中示图可能显示异常,下载文档可正常查看。概述DL-SCH主要承载以下四种类型数据,zDTCH,使用C-RNTI或SPS-CRNTI加扰,用于UE的用户面数据传输zDCCH,使用C-RNTI加扰,用于UE的控制面数据传输zCCCH,使用CRNTI加扰,用于UE的随机接入相关数据传输,DL-SCH中CCCH用于MSG4的传输,即用于竞争解决zBCCH,使用SI-RNTI加扰,用于系统消息块(SystemInformationBlocks)的广播传输对于DTCH、DCCH和CCCH而言,一次DL-SCH数据传输的基本流程如下图所示,如上图所示,eNB通过PDCCH将下行分配信息(DLAssignment)发送给UE,同时通过PDSCH将相应DL-SCH数据发送给UE,UE基于DLAssignment信息解析出PDSCH中的DL-SCH数据后,根据DL-SCH数据的CRC校验结果生成对应的ACK或NACK,并反馈给eNB。类似地,对于BCCH而言,一次DL-SCH数据传输的基本流程如下图所示,如上图所示,eNB通过PDCCH将SIB1的DLAssignment发送给UE,同时通过PDSCH将相应的DL-SCH数据发送给UE,UE基于DLAssignment信息解析出PDSCH中的DL-SCH数据,此后UE通过SIB1中的SImessage调度信息解析出其他的SIB信息(记为SIBx)。相比DCCH/DTCH/CCCH而言,BCCH信息无HARQ反馈处理流程。UE侧DLAssignment处理流程对于非BCCH数据的DLAssignment,UE侧处理流程如下图所示,收到由CRNTI或T-CRNTI加扰由T-CRNTI加扰||(由CRNTI加扰&&同一HARQ进程上一次由SPS-CRNTI加扰)判定NDI翻转&&向相应HARQ实体指示及HARQ信息源于主小区&&由SPS-CRNTI加扰NDI==1判定NDI没有翻转&&向相应HARQ实体指示及HARQ信息内容为SPS_RELEASE清空上层配置的TA定时器正在运行通知物理层释放下行半静态调度为主小区配置&&当前TTI不在GAP测量期&&(当前TTI非MBSFN子帧||UE处于TM9/10)指示物理层接收数据&&计算HARQ进程号YESYESYESNOYESYESNOYESYESNOYES保存为上层配置的新传SPS重传SPS释放已激活SPSSPS重激活由图可见zDLAssignment的接收处理流程对应五类场景:常规新传数据、SPSActive/Reactive、SPSRetran、SPSRelease和SPSActedzDLAssignment源于UE从PDCCH中盲检得出,或上层配置。上层配置场景对应SPSActed处理场景,上层配置的DLAssignment源于SPS激活命令。zSPS调度只在主小区生效z对于已激活SPS,由于无下行授权下发,其HARQ进程号由如下公式计算得到,HARQProcessID=[floor(CURRENT_TTI/semiPersistSchedIntervalDL)]modulonumberOfConfSPS-Processes其中semiPersistSchedIntervalDL表示SPS调度时间间隔,一般配置为20ms或40ms,numberOfConfSPS-Processes表示分配用于下行SPS调度的HARQ进程个数zHARQ实体、HARQ进程、HARQ进程号和广播HARQ进程的概念解释详见下一小节对于BCCH数据,BCCH数据分为SIB1和SIBx两类。SIBx往往周期发送,其DLAssignment可由SIB1中获取,UE直接将相关信息发送给广播HARQ进程即可。SIB1的DLAssignment由UE盲检PDCCH得到,除冗余版本号外,UE侧几乎不需要特别处理,而是直接将相关信息发送给对应的HARQ进程。考虑到冗余版本号与当前的帧号关联,当DLAssignment中无冗余版本号时,直接使用下式计算出冗余版本号(只针对SIB1),RVK=ceiling(3/2*k)modulo4其中k=(SFN/2)modulo4,SFN表于,SIB1发送周期为80ms,侧处理流程UE侧对应每一个服务小区(ServiceCell)都存在有一个HARQ实体(HARQentity),一个TELayer2协议分析001——LTELayer2整体架构”中给出示例图),示无线帧号。这样计算的原理在一个周期内每20ms发送一次,只允许在子帧5上发送,由eNB动态选择在前10ms的子帧5调度还是后10ms的子帧5调度。发送的冗余版本号依次为0,2,3,1。UEHARQHARQentity包含多个并行的HARQ进程(HARQprocess),以支撑同时进行TB的使用HARQ技术的传输(以下简称HARQ传输)。HARQprocess使用HARQ进程号(HARQprocessID)标识。如下图所示(“L考虑到下行空分复用技术的使用,eNB可以同时传输两个TB给UE,因此一个HARQproc给相应的HARess最多可以支撑两个TB的HARQ传输。需要特别注意的是,UE侧HARQentity还有一类特别的HARQprocess,即boradcastHARQprocess,用于SIB数据的接收。UE侧的HARQ处理流程如下图所示,主要是将TB和相应的HARQ信息转发Qprocess,收到这些信息的HARQprocess处理流程如下图所示,选择接收TB和HARQ信息对应的HARQprocess尝试对TB进行译码(NDI已经反转)||(broadcastHARQprocess&&首次收到RRC指示调度信息的数据)||(首次收到TB)TB译码成功TB译码成功||TB之前已译码成功broadcastHARQprocess解析出MACPDU传递给上层使用softbuffer进行HARQ合并译码解析出MACPDU传递给解复用和解装配实体该TB首次译码成功生成ACK生成NACK更新该HARQprocess的softbuffer(HARQprocess与T-CRNTI关联&&竞争解决未成功)||(broadcastHARQprocess)||(timeAlignmentTimer超时或停止)不向物理层指示生成的ACK/NACK向物理层指示生成的ACK/NACKYESYESYESYESNONOYESYESNONO由图可见z上述流程包含了信道译码的过程,即协议中规定的UE侧MAC层承担了信道译码的工作z更新HARQprocess对应的softbuffer时,使用的是最近一次用于进行译码的softbuffer,即已经经过了HARQ合并的softbufferz上述流程的主要输出是对上层输出MACPDU,对下层输出ACK/NACK指示ztimeAlignmetTimer即TA定时器,用于维护TACommand有效性的定时器,详见“LTELayer2协议分析004——TA流程”zNDI翻转表示新传数据,否则为重传数据;重传时TB大小必须与新传保持一致z解复用和解装配实体,即DisassemblyanddemultiplexingEntiry,该实体功能是从MACPDU中解析出各个逻辑信道的数据(本文完) 本系列文档针对LTELayer2相关协议进行分析,力求使用图表示例等方式更好地分析协议内容,追溯协议背后的设计思想。主要涉及的协议为3GPP,TS36.321、TS36.322、TS36.323和TS36.300,参考协议版本为R12。本文档纯属自我学习总结,只做学习交流用途!