Академический Документы
Профессиональный Документы
Культура Документы
IS 404 01
Que es CAN?
Las siglas CAN significan Controller Area Network y es un protocolo de
comunicacin serial Multiplexado, el cual fue desarrollado por Bosch GmbH como un
sistema para el intercambio de informacin en los vehiculos.
IS 404 01
IS 404 01
IS 404 01
IS 404 01
IS 404 01
IS 404 01
IS 404 01
Unidad de Control
Microcontrolador
RAM
ROM
Controlador CAN
CAN Transceptor
CAN L
(analogica / digital)
CAN H
Entradas y Salidas
Diversos
Sensores y actuadores
IS 404 01
Linea del
Bus
Voltaje (referencia a
tierra)
Recesivo
CANHIG
0V
dominant
e
Sleep
CANLOW
5V
Differen
z
-5 V
CANHIG
5V
CANLOW
0V
Diferenci
a
5V
CANHIG
0V
dominant: 5 V
CAN_H
rezessiv: 0 V
10s
CAN_L
rezessiv: 5 V
dominant: 0 V
CANLOW
12 V
IS 404 01
Voltaje de operacin en el
CAN Comfort:
Canal A : CAN_H
Canal B : CAN_L
IS 404 01
Estado
del Bus
Recesivo
Linea de
Bus
CANHIG
min.
nom.
max.
2,0 V
2,5 V
3V
dominant:
3,5V
dominant:
5V
CANLO
2,0 V
2,5 V
3V
Diferenc
ia
-0,5 V
0V
0,05 V
CANHIG
2,75 V
CAN_H
rezessiv 2,5V
2,5V
rezessiv:
0V
Dominan
te
CAN_L
3,5 V
4,5 V
CANLO
10s
2us
0,5 V
1,5 V
2,25 V
1,5 V
2V
3,0 V
rezessiv:
5V
rezessiv 2,5V
2,5V
dominant:1,5V
0V
dominant
Diferenc
ia
IS 404 01
Voltaje de operacin en el
CAN traccin:
Canal A : CAN_H
Canal B : CAN_L
IS 404 01
IS 404 01
IS 404 01
IS 404 01
IS 404 01
IS 404 01
Recepcin de datos
IS 404 01
IS 404 01
Los formatos de informacin sern transmitidos por medio de determinados protocolos llamados
Frames o tramas. A continuacin se mencionan los distintos tipos de Frames que se manejan:
Data Frame
Remote Frame
Error Frame
Overload Frame
Extended Data Frame
IS 404 01
IS 404 01
1.
Comienzo de datagrama.
Comienzo de
datagrama
IS 404 01
Campo de Estado.
El bit de comienzo esta seguido por el campo de estado, en este se encuentran el
identificador y el Bit RTR (Remote Transmission Request).
Sobre el identificador se determina el contenido (direccin lgica) y la prioridad del Mensaje.
Entre menor sea el valor mayor es la prioridad (0 es la mas alta prioridad). El identificador no
muestra la direccin del mensaje, sino describe el significado de los datos.
El identificador abarca o tiene una longitud de 11 bits y con esto tiene la posibilidad de
manejar 211(2048) mensajes. Los bits del identificador estn sealados de ID10 a ID0 y el
primer bit enviado o transmitido es el bit ms significante (MSB) que para este caso es ID10.
El bit RTR es usado para distinguir entre un Data Frame(RTR=dominante=0) y un Remote
Frame(RTR= recesivo=1). En el caso de que un Data Frame y un Remote Frame con el
mismo identificador sean transmitidos al mismo tiempo, el Data Frame tiene mayor prioridad
debido al bit dominante RTR seguido despus del identificador
IS 404 01
Campo de Control.
Este campo consiste de 6 bits. El primer bit R1 de este campo es llamado IDE (Identifier
Extension) y se encuentra en estado dominante para especificar que el Frame es un
Standard Frame (CAN 2.0A), de otra manera en estado resesivo indica que el Frame se
encuentra en su estado extendido (identificador de 29 bits CAN 2.0B). El siguiente bit R0 se
encuentra reservado y definido como bit dominante. Los restantes 4 bits especifican la
longitud del campo de datos (DLC=Data Lenght Code) en Bytes.
IS 404 01
Campo de datos.
Contiene los datos de aplicacin del mensaje (Por ejempo la velocidad del vehiculo en
Km/hr), su longitud puede ser de 0 a 8 bytes y fue especificada en el campo de control. La
transmisin comienza con el bit ms significante.
5.
Campo de Aseguramiento.
El campo CRC( Cyclic Redundancy Check) consiste de una secuencia de prueba de 15bits
y es completada a travs de un bit delimitador que es transmitido es estado resesivo. Esta
prueba se utiliza para detectar posibles errores en la transmisin. Cabe notar que esta
prueba no se usa para corregir los errores encontrados.
IS 404 01
ACK Slot
Bit
Delimitador
de ACK
IS 404 01
IS 404 01
IS 404 01
Nodo A
Nodo B
(Oil tempsensor)
115grados
Data Frame; identificador oil_tmp; contiene
la informacin deseada
115oC
Escenario de un Remote Frame
IS 404 01
IS 404 01
IS 404 01
Error Frame
El nodo X (Tx) detecta en el punto 1 un error de bit en el campo de datos. El sealiza ya este error en el siguiente
bit activando un error con bandera activa (2).
Los otros elementos (nodos Y,Z) detectan despus del sexto bit recibido la bandera de error (3) por su parte
detectan un error Bit-Stuffing y envan ahora naturalmente una bandera de error sobre el bus (4), de tal manera
que tenemos una bandera de error con una longitud total de 12bits.
Todos los nodos activan en respuesta a sus propias banderas de error un nivel resesivo sobre el bus. Para el
emisor X los bits resesivos que el enva no llegan a tener ningn efecto cuando los nodos Y y Z transmiten bits
dominantes sobre el bus. El nodo X se da cuenta por medio de esto(5), que el ha sido el primero en sealizar el
error. Con los siguientes 7 siguientes bits resesivos que originan en total 8 bits de longitud se marca el final del
error.
Despus de los 3 bits del Interframe Space comienza el emisor la repeticin del Data Frame con una repeticin del
proceso de Arbitration (6).
IS 404 01
Overload Frame
Overload Frame
Cuando un nodo esta demasiado ocupado y no puede con el procesamiento de datos, el puede enviar
un Overload Frame, para que el siguiente Data Frame o Remote Frame sea retrasado. Un Overload
Frame puede ser tratado como un Error Frame especial y esta constituido como ste con una bandera
( Overload Flag) as como con un delimitador (Overload delimiter).
En general la forma del Overload Flag corresponde a la de una seal con error activo. Se compone de
una serie de 6 bits dominantes y destruye la forma establecida del Interframe Space. De hecho un
Overload Frame solo puede ser generado dentro de este espacio. Esta es la forma en la que un
Overload Frame puede ser diferenciado de un error Frame ( un error Frame es enviado durante la
transmisin de un mensaje). El Overload Frame termina con una serie de 8 bits resesivos, de la
misma manera que Error Frame. Un nodo puede generar un mximo de 2 consecutivos Overload
Frames para retrasar el envo del siguiente mensaje.
IS 404 01
Bus-Idle
Por el concepto de Bus-Idle se entiende un Bus desocupado, el cual esta listo para una transmisin
de datos. Un Emisor reconoce que el bus esta libre si el distingue que por lo menos hay 11 bits
consecutivos en un nivel resesivo( ACK+ EOF+ IFS ).
IS 404 01
Manejo de Errores
Identificacin de Errores
El protocolo del CAN define no menos de cinco diferentes formas de detectar errores. Dos de estos
trabajan a nivel de bit y los otros tres a nivel de mensaje.
Error de Bit.
Cada transmisor en el CAN monitorea ( lee de nuevo) el nivel de seal transmitido. Si el nivel del bit
ledo en ese momento difiere del transmitido, un Error de Bit es sealizado. Un Error Frame se genera
y el mensaje es repetido.
Cuando un bit dominante es detectado en lugar de un bit resesivo, durante el proceso de Arbitration o
en el ACK Slot no ocurre ningn error porque estos campos deben de poder ser sobrescritos por un
bit dominante para lograr la funcionalidad en los procesos mencionados. Tampoco la sobre escritura
de una bandera de error pasiva (nivel resesivo) es considerara por un nodo emisor como un Error de
bit, en este caso se supone que otro nodo la ha cambiado a bandera activa.
Bit Stuffing Error.
Si seis consecutivos bits con la misma polaridad son detectados entre el SOF y el delimitador del
CRC, la regla del Bit Stuffing ha sido violada. Entonces un Error Frame es generado y el mensaje es
repetido.
IS 404 01
Manejo de Errores
Error CRC
Con el mtodo de Cyclic Redundancy Check, el transmisor calcula una suma para la secuencia
de bits desde el bit del SOF hasta el fin del campo Data. Esta secuencia del CRC es transmitida
en el campo CRC de la estructura del CAN. El nodo receptor tambin calcula la secuencia CRC
usando la misma frmula y realiza una comparacin con la secuencia recibida. Si el nodo
receptor detecta una inconcordancia entre la secuencia recibida y la calculada entonces se
genera un CRC Error.
El nodo receptor desecha el mensaje y transmite un Error Frame para solicitar la retransmisin
del Data Frame.
Form Error
Algunas partes del Mensaje del Can tienen un valor fijo, esto es los estndares definen que
niveles exactamente deben de ocurrir y cuando. Si un transmisor detecta por ejemplo un bit
dominante en alguno de estos segmentos: delimitador del CRC, delimitador del ACK, Interframe
Space, entonces un Form Error ha ocurrido y el Error Frame es generado. La deteccin, sin
embargo, de un bit dominante en el ltimo bit del EOF no es considerado como un error de bit.
Acknowledgement Error
Todos los nodos que han recibido correctamente el mensaje ( independientemente de que estn
interesados en el mensaje o no ) deben de enviar un bit dominante en el ACK Slot del mensaje.
El transmisor enviar un nivel resesivo en este campo. Si el transmisor no puede detectar un bit
dominante el ACK Slot, un Acknowledgement Error es generado.
IS 404 01
Tacto
Cdigo NRZ
Cdigo RZ
IS 404 01
Bit Stuffing
IS 404 01
Campo CRC
IS 404 01
Resto= 110
Resto= 0
IS 404 01
Topologias de Redes
Estructura de anillo
Ventajas:
Integracin de un nuevo miembro sin requerimientos adicionales.
Desventajas:
Integracin de nuevo nodo requiere ruptura del anillo
Falla en un nodo falla toda la red
Falla de alimentacin en un nodo interrumpe el flujo de informacin en toda la red
IS 404 01
Topologias de Redes
Estructura de ejemplo Interbus-S Phoenix
ECU
1
RX
TX
ECU
2
RX
TX
ECU
3
RX
TX
ECU
4
RX
TX
ECU
5
RX
TX
IS 404 01
Topologias de Redes
Estructura de estrella
Ventajas:
Aislamiento fisico entre estaciones.
Problemas de seguridad son solucionables mediante la central.
Desventajas:
El numero de cables depende del numero de estaciones.
IS 404 01
IS 404 01
Control de Errores
Control de Errores
El manejo de errores se da en el siguiente orden:
1. Error Detectado
2. Un Error Frame es transmitido
3. El mensaje es descartado por cada uno de los nodos de la red.
4. Los contadores de errores de cada uno de los nodos son incrementados.
5. La transmisin del mensaje ser repetida.
Para prevenir un estado permanentemente perturbado del bus generado por error frames debido a una perturbacin
local de uno o un grupo de nodos, hay implementado un algoritmo especial para limitar los efectos de esta
clase de errores. Cada controlador del CAN tiene tres estados de errores:
1.
Error Activo. Un nodo con error activo puede normalmente tomar parte en las comunicaciones del bus y envia
un error con bandera activa cuando un error ha sido detectado.
2.
Error pasivo. Un nodo con error pasivo puede normalmente tomar parte en las comunicaciones del bus y envia
un error con bandera pasiva cuando un error ha sido detectado. Despus de la transmisin un error pasivo
esperara un tiempo adicional antes de iniciar con cualquier otra transmisin.
3.
Bus Off. Un nodo se encuentra en el estado de Bus off cuando este es desconectado del bus a una solicitud
de una entidad . En este estado un nodo no puede ni enviar ni recibir cualquier clase de Frames.
Cambiar el estado de un error activo a uno pasivo y viceversa es hecho automticamente por el controlador del CAN.
Un nodo puede dejar el estado de BUS Off solamente bajo la solicitud de usuario( reset de hardware o
software).
IS 404 01
Control de Errores
Los diferentes estados dependen de los valores de los llamados contadores de errores. Existe un contador llamado
Contador de Errores Recibidos (REC) y uno llamado Contador de Errores Transmitidos(TEC) en cada controlador.
Los estados de los errores estn definidos bajo las siguientes condiciones:
Error Activo. Los valores de los contadores REC y TEC son ambos menores o iguales a 127.
Error Pasivo. Al menos uno de los contadores es ms grande que 127 y el TEC es menor o igual a 255.
Bus Off. El TEC es mayor que 255.
Normal_Mode_Request
Error Activo
REC<=127
and
TEC<=127
Normal_Mode_Request
REC>127 o
TEC>127
Error Pasivo
Y 128 ocurrencias de 11
consecutivos bits
resesivos.
BusOff
TEC>255
IS 404 01
Control de Errores
Los valores de los contadores son modificados de acuerdo a las siguientes reglas ( ms de una regla puede
aplicar durante la transmisin de una estructura dada).
a)
Cuando un receptor detecta un error, el REC ser incrementado en 1, excepto cuando el error detectado
es un error de bit durante el envo de una bandera con error activo.
b)
Cuando un receptor detecta un bit dominante como el primer bit despus de enviar un error flag, el REC
es incrementado en 8.
c)
Cuando un transmisor enva un error flag, el TEC es incrementado en 8. El TEC permanece invariable
con las siguientes excepciones:
Excepcin 1: Si el transmisor esta en el edo. de error pasivo y detecta un acknowledgement error
debido a la no deteccin de un bit dominante en el ACK Slot y no detecta un bit dominante mientras envia
su bandera con error pasivo.
Excepcin 2: Si el transmisor enva un error flag debido a un stuff error ocurrido durante el proceso de
Arbitration, y debera haber sido resesivo, y fue enviado como resesivo pero ledo como dominante.
d)
S un transmisor detecta un bit de error mientras enva una bandera con error activo o de overload, el
TEC es incrementado en 8.
e)
Si el receptor detecta un bit de error mientras enva una bandera con error activo, el REC es
incrementado en 8.
IS 404 01
Control de Errores
f)
Cualquier nodo tolera arriba de 7 bits dominantes despus de enviar una bandera con error
activo, error pasivo o bandera de overload. Despus de detectar el 14 avo bit dominante
consecutivo ( en caso de una bandera con error activo o de una bandera de overload) o
despus de detectar el 8vo bit dominante consecutivo que sigue a un error pasivo, y despus de
cada secuencia adicional de 8 bits dominantes cada transmisor incrementa su TEC en 8 y cada
receptor incrementa su REC en 8.
g)
Despus de una transmisin exitosa de algn Frame ( teniendo el ACK y no detectando ningn
error hasta el final del EOF) el TEC es decrementado en 1 a menos que este se encuentre en 0.
h)
Despus de una recepcin exitosa de algn Frame ( recepcin sin error en el ACK Slot y el
envo exitoso del bit ACK, el REC es decrementado en 1, si este estaba entre 1 y 127. Si el
REC estaba en 0, este permanece en 0; si era mayor que 127, entonces este ser puesto entre
119 y 127.
IS 404 01
GGGG
Xxxx
El sentido de esta identificacin reside en facilitar al controlador del CAN la decodificacin de los
mensajes. Asi el procesador de la unidad de mando no es saturado cuando son recibidos
mensajes indeseados.
IS 404 01
Identificador de la unidad
Descripcin
x0x
Espejos, MMI
x1x
Memoria
x2x
Instrumento Combinado
x3x
Luces, Cambiador de CD
x4x
x5x
Airbag, Gateway
x6x
x7x
Bordnetz
x8x
x9x
xAx
Biepers, Navegacin
IS 404 01
Identificador de la unidad
Descripcin
xBx
xCx
xDx
xEx
xFx
reservado
IS 404 01
Identificador de la unidad
Descripcin
x0xH
Motor
x2xH
Instrumento Combinado
x4xH
Caja
x6xH
ADR
x8xH
Motor
xAxH
ABS
xCxH
xExH
Clima
x1xH
x5xH
Airbag
x7xH
Bordnetz
IS 404 01
Vbat
Nodo1
Caso 3
Nodo 2
Caso 6
Nodo 3
Caso 1
CAN_L
Caso 8
Caso 7
CAN_H
Caso 2
Caso 4
Caso 5
GND
GND
IS 404 01