开发者社区> 柒号华仔> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【OpenAirInterface5g】RRC NR解析(一)

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

@TOC

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上下文建立和释放。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【5G NR】RRC连接重建解析
无线网络总有信号不稳定的时候,如果每次无线链路失败或者切换失败均要从头开始建立链接,无疑是比较耗费时间和系统资源的。重建流程只需要服务端对应到用户上下文,即可重建连接,简化了连接处理流程。
66 0
【Spark Streaming】(五)Spark Streaming 与 Kafka 集成实战!
【Spark Streaming】(五)Spark Streaming 与 Kafka 集成实战!
28 0
Java - interface
Java - interface
15 0
Centos 7安装oracle 11g R2问题及解决方法汇总
自己新博客的链接:http://www.pythonsite.com/2017/02/14/centos-7%E5%AE%89%E8%A3%85oracle-11g-r2%E9%97%AE%E9%A2%98%E5%8F%8A%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95%E...
1226 0
java中的interface接口
接口:java接口是一些方法表征的集合,但是却不会在接口里实现具体的方法。 java接口的特点如下: 1、java接口不能被实例化 2、java接口中声明的成员自动被设置为public,所以不存在private成员 3、java接口中不能出现方法的具体实现。
736 0
新书出版:Java Web开发技术大全——JSP+Servlet+Struts 2+Hibernate+Spring+Ajax (附源代码)
本文为原创,如需转载,请注明作者和出处,谢谢! 源代码下载 作者:李宁 图书详细信息: ISBN:9787302195757 定价:79.8元 印次:1-1 装帧:平装 印刷日期:2009-4-23 图书简介: SSH是目前最流行的Java Web开发技术。
1731 0
+关注
31
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载