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節