【eCPRI】(3)Message Type

目录

1. Message Type #0 : IQ Data

1.1帧格式

1.2消息序列图

2.Message Type #1 : Bit Sequence

​​​​​​​2.1帧格式

2.2消息序列图

 3.Message Type #2 : Real-Time Control Data

​​​​​​​3.1帧格式

​​​​​​​3.2消息序列图

4.Message Type #3 : Generic Data Transfer

​​​​​​​4.1帧格式

4.2消息序列图

5.Message Type #4 :Remote Memory Access

​​​​​​​5.1帧格式

​​​​​​​5.2消息序列图

6.Message Type #5 :One-Way Delay Measurement

        ​​​​​​​6.1帧格式

​​​​​​​6.2消息序列图


        eCPRI支持下表中列出的消息类型。 这些类型的使用是可选的。 消息类型#8 - #11用于IWF类型1<--->IWF类型2通信。

【eCPRI】(3)Message Type_第1张图片

1. Message Type #0 : IQ Data

Type #0 : IQ Data(IQ采样数据)

        该消息类型用于在eCPRI节点(eREC和eRE)之间分割的PHY处理元素之间传输时域或频域IQ样本。

​​​​​​​1.1帧格式

【eCPRI】(3)Message Type_第2张图片

 Common header + PC_ID + SEQ_ID + IQ_DATA

PC_ID : 

  1. 一系列“IQ数据传输”消息的标识符。
  2. 例如物理信道标识符、用户标识符、层标识符、天线端口标识符等,这些都是PHY处理的共同属性。
  3. 如何分配PC_ID的值由厂商决定。

SEQ_ID:

  1. 一系列“IQ数据传输”消息中每个消息的标识符。
  2. 例如,OFDM符号的标识符,一组子载波等;
  3. 如何分配SEQ_ID的值是供应商特定的。

IQ samples of user data

  1. 用户数据的IQ采样,在频域或时域的IQ样本对序列(I, Q)和必要时的相关控制信息。
  2. 频域IQ或时域IQ取决于eCPRI节点之间选定的功能分割,并且是特定于供应商的。
  3. IQ样本的位宽、消息中IQ样本对的数量以及IQ样本的格式(例如,定点、浮点、块浮点)等都是特定于供应商的。实际的格式由发送/接收eCPRI节点提前知道。

​​​​​​​1.2消息序列图

  1. PC_ID的“实时控制信息”消息在一系列“IQ数据传输”消息之前被传输,以告知远端节点如何在接下来的“IQ数据传输”消息中处理IQ样本。
  2. 每个OFDM符号周期传输一个带有PC_ID的“IQ数据传输”消息。每个消息都有一个唯一的SEQ_ID
  3. 一般来说,多个传输序列可能并行发生,使用不同的PC_ID;例如对于多个物理信道、用户、层、天线端口等。

 【eCPRI】(3)Message Type_第3张图片

一个PC_ID对应多个SEQ_ID,而SEQ_ID一般采用累加数。

如上图中,PC_ID = a ,SEQ_ID = 0 ,1,2  ....  N-1

2.Message Type #1 : Bit Sequence

Type #1 : Bit Sequence (bit序列)

        该消息类型用于在eCPRI节点(eREC和eRE)之间分割的PHY处理元素之间以位序列的形式传输用户数据。

​​​​​​​2.1帧格式

【eCPRI】(3)Message Type_第4张图片

PC_ID :

  1. 一系列“位序列传输”消息的标识符。
  2. 例如,物理信道、用户、图层、天线端口等的标识符。它对PHY处理有公共属性。
  3. 如何为PC_ID分配值是特定于供应商的。

SEQ_ID :

  1. 一系列“位序列传输”消息中每个消息的标识符。
  2. 例如,一个OFDM符号的标识符、一个子载波的块等。
  3. 如何为SEQ_ID分配值是特定于供应商的。

