O-RAN专题系列-32:5G基站如何升级到O-RAN基站 - O-RU - C/U/S-plane

2023-11-01

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120344479


目录

第1章 硬件架构与协议栈

1.1 硬件架构

1.2 eCPRI协议栈

1.3 5G基站 eCPRI接口的协议栈

1.4. O-RAN基站eCPRI接口的协议栈

1.5 eCPRI协议的消息头

1.6 标准

2. O-RAN对eCPR协议

2.1 O-RAN与eCPRI协议之间的关系

2.2 O-RAN对数据承载的要求

第3章 O-RAN对L1-Low BB(基带)的影响

3.1 U面、C面的数据Profile的种类

3.2  对U面、C面的数据格式的影响

3.4 因特定运营商而增加的要求

3.5 O-RAN的其他要求

第4章 同步面的要求与改进



第1章 硬件架构与协议栈

1.1 硬件架构

 本文关注的是:O-RAN对5G的L1-Low和5G的eCPRI模块的影响。

1.2 eCPRI协议栈

1.3 5G基站 eCPRI接口的协议栈

 从协议栈的角度看:

  • M面:即使到了5G, 采用了eCPRI接口,但M面的接口还是厂家的私有协议,并没有开放。
  • C面:eCPRI协议对AxC的格式进行了定义
  • U面:eCPRI协议对fast control进行了定义
  • S面:采用标准的PTP协议。

1.4. O-RAN基站eCPRI接口的协议栈

1.5 eCPRI协议的消息头

0:移动终端的IQ业务数据(用户面)。

1:Bit Sequence,用于与消息头中的C面结合使用,来指示下一个message净荷在整体的位置。

2:用于在DU与RU之间传递实时性要求极高的控制数据(实时控制面)。

3:用于在DU与RU之间传递普通的非实时性的数据(管理面、非实时控制面)。

4:远程内存访问,这用于在PHY_High和PHY_Low之间直接进行远程的内存访问(实时内存访

问)。

5:单程的网络延时测定,通过时间戳机制,来测试DU与RU之间的单向的网络延时,由于1588时钟同步协议,具备了原生的、精确的网络延时测量功能,因此,在DU和RU之前通过1588时钟同步的协议,可以不需要通过该消息进行网络延时的测定,但对于DU和RRU之间不是1588 master和1588 client的系统,该消息类型就非常重要,用于测量DU与RRU之间的网络传输延时。

6:Event Indication:用于RU主动向DU上报自身的内部的变化信息。
64-255:厂家自定义信息。

1.6 标准

O-RAN-WG4.CUS.0-v02.00: O-RAN IoT profile

DCM 3D.705:DoCoMo物理层的切分,DoCoMo IoT profile

2. O-RAN对eCPR协议

O-RAN对eCPRI协议的很小,除了eCPRI包的承载方式,基本没有影响。

2.1 O-RAN与eCPRI协议之间的关系

O-RAN:开放无线接入网联盟(协议规范), 其主要的宗旨就是在5G的规范的基础之上,制定开放接口的规范,推动无线接入网向开放化、白盒化、开源化方向放发展。

eCPRI作为无线接入网RAN中DU与RU之间的标准接口,称为fronthual接口,这是O-RAN关注一个重点:

(1)eCPRI协议与CPRI协议类似,只是传输层协议,并没有定义其业务访问点之上的应用层协议规范,如IQ数据格式,实时控制面数据格式, 因此需要新的规范了约束这些应用接口, O-RAN的作用就体现出来了。

(2)OAM管理面和1588同步面都从eCPRI服务中剥离出去了,它们可以通过标准的TCP/IP协议栈进行传输,不一定需要eCPRI来承载,因此OAM管理面和1588同步面的协议规范,无法被eCPRI协议所规定, O-RAN的作用由体现出来了。

(3)eCPRI协议是O-RAN多个前传接口规范之一,如下图所示:

至于U面、C面、S面、M面(即O面)的消息格式,不在eCPRI协议范围之内。而是O-RAN规范的职责。

2.2 O-RAN对数据承载的要求

O-RAN要求支持Over UDP/IP和Over MAC两种承载形式。

第3章 O-RAN对L1-Low BB(基带)的影响

在实际系统中,L1-Low基带,通常有FPGA, L1 DSP SOC芯片等几种方式。

3.1 U面、C面的数据Profile的种类

(1)5G: 厂家私有的、未公开的profile。

(2)O-RAN:厂家私有的、但公开的IoT (互联测试) profile。

(3)O-RAN:O-RAN规范的、不同厂家可以互联互通的、并且公开的IoT (互联测试) profile。

因此,IoT Profile是5G迁移到O-RAN的关键。

