上行调度请求(SchedulingRequest,SR)
如果UE没有上行数据要传输,eNodeB并不需要为该UE分配上行资源,否则会造成资源的浪费。因此, UE需要告诉eNodeB自己是否有上行数据需要传输,以便eNodeB决定是否给UE分配上行资源。为此LTE提供了一个上行调度请求(Scheduling Request,SR)的机制。
UE通过SR告诉eNodeB是否需要上行资源以便用于UL-SCH传输,但并不会告诉eNodeB有多少上行数据需要发送(这是通过BSR上报的)。eNodeB收到SR后,给UE分配多少上行资源取决于eNodeB的实现,通常的做法是至少分配足够UE发送BSR的资源。
eNodeB不知道UE什么时候需要发送上行数据,即不知道UE什么时候会发送SR。因此,eNodeB需要在已经分配的SR资源上检测是否有SR上报。
在载波聚合中,无论配置了多少个上行载波单元(component carrier),都只需要1个SR就够了,毕竟SR的作用只是告诉eNodeB,本UE有上行数据要发送了,你看着给点上行资源吧!由于PUCCH只在PCell上发送,而SR只在PUCCH上发送,也就是说,SR只在PCell上发送。
需要明确的是,只有处于RRC_CONNECTED态且保持上行同步的UE才会发送SR;且SR只能用于请求新传数据(而不是重传数据)的UL-SCH资源。
UE是因为没有上行PUSCH资源才发送SR的,所以UE只能在PUCCH上发送SR。eNodeB可以为每个UE分配一个专用的SR资源用于发送SR。该SR资源是周期性的,每n个子帧出现一次。SR的周期是通过IE:SchedulingRequestConfig的sr-ConfigIndex字段配置的。
由于SR资源是UE专用且由eNodeB分配的,因此SR资源与UE一一对应且eNodeB知道具体的对应关系。也就是说,UE在发送SR信息时,并不需要指定自己的ID(C-RNTI),eNodeB通过SR资源的位置,就知道是哪个UE请求上行资源。SR资源是通过IE:SchedulingRequestConfig的sr-PUCCH-ResourceIndex字段配置的。
UE在某些情况下可能没有SR资源。场景一:从36.331可以看出,SchedulingRequestConfig是一个UE级的可选的IE(optional),默认为release。如果 eNodeB不给某UE配置SR(这取决于不同厂商的实现),则该UE只能通过随机接入过程来获取UL grant(在RAR中分配)。是否配置SR主要影响用户面的延迟,并不影响上行传输的功能!
场景二:当UE丢失了上行同步,它也会释放SR资源,如果此时有上行数据要发送,也需要触发随机接入过程。
从上面的描述可以看出,当UE没有被分配SR资源时,基于竞争的随机接入过程可以替代SR的功能用于申请上行资源。但这只适用于低密集度的上行资源请求的情况。
从36.213的10.1.1节可以看出,只有PUCCH format 1(包含PUCCH format 1/1a/1b)和PUCCH format 3可用于发送SR。也就是说,不能在同一子帧同时发送SR和周期性的CSI(使用PUCCHformat 2/2a/2b),如果发生了这种情况, UE会丢弃CSI而只发送SR。