Bit Sequence of User Data :

  1. 用户数据的比特序列,例如,调制映射前的信道编码数据
  2. 位序列传输消息所携带的信息取决于eCPRI节点之间所选择的功能分割,并且是供应商特有的。
  3. 消息中的比特序列的长度是特定于供应商的,并且由发送/接收节点预先知道。

2.2消息序列图

  1. 在一系列的“位序列传输”消息之前,为PC_ID=a传输“实时控制信息”消息,告知远程节点如何处理紧接着的“位序列传输”消息用户数据。
  2. 每个OFDM符号周期传输一个带有PC_ID的“位序列传输”消息。每个消息都有一个唯一的SEQ_ID。
  3. 一般来说,多个传输序列可能使用不同的PC_ID并行发生,例如对于多个物理信道、用户、层、天线端口等。

(与type0:IQ DATA类似)

【eCPRI】(3)Message Type_第5张图片

 3.Message Type #2 : Real-Time Control Data

Type #2 : Real-Time Control Data(实时控制数据)

        此消息类型用于在eCPRI节点(eREC和eRE)之间分割的PHY处理元素之间传输特定于供应商的实时控制消息。这种消息类型解决了eCPRI节点之间需要交换与用户数据相关联的不同类型的控制信息(以IQ样本、位序列等的形式)的需要,用于实时控制/配置/测量。然而,这种类型的信息很大程度上依赖于所选功能分割和这些肝功能的实体实现。因此,只定义了实时控制数据的消息类型,而没有定义数据格式。

​​​​​​​3.1帧格式

【eCPRI】(3)Message Type_第6张图片

RTC_ID :

  1. 一系列“实时控制数据”消息的标识符。
  2. 例如,针对特定控制/配置/状态/测量和请求/响应/指示类型的消息结构的标识符。
  3. 如何为RTC_ID分配值是特定于供应商的。

SEQ_ID :

  1. 一系列“实时控制数据”消息中每个消息的标识符。
  2. 例如,消息序列的标识符,请求和响应消息之间的链接等。
  3. 如何为SEQ_ID分配值是特定于供应商的。

Real-Time Control Data

  1. 这部分有效负载的格式是厂商自定义的。

​​​​​​​3.2消息序列图

【eCPRI】(3)Message Type_第7张图片

 在这个示例中,实时控制消息在相关的用户数据消息(以IQ数据或位序列的形式)之前或之后被传输。

4.Message Type #3 : Generic Data Transfer

Type #3 : Generic Data Transfer(通用数据传输)

        此消息类型用于在eCPRI节点(eREC和26eRE)之间传输用户平面数据或相关控制,为通用数据传输提供扩展的数据同步支持。

​​​​​​​4.1帧格式

【eCPRI】(3)Message Type_第8张图片

 PC_ID : 

  1. 一系列“IQ数据传输”消息的标识符。
  2. 例如,物理信道、用户、图层、天线端口等的标识符。或在控制的情况下,一个控制/配置/状态/测量或其他指示的标识符。
  3. 如何为PC_ID分配值是厂商自定义的。

SEQ_ID:

  1. 一系列“通用数据传输”消息中每个消息的4字节field
  2. 例如:消息序列的标识符 // 与帧相关的数据时间、OFDM符号、子载波或子载波块等 // 完成传输阶段的标识符
  3. 如何为SEQ_ID分配值是特定于供应商的。

Data transferred

  1. 一系列的用户数据样本在频域或时域和相关的控制信息(如果有必要)//控制信息
  2. 用户或控制数据内容取决于eCPRI节点之间选择的功能分割,是厂商自定义的。
  3. 样本量、样本数量等。在消息中,以及样本的格式(例如固定点、浮点、块浮点)等。都是特定于供应商的。实际格式是发送/接收eCPRI节点预先知道的。

4.2消息序列图

下面例子中, Generic Data Transfer用于传输用户数据:

