NR MAC协议
一、MAC概述
1. MAC功能
MAC:Medium Access Control
主要功能:
逻辑信道与传输信道之间的映射
将来自一个或多个逻辑信道的MAC SDU复用到一个传输块(TB),通过传输信道发给物理层
将一个或多个逻辑信道的MAC SDU解复用
通过HARQ进行错误纠正
随机接入过程
数据缓存上报(BSR)
功率余量上报(PHR)
逻辑信道优先级排序
波束检测(NR新增)
DRX功能
2. 协议分层
控制面协议分层如下:
用户面协议分层如下:
3. MAC层架构
MAC与上层之间的信道为逻辑信道,与下层之间的信道为传输信道
4. L2数据流
1) H表示头或子头;
2) 发送端 “层层加头”,接收端 “层层剥头”;
3) IP包m因MAC发送资源不足,在RLC层进行分段;
5. 上下行信道映射
二、随机接入过程
1. 随机接入原因
随机接入过程:UE和网络之间建立无线链路的必经过程,只有在随机接入完成之后,gNB和UE之间才能正常进行数据互操作
原因:
1)取得与网络的上行同步;一旦上行失步,UE只能在PRACH上发送preamble
2)申请上行资源,发送上行数据
3)获取CRNTI(空闲态随机接入过程中,冲突解决成功后,由Temp_CRNTI转换为CRNTI)
C-RNTI:cell radio network temporary Identify,gNB分配给UE的一个标识,在一个小区内唯一标识一个UE。
2. 随机接入场景
1) 初始随机接入(第一次开机建连)---CBRA
2) RRC重建---CBRA
3) RRC_CONNECTED下,上下行数据传输但处于失步状态---CFRA、CBRA
4) RRC_CONNECTED下,发送上行数据但没有可用SR资源---CBRA
5) SR传输次数超限---CBRA
6) 切换---CFRA、CBRA
7) RRC_INACTIVE下的RRC连接恢复---CBRA
8) 请求Other SI(NR新增)---CFRA、CBRA
9) 波束故障恢复(Beam failure recovery)(NR新增)---CFRA、CBRA
3. 随机接入分类(竞争和非竞争)
CBRA:contention-based random access,基于竞争的随机接入
CFRA:contention-free random access,基于非竞争的随机接入
4. 随机接入分类---RA_TYPE
5. 4-stepRA随机接入
5.1 竞争随机接入---preamble配置
5.2 竞争随机接入---preamble选择
UE从所选择的Group中等概率随机选择一个preamble使用;
网络通过选择的Group,可以“大概”地知道UE侧的数据量和路损等
5.3 4-stepRA:竞争随机接入---preamble发送
RA-RNTI = 1 + s_id + 14 × t_id + 14 × 80 × f_id + 14 × 80 × 8 × ul_carrier_id
取值范围:1~17920
s_id :PRACH 的起始符号索引(0<=s_id<14)
t_id:系统帧内 PRACH occasion的起始slot 的索引(0<=t_id<80)
f_id:PRACH 频域位置索引(0<=f_id<80)
ul_carrier_id:Msg1 发送的上行载波指示( 0 for NUL carrier, and 1 for SUL carrier)
5.4 竞争随机接入---RAR接收
5.5 竞争随机接入---RAR payload
5.6 竞争随机接入---msg3
5.7 竞争随机接入---msg4
5.8 竞争随机接入---失败
5.9 非竞争随机接入---成功
5.10 非竞争随机接入---失败
6. 2-stepRA
6.1 竞争随机接入---preamble配置
6.2 竞争随机接入---preamble选择
UE从所选择的Group中等概率随机选择一个preamble使用;
网络通过选择的Group,可以“大概”地知道UE侧的数据量和路损等
6.3 竞争随机接入---msgA发送
MSGB-RNTI = 1 + s_id + 14 × t_id + 14 × 80 × f_id + 14 × 80 × 8 × ul_carrier_id + 14 × 80 × 8 × 2
s_id :PRACH 的起始符号索引(0<=s_id<14)
t_id:系统帧内 PRACH occasion的起始slot 的索引(0<=t_id<80)
f_id:PRACH 频域位置索引(0<=f_id<80)
ul_carrier_id:Msg1 发送的上行载波指示( 0 for NUL carrier, and 1 for SUL carrier)
6.4 竞争随机接入---msgB接收
6.5 竞争随机接入---successRAR
6.6 竞争随机接入---fallbackRAR
6.7 竞争随机接入---失败
6.8 非竞争随机接入---成功
6.9 非竞争随机接入---失败
7. 2-stepRA到4-stepRA
8. SI request
10. BFR(波束检测)
主要为BFR的随机接入过程做前情介绍,实现可放在PHY。
11. 随机接入---BFR
三、上行时间对齐的维护
四、BWP(Band Width Part)
五、逻辑信道优先级
1. 概述
2. LCP流程
Step1: 对于所有Bj > 0的逻辑信道,按照优先级递减顺序组包,每个逻辑信道分配的无线资源只能满足PBR的要求。当某个逻辑信道的PBR配置成无穷大(“ infinity”)时,只有当这个逻辑信道的资源得到满足后,才会考虑比它优先级低的逻辑信道
Step2: Bj减去逻辑信道j在步骤1里复用到MAC PDU的所有MAC SDUs的大小。(对于逻辑信道j,每传输一个RLC SDU,先比较Bj是否大于0。如果Bj大于0,则往MAC PDU中添加该SDU。然后将Bj减去该SDU的大小Tsdu,并确定是否满足PBR的要求。如此反复,直到Bj小于0,或满足PBR要求,则接着处理下一逻辑信道)
Step3: 如果前两步执行完还剩有上行资源的话,则不管Bj的大小,把剩余的资源按照逻辑信道优先级分配给各个逻辑信道。只有当所有高优先级的逻辑信道的数据都发送完毕且UL grant还未耗尽的情况下,低优先级的逻辑信道才能得到服务。即此时UE最大化高优先级的逻辑信道的数据传输
如果所有的逻辑信道的PBR都设置成0 kBps,则会按照严格的优先级顺序来组包
3. 单个UE内部数据的MAC CE优先级顺序
用于C-RNTI或来自UL-CCCH的数据的MAC control element
用于除“padding BSR”外的BSR的MAC control element
用于PHR或扩展PHR的MAC control element
除UL-CCCH的数据外,来自其它逻辑信道的数据
用于“padding BSR”的MAC control element
“padding”
六、调度请求(Scheduling Request)
七、HARQ
NR中有两种重传机制:MAC层的HARQ机制,以及RLC层的ARQ(只针对AM数据传输)机制
HARQ(Hybrid Automatic Repeat reQuest),混合式自动重传请求,是一种结合FEC(Forward Error Correction)与ARQ(Automatic Repeat reQuest)方法的技术
FEC通过添加冗余信息,使得接收端能够纠正一部分错误,从而减少重传的次数
对于FEC无法纠正的错误,接收端会通过ARQ机制请求发送端重发数据。接收端使用检错码,通常为CRC校验,来检测接收的数据包是否出错。如果无错,则发送一个肯定的确认(ACK);如果出错,则接收端会丢弃数据包,并发送一个否定的确认(NACK)给发送端,发送端收到NACK后,会重发相同的数据
HARQ功能同时跨越物理层和MAC层。其中发送端生成不同的redundancy version以及接收端软合并是由物理层负责的。在接收端,HARQ buffer通常位于物理层中,这是因为物理层需要对接收到的数据进行软合并和解码处理。
八、缓存状态报告(Buffer Status Reporting)
九、功率余量报告(Power Headroom Reporting)
十、DRX(Discontinuous Reception)
十一、Data inactivity monitoring(监控上下行数据定时器)
十二、RNTI使用
十三、MAC数据包格式
十四、PCH、BCH接收
十五、MAC重配置、复位
1. 重配置
当RRC重配置MAC时:
1) 当定时器(重新)启动时,为定时器应用新值
2) 初始化计数器时应用新的最大值
3) 使用最新的配置
2. 复位
当RRC复位MAC时:(如RRC建连失败、RRC释放、切换到其他制式等)
1) 将每个逻辑通道的Bj初始化为零
2) 停止(如果正在运行)所有定时器
3) 将所有上行链路HARQ进程的NDI设置为值0
4) 停止正在进行的随机接入过程(如果有的话)
5) 丢弃4步RA类型和2步RA类型的非竞争随机接入资源(如果有的话)
6) 清空Msg3缓冲和MsgA缓冲区
7) 取消SR、BSR、PHR过程(如果有的话)
8) 重置所有BFI_COUNTER
note1: 参考协议:38321-h40、38331-h40、38300-h40
note2: 图片格式方便IE参数指向,方便理解协议