3.2  对U面、C面的数据格式的影响

(1)type 3 message中支持有符号的freqOffset格式。

有符号的freqOffset整数:5G的符号格式-》 O-RAN的补码格式。

这就意味着,RU要兼容5G和O-RN, 则L1-Low芯片或FPGA,要提供对freqOffset两种格式的选择设置,同时要实现不同情形下的DEF解码。

(2)提高下行DL数据buffer的大小,满足O-RAN IoT对T12/T2a的要求(支持传输网传输)

下行T12/T2a的延时至少>=264us,以支持不同厂家的通过传输网互联互通。

扩展后的buffer,可以同时应用于5G RU和O-RU.

(3)提高上行UL数据buffer的大小,满足O-RAN IoT对Ta3min的要求(支持传输网传输)

Ta3_min_up 至少达到20us,以支持不同厂家的通过传输网互联互通。

Ta3_max_up至少达到90us

扩展后的buffer,可以同时应用于5G RU和O-RU.

3.4 因特定运营商而增加的要求

(1)DoCoMo:支持位数为14bit,指数为4bit浮点数据的压缩

5G的ASMR U平面数据压缩方案使用块浮点压缩(BFPC),具有9位尾数和3位指数(指数范围限制为[0..7])。

O-RAN的TP 3D.705配置文件(DoCoMo)第6.1.2节对其进行了扩展,要求具有14位尾数和4位指数(指数范围为[0..15])

这就意味着,RU要兼容5G和O-RN, 则L1-Low芯片或FPGA,要提供对14bit和9bit的选择设置,同时要实现不同情形下的解码。

(2)DoCoMo:上行上行增益校正系数(gain_correction)有特殊的配置要求。

在5G ASMR实施方案中,上行增益校正系数(因子),由DU通过私有的M面发送给RU。

O-RAN的TP 3D.705配置文件第6.1.3.2节要求,UL增益校正系数,默认设置为零dB(0dB)。

当配置为使用14位尾数浮点操作时,尾数字大小由NetConf“compression”MOC中的iq bitwidth参数确定, 而不是通过O-RAN M面的gain_correction来配置(Netconf或私有协议), 

(3)DoCoMo对物理层的切分要求

3.5 O-RAN的其他要求

(1)压缩模式的配置形式

O-RAN要求,对数据压缩的设置支持两种方式:

  • 通过M面静态配置(Netconf)
  • 通过C面动态配置(the udCompHdr field in FCP & UP headers)

(2)C/U-Plane specific PM counters: RX_CORRUPT

 O-RAN-WG4.CUS.0-v02.00的第7章要求,L1-LOW能够对收到错误的eCPRI message进行检测,并通过M面进行上报和添加到本地log中,用于调试之用。

  • 错误的eCPRI头信息
  • 错误的eCPRI会话头信息
  • 错误的eCPRI会话内容

上述错误信息,组织在RX_CORRUPT counter中。

(3)AxC到VLAN的映射可配置

第4章 同步面的要求与改进

(1)下行发送提前量

O-RAN要求,O-RU能够支持63μs倍数的下行控制面数据的时间提前量。

(2)SYNCE and SSM

(3)1588同步(无GPS同步要求)



作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/120344479

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

O-RAN专题系列-32:5G基站如何升级到O-RAN基站 - O-RU - C/U/S-plane 的相关文章

