The 5G MAC (Medium Access Control) layer, as defined in 3GPP Technical Specification 38.321, plays a crucial role in managing radio resources and ensuring efficient communication within 5G networks. It operates just above the physical layer (PHY) and below the radio link control (RLC) and packet data convergence protocol (PDCP) layers. Here is an introduction to the 5G MAC layer based on 3GPP TS 38.321:
The MAC layer is responsible for controlling access to the shared radio resources, scheduling transmissions, and managing various services and functions within the 5G network.
Simplified Protocol Architecture:
In 5G, the MAC layer features a simplified protocol architecture compared to previous generations. It interacts closely with the PHY layer to optimize resource utilization.
- Resource Allocation: The MAC layer allocates resources (e.g., time, frequency, and code resources) to connected User Equipment (UEs) to facilitate efficient data transmission.
- Scheduling: It determines which UEs can transmit data and when, taking into account various factors like Quality of Service (QoS) requirements, traffic types, and channel conditions.
- HARQ (Hybrid Automatic Repeat reQuest): The MAC layer handles HARQ processes, enabling retransmissions of data packets in case of errors.
- Logical Channels: It manages logical channels for control information exchange between the MAC layer and higher-layer protocols.
- Multiplexing and De-Multiplexing: MAC layer multiplexes and de-multiplexes data flows from different UEs onto the shared radio resources.
- PDCCH (Physical Downlink Control Channel): MAC plays a role in the allocation and signaling of PDCCH resources for control information transmission.
User Plane and Control Plane MAC Functions:
- MAC functions are divided into User Plane (UP) and Control Plane (CP) categories, each serving specific purposes.
- The UP MAC manages the transmission and reception of user data, while the CP MAC handles control signalling and coordination between the UE and the network.
- The MAC layer adapts dynamically to changing radio conditions, traffic patterns, and network requirements, ensuring efficient resource utilization and QoS provision.
Interactions with Higher Layers:
- The MAC layer interacts with higher layers, such as the RLC and PDCP layers, to ensure end-to-end data delivery and protocol convergence.
Efficiency and Low Latency:
- 5G MAC is designed for low-latency communication, making it suitable for applications like IoT, autonomous vehicles, and augmented reality, where timely data transmission is critical.
Enhancements in 5G:
- 3GPP 5G specifications introduce several enhancements to the MAC layer, including support for massive MIMO, beamforming, and advanced scheduling techniques.
When the UE is configured with SCG, it involves the setup of two distinct MAC entities within the UE: one dedicated to the MCG and another for the SCG. These MAC entities function independently unless otherwise specified. Additionally, the timers and parameters for each of these MAC entities are configured independently unless there are specific instructions to the contrary. The characteristics of each MAC entity, including Serving Cells, CRNTI, radio bearers, logical channels, upper- and lower-layer entities, LCGs, and HARQ entities, pertain exclusively to those assigned to that particular MAC entity unless there are specific instructions to alter this arrangement.
Figure: 4.2.2-1 (3gpp 38.321) MAC structure overview
Furthermore, if the MAC entity is configured with one or more SCells, it introduces the possibility of multiple DL-SCHs, potentially multiple ULSCHs, and the potential for multiple RACHs per MAC entity. Specifically, there would be one DL-SCH, one UL-SCH, and one RACH designated for the SpCell, and for each additional SCell, there would be one DLSCH, a possibility of zero or one UL-SCH, and the possibility of zero or one RACH.
On the other hand, if the MAC entity is not configured with any SCell, each MAC entity will consist of a single DL-SCH, a single UL-SCH, and a single RACH.
Figure: 4.2.2-2 (3gpp 38.321) MAC structure overview with two MAC entities
Table 4.4-1 in 3GPP Technical Specification 38.321 provides an overview of the MAC (Medium Access Control) functions for both the uplink (UL) and downlink (DL) directions in a 5G NR (New Radio) network. Here are the MAC functions for UL and DL, as per 3GPP 38.321:
Uplink (UL) MAC Functions:
- Buffer Management:
Manages the data buffers for Uplink Shared Channel (UL-SCH) transmissions from the UE.
Multiplexes Logical Channels onto one or more UL-SCH transport channels for transmission.
- PUSCH Transport Channel Processing:
Handles the processing of the Physical Uplink Shared Channel (PUSCH), including encoding, modulation, and resource allocation.
- Activation/Deactivation of SCells
When the MAC entity is set up with one or more SCells, the network has the capability to enable or disable these configured SCells. Initially, upon configuring an SCell, it is in a deactivated state.
- PUCCH Transport Channel Processing:
Manages the Physical Uplink Control Channel (PUCCH) transport channel for control signalling.
- Harq-ACK Processing:
Handles the acknowledgment (ACK) or negative acknowledgment (NACK) signaling for uplink HARQ processes.
- Random Access Handling:
Manages the Random-Access Channel (RACH) for initial access and contention resolution.
- UL Grant Reception:
Receives UL grant information from the network for resource allocation.
- Scheduling Request Handling:
Manages scheduling requests from the UE to request UL resources for uplink transmissions.
- Buffer Management:
Manages the data buffers for Downlink Shared Channel (DL-SCH) receptions at the UE.
- Power Headroom Reporting
The Power Headroom reporting procedure provides the serving gNB with information about three types of power headroom: Type 1 for UL-SCH transmission on the activated Serving Cell, Type 2 for UL-SCH and PUCCH transmission on the other MAC entity (in EN-DC case), and Type 3 for SRS transmission on the activated Serving Cell
- Logical Channel Demultiplexing:
De-multiplexes incoming data streams from one or more DL-SCH transport channels onto corresponding logical channels.
- Bandwidth Part (BWP) operation
A Serving Cell can be equipped with one or multiple BWPs, with the maximum allowable number outlined in TS 38.213. BWP switching within a Serving Cell serves the purpose of enabling an inactive BWP while simultaneously deactivating an active one. This switching process is managed through various mechanisms, including PDCCH signals indicating downlink assignments or uplink grants, the bwpInactivityTimer, RRC signalling, or initiation by the MAC entity itself during Random Access procedures.
- SUL operation
The Supplementary UL (SUL) carrier can be set up to enhance the normal UL (NUL) carrier. If, during an ongoing Random Access procedure, the MAC entity receives a UL grant that indicates a SUL switch, it is required to disregard the UL grant.
- Beam Failure Detection and Recovery procedure:
RRC configuration can include a beam failure recovery procedure for the MAC entity, which signals the serving gNB about a new SSB or CSI-RS in the event of detected beam failure on the serving SSB(s)/CSI-RS(s). Detection of beam failure is accomplished by tallying instances of beam failure indications received by the MAC entity from the lower layers.
- DL-SCH Transport Channel Processing:
Handles the processing of the Physical Downlink Shared Channel (DL-SCH), including decoding, demodulation, and resource allocation.
- DL Grant Reception:
Receives DL grant information from the network for resource allocation.
- DL-SCH Harq Processing:
Manages HARQ processes for DL-SCH retransmissions and acknowledgments.
- PDSCH Transport Channel Processing:
Processes the Physical Downlink Shared Channel (PDSCH) for user data transmission.
- PDCCH Processing:
Handles the Physical Downlink Control Channel (PDCCH) for control signalling and resource allocation.
- Broadcast Control Channel (BCCH) Handling:
Manages the BCCH for broadcast information, such as system information.
- Multicast/Broadcast Single-Frequency Network (MBSFN) Handling:
Handles MBSFN subframes for multicast and broadcast services.
LTE MAC PDU
The MAC PDU (Protocol Data Unit) format in LTE varies depending on the specific transmission scenario, such as DL-SCH (Downlink Shared Channel), UL-SCH (Uplink Shared Channel), or control signaling. Here is a general overview of the MAC PDU format:
5G-NR MAC PDU
- MAC Control Elements (CEs) are grouped together.
- In the downlink (DL), DL MAC subPDU(s) containing MAC CE(s) are positioned prior to any MAC subPDU with MAC SDU or MAC subPDU with padding, as illustrated in Figure 6.1.2-4.
- In the uplink (UL), UL MAC subPDU(s) featuring MAC CE(s) are situated after all MAC subPDU(s) containing MAC SDU and before the MAC subPDU with padding within the MAC PDU, as shown in Figure 6.1.2-5.
- It’s important to note that the padding size has the flexibility to be zero.
- A maximum of one MAC PDU can be transmitted per TB per MAC entity.
A MAC PDU is composed of multiple MAC subPDUs.
Each MAC subPDU can take one of the following forms:
- Solely a MAC subheader (inclusive of padding).
- A MAC subheader along with a MAC SDU.
- A MAC subheader alongside a MAC Control Element (CE).
- A MAC subheader along with padding.
- The MAC SDUs are of variable sizes.
- Each MAC subheader corresponds to either a MAC SDU, a MAC CE, or padding.
R/LCID MAC subheader
R/F/LCID/L MAC subheader with 8-bit L field
R/F/LCID/L MAC subheader with 16-bit L field
In Above figure we can see subheader of L filed 7 and 15 bits.
R=Reserved bit (1 bit) set to 0.
LCID= Length is 6 bits
F= Format (1 bit)
L= Length 8/16 bits (size of SDU)
- A MAC subheader, with the exception of fixed-sized MAC Control Elements (CEs), padding, and a MAC SDU that contains UL CCCH, comprises four distinct header fields: R, F, LCID, and L.
- Conversely, for a MAC subheader associated with fixed-sized MAC CEs, padding, and a MAC SDU containing UL CCCH, it is comprised of two header fields: R and LCID.
As per 3GPP TS 38.321, the MAC (Medium Access Control) LCID (Logical Channel ID) is used to identify logical channels within the MAC layer.
The format and specific values of LCID can vary depending on the type of logical channel and the corresponding transport block size. Different LCID values are assigned to different logical channels to enable proper processing and mapping of data within the MAC layer. The LCID values and their meanings are defined in the 3GPP specifications and are used to efficiently manage and transmit data in 5G networks.
Values of LCID for DL-SCH
Values of LCID for UL-SCH