CAN FD bit stuffing

2

Bien, puede ser solo cacahuetes, pero aquí El autor dice que el máximo. la longitud (es decir, el relleno máximo de bits) de la parte de velocidad de datos flexible de una trama de carga útil de 64 bytes es de 673 bits (Figura 6). Esa parte consiste en:

  • ESI (1 bit)
  • DLC (4)
  • Campo de datos (64 * 8 + x cosas)
  • CRC (21 + 6 cosas)
  • Delimitador CRC (1)

Ahora, 673 es la suma de los anteriores más 128 bits de relleno. Sin embargo, eso significa que consideró un bit de relleno después de cuatro bits consecutivos del mismo nivel, como se hace para la parte CRC.

Pero en el campo de datos, se debe insertar un bit de relleno después de cinco bits consecutivos, ¿no es así? Por lo tanto, el máximo. La longitud del campo de datos es 512 + 512/5 = 615 bit, lo que da un máximo de 648 en lugar de 673 bit.
¿Estoy en lo correcto?

    
pregunta mic

1 respuesta

1

El autor es correcto. Debe tener en cuenta la presencia de bits de material anteriores al generar los subsiguientes. Por ejemplo, considere la siguiente secuencia:

Input:   00000   1111   0000   1111...
Stuffed: 00000(1)1111(0)0000(1)1111(0)...

El primer bit de relleno combinado con los cuatro '1 que siguen requiere la inserción de un bit de relleno' 0 'después de solo cuatro bits de datos. Si esto no se hace, entonces sería posible tener una secuencia de seis bits del mismo nivel en el flujo de salida. Esto anularía el propósito de CAN bitstuffing, que es proporcionar un borde de sincronización en un máximo de cinco intervalos de bits. En otras palabras, si el receptor debe estar diseñado para manejar un intervalo de seis veces de bit en algunas situaciones, entonces están desperdiciando el ancho de banda utilizando una regla de cinco bits la mayoría del tiempo.

    
respondido por el Jon

Lea otras preguntas en las etiquetas