Los paquetes solo se pierden si se produce un error, por lo que la respuesta es en gran medida un "depende de los niveles de ruido" :) Solo un nodo "posee" el bus en cualquier momento y todos los nodos concuerdan con quién debería ser ( al final de la fase de arbitraje). Al final del mensaje, habrá un acuse de recibo de cada nodo que recibió el mensaje correctamente y, potencialmente, un acuse de recibo negativo de cualquier nodo que lo haya recibido de manera incorrecta. Si ese NAK está presente, todos los nodos invalidarán el mensaje y esperarán un nuevo intento.
Sin embargo, las partes de detección y recuperación de errores de CAN solo están pensadas como una solución a errores aleatorios. En un sistema de producción, desconfiaba de cualquier bus que mostrara algún cuadro de error durante la "operación normal".
Otra cosa que podría considerarse "pérdida de paquete" es un paquete regular de baja prioridad, que puede no ser capaz de arbitrar su camino en el bus con la frecuencia suficiente. Y si su controlador CAN está basado en FIFO (en lugar de verdaderos objetos de mensaje, cada uno de los cuales puede arbitrar la prioridad internamente), puede contener mensajes de mayor prioridad. Las simulaciones del sistema pueden ayudarlo a evaluar con qué frecuencia puede ocurrir.
En mi experiencia (automotriz), los números de secuencia se usan a menudo como una verificación contra el software que se vuelve loco y simplemente transmite el mismo cuadro una y otra vez. Cualquier ACK / RETRY se deja a las capas de protocolo inferior.
He visto sistemas con un bus CAN muy (muy!) eléctricamente ruidoso que muestra varios cuadros de error por segundo (!) ... funcionó, pero tuvo secuencias muy ocasionales de errores que hace que una de las ECU se salga del bus. No recomendado.
Otro ejemplo de la tolerancia de error de CAN fue un sistema que (en un desarrollo muy temprano) requería un UART; el único pin disponible era el pin de habilitación CAN. Incluso con el encendido y apagado del conductor del autobús (por la UART a 115200 bps), los mensajes aún se transmitieron. De nuevo, con una alta tasa de errores en el bus, ¡pero los reintentos llegaron al final! Y de nuevo, no recomendado!