深入理解5g <八> 上行调度的流程

好的,我们接着之前下行调度的讨论,这次从你指定的**接收到UE上报的BSR MAC CE**开始,详细拆解5G上行调度的完整流程。

与下行由gNB主动发起不同,上行调度的起点通常在UE侧。当UE有上行数据要发送但无可用资源时,会先触发**调度请求(SR)** 或**缓存状态报告(BSR)** 过程。

📶 第一步:UE侧触发与资源请求

当UE的逻辑信道有数据到达,且没有可用的上行授权(UL Grant)时,会触发BSR。BSR的触发条件主要有:

* 有新数据到达且其优先级高于当前已有数据的逻辑信道。

* 服务小区变更。

* 重传BSR定时器(`retxBSR-Timer`)超时且有数据待发。

BSR的触发会进一步触发SR。SR通过**PUCCH(物理上行控制信道)** 发送,用于向gNB请求上行资源。如果UE没有配置SR资源,则会发起随机接入过程来获取上行授权。

📨 第二步:接收与解析BSR MAC CE

gNB在PUSCH上接收到UE发送的MAC PDU后,会检查其中的**MAC子头**。MAC子头中的**LCID(逻辑信道ID)** 字段指示了对应的MAC CE类型。当gNB解析到LCID对应BSR时,就获得了UE的上行数据缓存状态。

5G NR中BSR MAC CE主要有以下几种格式:

* **Short BSR**:报告**单个**逻辑信道组(LCG)的缓存大小。

* **Long BSR**:可同时报告**多个**LCG的缓存大小。

* **Truncated BSR**:当上行授权不足以发送完整BSR时使用的截断格式。

BSR MAC CE的核心内容是指示**逻辑信道组(LCG)** 及其对应的**缓存大小(Buffer Size)** 等级。

📋 第三步:调度器决策与资源分配

gNB的MAC层调度器在获取BSR后,结合以下信息进行综合决策:

| 输入信息 | 来源 | 用途 |

|---|---|---|

| **BSR** | UE上报 | 了解各LCG待发送数据量 |

| **SR** | UE上报 | 指示有数据待发,请求资源 |

| **PHR(功率余量报告)** | UE上报 | 评估UE可用的发射功率 |

| **CSI(信道状态信息)** | UE上报 | 辅助确定MCS和MIMO层数 |

| **QoS参数** | 承载配置 | 决定调度优先级和PBR |

调度器根据特定的调度算法(如比例公平、最大CQI等)为UE分配资源,确定:

* **频域资源**:分配的PRB数量。

* **时域资源**:PUSCH的起始符号和持续时间。

* **MCS(调制编码策略)** :根据信道质量选择。

* **发射功率控制(TPC)命令**:调整UE的发射功率。

🔗 第四步:逻辑信道优先级处理(LCP)

UE收到UL Grant后,需要决定如何将多个逻辑信道的数据复用到一个MAC PDU中。这个过程就是**逻辑信道优先级处理(LCP)** 。

LCP的核心规则如下:

  1. **令牌桶(Token Bucket)机制**:每个逻辑信道有一个令牌桶,按**PBR(优先比特率)** 随时间填充令牌。

  2. **按优先级分配**:将所有有数据的逻辑信道按优先级降序排列。

  3. **满足PBR**:首先按优先级顺序,为每个逻辑信道分配资源,直到其PBR对应的令牌耗尽。

  4. **分配剩余资源**:PBR满足后,剩余的UL Grant资源按优先级顺序继续分配,直到资源用完或所有数据发送完毕。

最终,UE根据LCP结果生成MAC PDU,其中包含多个逻辑信道的MAC SDU及其对应的MAC子头。

📡 第五步:DCI生成与PDCCH发送

gNB的调度决策被封装成**DCI(下行控制信息)**,通过**PDCCH**发送给UE。用于上行调度的DCI格式主要有两种:

* **DCI Format 0_0**:回退格式,用于调度基于TB的PUSCH。

