¿Por qué la velocidad en baudios de la CAN no puede superar 1 Mbps?
Respuestas
¿Demasiados anuncios?En Requisitos de la capa física de la red de área de controlador
CAN es una tecnología de colector abierto: el protocolo no podría funcionar de otro modo. Esto significa que el estado recesivo de un transceptor CAN no se controla activamente. Las resistencias de terminación junto con la capacitancia de entrada del transceptor y la capacitancia del cable crean una descarga RC de tiempo constante cuando un bit dominante accionado activamente en el bus pasa a un bit recesivo no accionado. Para velocidades de señalización superiores a 1 Mbps de CAN, se necesita una tecnología que conduzca activamente el bus en ambos estados, como RS-485, para facilitar las transiciones de bus necesarias para las velocidades de señalización de alta velocidad.
En última instancia, la respuesta a la pregunta es cómo se implementa el protocolo CAN a nivel físico. Cambia ese protocolo y podrás utilizar una velocidad de datos mayor.
En Comprensión de la temporización de bits del módulo CAN de Microchip :
... el protocolo CAN implementa un esquema de arbitraje por bits no destructivo que permite a múltiples nodos arbitrar por el control del bus. Por lo tanto, es necesario que todos los nodos detecten/muestreen los bits dentro del mismo tiempo de bit. La relación entre el retardo de propagación y la tolerancia del oscilador afecta tanto a la velocidad de datos CAN como a la longitud del bus.
Dos maestros en cada extremo del bus CAN deben ser capaces de comunicarse y arbitrar cuál tiene el bus, mientras que cada uno está en el bus al mismo tiempo.
Si la longitud del bus es de 30 m, el tiempo que tarda en propagarse la señal por el bus es: $$t_{BUS} = 30\ m @ 5.5\ ns/m = 165\ ns$$
Suponiendo que el retardo del comparador de entrada sea \$t_{CMP}\$ = 40 ns y el retardo del driver de salida es \$t_{DRV}\$ = 60 ns para todos los dispositivos.
El tiempo de ida y vuelta para un poco en el autobús físico será:
$$t_{PROP} = 2(t_{BUS} + t_{CMP} + t_{DRV}) = 2 (165\ ns + 40\ ns + 60\ ns) = 530\ ns$$ $$TQ = 530\ ns/6 = 88.33\ ns $$ $$t_{BIT} = 10\times TQ = 883.3\ ns $$ $$ f = 1/t_{BIT} = 1 / 883.3\ ns = 1.13\ MHz $$
La velocidad máxima se rige por la longitud del bus, la capacitancia de la línea, los nodos conectados y los controladores seleccionados por el protocolo. En principio, a 30 m, CAN (ISO 11898) podría alcanzar 1,13 Mbps si todo fuera perfecto.
Cuanto más largo sea el bus, más lenta será la velocidad de transmisión de datos. Pero un bus más corto significaría una mayor velocidad. Tasa de bits CAN frente a longitud de bus:
Los dos documentos citados profundizan en esta cuestión.
CAN (ISO 11898) puede transferir hasta 8 bytes a 1 Mbps con un protocolo basado en los años 80. Con los vehículos actuales, es necesario transferir más datos (paquetes de 64 bytes), pero a 1 Mbps, 64 bytes ocuparían un espacio de tiempo demasiado grande, lo que podría retrasar datos vitales.
CAN FD (Flexible Data-Rate) es una ampliación del protocolo original del bus CAN (ISO 11898-1). Está pensado para funcionar en los buses CAN existentes y, con el tiempo, sustituir a CAN.
El protocolo comienza a 1 Mbps CAN (500 kbps, etc.), con el posible proceso de arbitraje entre varios maestros CAN y CAN FD, pero cuando el maestro CAN FD obtiene el bus, la velocidad de transferencia de datos se acelera a 5 Mbps a los esclavos CAN FD. A esta velocidad, se pueden transferir 64 bytes en menos tiempo que un paquete CAN de 8 bytes a 1 Mbps. Esto significa que no hay conflicto de tiempo con las transferencias CAN existentes. Una vez que el maestro CAN FD cede el bus, cualquier maestro CAN o CAN FD puede obtenerlo.
En CAN FD EXPLICADO - UNA SENCILLA INTRODUCCIÓN (2019) :
La verdadera respuesta depende del proceso de arbitraje de 1 Mbps para un bus CAN de 40 m, pero una vez obtenido el bus, el ancho de banda puede acelerarse en función de la longitud del bus, la capacitancia de la línea, el número de nodos conectados y los controladores. El ancho de banda CAN FD es de 3 a 8 veces el ancho de banda CAN clásico.
Puede. Conozca CAN-FD .
¿Por qué era necesario un nuevo protocolo? CAN es un bus multimaestro con arbitraje y notificación de errores. Estas características limitan la velocidad de transmisión de datos en función de la longitud del cable, ya que la señal tarda cierto tiempo en hacer un viaje de ida y vuelta entre los dos nodos más alejados. Esto, junto con los requisitos de compatibilidad con versiones anteriores, dio lugar a CAN-FD.
El CAN clásico a 1 Mbps está limitado a una longitud de bus de 40 metros. (En la práctica, creo que es menor debido a la capacitancia parásita.) A 100 Mbps, tendrías suerte si tuvieras siquiera medio metro de longitud de bus utilizable, lo que no es suficiente para aplicaciones industriales y de automoción.
Esto se debe a que la norma CAN 2.0B no especificaba ningún nivel superior para reducir los costes de hardware y seguir cumpliendo los distintos requisitos de la norma (como la distancia y la inmunidad al ruido). No es una barrera técnica.
La norma se redactó así probablemente porque consideraron que la velocidad adicional era innecesaria para la aplicación prevista, y especificar una velocidad superior innecesariamente aumentaría el coste de todo el hardware que soporta la norma cuando la capacidad estaría infrautilizada.
Si la norma se redacta así, pocos fabricantes de circuitos integrados se molestarán en intentar superarla, ya que no tiene sentido. En realidad, no es una barrera técnica.
0 votos
Depende de las normas y los controladores utilizados. Hay versiones más rápidas, pero existen otras diferencias,
0 votos
Mi pregunta es: ¿por qué no podemos alcanzar velocidades más altas, de hasta 100 Mbps, utilizando CAN?
0 votos
Inmunidad al encendido y a la RF y contención del retardo en el bus
0 votos
Compruébalo: ¿Cuál es la tasa de bits máxima admitida en el Can Bus?
0 votos
El bus CAN no tiene sincronización manifiesta, excepto para detectar colisiones.