【eCPRI】(3)Message Type_第9张图片

  1. 在一系列“通用数据传输”消息之前,会传输PC_ID的“实时控制信息”消息,通知远程节点如何处理“通用数据传输”消息中的数据样本。传输具有PC_ID的“通用数据传输”消息,例如每个OFDM符号周期。
  2. 每个消息都有一个唯一的SEQ_ID。SEQ_ID不需要是连续的。
  3. 一般来说,多个传输序列可能使用不同的PC_ID并行发生,例如对于多个物理信道、用户、层、天线端口等。

5.Message Type #4 :Remote Memory Access

Type #4 :  Remote Memory Access(远端内存访问)

        消息类型“远端内存访问”允许从/到对端的eCPRI节点上的特定内存地址进行读取或写。服务是对称的,即接口的任何“边”都可以启动服务。

        该服务以一种通用的方式构思,以处理不同类型的写和读取访问,这些访问依赖于在特定实现中使用的硬件。将写/读请求映射到其硬件实现的驱动程序例程。读或写请求/响应序列是一个原子过程,即请求者在向同一接收者发送新的请求之前,需要等待来自接收者的响应。还定义了一个没有响应的写请求,此过程是一个单消息过程。

​​​​​​​5.1帧格式

【eCPRI】(3)Message Type_第10张图片

 Remote Memory Access ID : 

        当接收到响应时,请求的启动器使用Remote Memory Access ID来区分不同的访问。

Read/Write & Request/Response:

        该字段包括两部分,即读取或写指示和请求或响应指示。

        读/写编码格式如下:

Read/Write coding

Request/Response coding

Value

Read/write

Value

Request/Response

0000b

Read

0000b

Request

0001b

Write

0001b

Response

0010b

Write no resp

0010b

Faliure

0011b - 1111b

Reserved

0011b - 1111b

Reserved

注:当请求的接收器由于接收到的参数中的无效内容或其他错误的内容而无法执行读/写请求时,使用响应值0010b(失败)。

Element ID

        根据实现,可以使用Element ID 来指出通用硬件功能的特定实体。

Address:

        该地址是一个48位的值。诸如对端节点上的存储器是否被组织在一个或多个存储器bank中,或者地址偏移是否通过接口发出信号等细节。是厂商自定义的。Element ID 可用于标识特定的内存硬件实体。

Length:

        对于请求,2字节length字段包含要写入或从特定地址读取的字节数。对于响应,2字节长度字段包含已写入或1个读取的实际字节数。如果由于某种原因,无法读取或写出完整长度的数据,这将通过长度字段中的差异检测到。

Data:

        Data紧跟在length字段之后,表示要写入的数据或读出的数据。

​​​​​​​5.2消息序列图

        一个ecpri节点可以在任何时候启动对另一个节点的远程内存访问。根据是请求还是响应,以及是读还是写,将根据下表复制或设置不同的字段。

【eCPRI】(3)Message Type_第11张图片

操作顺序如下图:

【eCPRI】(3)Message Type_第12张图片

其实很简单,就是根据读写描述符确定做什么事情,如果是读,就给出读地址和长度,然后对端返回读响应(含数据)。 

6.Message Type #5 :One-Way Delay Measurement

Type #5 :  One-Way Delay Measurement(单向时延测量)

        消息类型“单向延迟测量”用于估计一个方向上两个ecpri端口之间的单向延迟。消息的发送方将采样本地时间(t1),并包含一个补偿值(tcv1),并将其发送给接收方。当消息到达(t2)时,接收方将对消息进行时间标记,并将其与内部补偿值(tcv2)一起发送给发送方。单向延迟测量可以在没有或有Follow_Up消息的情况下执行(1-Step 、 2-Step版本)。使用哪个版本是供应商决定的。

计算公式:

tD = (t2 – tcv2) – (t1 + tcv1)

