【OpenAirInterface5g】RRC NR解析(一)

发布时间:2026/7/24 20:10:26

【OpenAirInterface5g】RRC NR解析(一) 目录1. RRC源码位置2. 文件功能3. 函数功能4. 主函数流程1. RRC源码位置RRC(Radio Resource Control)称为无线资源控制是5G系统的核心模块其主要作用是给下层(PHYMACRLCPDCP)控制或配置所有无线资源从而保证UE与基站之间进行通信。OAI RRC模块位于openair2\RRC下其下有NRLTENR UE等几个源码目录我们只分析NR。2. 文件功能RRC模块主要文件如下文件名功能rrc_gNB.cRRC核心程序包括RRC消息接收和处理rrc_gNB_NGAP.cNGAP消息生成和发送rrc_gNB_UE_context.cUE上下文生成获取和删除等rrc_gNB_reconfig.cCoreset0,搜索空间BWPrb等参数配置rrc_gNB_GTPV1U.cGTPV1U相关nr_rrc_config.cRlcmac cellgroup等一些参数初始化为0nr_rrc_common.c一些全局参数初始化3. 函数功能rrc_gNB.c是RRC模块的核心源码文件所有RRC消息由这里接收所有处理流程也从这里发起rrc_gnb_task()相当于RRC模块的Main主函数。函数描述rrc_gnb_task接收其他模块传给RRC模块的msg根据消息ID进入不同的处理分支rrc_gNB_decode_dcchdcch解码nr_rrc_gNB_decode_ccchccch解码rrc_gNB_generate_RRCSetup生成RRC Setuprrc_gNB_generate_RRCSetup_for_RRCReestablishmentRequest生成对于RRC重建的RRC SETUPrrc_gNB_generate_RRCReject生成RRC Rejectrrc_gNB_process_RRCSetupComplete处理RRC setupCompleterrc_gNB_generate_defaultRRCReconfiguration生成RRC重配命令rrc_gNB_process_RRCReconfigurationComplete处理RRC重配完成命令rrc_gNB_generate_RRCReestablishment生成RRC重建命令rrc_gNB_process_RRCConnectionReestablishmentComplete处理RRC重建完成命令rrc_gNB_generate_SecurityModeCommand生成加密模式命令rrc_gNB_generate_UECapabilityEnquiry生成UE能力查询rrc_gNB_generate_RRCRelease生成RRCReleaseinit_NR_SIMIB,SIB1编码4. 主函数流程itti_receive_msg为主接收函数上一篇已讲过。通过ITTI_MSG_ID(msg_p)获取消息ID由switch转入各个处理分支流程对数据进行解码。nr_rrc_gNB_decode_ccch()负责CCCH解码传入的数据调用uper_decode()进行per解码得到消息ID主要消息包括rrcSetupRequest和rrcReestablishmentRequest两条。rrc_gNB_decode_dcch()负责DCCH解码传入的数据调用uper_decode()进行per解码得到消息ID包括rrcSetupCompleterrcReconfigurationCompleteulInformationTransfersecurityModeCompletesecurityModeFailureueCapabilityInformationrrcReestablishmentComplete。其他几条分支主要是NGAP相关的消息包括下行NASPDU会话建立和释放UE上下文建立和释放。

相关新闻