* **DCI Format 0_1**:非回退格式,可调度基于TB或CBG的PUSCH,支持更灵活的配置。

DCI中包含了UE发送PUSCH所需的所有关键信息:频域资源分配、时域资源分配、MCS、TPC命令、HARQ相关信息等。

🚀 第六步:PUSCH传输

UE在PDCCH上检测到属于自己的DCI(UL Grant)后,根据DCI指示的参数,在指定的时频资源上通过**PUSCH(物理上行共享信道)** 发送MAC PDU。

PUSCH的物理层处理流程包括:CRC添加、LDPC编码、速率匹配、加扰、调制(QPSK/16QAM/64QAM/256QAM),最后映射到分配的时频资源上发送。

🔁 第七步:HARQ反馈与重传

5G NR上行采用**异步HARQ**机制。gNB接收PUSCH后尝试解码:

* **解码成功**:gNB在PHICH或PDCCH上反馈ACK,UE释放HARQ进程。

* **解码失败**:gNB反馈NACK,UE在后续的UL Grant中安排重传。重传使用相同的HARQ进程号,但可改变RV(冗余版本),UE将重传数据与之前缓存的软信息进行**软合并**以提高解码成功率。

🔄 完整流程时序图

```mermaid

sequenceDiagram

participant UE

participant gNB

Note over UE: 上行数据到达

UE->>UE: 触发BSR

UE->>gNB: SR (PUCCH)

gNB->>UE: UL Grant (PDCCH)

UE->>gNB: BSR MAC CE (PUSCH)

gNB->>gNB: 调度器决策

Note over gNB: 分配资源、确定MCS

gNB->>UE: UL Grant (DCI 0_0/0_1)

UE->>UE: LCP处理

UE->>gNB: 上行数据 (PUSCH)

alt 解码成功

gNB->>UE: ACK

Note over UE: 释放HARQ进程

else 解码失败

gNB->>UE: NACK

gNB->>UE: 新的UL Grant (重传)

UE->>gNB: 重传数据 (PUSCH)

end

```

💎 总结

上行调度的本质是一个由UE的缓存状态驱动、gNB集中控制的闭环过程:

  1. **UE触发**:BSR/SR告知gNB有数据待发。

  2. **gNB调度**:调度器根据BSR、QoS、信道质量等信息分配资源,通过DCI(UL Grant)下达调度指令。

  3. **UE复用**:UE根据LCP规则将多个逻辑信道的数据复用到MAC PDU中。

  4. **数据传输**:UE在PUSCH上发送数据。

  5. **HARQ闭环**:gNB反馈ACK/NACK,决定新传或重传。

整个过程以时隙(Slot)为单位循环进行,gNB通过动态调度在吞吐量、公平性和QoS之间取得平衡。

相关推荐
m0_7345717612 小时前
深入理解5g <七> 下行调度的流程
网络·5g
m0_734571761 天前
深入理解5g <六> 上行的链路自适应技术
5g
Multipath7121 天前
远程可视操控:多链路聚合如何把“不确定”变“可管理”
网络·网络协议·5g·智能路由器·信息与通信
泰晶科技1 天前
【晶振相位噪声对通信系统的影响:如何降低5G光模块信号误码率】
笔记·5g
rcms152702692182 天前
TEL TMC2001-5G温度控制器
5g
m0_734571762 天前
深入理解5g <五> 下行的链路自适应技术
5g
POMAGTOR2 天前
【5G 通讯 POGOPIN 弹簧顶针连接器解决方案】
网络·嵌入式硬件·5g
云边有个稻草人2 天前
飞牛 NAS 远程访问实战:星空组网连接 Mac 与安卓,从 Compose 部署到 5G 验证
android·5g·macos
wuyk5552 天前
《WiFi 嵌入式物联网开发全套实战》| 第 06 章 2.4G&5G 频段信道干扰、穿墙、带宽、速率工程选型
物联网·5g