【eCPRI】(3)Message Type_第13张图片

         有了这两个补偿值,一个特定的实现就可以设置适合于特定实现的测量值的参考点。参考点的确切位置是供应商特定的。示例:根据IEEE802.3-2015中的第90条进行时间采样,在这种情况下,时间采样为MAC层和PHY层之间。该服务假设两个节点的时间都同步到一个公共时间,且对于eCPRI服务的精度足够。使用eCPRI消息类型“单向延迟测量”,涉及哪个节点启动传输、测量频率、响应期限等都是厂商自定义的。

​​​​​​​6.1帧格式

【eCPRI】(3)Message Type_第14张图片

 Measurement ID:

        测量ID是请求的发送方在收到响应时使用的1字节值,以区分不同的测量值,即请求的接收方应将请求中的ID复制到响应消息中。

Action Type:

Action type

Descrpition

0x00

Request

0x01

Request with follow_up

0x02

Response

0x03

Reote  request

0x04

Remote Request with follow_up

0x05

Follow_up

0x0 ... 0xFF

Reserved

        当eCPRI节点从自己的节点到另一个节点的方向启动单向延迟测量时,使用值0x00和0x01。当eCPRI节点需要知道从另一个节点到其自身的单向延迟时,将使用值0x03和0x04。用法见第后文。

TimeStamp:

        当消息中的操作类型设置为0x00(请求)时,该字段将包含时间戳t1和当操作类型设置为0x02(响应)时,将包含时间戳t2。当操作类型设置为0x01 (使用Follow_Up进行请求)时,时间戳信息字段应全部设置为0b,并在Follow_Up消息中发送相应的时间信息值。当操作类型设置为0x03或0x04(远程请求和使用Follow_Up的远程请求)时,所有位的时间戳信息字段应设置为0b。当使用Follow_Up消息(2步版本)时,Follow_Up消息(操作类型设置为 0x05)的时间信息值t1和tcv1将被设置为时间戳字段。时间信息值遵循IEEE1588-2008第5.3.3条中规定的格式。该值由两个部分组成,一个“秒”部分和一个“纳秒”部分。前6个字节是秒,后4个字节是纳秒。

【eCPRI】(3)Message Type_第15张图片

 Compensation value:

        补偿值。当消息中的操作类型设置为0x00(请求)、0x02(响应)或0x05(Follow_Up)时,此字段将包含“补偿值”,即以纳秒测量的补偿时间,乘以216,并遵循IEEE1588-2008条款13.3中指定的通用消息头中校正字段的格式。当“操作类型”设置为0x03 (远程请求)或0x04(带Follow_Up的远程请求)时,时间信息字段“时间戳”和“补偿值”均设置为0b。补偿值为0是一个有效值。例如:补偿值为183.5ns表示为0000000000B7800016。

Dummy bytes:

        包含在eCPRI有效负载中的虚拟字节数将由eCPRI公共报头中的eCPRI有效载荷大小字段定义,由于网络特性,小消息通过网络的时间可能比大的时间短,虚拟字节可以改进单向延迟估计。只有当操作类型设置为0x00(请求)或0x01  (使用Follow_Up的请求)时,才需要插入虚拟字节。

​​​​​​​6.2消息序列图

        下图1中所示的消息序列图分为两部分:第一部分显示了节点1在节点1到节点2的方向上启动延迟测量时的序列。第二部分显示了节点1在节点2到节点1的方向上启动延迟测量时的顺序。eCPRI节点可以通过将操作类型设置为0x00 (请求)、0x01(带Follow_Up的请求)0x03(远程请求)或0x04(带24Follow_Up的远程请求)来随时发起单向延迟测量。在请求中收到的测量ID应被复制到响应中。图2显示了与图1相同的序列,但使用了Follow_Up消息。

【eCPRI】(3)Message Type_第16张图片

【eCPRI】(3)Message Type_第17张图片

你可能感兴趣的:(通信原理,网络协议,5G,FPGA)