1 概述
1.1 架构
MAC主要负责传输信道和逻辑信道之前的映射,具有复用和解复用,HARQ,随机接入等功能,上图分别是单连接和多连接情况下的架构。
从图可知:
所有的逻辑信道都需要通过MAC层。
PCCH映射到PCH,而且MAC层没有对PCCH数据进行处理,看起来是bypass。
BCCH分别映射到BCH和DL-SCH,BCCH主要承载MIB和SIB,其中MIB是通过BCH,SIBs通过DL-SCH。虽然SIBs也需要HARQ处理,但是这里的HARQ跟我们理解的有一点不同,不期望从接收端等到任何的ACK/NACK响应,而是根据预定义的规则进行重传。
随机接入是在MAC层发起,没有对应的逻辑信道。(Msg1、Msg2)
1.2 功能
- 逻辑信道和传输信道直接的映射。
- 将来自一个或不同逻辑信道的MAC SDU多路复用到传输块(TB)上,以在传输信道上传递到物理层
- 从传输信道上的物理层传输的传输块(TB)中,将MAC SDU多路分解到一个或不同的逻辑信道
- 调度信息报告
- 通过HARQ进行纠错
- 逻辑信道优先顺序
TS38321-Table 4.4-1: The link direction association of MAC functions
MAC function | Downlink | Uplink |
---|---|---|
Mapping between logical channels and transport channels | X | X |
Multiplexing | X | |
Demultiplexing | X | |
Scheduling information reporting | X | |
Error correction through HARQ | X | X |
Logical Channel prioritisation | X |
1.3 逻辑信道和传输信道映射
上行
channel | UL-SCH | RACH |
---|---|---|
CCCH | X | |
DCCH | X | |
DTCH | X |
下行
channel | BCH | PCH | DL-SCH |
---|---|---|---|
BCCH | X | X | |
PCCH | X | ||
CCCH | X | ||
DCCH | X | ||
DTCH | X |
2 数据结构
2.1 MAC PDU
MAC PDU由一个或者多个MAC subPDU组成,每个MAC subPDU由以下组成:
- 仅有MAC subheader(包括填充)
- MAC subheader和MAC SDU
- MAC subheader和MAC CE
- MAC subheader和padding
除固定大小的MAC CE,填充和包含UL CCCH的MAC SDU外的MAC subheader由四个报头字段R / F / LCID / L组成。用于固定大小的MAC CE,填充和包含UL CCCH的MAC SDU的MAC subheader由两个头字段R / LCID组成。如下图:
R:保留位,设置为0
L:以字节为单位,表示相应MAC SDU或可变大小的MAC的长度,每个MAC subheader有一个L字段,除了对应于包含UL CCCH的固定大小的MAC CE,填充和MAC SDU的subheader。 L字段的大小由F字段表示。
F:1bit,用于指示长度字段的大小。除了对应于固定大小的MAC CE,填充和包含UL CCCH的MAC SDU之外,每个MAC subheader有一个F字段。0表示长度字段占8bit,1表示长度字段占16bit。
LCID:6bits,每个MAC subheader有一个LCID字段。该字段表示MAC SDU对应的逻辑信道实例,MAC CE 对应的类型或者padding。
TS38321-Table 6.2.1-1 Values of LCID for DL-SCH
Index | LCID values |
---|---|
0 | CCCH |
1–32 | Identity of the logical channel |
33-46 | Reserved |
47 | Recommended bit rate |
48 | SP ZP CSI-RS Resource Set Activation/Deactivation |
49 | PUCCH spatial relation Activation/Deactivation |
50 | SP SRS Activation/Deactivation |
51 | SP CSI reporting on PUCCH Activation/Deactivation |
52 | TCI State Indication for UE-specific PDCCH |
53 | TCI States Activation/Deactivation for UE-specific PDSCH |
54 | Aperiodic CSI Trigger State Subselection |
55 | SP CSI-RS/CSI-IM Resource Set Activation/Deactivation |
56 | Duplication Activation/Deactivation |
57 | SCell Activation/Deactivation (four octets) |
58 | SCell Activation/Deactivation (one octet) |
59 | Long DRX Command |
60 | DRX Command |
61 | Timing Advance Command |
62 | UE Contention Resolution Identity |
63 | Padding |
TS38321-Table 6.2.1-2 Values of LCID for UL-SCH
Index | LCID values |
---|---|
0 | CCCH of size 64 bits (referred to as "CCCH1" in TS 38.331 [5]) |
1–32 | Identity of the logical channel |
33–51 | Reserved |
52 | CCCH of size 48 bits (referred to as "CCCH" in TS 38.331 [5]) |
53 | Recommended bit rate query |
54 | Multiple Entry PHR (four octets Ci) |
55 | Configured Grant Confirmation |
56 | Multiple Entry PHR (one octet Ci) |
57 | Single Entry PHR |
58 | C-RNTI |
59 | Short Truncated BSR |
60 | Long Truncated BSR |
61 | Short BSR |
62 | Long BSR |
63 | Padding |
NR MAC PDU中每一个subPDU都包含一个subheader,LTE中是一个MAC PDU包含一个header,header中包含各个subheaders。
上下行中MAC CE放到一起,下行中MAC CE全部再MAC SDU的前面, 最后是padding。上行中MAC CE在MAC SDU后面,最后是padding。
2.2 MAC CE
2.2.1 BSR
BSR格式分类:
- 固定大小的短BSR格式
- 可变大小的长BSR格式
- 固定大小的短截断的BSR格式
- 可变大小的长截断的BSR格式
BSR格式是由LCID指示的。BSR的数据结构:
LCGID:逻辑信道组ID,3bits,标识BSR使用的逻辑信道组。
:对于长格式BSR,此字段指示逻辑信道组i的“缓冲区大小”字段的存在, 字段设置为1,表示报告了逻辑信道组的缓冲区大小字段。设置为0,表示没有报告逻辑信道组的缓冲区大小字段。对于长截断格式的BSR,该字段表示逻辑信道组是否有可用数据,字段设置为1,表示逻辑信道组有可用数据,设置为0,表示逻辑信道组没有可用数据。
Buffer Size:
TS38321-Table 6.1.3.1-1: Buffer size levels (in bytes) for 5-bit Buffer Size field
Index | BS value | Index | BS value | Index | BS value | Index | BS value |
---|---|---|---|---|---|---|---|
0 | 0 | 8 | ≤ 102 | 16 | ≤ 1446 | 24 | ≤ 20516 |
1 | ≤ 10 | 9 | ≤ 142 | 17 | ≤ 2014 | 25 | ≤ 28581 |
2 | ≤ 14 | 10 | ≤ 198 | 18 | ≤ 2806 | 26 | ≤ 39818 |
3 | ≤ 20 | 11 | ≤ 276 | 19 | ≤ 3909 | 27 | ≤ 55474 |
4 | ≤ 28 | 12 | ≤ 384 | 20 | ≤ 5446 | 28 | ≤ 77284 |
5 | ≤ 38 | 13 | ≤ 535 | 21 | ≤ 7587 | 29 | ≤ 107669 |
6 | ≤ 53 | 14 | ≤ 745 | 22 | ≤ 10570 | 30 | ≤ 150000 |
7 | ≤ 74 | 15 | ≤ 1038 | 23 | ≤ 14726 | 31 | > 150000 |
TS38321_Table 6.1.3.1-2: Buffer size levels (in bytes) for 8-bit Buffer Size field 部分
Index | BS value | Index | BS value | Index | BS value | Index | BS value |
---|---|---|---|---|---|---|---|
0 | 0 | 64 | ≤ 560 | 128 | ≤ 31342 | 192 | ≤ 1754595 |
1 | ≤ 10 | 65 | ≤ 597 | 129 | ≤ 33376 | 193 | ≤ 1868488 |
2 | ≤ 11 | 66 | ≤ 635 | 130 | ≤ 35543 | 194 | ≤ 1989774 |
3 | ≤ 12 | 67 | ≤ 677 | 131 | ≤ 37850 | 195 | ≤ 2118933 |
4 | ≤ 13 | 68 | ≤ 720 | 132 | ≤ 40307 | 196 | ≤ 2256475 |
5 | ≤ 14 | 69 | ≤ 767 | 133 | ≤ 42923 | 197 | ≤ 2402946 |
6 | ≤ 15 | 70 | ≤ 817 | 134 | ≤ 45709 | 198 | ≤ 2558924 |
7 | ≤ 16 | 71 | ≤ 870 | 135 | ≤ 48676 | 199 | ≤ 2725027 |
······
2.2.2 C-RNTI MAC CE
C-RNTI MAC CE固定大小为16bit。
2.3 UE竞争冲突解决识别MAC CE
固定大小为48bits,包含UL CCCH SDU,如果其值大于48bits,就只包含前48bits。
2.4 定时提前命令MAC CE
TAG ID:2bits
TA command:6bits,该字段指示用于控制MAC实体必须应用的定时调整量的索引值(0,1,2…63)
2.5 0长度 MAC CE
下列这些MAC CE大小为0bit:
- DRX command MAC CE
- Long DRX command MAC CE
- 配置的授权确认MAC CE
2.6 Single Entry PHR MAC CE
2.7 Multiple Entry PHR MAC CE
2.8 SCell激活/去激活MAC CE
SCell激活/去激活MAC CE分为两位格式:
- 长度为1个字节,由7个C字段和1个R字段组成。
- 长度为4个字节,有31个C字段和1个R字段组成。
:表示SCell的SCellIndex i是否激活,如果设置为1,表示SCell的SCellIndex i激活,为0则为去激活。
R:保留位。
2.9 复制激活/去激活 MAC CE
长度固定为1个字节,由8个D字段组成,每个字段对应一个DRB ID,如果设置为1,表示对应的DRB的复制功能激活,为0,表示去激活。
2.10 SP CSI-RS/CSI-IM资源集
该MAC CE是可变长度的:
A/D:1bit,表示是否激活/去激活SP CSI-RS/CSI-IM资源集,设置成1,表示激活。设置成0,表示去激活。
Serving Cell ID:5bits,表示该MAC CE对应的服务小区ID。
BWP ID:2bits,表示该MAC CE使用的DL BWP,对应于DCI bandwidth part indicator字段。
SP CSI-RS资源集ID:6bits,包含半持续NZP CSI-RS资源的NZP-CSI-RS-ResourceSet索引,表示哪个半持续NZP CSI-RS资源集被激活或者去激活。
IM:1bit,表示包含SP CSI-IM资源集ID字段是否存在,1,表示存在,0,表示不存在。
SP CSI-IM资源集ID:6bits,包含半持续CSI-IM资源的CSI-IM-ResourceSe索引,表示哪个半持续CSI-IM资源集被激活或者去激活。
TCI State :这个字段包含TCI-StateId,参考TS38331。
R:保留位,设置为0
2.3 MAC(随机接入响应)
MAC PDU由一个或多个MAC subPDU和可选的padding组成,每个MAC subPDU由以下组成:
- 仅具有Backoff Indicator的MAC subheader。
- 仅具有RAPID的MAC subheader(比如SI请求确认)。
- 具有RAPID和MAC RAR的MAC subheader。
仅具有Backoff Indicator的MAC subPDU放在MAC PDU的最开始位置,另外几种类型的MAC subPDU可以放在仅具有Backoff Indicator和padding之间的任何位置。
padding如果存在的话就放在MAC PDU的最后面。
各个字段的含义:
E:1bit,扩展字段,表示该subPDU是否是MAC PDU的最后一个,如果设置成1,表示该subPDU之后还有其他的subPDU,如果设置成0,表示该subPDU是该MAC PDU的最后一个subPDU。
T:1bit,类型字段,表示该MAC subheader包含随机接入前导ID或者Backoff Indicator。如果是0,表示subheader中包含Backoff Indicator字段,如果是1,表示在subheader中包含随机接入前导ID字段。
R:保留位,设置为0。
BI:4bits,表示小区的负载情况。
RAPID:6bits,随机接入前导ID,MAC subPDU的subheader中的RAPID对应SI请求中的一个随机接入前导配置,MAC RAR不包括在MAC subPDU中。
Backoff参数值:
Index | Backoff Parameter value (ms) |
---|---|
0 | 5 |
1 | 10 |
2 | 20 |
3 | 30 |
4 | 40 |
5 | 60 |
6 | 80 |
7 | 120 |
8 | 160 |
9 | 240 |
10 | 320 |
11 | 480 |
12 | 960 |
13 | 1920 |
14 | Reserved |
15 | Reserved |
UE从两个不同的MAC层命令计算出TA值,对于PRACH之后的第一条上行消息,UE从RACH response中获取TA值,如下图。初始接入之后,UE可以通过接收到MAC CE获取TA值。参考[2.4 定时提前命令MAC CE](#2.4 定时提前命令MAC CE)
MAC RAR 结构如上图,大小是固定。
R:保留位,设置为0。
Timing Advance Command:12bits,
UL Grant:27bits,用于上行传输的资源,参考TS38213。
Temporary C-RNTI:16bits,MAC实体随机接入期间使用的临时标识。
TS38213 Table 8.2-1: Random Access Response Grant Content field size
RAR grant field | Number of bits |
---|---|
Frequency hopping flag | 1 |
PUSCH frequency resource allocation | 14 |
PUSCH time resource allocation | 4 |
MCS | 4 |
TPC command for PUSCH | 3 |
CSI request | 1 |
TPC Command | Value (in dB) |
---|---|
0 | -6 |
1 | -4 |
2 | -2 |
3 | 0 |
4 | 2 |
5 | 4 |
6 | 6 |
7 | 8 |
reference
TS38321-Medium Access Control (MAC) protocol specification