我是靠谱客的博主 自然烤鸡,最近开发中收集的这篇文章主要介绍srsran源码分析----MIB的发送,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

srsran中MIB的源码并不是在RRC层进行数据流的编码,而是在物理层进行组装并进行编码发送,本文要讨论的内容就是MIB是如何组装并且发送的。

    MIB是ENB激活后的第一个系统帧号就会发送的广播消息,也就是说物理层的收发消息的工作者线程激活后就会对MIB进行组装发送。那么MIB如何在物理层组装。我们都知道MIB主要包含系统带宽、PHICH配置信息、系统帧号 ,那么要想在物理层组装MIB消息,就必须提前获取到相关的配置文件,因此这些配置信息必定是从PHY初始化的时候就会传进去

从phy_cfg. phy_cell_cfg的小区变量里面包含这些成员,可以看出MIB就是从这里面获取的,(phy_cfg中的数据应该是从配置文件中读取的)。

在初始化物理层lte的线程池时就将小区配置给传进去了。在进一步赋值,赋值路径为 lte_workers.init()------>w->init()------>q->init(phy, i)---->srsran_enb_dl_set_cell(&enb_dl, cell)

上述的q即为传入的enb_dl。至此,组装MIB的变量就传入了待取出的变量中,接下来就是如何组装MIB。

在txrx的run_thread()函数的最后会开启工作者线程池的线程进行运行

 

然后在工作者线程池中就会运行run_thread()函数,然后运行sf_worker中的work_imp()

沿着这条路径work_imp()--->  cc_workers[cc]->work_dl(*)--->srsran_enb_dl_put_base(&enb_dl, &dl_sf)----->put_mib(q)---->srsran_pbch_mib_pack(&q->cell, sfn, bch_payload);在最后一个函数中对MIB进行组装。

 

 

 

 

最后

以上就是自然烤鸡为你收集整理的srsran源码分析----MIB的发送的全部内容,希望文章能够帮你解决srsran源码分析----MIB的发送所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部