Está en la página 1de 7

BUS CAN

El bus CAN (Controller Area Network) es un protocolo de comunicacin serial


internacionalmente estandarizado por ISO (11898, 11519), fue desarrollado inicialmente
por BOSCH, una empresa alemana en 1986 como un medio de comunicacin entre los
sistemas de control electrnico en un automvil, originalmente fue concebido con la
finalidad de reducir los mltiples buses de datos existentes en los vehculos, disminuyendo
el cableado y el peso del automvil, traduciendo lo anterior en ahorro de combustible.
Hoy en da, CAN es ampliamente aceptado por su alto rendimiento y fiabilidad, se utiliza
en la industria automotriz, buques marinos, equipos mdicos y aplicaciones industriales
entre otras.
Estndar CAN
El protocolo de comunicacin CAN est basado en 3 capas del modelo de referencia OSI
(Open Systems Inteconection): [a]
Capa Fsica: Responsable de la transferencia de informacin entre los distintos
nodos de la red, define las especificaciones elctricas del bus.
Capa de Enlace de Datos: Es responsable del acceso al medio y el control lgico, se
encarga de la gestin de mensajes, el arbitraje y la sincronizacin con el bus y el
monitoreo de posibles errores.
Capa de Aplicacin: Se compone de dispositivos de control lgico como
Microcontroladores, procesadores digitales de seales, etc. Los cuales procesan la
informacin entrante y saliente del bus.

Fig. b Arquitectura del Protocolo CAN


Estructura del Bus

Fig. ccc Estructura del Bus CAN
La figura cccc muestra la estructura del bus CAN. La norma ISO-18898-2 no especifica un
tipo de cable o conector en particular, sin embargo especifica que al final de cada cable se
debe colocar una resistencia de 120 en paralelo tal como lo muestra la figura ccc. Cada
nodo est compuesto por una unidad de control (Microcontrolador, Microprocesador, PC,
etc.), un controlador CAN y un transceiver. De tal manera que es posible conectar mltiples
nodos al bus. Los cables son denominados CAN high (CANH) y CAN low (CANL). [b]
Un transceiver por su parte, adecua en hardware los niveles lgicos requeridos para el
funcionamiento del bus. Existen 2 estados lgicos en el bus CAN de acuerdo a la figura ddd
Dominante: Tensin diferencial CANH-CANL de 2v
Recesivo: Tensin diferencial CANH-CANL de 0V.

Fig. ddd Estados y niveles lgicos en el bus CAN

El protocolo de comunicacin CAN puede ser configurado para diferentes tasas de
transferencia de datos tal como lo indica la siguiente imagen: [c]

Fig. eee Tasa de Transferencia de Datos en Bus CAN

Estructura de las Tramas
La comunicacin dentro del protocolo CAN se desempea mediante las siguientes tramas
de informacin[d]:
Trama de datos: Es utilizada por la unidad transmisora para enviar mensajes a la
unidad receptora
Trama de solicitud remota: Es empleada por la unidad receptora para solicitar la
transmisin de un mensaje a una unidad transmisora
Trama de Error: Notifica a otros nodos cuando un error es detectado
Trama de sobrecarga: Es empleada por las unidades receptoras para notificar que
el nodo an no se encuentra listo para recibir un mensaje
Trama de interespacio: Se encarga de separar una trama (cualquier tipo) de la
siguiente.
A continuacin se explica de manera breva la estructura de la Trama de Datos y la Trama
de solicitud Remota.

Trama de Datos
La figura fff muestra la estructura de la trama de datos:

Fig. fff Trama de datos del Protocolo CAN

