DRX, Discontinuous reception,非连续接收主要是节省终端的功耗,通俗点,就是节省电量,让手机待机时间更长。
对于广义上的DRX的理解,可以分为RRC_IDLE/RRC_INACTIVE状态和RRC_CONNECTED状态的DRX。
一 RRC_IDLE/RRC_INACTIVE
在前面的文章NR - Paging协议学习中介绍过,此处的非连接接收是指终端是周期性地在某些特定位置接收Paging,以此来达到省电的目的。
二 RRC_CONNECTED
在RRC_CONNECTED状态下,则需要通过DRX配置以及终端获得的上下行调度,确定是否要接收PDCCH,在具体的实现是是通过一系列Timer来控制。
DRX的配置如下,不同项上其基本单位可能不同,有以符号、Slot、毫秒、1/32 ms等为基本单位。
对于下行,DRX决定的是否接收PDCCH,该PDCCH是指C-RNTI/MCS-RNTI/CS-RNTI/INT-RNTI/SFI-RNTI/SP-CSI-RNTI/TPC-PUCCH-RNTI/TPC-PUSCH-RNTI/TPC-SRS-RNTI。对于需要接收PDCCH的时间点,称之为Active Time。
首先,介绍Active Time的几种情况。
第一,对于drx-OnDurationTimer在运行的时候,为Active Time,该Timer是周期性地运行的。Long DRX Cycle是必须配置,Short DRX Cycle是可选配置。
第二,对于SR发送之后,在接收到上行新数据调度之前SR都处于Pending状态,这段期间也属于Active Time。
第三,在随机接入过程中,如果在ra-ContentionResolutionTimer 运行的时候,属于Active Time。
第四,在非竞争性随机接入过程中,在随机接入成功之后,在接收到C-RNTI PDCCH新数据调度之前,属于Active Time。
第五, drx-InactivityTimer和drx-RetransmissionTimerDL/drx-RetransmissionUL在运行的时候处于Active Time。
drx-InactivityTimer在接收到PDCCH且指示为新数据窗数的时候开启,需要注意的是,这里对于Configured Grant调度,不会开启这个Timer。
drx-RetransmissionTimerDL是在drx-HARQ-RTT-TimerDL超时且PDSCH译码错误的时候开启的,drx-HARQ-RTT-TimerDL是PDSCH HARQ-ACK反馈发送完成的最后一个符号之后开启的,每个下行进程分别对应一个drx-HARQ-RTT-TimerDL/drx-HARQ-RTT-TimerDL。
drx-HARQ-RTT-TimerDL的物理含义可以理解为该下行进程的重传调度要在该Timer值之后才会调度,调度窗口在drx-RetransmissionTimerDL之内。
对于上行,drx-RetransmissionTimerUL/drx-HARQ-RTT-TimerUL,与下行的物理含义一样,只是在PUSCH最后一个符号发送之后开启drx-HARQ-RTT-TimerUL。
如果ShortDRXCycle配置了,那么LongDRXCycle和ShortDRXCycle之间会存在转换。
在配置了DRX的情况下,对于上行SRS,CSI的时间点也有相应的限制,对于符号位置n假设其4ms之前有调度或者接收到了DRX Command MAC CE,来判断符号位置n是不是Active time或者drx-OndurationTimer是不是在运行。
对于一些发送,不受Active time的限制。
对于接收PDCCH,如果Coreset完整符号不在Active time之内,则该Coreset上不检测PDCCH。
三 参考章节
1. 38.304,7.1节
2. 38.321,5.7节