Can Bus
Can Bus
Can Bus
Controller Area Network: Protocolo de comunicacin Serie creado en los 80s por Bosch
inicialmente para la comunicacin entre controles del automvil.
Reduce el cableado y permite agregar funciones esta basado en topologa bus.
La informacin se transmite entre los las unidades de mando mediante una trama de longitud y
estructura definida. A travs de cable trenzado (Ver CAN BUS).
receptoras, y la cantidad de las mismas abonadas al sistema puede ser variable. Cualquier unidad
de mando introduce un mensaje en el bus con la condicin de que est libre, si otra lo intenta al
mismo tiempo el conflicto se resuelve por la prioridad del mensaje indicado por el identificador del
mismo.
Niveles de Voltaje
Deteccin de Errores
El sistema Can-Bus dispone de mecanismos para detectar errores en la trasmisin de mensajes, de
forma que todos los receptores realizan un chequeo del mensaje analizando una parte del mismo,
llamado campo CRC. Otros mecanismos de control se aplican en las unidades emisoras que
monitorizan el nivel del bus, la presencia de campos de formato fijo en el mensaje (verificacin de la
trama), anlisis estadsticos por parte de las unidades de mando de sus propios fallos etc.
Estas medidas hacen que las probabilidades de error en la emisin y recepcin de mensajes
sean muy bajas, por lo que es un sistema extraordinariamente seguro.
Campo de inicio del mensaje (Start Of Frame): El mensaje se inicia con un bit dominante (0), cuyo flanco
descendente es utilizado por las unidades de mando para sincronizarse entre s.
Campo de arbitraje: Los 11 bit de este campo se emplean como identificador que permite reconocer a las
unidades de mando la prioridad del mensaje. Cuanto ms bajo sea el valor del identificador ms alta es la
prioridad, y por lo tanto determina el orden en que van a ser introducidos los mensajes en la lnea (ver plantilla
campo de arbitraje).
El bit RTR indica si el mensaje contiene datos (RTR=0) o si se trata de una trama remota sin datos (RTR=1).
Una trama de datos siempre tiene una prioridad ms alta que una trama remota.
La trama remota se emplea para solicitar datos a otras unidades de mando o bien porque se necesitan o para
realizar un chequeo.
Campo de control: Este campo informa sobre las caractersticas del campo de datos. El bit IDE indica
cuando es un 0 que se trata de una trama estndar y cuando es un 1 que es una trama extendida. La
diferencia entre una trama estandar y una trama extendida es que la primera (CAN2.0A) tiene 11 bits y la
segunda (CAN2.0B) 29 bits. Ambas tramas pueden coexistir eventualmente, y la razn de su presencia es la
existencia de dos versiones de CAN.
Los cuatro bit que componen el campo DLC indican el nmero de bytes contenido en el campo de datos.
Campo de datos: En este campo aparece la informacin del mensaje con los datos que la unidad de mando
correspondiente introduce en la linea Can-Bus. Puede contener entre 0 y 8 bytes (de 0 a 64 bit).
Campo de aseguramiento (CRC): Este campo tiene una longitud de 16 bit y es utilizado para la deteccin de
errores por los 15 primeros, mientras el ltimo siempre es un bit recesivo (1) que delimita el campo CRC.
Campo de confirmacin (ACK): El campo ACK esta compuesto por dos bit que son siempre trasmitidos
como recesivos (1). Todas las unidades de mando que reciben el mismo CRC modifican el primer bit del
campo ACK por uno dominante (0), de forma que la unidad de mando que est todava trasmitiendo reconoce
que al menos alguna unidad de mando ha recibido un mensaje escrito correctamente. De no ser as, la unidad
de mando trasmisora interpreta que su mensaje presenta un error.
Campo de final de mensaje (EOF): Este campo indica el final del mensaje con una cadena de 7 bits
recesivos.
Puede ocurrir que en determinados mensajes se produzcan largas cadenas de ceros o unos, y que esto
provoque una prdida de sincronizacin entre unidades de mando. El protocolo CAN resuelve esta situacin
insertando un bit de diferente polaridad cada cinco bits iguales: cada cinco 0 se inserta un 1 y viceversa. La
unidad de mando que utiliza el mensaje, descarta un bit posterior a cinco bits iguales. Estos bits reciben el
nombre de bit stuffing.
Ejemplo de Prioridad
00 Mensaje de orden: este tipo de mensajes contendrn comandos y rdenes que indican realizar
una accin, es decir, mensajes que se envan a otro nodo para que acte.
01 Mensaje de peticin: mensaje que ser enviado para solicitar un valor o estado de alguna
variable, componente, actuador, etc. que se encuentre conectado en un nodo ajeno. Tambin
pueden solicitar peticiones de acciones a realizar que no pueden ser de orden directa.
10 Mensaje de respuesta: este tipo de mensaje identifica a aquellos que se transmiten para
responder a un mensaje de peticin.
11 Mensaje de evento: mensaje que ser transmitido cuando cualquier nodo realice alguna
actividad, como pueden ser lectura de datos o actuar sobre algn dispositivo, etc.
Velocidad y Longitud