cuMAC-CP API 程序#
本节概述了使用 cuMAC-CP API 的程序。这些程序分为两组:配置程序和时隙程序。配置程序处理 cuMAC-CP 资源初始化或重新初始化的管理,预计不会频繁发生。时隙程序确定每个时隙的结构,并根据子载波间隔 numerology 以一定的周期性运行,即 125us、250us、500us 或 1ms 的周期性。
配置程序#
以下是 cuMAC-CP API 支持的配置程序
初始化
cuMAC-CP 为每个小区实现了三种状态:IDLE(空闲)、CONFIGURED(已配置)和 RUNNING(运行中)。小区的状态转换可以通过配置程序执行,如下图所示。

根据上图,下表列出了每种状态支持的配置消息。
空闲状态 |
已配置状态 |
运行中状态 |
|
|
|
|
初始化程序#
初始化程序包括 2 个步骤,如下面的时序图所示
每个小区应发送
CONFIG.request
消息,并期望收到 CONFIG.response 消息。每个小区应发送
START.request
消息,并期望收到 START.response 消息。

注意以下事项
对于每个小区,应在收到 CONFIG.response 后发送
START.request
。不同的小区彼此独立,因此不同小区之间的消息顺序不是强制性的。
在收到所有小区的
CONFIG.request
后,cuMAC-CP 将计算所需的内存大小并为整个小区组分配 GPU 内存。SLOT 消息中使用的参数应与CONFIG.request
中的参数相同。所有小区都应在启动时隙程序之前完成初始化。在所有小区初始化完成之前发送的 SLOT 消息将被忽略。
终止程序#
对于每个小区,L2 发送 STOP.request
并期望收到 STOP.response。目标小区将在 cuMAC-CP 中被禁用。

时隙程序#
在所有时隙初始化完成后,L2 可以开始发送 SLOT 消息。目前,每个小区需要发送 2 条消息:SCH_TTI.request
和 SCH_TTI.response
。cuMAC-CP 将等待所有已启用小区消息完成,然后填充 cumac_task
结构并进行处理。如果处理成功,cuMAC-CP 将为每个小区向 L2 发送 SCH_TTI.response
。
