写点什么

OAI L3 与 L2 接口分析

作者:柒号华仔
  • 2022 年 7 月 13 日
  • 本文字数:1165 字

    阅读完需:约 4 分钟

OAI L3与L2接口分析

 1. RRC 与 PDCP 接口


1.1 上行数据

        上行数据主要为 RRC Setup Complete,ULInformationTransfer 等。



        PDCP 在 deliver_sdu_srb()中调用 itti_alloc_new_message()函数 malloc 新的消息体,消息 ID 为 NR_RRC_DCCH_DATA_IND;随后调用 itti_send_msg_to_task()将消息体 insert 到 TASK_RRC_GNB 的 queue 中。

        RRC 在 rrc_gnb_task()中调用 itti_receive_msg()循环从自身队列里取数据,解析判断为 NR_RRC_DCCH_DATA_IND,进行 DCCH 解码。


1.2 下行数据

        下行数据主要为 RRC Release,DLInformationTransfer 等。



        RRC 调用 nr_rrc_data_req()发送消息,itti_alloc_new_message()函数 malloc 新的消息体,消息 ID 为 RRC_DCCH_DATA_REQ,itti_send_msg_to_task()将消息体 insert 到 TASK_PDCP_ENB 的 queue 中。

        PDCP 在 pdcp_run()中调用 itti_poll_msg()函数从自身队列里取数据,判断消息 ID 为 RRC_DCCH_DATA_REQ 还是 RRC_PCCH_DATA_REQ。


2. RRC 与 MAC 接口

2.1 上行数据

        上行数据主要为 CCCH 信道的 RRC Setup request,nr_process_mac_pdu()判断 LCID 类别为 CCCH 时,调用 RRC 模块内的 nr_mac_rrc_data_in(),调用时将 pdu 作为函数入参传到了 RRC 层。



 2.2 下行数据


        下行数据包括 MIB,SIB1,RRC Setup,RRC Reject,这部分数据传递并不以消息或队列形式来进行。


        MIB,SIB1 数据 buffer 生成以后,存放于 RC.nrrrc[gnb_mod_idP]中。RRC Setup,RRC Reject 生成后,存放于 ue_context_p->Srb0.Tx_buffer.Payload 中,ue_context_p 是根节点在 RC.nrrrc 的红黑树结构。所有数据都是在创建时 malloc,并没有提前统一规划一片内存。




         MIB 获取:MAC 在 schedule_nr_mib()函数中调用 mac_rrc_nr_data_req(),从 RC.nrrrc[Mod_idP]->carrier.MIB 获取 MIB;

        SIB1 获取:MAC 在 schedule_nr_sib1()函数中调用 mac_rrc_nr_data_req(),从 RC.nrrrc[Mod_idP]->carrier.SIB1 获取 SIB1;

        RRC Setup 或 RRC Reject 获取:MAC 在 nr_generate_Msg4()函数中调用 mac_rrc_nr_data_req(),从 ue_context_p->ue_context.Srb0.Tx_buffer.Payload 获取 RRC Setup 和 RRC reject。





        RAN_CONTEXT_t RC 定义在 Nr-uesoftmodem.c,与主函数 main 在同一文件。        

        mac_rrc_nr_data_req()位于 L2_nr_interface.c,该文件处于 rrc 目录

2.3 下行参数配置

        RRC setup 生成以后,RRC 会给 MAC、PDCP、RLC 发送配置命令,在 RRC 调用 MAC 层的 rrc_mac_config_req_gNB(),将 CellGroupConfig 作为入参传给 MAC,CellGroupConfig 包括 drx,bsr,phr 等配置信息。同时调用 RLC 层的 nr_rrc_rlc_config_asn1_req()和 PDCP 层的 nr_rrc_pdcp_config_asn1_req()将 RNTI 和 UE 上下文的 SRB_configList 传到对应模块。


发布于: 刚刚阅读数: 3
用户头像

柒号华仔

关注

星光不问赶路人,时光不负有心人。 2022.07.01 加入

CSDN 5G领域新星创作者,阿里云星级博主,专注于5G领域,兼顾网络,编解码协议,linux,C/C++等方向,欢迎关注我。

评论

发布
暂无评论
OAI L3与L2接口分析_5G_柒号华仔_InfoQ写作社区