IS 404 01IS 404 01IS 404 01IS 404 01
CAN bus
Controller Area Network
CAN
IS 404 01IS 404 01IS 404 01IS 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 01IS 404 01IS 404 01IS 404 01
Ventajas del CAN
El CAN bus fue desarrollado para el intercambio de informacin en tiempo real entre los diferentes componentes y procesadores logrando las siguientes mejoras:
Escalable.- Si el protocolo de datos debe ser ampliado con infomarcin suplementaria solamente se necesitan modificaciones de el software en la unidad de control.
Transmision rapida de datos entre las unidades de control.
Mas espacio disponible, mediante ECU mas pequeas y conectores mas compactos.
Menos sensores y cables de seales gracias al uso multiple de una misma seal de sensores
El CAN bus esta normalizado a nivel mundial, por esta razon unidades de control de diferentes fabricantes pueden comunicarse entre si, y con esto se reducen los costos de implementacin
Un bajo porcentaje de errores mediante una verificacin continua de la informacin transmitida, de parte de las unidades de control, y mediante protecciones adicionales en los protocolos de datos
IS 404 01IS 404 01IS 404 01IS 404 01
Generalidades del CAN-Bus
El Can Bus tiene las siguientes cualidades:
Transmisin de datos en tiempo real.
Longitud del bus de 40m a 1Km.
Velocidad de transmisin: mx.. 1Mb (Longitud del bus 40m), 50Kb (longitud del bus 1Km).
Participantes o nodos: mx.. 200 nodos-CAN, junto con los cuales estan respectivamente los diferentes sensores y actuadores.
Costos bajos en la conexin de un nuevo participante.
Medio de transmisin: 2 lneas de cable trenzado.
Alta seguridad en la transmisin de datos.
Topologa: Bus lineal con terminacin de lnea
IS 404 01IS 404 01IS 404 01IS 404 01
Generalidades del CAN-Bus
Acceso al bus: Multimaestro / CSMA (Carrier Sense Multiple Access) / CD (Collision Detect). El acceso al bus se efecta cuando el bus esta libre a travs de los diferentes participantes. Si dos participantes solicitan el acceso al bus al mismo tiempo, cuando el bus se encuentra libre, entonces permanece el participante con mayor prioridad (Bus Arbitration).
IS 404 01IS 404 01IS 404 01IS 404 01
Generalidades del CAN-Bus
Comunicacin tipo Broadcast. El CAN en comparacin con otros protocolos utiliza un direccionamiento orientado a objetos. Esto significa, que no cada participante tiene una direccin, sino que el mensaje es transmitido a traves del bus y es reconocido con un identificador como direccin fuente por el nodo interesado. Es muy similar a una conferencia telefnica. En la cual un abonado habla, todos escuchan y responde el interesado.
IS 404 01IS 404 01IS 404 01IS 404 01
Estructura de un nodo CAN
La especificacin de CAN, solamente utiliza la capa 1 (Fsica) y la capa 2 (Enlace) del modelo de interconexin de sistemas abiertos OSI de ISO.
IS 404 01IS 404 01IS 404 01IS 404 01
Componentes del CAN-Bus (Capa 1 de OSI)
El CAN-Bus esta constituido por los siguientes elementos:
Controlador CAN
Transceptores CAN
Cables del bus de datos
Elementos finales del bus de datos.
IS 404 01IS 404 01IS 404 01IS 404 01
Componentes del CAN-Bus (Capa 1 de OSI)
Lneas del CAN-Bus
Son bidireccionales y sirven para transmitir las seales elctricas entregadas por el transceptor CAN. Las lineas del CAN-Bus estn conformadas generalmente por cables de cobre trenzados. Con una separacin de 20mm entre los trenzados con un rea transversal de 0.35mm2 o 0.5mm2 .
En el CAN Traccin la lnea del CAN-H esta identificada con los colores naranja-negro y el CAN-L en naranja-caf. En el CAN Comfort la lnea del CAN-H esta identificada con los colores naranja-verde y el CAN-L en naranja-caf. En el CAN Infortainment la lnea del CAN-H esta identificada con los colores naranja-lila y el CAN-L en naranja-caf.
Controlador CAN
El controlador CAN recibe del microprocesador, en la unidad de control, los datos que han de ser transmitidos. Los acondiciona y los pasa al transceptor CAN. Asimismo recibe los datos procedentes del transceptor CAN, los acondiciona y los pasa al microcontrolador en la unidad de control.
Transceptor CAN
Es un transmisor y un receptor. Transforma los datos del controlador CAN en seales elctricas y transmite stas sobre los cables del CAN-Bus. Asimismo recibe los datos y los transforma para el controlador CAN.
Elemento final del bus de datos
Es una resistencia. Evita que los datos transmitidos sean devueltos en forma de eco de los extremos de los cables y que se falsifiquen los datos.
IS 404 01IS 404 01IS 404 01IS 404 01
Componentes del CAN-Bus (Capa 1 de OSI)
RAM
Unidad de Control
Microcontrolador
Controlador CAN
CAN Transceptor
ROM
CAN H
CAN L
Entradas y Salidas(analogica / digital)
}
DiversosSensores y actuadores
IS 404 01IS 404 01IS 404 01IS 404 01
Tabla de Voltaje en el CAN Bus Comfort (Capa 1 de OSI)
Estado del Bus
Linea del Bus
Voltaje (referencia a tierra)
Recesivo CANHIGH
0 V
CANLOW 5 V
Differenz
-5 V
dominante
CANHIGH
5 V
CANLOW 0 V
Diferencia
5 V
Sleep CANHIGH
0 V
CANLOW 12 V
t
10s
CAN_H
CAN_L
rezessiv: 0 V
rezessiv: 5 V
dominant: 5 V
dominant: 0 V
U
U
CAN-Signalpegel (gegen Masse)
IS 404 01IS 404 01IS 404 01IS 404 01
Voltaje en el CAN Bus Comfort (Capa 1 de OSI)
Voltaje de operacin en el CAN Comfort:
Canal A : CAN_H
Canal B : CAN_L
IS 404 01IS 404 01IS 404 01IS 404 01
Tabla de Voltaje en el CAN Bus Traccin (Capa 1 de OSI)
Estado del Bus
Linea de Bus
Voltaje con referencia a Tierra
min. nom. max.
Recesivo CANHIGH
2,0 V 2,5 V 3 V
CANLOW
2,0 V 2,5 V 3 V
Diferencia
-0,5 V 0 V 0,05 V
Dominante
CANHIGH
2,75 V 3,5 V 4,5 V
CANLOW
0,5 V 1,5 V 2,25 V
Diferencia
1,5 V 2 V 3,0 V
t
10s
CAN_H
CAN_L
rezessiv: 0 V
rezessiv: 5 V
dominant: 5 V
dominant: 0 V
U
U
CAN-Signalpegel (gegen Masse)dominant: 3,5V
2,5V
2,5V
rezessiv 2,5V
rezessiv 2,5V
dominant 1,5V
2us
IS 404 01IS 404 01IS 404 01IS 404 01
Voltaje en el CAN Bus Traccin (Capa 1 de OSI)
Voltaje de operacin en el CAN traccin:
Canal A : CAN_H
Canal B : CAN_L
IS 404 01IS 404 01IS 404 01IS 404 01
Transceptores en el CAN Bus Traccin (Capa 1 de OSI)
IS 404 01IS 404 01IS 404 01IS 404 01
Transceptores en el CAN Bus Traccin (Capa 1 de OSI)
Ejemplo posiciones de conmutacin en 3 tranceptores
IS 404 01IS 404 01IS 404 01IS 404 01
Ciclo de transmisin de datos (Capa 2 de OSI)
IS 404 01IS 404 01IS 404 01IS 404 01
Componentes del CAN-Bus (Capa 2 de OSI)
IS 404 01IS 404 01IS 404 01IS 404 01
Envio de datos consulta
IS 404 01IS 404 01IS 404 01IS 404 01
Recepcin de datos
IS 404 01IS 404 01IS 404 01IS 404 01
Componentes del CAN-Bus (Capa 2 de OSI)
Cada Receptor que ha recibido corectamente el mensaje, confirma en este momento el mensaje con un pulso en nivel dominante
IS 404 01IS 404 01IS 404 01IS 404 01
Componentes del CAN-Bus (Capa 2 de OSI)
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 FrameRemote FrameError FrameOverload FrameExtended Data Frame
IS 404 01IS 404 01IS 404 01IS 404 01
Composicin de la trama de datos CAN (Capa 2 de OSI)
Con un Data Frame se realiza una transmisin de datos de un emisor a uno o varios receptores y no es necesario un controlador maestro para supervisar la comunicacin en la red.
El protocolo de enlance de datos consta de un gran nmero de bits enlazados. Siempre comienza con un indicador de inicio de mensaje, consta de una direccin o identificador, puede contener datos, incluye un CRC y requiere de un acknowledgement o acuse de recibo de todos los nodos de la red.
La trama de datos se compone de 7 campos:
Comienzo de datagramaCampo de estadoCampo de ControlCampo de datosCRC (Cyclic Redundancy Field)ACK (Acknowledge) ConfirmacinEOF (End of Frame) Fin de la trama
IS 404 01IS 404 01IS 404 01IS 404 01
Composicin de la trama de datos CAN(Capa 2 de OSI)
Comienzo de datagrama1. Comienzo de datagrama.
Marca el comienzo del protocolo de enlace de datos con un bit dominatne. En el cable CAN-High Comfort se transmite un bit con aprox. 5 voltios y en el cable CAN-Low Comfort se transmite un bit con aprox. 0 voltios.
IS 404 01IS 404 01IS 404 01IS 404 01
Composicin de la trama de datos CAN(Capa 2 de OSI)
2. 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 01IS 404 01IS 404 01IS 404 01
Composicin de la trama de datos CAN (Capa 2 de OSI)
3. 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 01IS 404 01IS 404 01IS 404 01
Composicin de la trama de datos CAN (Capa 2 de OSI)
4. 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 01IS 404 01IS 404 01IS 404 01
Composicin de la trama de datos CAN (Capa 2 de OSI)
6. Trama ACK (Confirmacin).
El campo ACK (Akcnowledge) consta de 2 bits, uno de los cuales es llamado Acknowledge Slot y el otro acknowledge Delimiter el cual es recesivo.
Cualquier controlador del CAN que ha sido capaz de recibir correctamente el mensaje sobrescribe el nivel resesivo ( manejado por el emisor del mensaje) por un nivel dominante en el bit de Acknowledge Slot. Este bit es ledo de nuevo por el emisor del mensaje, si el valor ledo en el ACK Slot no corresponde a un nivel dominante, entonces esto se maneja como un error y el emisor reenva de nuevo el mensaje.
Bit Delimitador. Este bit es necesario, para poder diferenciar de una confirmacin positiva de un receptor( un bit dominante en el ACK Slot) de una eventual y simultanea bandera de error, la cual ha comenzado a generarse. Este bit adems no puede ser sobrescrito por un bit dominante. Como consecuencia el Bit ACK Slot se encuentra entre 2 bits recesivos.
Campo ACK
ACK Slot Bit Delimitador
de ACK
Nota: si el emisor detecta la presencia del ACK bit el no puede asegurar que el mensaje fue recibido por las aplicaciones correspondientes, de lo nico que se puede estar seguro es que uno o mas nodos en el bus lo han recibido sin ningn error.
IS 404 01IS 404 01IS 404 01IS 404 01
Composicin de la trama de datos CAN (Capa 2 de OSI)
7. EOF Fin de la trama.
El EOF esta constituido por una secuencia de 7 bits recesivos. Y cada Data Frame o Remote Frame es concluido con este campo.EL EOF es distinguido por un cdigo de violacin, ya que normalmente despus del quinto bit con la misma polaridad un bit adicional (Stuffing Bit) con polaridad invertida es intercalado. El EOF omite este procedimiento y en su lugar marca el final del Data Frame.
IS 404 01IS 404 01IS 404 01IS 404 01
Remote Frame (Capa 2 de OSI)
El Remote Frame es muy similar al Data Frame, con dos diferencias importantes:
En la trama de datos el bit RTR es transmitido como un bit dominante mientras que en el segundo, el bit RTR del campo de estado es recesivo. Con esto,en el caso de que una trama de datos y un Remote Frame sean transmitidos simultneamente, La trama de datos tiene prioridad debido al bit dominante RTR que se encuentra despus del identificadorEn el Remote Frame el Campo de Datos esta vaci, independientemente de que el cdigo de longitud de datos contenga un valor admisible ( de 0 a 8). Este valor corresponde ms bien a la longitud de la palabra que se espera en el Data Frame.El propsito de un Remote Frame es solicitar la transmisin del correspondiente Data Frame.
IS 404 01IS 404 01IS 404 01IS 404 01
Remote Frame (Capa 2 de OSI)
Si un nodo desea solicitar datos de la fuente, este enva un Remote Frame con un identificador que corresponde con el identificador del Data Frame requerido. El nodo con la fuente apropiada de datos enviara un Data Frame como respuesta a la solicitud hecha.
Remote Frame; identificador oil_tmpNodo B
(Oil tempsensor)
Nodo A
Que tan caliente esta el aceite?
115grados
Data Frame; identificador oil_tmp; contiene la informacin deseada
115oC
Escenario de un Remote Frame
IS 404 01IS 404 01IS 404 01IS 404 01
Error Frame (Capa 2 de OSI)
Un Error Frame es un mensaje especial que viola las reglas de un mensaje del CAN y que puede ser generado por cualquier nodo que detecta un error en el bus. El error Frame consiste de 2 campos un campo llamado Error Flag seguido por otro llamado Error Delimiter. El delimitador de error consiste de 8 bits recesivos y permite que los nodos del bus reestablezcan limpiamente la comunicacin con el bus despus de un error. Sin embargo, en el campo de Error Flag tenemos dos variantes: Una seal con Error Activo y otra con Error Pasivo. La forma que tome el campo de Error Flag depende del estatus de error de la estacin que detecto el error.
La seal con Error Activo esta compuesta de 6 sucesivos bits dominantes. La seal con Error pasivo esta compuesta de 6 sucesivos bits resesivos.
IS 404 01IS 404 01IS 404 01IS 404 01
Error Frame, Delimitador de Error (Capa 2 de OSI)
Error Delimiter
El delimitador de error consta de 8 bits resesivos. Tras la transmisin de un Error Flag, cada nodo enva bits resesivos y monitorea el bus hasta que detecta un bit resesivo. Este entonces comienza a transmitir 7 bits recesivos ms en el bus. Con este mecanismo un nodo de red puede determinar, si el ha sido el primero en comenzar a transmitir un Error Flag y por consiguiente el primero que ha detectado un error.
IS 404 01IS 404 01IS 404 01IS 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 01IS 404 01IS 404 01IS 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 01IS 404 01IS 404 01IS 404 01
Interframe Space (IFS)
Interframe Space
Un interframe Space separa una estructura precedente ( de cualquier tipo) de un Data Frame o Remote Frame subsecuente. Esta constituido de 3 bits resesivos y junto con los 7 bits que marcan el fin de un data Frame o Remote Frame ms el bit delimitador del ACK nos da como resultado una serie de por lo menos 11 bits resesivos entre dos Frames. Con esta serie se identifica por completo que el bus esta libre. La identificacin de un bit dominante es interpretada como el comienzo de una nueva estructura.
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 01IS 404 01IS 404 01IS 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 01IS 404 01IS 404 01IS 404 01
Manejo de Errores
Error CRCCon 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 ErrorAlgunas 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 ErrorTodos 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 01IS 404 01IS 404 01IS 404 01
Bit Stuffing, Manejo de errores (Capa 2 de OSI)
Bit Stuffing
La representacin de bit utilizada por el CAN-Bus es la codificacin NRZ(non-return-to-zero). Esto es cada bit esta representado por un nivel de seal constante durante el tiempo de bit. As el nivel de voltaje puede ser ledo ms fcilmente, sin embargo, se tiene un problema de sincronizacin cuando se tiene un conjunto de bits con el mismo valor, ya que el receptor no tiene la posibilidad de saber exactamentedonde comienza cada uno de esos bits. La nica manera de saber donde comienza o termina un bit es que el receptor tenga un reloj que sea identico al del transmisor, tal que este pueda decifrar la cadena de bits. Esto es llamado comunicacin sncrona. Sin embargo es muy difcil mantener dos osciladores exactamente sincronizados por un largo periodo de tiempo. Para solucionar este problema el CAN utiliza una tcnica llamada Bit Stuffing.
Tacto
Cdigo NRZ
Cdigo RZ
IS 404 01IS 404 01IS 404 01IS 404 01
Bit Stuffing, Manejo de errores (Capa 2 de OSI)
El Bit Stuffing es usado para garantizar suficientes marcas limites en el flujo de bits del NRZ para mantener la sincronizacin.
En el Can, seis bits consecutivos con la misma polaridad (111111 o 000000) son usados para sealizar un error. Para evitar este patrn especial en los Frames transmitidos, un bit con polaridad opuesta es insertado por el emisor despus de 5 bits consecutivos con la misma polaridad. Invirtiendo el procedimiento, estos bits son removidos en el lado del receptor antes de procesar el mensaje.
Bit Stuffing
IS 404 01IS 404 01IS 404 01IS 404 01
Campo CRC (Capa 2 de OSI)
Campo CRCEl 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. El mensaje es dividido por un generador especial de polinomios ( X15 + X14 + X10 + X8 + X7 + X4 + X3 + 1) y el resultado es almacenado en el campo CRC. Esta prueba se utiliza para detectar posibles errores en la transmisin. Cabe notar que esta prueba no se usa para corregir los errores encontrados.
El CRC es calculado por el transmisor y esta basado en el contenido del mensaje, todos los receptores que aceptan dicho mensaje realizan un calculo similar y lo comparan contra el CRC enviado, si estos no concuerdan se genera una bandera CRC.
Campo de Aseguramiento de datos
Bit delimitador CRC
Campo CRC
Secuencia de15 Bits del CRC
IS 404 01IS 404 01IS 404 01IS 404 01
Algoritmo (Capa 2 de OSI)
Ejemplo del algoritmo CRC para un mensaje de 4 bits:
1. Mensaje:2. Generador de polinomios:3. Desplazamiento de N hacia la izq.4. Divisin de polinomios N/G5. Aadir el resto de la divisin al mensaje6. Nuevo Mensaje:7. CRC
* Si el resto es diferente de 0, entonces la transmisin fue incorrecta
Resto= 110
Resto= 0
IS 404 01IS 404 01IS 404 01IS 404 01
Topologias de Redes
Estructura de anillo
Ventajas: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 01IS 404 01IS 404 01IS 404 01
Topologias de Redes
Estructura de ejemplo Interbus-S Phoenix
ECU1
ECU2
ECU3
ECU4
ECU5
RX TX RX TX RX TX RX TX RX TX
IS 404 01IS 404 01IS 404 01IS 404 01
Topologias de Redes
Estructura de estrella
Ventajas: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 01IS 404 01IS 404 01IS 404 01
Error Frame Error pasivo y Error activo (Capa 2 de OSI)
La seal con Error Activo esta compuesta de 6 sucesivos bits dominantes. La seal con Error pasivo esta compuesta de 6 sucesivos bits resesivos.
Cuando una estacin con Error activo detecta un error sobre el bus, esta lo sealiza a travs de la transmisin de una seal con Error Activo. La forma de esta seal viola la regla del Bit Stuffing, la cual es vlida para todos los campos desde el Startbit hasta el bit delimitador del CRC. Todas las dems estaciones reconocen el resultante Bit Stuffing Error y entonces generan ellas mismas sus Error Frames. Como resultado tenemos una secuencia de bits dominantes, los cuales son reconocidos sobre el bus, y que son debidos a la transmisin de diferentes seales de error, las cuales envan las diferentes estaciones. La longitud total de esta secuencia varia entre un mnimo de 6 bits y un mximo de 12 bits.
Una estacin con Error Pasivo
Cuando una estacin con Error Pasivo detecta un error sobre el bus, esta transmite una seal con Error Pasivo, seguido por el campo Error Delimiter. Por lo tanto El Error Frame consiste de 14 bits resesivos. De esto tenemos que, a menos que el error sea detectado por el nodo que esta transmitiendo actualmente (el master del Bus), la transmisin de un Error Frame con una estacin con error pasivo no afectar cualquier otro nodo en la red. Si el nodo maestro del bus genera una bandera con error pasivo entonces esto podra causar que otros nodos generaran error frames debido a la violacin del Bit Stuffing.
IS 404 01IS 404 01IS 404 01IS 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 01IS 404 01IS 404 01IS 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.
REC127
TEC>255
Normal_Mode_Request
Y 128 ocurrencias de 11 consecutivos bits
resesivos.
IS 404 01IS 404 01IS 404 01IS 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 01IS 404 01IS 404 01IS 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 01IS 404 01IS 404 01IS 404 01
Identificadores CAN para VW
Identificador: El objetivo de la utilizacin del CAN Bus en VW es el intercambio de datos entre las diferentes unidades de mando. El tipo de informacin esta codificada en un Identificador y puede ser evaluada por cada una de las unidades de mando. Para una mejor decodificacin de la informacin VW ha dividido la las seales en grupos o bloques, por eso el bloque que comprende los Bits 4...7 del identificador esta codificado. De esta manera puede ser codificada la prioridad del mensaje en los Bits 8...10 del identificador.
PPP.GGGG.xxxx Bits en el identificador CAN para VW
PPP Prioridad ( Bit 8...10)
GGGG Identificacin de la unidad de mando/Grupos ( Bit 4...7)
Xxxx Progresivo (Bit 0...3)
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 01IS 404 01IS 404 01IS 404 01
Identificadores CAN para VW
Las siguientes divisiones de grupos estan definidas para el CAN Comfort
Identificador de la unidad Descripcin
x0x Espejos, MMI
x1x Memoria
x2x Instrumento Combinado
x3x Luces, Cambiador de CD
x4x Control de presin de llantas, PDC
x5x Airbag, Gateway
x6x Radio, Telfono, DSP
x7x Bordnetz
x8x Puerta del conductor
x9x Central de Comfort, Remolque, Tanque de combustible
xAx Biepers, Navegacin
IS 404 01IS 404 01IS 404 01IS 404 01
Identificadores CAN para VW
Las siguientes divisiones de grupos estan definidas para el CAN Comfort
Identificador de la unidad Descripcin
xBx Puerta del acompaante y traseras
xCx Modulo del conmutador, MFL
xDx Quemacoco, Limpiadores, Capota
xEx Clima, Calefaccin adicional
xFx reservado
Mensajes de administrador de la red: 40xH
Protocolo de transporte: 2xxH, 3xxH, 4xxH, 6xxH, 7xxH
IS 404 01IS 404 01IS 404 01IS 404 01
Identificadores CAN para VW
Las siguientes divisiones de grupos estan definidas para el CAN Traccin
Identificador de la unidad Descripcin
x0xH Motor
x2xH Instrumento Combinado
x4xH Caja
x6xH ADR
x8xH Motor
xAxH ABS
xCxH Periferia del ABS
xExH Clima
x1xH Periferia del Motor
x5xH Airbag
x7xH Bordnetz
IS 404 01IS 404 01IS 404 01IS 404 01
Fallas en el CAN Comfort
En la siguiente figura se encuentran representadas los tipos de fallas en el CAN Bus segn ISO 11519.
Vbat
Nodo1 Nodo 3Nodo 2
Vbat
Caso 3 Caso 6
Caso 1
Caso 2 Caso 4 Caso 5
Caso 7
CAN_L
Caso 8
CAN_H
GND GND
CAN busQue es CAN?Ventajas del CANGeneralidades del CAN-BusGeneralidades del CAN-BusGeneralidades del CAN-BusEstructura de un nodo CANComponentes del CAN-Bus (Capa 1 de OSI)Componentes del CAN-Bus (Capa 1 de OSI)Componentes del CAN-Bus (Capa 1 de OSI)Tabla de Voltaje en el CAN Bus Comfort (Capa 1 de OSI)Voltaje en el CAN Bus Comfort (Capa 1 de OSI)Tabla de Voltaje en el CAN Bus Traccin (Capa 1 de OSI)Voltaje en el CAN Bus Traccin (Capa 1 de OSI)Transceptores en el CAN Bus Traccin (Capa 1 de OSI)Transceptores en el CAN Bus Traccin (Capa 1 de OSI)Ciclo de transmisin de datos (Capa 2 de OSI)Componentes del CAN-Bus (Capa 2 de OSI)Envio de datos consultaRecepcin de datosComponentes del CAN-Bus (Capa 2 de OSI)Componentes del CAN-Bus (Capa 2 de OSI)Composicin de la trama de datos CAN (Capa 2 de OSI)Composicin de la trama de datos CAN(Capa 2 de OSI)Composicin de la trama de datos CAN(Capa 2 de OSI)Composicin de la trama de datos CAN (Capa 2 de OSI)Composicin de la trama de datos CAN (Capa 2 de OSI)Composicin de la trama de datos CAN (Capa 2 de OSI)Composicin de la trama de datos CAN (Capa 2 de OSI)Remote Frame (Capa 2 de OSI)Remote Frame (Capa 2 de OSI)Error Frame (Capa 2 de OSI)Error Frame, Delimitador de Error (Capa 2 de OSI)Error FrameOverload FrameInterframe Space (IFS)Manejo de ErroresManejo de ErroresBit Stuffing, Manejo de errores (Capa 2 de OSI)Bit Stuffing, Manejo de errores (Capa 2 de OSI)Campo CRC (Capa 2 de OSI)Algoritmo (Capa 2 de OSI)Topologias de RedesTopologias de RedesTopologias de RedesError Frame Error pasivo y Error activo (Capa 2 de OSI)Control de ErroresControl de ErroresControl de ErroresControl de ErroresIdentificadores CAN para VWIdentificadores CAN para VWIdentificadores CAN para VWIdentificadores CAN para VWFallas en el CAN Comfort
Top Related