cuMAC-CP API 程序#

本节概述了使用 cuMAC-CP API 的程序。这些程序分为两组:配置程序和时隙程序。配置程序处理 cuMAC-CP 资源初始化或重新初始化的管理,预计不会频繁发生。时隙程序确定每个时隙的结构,并根据子载波间隔 numerology 以一定的周期性运行,即 125us、250us、500us 或 1ms 的周期性。

配置程序#

以下是 cuMAC-CP API 支持的配置程序

  • 初始化

cuMAC-CP 为每个小区实现了三种状态:IDLE(空闲)、CONFIGURED(已配置)和 RUNNING(运行中)。小区的状态转换可以通过配置程序执行,如下图所示。

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

根据上图,下表列出了每种状态支持的配置消息。

空闲状态

已配置状态

运行中状态

CONFIG.request

CONFIG.request

STOP.request

START.request

初始化程序#

初始化程序包括 2 个步骤,如下面的时序图所示

  • 每个小区应发送 CONFIG.request 消息,并期望收到 CONFIG.response 消息。

  • 每个小区应发送 START.request 消息,并期望收到 START.response 消息。

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

注意以下事项

  • 对于每个小区,应在收到 CONFIG.response 后发送 START.request

  • 不同的小区彼此独立,因此不同小区之间的消息顺序不是强制性的。

  • 在收到所有小区的 CONFIG.request 后,cuMAC-CP 将计算所需的内存大小并为整个小区组分配 GPU 内存。SLOT 消息中使用的参数应与 CONFIG.request 中的参数相同。

  • 所有小区都应在启动时隙程序之前完成初始化。在所有小区初始化完成之前发送的 SLOT 消息将被忽略。

终止程序#

对于每个小区,L2 发送 STOP.request 并期望收到 STOP.response。目标小区将在 cuMAC-CP 中被禁用。

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

时隙程序#

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

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