随机推荐

  • 出现 HTTP 错误 500.19 错误代码 0x800700b7

    这个内容出现主要问题是在IIS上 我们一般程序开发 iis中默认的路径只是http localhost 相当于环境变量中已定义好了 如果自己创建的项目直接将路径定义到这 就会替换图二中的路径 然后你的程序图一中所指向的路径就会无效 图三是我
  • Java,Enum里定义属性和方法

    最近的项目用到了大神写的统一返回码的代码 ErrorCode java 统一6位 异常码 author Administrator public enum ErrorCode global OK 000000 操作成功 ERROR 0000
  • 子类化QListWidget实现自定义拖拽功能.

    我们经常会碰到这样的一个问题 我们想把其他地方选中的文本 直接通过拖拽移动到一个控件中 从而实现方便添加项的功能 这里我们以QListWidget作为例子 来实现这么一个功能 其他地方的文本可直接拖拽进QListWidget中 且QList
  • pandas to_sql详解

    pandas to sql api的使用文章已经很多了 但是都只是简单介绍了怎么使用 一些细节问题没有介绍到 这里我们增加说明一些细节问题 1 列的对应 2 多值插入 3 批量插入 api说明 照常 我们对api参数也做一下详细的介绍 也就
  • 第一次使用markdown编辑器_交换两个数组

    交换两个数组 将两个整形变量进行交换可引入第三个变量 数组的交换也可以这样做 int main int arr1 1 2 3 定义两个数组 int arr2 2 3 4 int i 0 int tmp 0 定义第三个数组用于交换 for i
  • 12-控制Pawn类移动与调整视角 UE4 C++

    在上一节 11 控制Pawn类移动增加镜头摇臂 已经完成了Pawn的移动和镜头摇臂功能 本节继续增加移动镜头视角的功能 首先在MyPawn h中增加如下代码 void CameraPitch float Value 用于调整抬头低头 voi
  • cocos2d-x下c++调用lua函数

    首先需要lua中的函数句柄传到c 层 通过tolua 将c 类绑定到lua后 构造该c 类时传入lua函数句柄即可 在c 层回调lua函数的具体代码如下 void notifyLua int type int value CCLuaStac
  • C++ sort()排序函数用法详解

    include
  • python自动化操作_文件和目录的批量重命名操作

    一 文件和文件夹的批量重命名 1 文件重命名使用os库里的rename函数 os rename old new 二 复杂路径中的文件重命名 1 注意文件夹修改的时候 会只修改最外层的文件夹 因为改了后就变了名字 找不到啦 解决办法 加top
  • JAVA在线考试系统

    一 项目简介 随着互联网迅速发展 人们的生活已经越来越离不开互联网 人们足不出户就可以工作 买卖 学习等 对于在校学生 通过网络教育不仅可以随时进行网络学习 也可以根据学习的情况自我检测 有利于学生高效 快捷地掌握所学的知识 本系统预设计的
  • 五、传输层(三)TCP

    目录 3 0 TCP特点补充 3 1 TCP报文段首部格式 3 2 TCP连接管理 3 2 1 三报文握手 3 2 2 四报文挥手 3 3 TCP的流量控制和可靠传输 3 4 TCP拥塞控制 3 4 1 接收窗口 拥塞窗口 发送窗口关系 3
  • STM32G070 onchip移植FlashDB

    一 Onchip Flash 特性 在STM32G070 的片内 Flash写入数据之前必须先对目标地址进行擦除后才能写入数据 数据写入 G070 Flash 写入数据必须保证8字节对齐 一次写入双字数据64bit 8Byte 数据读取 使
  • 从零开始实现SSD目标检测(pytorch)(一)

    目录 从零开始实现SSD目标检测 pytorch 第一章 相关概念概述 1 1 检测框表示 1 2 交并比 第二章 基础网络 2 1 基础网络 2 2 附加网络 第三章 先验框设计 3 1 引言 3 2 先验框设计 3 3 先验框可视化 3
  • Unity APK在应用宝上架因为提前访问Android_ID被拒

    Unity启动时获取了设备信息 其中包括Android id 这在安全审查中不被允许 需要在同意隐私协议之后才允许调用 1 个推SDK Bugly等SDK的API会访问到ANDROID ID 通过调整逻辑放在同意隐私协议之后初始化 2 提前
  • python画柱状图并数值显示

    usr bin env python3 coding utf 8 Author yudengwu Date 2020 6 12 import matplotlib matplotlib use TkAgg from pylab import
  • MySQL中的锁

    第15章 锁 事务的隔离性由这章讲述的锁来实现 概述 锁是计算机协调多个进程或线程并发访问某一资源的机制 在程序开发中会存在多线程同步的问题 当多个线程并发访问某个数据的时候 尤其是针对一些敏感的数据 比如订单 金额等 我们就需要保证这个数
  • 初探KVM虚拟化技术:新手指南

    首先了解一下虚拟化的概念 虚拟化是指对资源的逻辑抽象 隔离 再分配 管理的一个过程 通常对虚拟化的理解有广义狭义之分 广义包括平台虚拟化 应用程序虚拟化 存储虚拟化 网络虚拟化 设备虚拟化等等 狭义的虚拟化专门指计算机上模拟运行多个操作系统
  • 2022年年终总结及2023年展望-----学习总是对的,机会善于光顾有准备的头脑

    2022年 是比较波折的一年 想到哪里写到哪里吧 我感觉 之所以没被打倒 还是因为多学习 只有学的不够 没有学的多余 机会总是善于光顾有准备的头脑 工作和学习是相互独立的事情 优先学习工作需要的内容 其他的也要学 由于一直学着人宅的视频教程
  • C++ 保留N位小数的几种方法

    C 保留N位小数的几种方法 setprecision n 的部分用法总结 C 的保留小数常用setprecision n 来实现 n就是保留n位小数 首先一定不要忘了头文件 include
  • O-RAN专题系列-32:5G基站如何升级到O-RAN基站 - O-RU - C/U/S-plane

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120344479 目录 第1章 硬件架