Edit online

A-Format 域

Read time: 2 minute(s)

CDF

CDF 组成结构如下:



CDF,Command Data Field,只在发送过程涉及,由以下组成:

  • Start bit:1'b0,固定值。

  • Sink code:3’b010,固定值。

  • Frame Code:2-bit,CDF 对应 2’b00。

  • Encoder Address:3-bit,编码器的地址。

  • Comand Code:5-bit,命令代码。

  • CRC code:3-bit,CRC 校验码,生成多项式为 X^3+X+1,计算范围除了 Start Bit、Stop Bit 和 Sink Code 以外的所有 bit,这里需要硬件自动计算生成。

  • Delimiter:1'b1,固定值。

MDF

MDF 组成结构如下:



MDF0/ 1/ 2,Memory Data Field 0/ 1/ 2,只在发送过程涉及,由以下组成:

  • Start bit:1'b0,固定值。

  • Sink code:3’b010,固定值。

  • Frame Code:2-bit,MDF0 对应 2’b01,MDF1 对应 2’b10,MDF2 对应 2’b11。

  • Data bit:8-bit,数据位。

  • CRC code:3-bit,CRC 校验码,生成多项式为 X^3+X+1,计算范围除了 Start Bit、Stop Bit 和 Sink Code 以外的所有 bit,这里需要硬件自动生成。

  • Delimiter:1'b1,固定值。

IF

IF 只在接收过程涉及,其格式与 CDF 命令有关。

当 CDF 为 CDF0~CDF20,适用以下的格式:



  • Start bit:1'b0,固定值。

  • Sink code:3’b100,固定值。

  • Encoder Address:3-bit,接收的编码器地址应该与发送的编码器地址一致,不一致则产生错误状态。

  • Command Code:5-bit,接收的 Command Code 应该与发送的 一致,不一致则产生错误状态。

  • Encoder Status:4-bit。

  • Delimiter:1'b1,固定值。

当 CDF 为 CDF21/ 22,适用以下的格式:



  • Start bit:1'b0,固定值。

  • Sink code:3’b100,固定值。

  • EAX:3-bit。

  • ES:1-bit,状态位,ES = ES0 + ES1 + ES2 + ES3。

  • Data bit:9-bit,数据位。

  • Delimiter:1'b1,固定值。

DF0/ 1/ 2

DF0/ 1/ 2 组成结构如下:



DF0/ 1/ 2,Data Field 0/ 1/ 2,只在接收过程涉及,DF 的数量与 CDF 有关,由以下组成:

  • Start bit:1'b0,固定值。

  • Data bit:16-bit,数据位。

  • Delimiter:1'b1,固定值。

RX_CRC_ERR

对于接收到的编码器的数据,包含了 8 bits CRC 码,CRC 码的生成多项式为 X^8+X4+X3+X2+1,计算的范围为所有接收的 Field,除去起始位和截止位的数据。 以下是 3 field 的 CRC 计算示例:

1. CRC 计算举例
IF DF0 DF1
00111110 00000011 00000000 11101111 11011111 00110101

对于 RX 数据域的 CRC,支持对该 CRC 码的验证,如果 CRC 码不正确,则在 RX_ASTS 寄存器中相应的 BIT 位指示校验不正确。