【OpenAirInterface5g】RRC NR解析(一)

1. RRC源码位置

RRC(Radio Resource Control)称为无线资源控制,是5G系统的核心模块,其主要作用是给下层(PHY,MAC,RLC,PDCP)控制或配置所有无线资源,从而保证UE与基站之间进行通信。
OAI RRC模块位于openair2\RRC下,其下有NR,LTE,NR UE等几个源码目录,我们只分析NR。

2. 文件功能

RRC模块主要文件如下:

文件名功能
rrc_gNB.cRRC核心程序,包括RRC消息接收和处理
rrc_gNB_NGAP.cNGAP消息生成和发送
rrc_gNB_UE_context.cUE上下文生成,获取和删除等
rrc_gNB_reconfig.cCoreset0,搜索空间,BWP,rb等参数配置
rrc_gNB_GTPV1U.cGTPV1U相关
nr_rrc_config.cRlc,mac cellgroup等一些参数初始化为0
nr_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 Setup
rrc_gNB_generate_RRCSetup_for_RRCReestablishmentRequest生成对于RRC重建的RRC SETUP
rrc_gNB_generate_RRCReject生成RRC Reject
rrc_gNB_process_RRCSetupComplete处理RRC setupComplete
rrc_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生成RRCRelease
init_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,包括rrcSetupComplete,rrcReconfigurationComplete,ulInformationTransfer,securityModeComplete,securityModeFailure,ueCapabilityInformation,rrcReestablishmentComplete。
其他几条分支主要是NGAP相关的消息,包括下行NAS,PDU会话建立和释放,UE上下文建立和释放。

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柒号华仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值