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.
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.
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 |
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.
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 theCONFIG.request
.All cells are to be initialized before starting slot procedures. SLOT messages which are sent before all cells initialized will be ignored.
For each cell, L2 sends STOP.request
and expects to receive
STOP.response. The target cell will be disabled in cuMAC-CP.
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.