SOF (Start Of Frame): Indica el inicio de la trama (1 bit).
Arbitration Field (Campo de Arbitraje): Indica la prioridad de la trama, mientras ms
pequeo sea el valor, adquiere mayor prioridad (11 bits en CAN estndar y 29 bits en CAN
extendido).
Control Field (Campo de Control): Contiene bits reservados e indica el nmero de datos
a transmitir que puede ser entre el rango de 0-8 bytes. (6 bits)
Data Field (Campo de Datos): Contiene los datos enviados (0 a 8 bytes segn lo indique
el campo de control).
CRC Field (Campo CRC): Es empleado para verificar un error en la transmisin de la
trama. (18 bits)
ACK Field (Campo ACK): Indica que el mensaje ha sido recibido satisfactoriamente.
EOF (Final de la Trama): Final de la trama o End Of Frame, indica el final de la trama de
datos. (7 bits).

Trama de Solicitud Remota
La trama de solicitud remota contiene los mismos campos que la trama de datos a
excepcin del campo de datos. Figura ggg

Fig. ggg Trama de Solicitud Remota del Protocolo CAN
Est trama es empleada cuando un nodo quiere obtener informacin de otro. La solicitud es
enviada y el nodo que posee dicha informacin, enva un mensaje en respuesta.






Proceso de Transmisin y Recepcin en Bus CAN



Fig. jjj Proceso de Transmisin y Recepcin de un Mensaje va CAN
Seleccin del Tipo de mensajes
(Estndar o Extendido)
Definir Identificador del
nodo 0 (Prioridad)
Definir Identificador de
nodo destino
Definir cantidad de datos
a transmitir (0- 8 bytes)
Cargar dato al
buffer transmisor
Mensaje
Enviado?
Fin
No
Configuracin de
Baud rate
Transmisin
nodo 0
Seleccin del Tipo de mensajes
(Estndar o Extendido)
Definir Identificador del
nodo 1 (Prioridad)
Cargar dato al
buffer transmisor
I mensaje =
I Filtro
Destino
correcto
No
Configuracin de
Baud rate
Recepcin
nodo 1
Mensaje?
No
Definir Identificador
del filtro de recepcin
Desecha
mensaje
Cada nodo conectado al bus CAN debe tener configurada por software dentro del
controlador la misma tasa de transferencia para evitar errores durante el envo de mensajes,
a continuacin se explica brevemente cada bloque del proceso de Transmisin y recepcin:
Transmisin
1. Seleccin del tipo de mensajes: El protocolo de comunicacin can puede ser
configurado en dos modos, extendido y estndar. La diferencia radica en el nmero
de bits para definir un nodo que contiene cada uno.

a. CAN Estndar: 11 bits,

posibles combinaciones para definir un nodo.


b. CAN Extendido: 29 bits,

posibles combinaciones para definir un nodo.



2. Definir el identificador del nodo: Se le asigna un valor para identificar al nodo,
mientras ms prximo a cero sea ese valor, el nodo tendr mayor prioridad de
transmisin.

3. Definir identificador del nodo destino: Se define el identificador del nodo al que
se le va a enviar el mensaje.

4. Definir cantidad de datos a transmitir: 0 8 bytes de informacin.

5. Verificar envo de mensaje: El controlador verifica que el mensaje haya sido
recibido.

Recepcin
Los pasos 1 y 2 son exactamente iguales que en el proceso de transmisin
3. Definir identificador de Filtro de recepcin: El filtro de recepcin es un valor que
se compara con el identificador de un mensaje transmitido, si el identificador del
filtro y el identificador del mensaje son idnticos, el mensaje es aceptado.

4. Mensaje nuevo en el Bus?: Se espera hasta que exista un mensaje en el bus y de
haberlo se carga en el buffer receptor.

5. Comparacin: Si el identificador del mensaje, coincide con el identificador del
filtro, el mensaje es aceptado. En caso contrario el mensaje es desechado.



[a] Texas Instruments, Introduction to the Controller Area Network (CAN) Reporte de
Aplicacin, Julio 2008.
[b] Microchip Technology Inc, A CAN Physical Layer Discussion, Hoja de aplicacin,
2002.
[c] Hurtado Chavez Jos Luis, Sistema de Iluminacin con Bus CAN,
[d] Renesas Electronics Corporation, Introduction to CAN, Nota de aplicacin, Abril
2010.

También podría gustarte