24 votos

¿Lo que ' s la máxima CAN bus velocidad de fotogramas (mensaje) a 125 kbit/s?

Mi bus CAN está funcionando a 125 kbit/s y es de uso extendido formato de marco exclusivamente. Me gustaría saber cuál es la tasa máxima de enmarcar puedo enviar. Supongamos que la longitud de los datos es siempre de ocho bytes.

Según esta página de la Wikipedia, cada trama tiene una longitud de trama máxima de (1+11+1+1+18+1+2+4+64+15+1+1+1+7) = 128 bits:

Enter image description here

Teniendo en cuenta un mínimo de tres bits intertrama espaciado, la máxima velocidad de paquetes bajo 125 kbit/s debe ser: 125000 / ( 128 + 3) = 954 fotogramas por segundo.

Pero en mi prueba, yo no podía conseguir que la alta. La velocidad de fotogramas máxima que puedo lograr (con todos los ocho bytes de datos) es de alrededor de 850 fotogramas por segundo.

Lo que está mal aquí - mi cálculo, o mi método de prueba?

27voto

WhatRoughBeast Puntos 20870

Por Olin Lathrop la sugerencia, voy a ampliar sobre los bits de relleno.

PUEDE utiliza la codificación NRZ, y para ello no contento con carreras largas de unos o ceros (Se pierde la pista de donde el reloj bordes debería ser). Se resuelve este problema de los bits de relleno. Durante la transmisión, si se encuentra con una carrera de 5 sucesivas o ceros se inserta un poco de la otra polaridad, y cuando se recibe, si se encuentra a 5 sucesivas o ceros ignora la posterior bits (a menos que el bit es la misma que la anterior bits, en cuyo caso se emite un indicador de error).

Si usted está enviando todo ceros o todo unos de sus datos de prueba, una cadena de 64 bits idénticos tendrá como resultado la inserción de 12 de relleno de bits. Esto aumentará el total de la longitud de trama a 140 bits, con una mejor velocidad de fotogramas de 874 fotogramas / seg. Si los bits de datos son los mismos que el MSB de la CRC, obtendrá otro de peluche poco allí, y la velocidad de fotogramas baja a 868 fotogramas/ seg. Si el CRC ha carreras largas de unos o ceros, que va a reducir la velocidad de fotogramas aún más. La misma consideración se aplica a sus identificadores.

Un total de 16 de relleno de bits, se producirá un marco ideal tasa de 850.3 fotogramas/seg, así que usted debe considerar. Una prueba rápida sería el uso de datos de prueba con la alternancia de bits, y ver lo que sucede con la velocidad de fotogramas.

1voto

MvG Puntos 849

Olin está justo en su descripción de relleno de bits y cómo que puede afectar negativamente teórica puede rendimiento. Otra cosa que más puede degradar el rendimiento real de la teórica es la latencia. Aunque el controlador puede es capaz de alcanzar 100% de utilización del bus, el procesador host no puede ser capaz de manejar Tx o Rx a ese ritmo. Esto podría ser el resultado de un procesador lento o ineficiente firmware que implementa el poder pila.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X