cuMAC-CP API Procedures#

This section gives an overview of the procedures which use the cuMAC-CP API. These procedures are split into two groups: configuration procedures and slot procedures. Configuration procedures handle the management of the cuMAC-CP resource initialization or re-initialization and are expected to occur infrequently. Slot procedures determine the structure of each slot and operate with a periodicity based on the sub-carrier spacing numerology, namely 125us, 250us, 500us or 1ms periodicity.

Configuration Procedures#

The following are configuration procedures supported by the cuMAC-CP API:

  • Initialization

cuMAC-CP have implemented three states for each cell: IDLE, CONFIGURED and RUNNING. The status transition of a cell can be executed by configuration procedures as shown in the figure below.

../../../_images/cell-status-transition.png

According to the above figure, the supported configuration messages for each state are listed in the table below.

Idle State

Configured State

Running State

CONFIG.request

CONFIG.request

STOP.request

START.request

Initialization procedure#

The initialization procedure includes 2 steps, as illustrated in the following sequence chart:

  • Each cell should send a CONFIG.request message and expect to receive a CONFIG.response message.

  • Each cell should send a START.request message and expect to receive a START.response message.

../../../_images/cell-initialization-procedure.png

Note the following:

  • For each cell, START.request should be sent after receiving CONFIG.response.

  • Different cells are independent from each other so message order between different cells is not mandatory.

  • After receiving CONFIG.request for all cells, cuMAC-CP will calculate required memory size and allocate GPU memory for the whole cell group. The parameters used in SLOT messages should be the same as in the CONFIG.request.

  • All cells are to be initialized before starting slot procedures. SLOT messages which are sent before all cells initialized will be ignored.

Termination procedure#

For each cell, L2 sends STOP.request and expects to receive STOP.response. The target cell will be disabled in cuMAC-CP.

../../../_images/cell-termination-procedure.png

SLOT procedures#

After all slots are initialized, L2 can start sending SLOT messages. Currently there are 2 messages to send for each cell: SCH_TTI.request and SCH_TTI.response. cuMAC-CP will wait for all enabled cells message finishing then populate a cumac_task structure and process it. If successfully processed, cuMAC-CP will send a SCH_TTI.response to L2 for each cell.

../../../_images/slot-procedures.png