Beruflich Dokumente
Kultur Dokumente
Acceso al medio
Caractersticas generales Enlace de Datos Objetos y servicios Comunicacin broadcast Peticin de trama remota Arbitraje del bus Servicios de comunicacin Tramas CAN Trama CAN de datos Trama CAN remota Tratamiento de errores Trama de error activa Error de relleno (Stuff) Error de bit Error de CRC Error de reconocimiento (ACK) Error de forma Trama de error pasiva Trama de sobrecarga Resumen
CAN
2
ndice
CAN
CAN es un bus serie orientado a bits Especifica el nivel fsico y de enlace de datos del modelo OSI/ISO Transmisin de mensajes Broadcast Transmisin recepcin de pequeos mensajes en ambiente ruidoso
Identificacin en el mensaje en lugar de la direccin del nodo direccionado Acceso al bus Multi-maestro Arbitraje del bus NO destructivo Identificador de prioridad en los mensajes Sofisticado mtodo de deteccin de errores Retransmisin automtica de mensajes con fallos Confinamiento de fallos Velocidad mxima 1 Mbit/seg. y longitud mxima 40 m.
CSMA/CR (Carrier Sense Multiple Access / Collision Resolution) No destructivo Tiempo de latencia garantizado
Identificacin de mensajes
En CAN los nodos carecen de direccin especfica Todos los nodos reciben todos los mensajes y deciden ellos mismo su uso o no Cinco chequeos diferentes Participa cada nodo conectado Un mensaje es aceptado por todos los nodos o por ninguno
CAN
4
Caractersticas generales
CAN
3
Caractersticas generales
La capa de enlace representa el KERNEL (ncleo) del protocolo CAN Estandarizado en ISO 11898 Proporcionan primitivas para el envo y recepcin de mensajes Los servicios DLL estn implementados en los sub-niveles LLC (Logical Link Control) y MAC (Medium Access Control) de un controlador CAN LLC provee: filtrado de aceptacin de mensajes notificacin de sobrecarga manejo de recuperacin de tramas MAC es responsable de: encapsulado y des-encapsulado de datos codificacin de tramas (stuffing / destuffing) control de acceso al medio deteccin de error sealizacin de error reconocimiento (acknowledgement) serializacin (de-serializacin) Data Link Layer
CAN
6
Enlace de Datos
CAN
5
Caractersticas generales
Comunicacin Broadcast
Estacin CAN 1 (Consumidor) Inteligencia Local Estacin CAN 2 (Productor) Inteligencia Local Estacin CAN 3 (Consumidor) Inteligencia Local Estacin CAN 4 (Consumidor) Inteligencia Local
Filtro
Trama Filtro
Filtro
Todas las estaciones pueden escuchar las tramas que enva una de ellas Despus de recibir la trama cada nodo decidir si el mensaje es aceptado
(2)
El nodo que tiene la respuesta produce en una segunda trama con los datos solicitados La trama de datos pude ser recibida por otros consumidores interesados en ese objeto Las tramas de datos estn especificadas con un campo especfico llamado Identificador
CAN
8
Objetos y servicios
CAN
7
Objetos y servicios
Trama2 Filtro
Trama1 Filtro
Filtro
Trama3 Filtro
El protocolo CAN permite el acceso mltiple al bus desde varios nodos. Necesita arbitraje Mtodo acceso: (CSMA/CD+AMP). Carrier Sense Multiple Access with Collision Detection and Arbitration on Message Priority (CSMA/CD+AMP). Mtodo no destructivo La prioridad del mensaje est decodificada en el identificador CAN Data Link Layer
9
Nodo 2
ID 20
Datos
Nodo 3
ID 80
ID 80
Datos
Bus
ID 100
Datos
ID 20
Datos
ID 80
Datos
CAN
10
Objetos y servicios
CAN
Objetos y servicios
Campo datos
Bus
dominante
Cuando est libre, cada nodo enva bits del identificador del mensaje y monitoriza el bus Cuando un nodo sobreescribe al primero, este lo detecta y deja de transmitir El identificador define la prioridad. No hay desalojo. Es un sistema con arbitraje No puede haber ms de un mensaje con el mismo identificador El identificador ms bajo se queda con el bus y transmite
Servicios de Comunicacin
Productor
Peticin
Escribir Objeto
0 a 8 byte
Trama de Datos CAN
Consumidor(s)
Indicacin(s)
Indicacin Respuesta
Leer Objeto
Trama Remota CAN
Peticin(s) Confirmacin(s)
0 a 8 byte
Trama de Datos CAN
El protocolo CAN ofrece dos servicios de comunicacin: Servicio clsico de CAN: servicio de escritura de objetos desde un nodo productor a uno o varios consumidores Solicitar un mensaje especfico: servicio de lectura de objeto iniciado por uno o varios consumidores mediante la transmisin de una trama de llamada remota.
CAN
12
Objetos y servicios
CAN
11
Objetos y servicios
TRAMAS EN CAN
13
EOF
7 Bit
Inter mission
3 Bit
1 Bit 12 a 32 Bit
Campo de comienzo de trama: Un bit dominante SOF (Start Of Frame) Campo de identificacin y prioridad: Campo de arbitraje Campo de control: Nmero de bytes de datos en el mensaje Campo de datos: Datos del mensaje Se pueden transmitir hasta 8 bytes de datos por trama Campo CRC: Permite detectar errores en la transmisin Campo de reconocimiento: Permite reconocer la recepcin de los mensajes Parte fija: La trama de datos finaliza con los bits recesivos de EOF Espacio entre tramas: Entre tramas consecutivas, el campo intermission
CAN
14
Tramas CAN
CAN
16
Tramas CAN
CAN
15
Tramas CAN
Campo Control
r1 r0 DLC
RTR: Remote Transmision Request bit El bit RTR es dominante en una Trama de Datos
El bit RTR es recesivo en una Trama Remota
Para que funcione correctamente se deben cumplir las siguientes condiciones Los mensajes tiene identificador nico
No hay dos nodos transmitiendo mensajes con el mismo identificador
CAN
18
Tramas CAN
CAN
17
Tramas CAN
La funcin principal DLC (Data Length Code) 4 bits para indicar la longitud de los datos (DLC)
puede tomar valores de 0 a 8 valores superiores a 8 son interpretados como 8
Las tramas remotas aunque deberan tener DLC=0, la especificacin indica el DLC de los datos que solicitan
d: dominante r: recesivo
CAN
Tramas CAN
CAN
19
Tramas CAN
Campo de Datos
Mnima longitud del Campo de Datos = 0 Byte
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
El campo de datos puede tener desde 0 hasta 8 bytes Los bytes estn siempre completos con 8 bits El contenido de un byte pueden tener cualquier significado
El CRC es un cdigo de redundancia cclica generado por el transmisor de los bits en el mensaje El CRC esta optimizado para este tipo de mensajes cortos El CRC es uno de los chequeos de error en la comunicacin CAN
CAN
Tramas CAN
CAN
21
Tramas CAN
Campo ACK
Delimitador ACK
Campo CRC
EOF
El campo de reconocimiento (ACK) est formado por dos bits: Slot ACK
Delimitador ACK
Es un reconocimiento desde recepcin El transmisor de una trama, transmite con ambos bits como recesivos 1 Un bit dominante en el Slot ACK indica mensaje correcto Cualquier receptor, que recibe un mensaje vlido correctamente, responde al transmisor enviando un bit dominante en el Slot ACK
Las tramas de datos y remotas estn delimitadas por una secuencia de flags formada por 7 bits recesivos EOF fue introducido por que una Trama de Error causado por un error de CRC se debe transmitir con la longitud de Datos o una Trama Remota
CAN
Tramas CAN
CAN
Tramas CAN
EOF
7 Bit
Inter mission
3 Bit
1 Bit 12 a 32 Bit
Un nodo destino puede solicita datos de un nodo fuente enviando una Trama Remota Hay dos diferencias entre Tramas de Datos y Tramas Remotas el bit RTR (del campo de arbitraje) es transmitido como bit dominante en Tramas de Datos y como recesivo en Tramas Remotas la Trama Remota no incluye nunca datos el identificador es el del mensaje que se solicita el campo longitud de la trama Remota se corresponde con la longitud de los datos del mensaje que se solicita
3 Bit
Inter mission
Es el espacio entre dos tramas Por lo menos ha de ser de 3 bits recesivos La secuencia de bits se denomina intermission Una vez transcurrida esta secuencia: Un nodo en estado de error activo puede iniciar una transmisin Un nodo en estado de error pasivo debe esperar una secuencia adicional de 8 bits recesivos antes de iniciar la transmisin
CAN
Tramas CAN
CAN
Tramas CAN
TRATAMIENTO DE ERRORES
27
2. Ser transmitido un Indicador de Error (globalizacin del error) 3. En el caso de un error local el Indicador de Error proceder a solapar el Indicador de Error seguido por el Delimitador de Error 4. El mensaje ser descartado por cada nodo 5. Los Contadores de Error de cada nodo del bus son incrementados 6. La transmisin del mensaje ser repetida automticamente
CAN
Tratamiento de errores
Error de CRC
Valor transmitido en 16 bits que debe calcular el nodo receptor Chequeo de determinados bits de formato fijo para validar el formato de los paquetes
Error de forma
Cuando un error de bit, stuff, formato, o ACK es detectado, Cuando un error de CRC es detectado, un Indicador de Error es introducido en el siguiente bit del Delimitador de ACK La deteccin de un bit dominante como el ltimo bit de End Of Frame (EOF) implica:
El transmisor sealizar un error, pero, Los receptores aceptarn el mensaje
El Indicador de Error es distinto en funcin del estado del nodo (activo o pasivo)
CAN
Tratamiento de errores
CAN
Tratamiento de errores
Trama Incompleta
6 bit
Indicador de Error
IFS
8 bit
Delimitador de Error Trama de Error
3 bit
Una trama de error es generada por cualquier nodo que detecta un error Una trama de error consiste en dos campos : indicador de error
delimitador del error
Los bits del indicador de error dependen del estado del error si estado activo, secuencia de 6 bits dominantes y provocan la retransmisin
si estado pasivo, secuencia de 6 bits recesivos y provocan la retransmisin
El delimitador de error consiste en 8 bits recesivos para reiniciar la comunicacin El mecanismo de globalizacin del error informa a todos los nodos
El Receptor 2 detecta un error local y lo hace pblico a los otros nodos mediante una Trama de error. El sexto bit de Indicador de error provoca un error de stuffing. Despus de Delimitador de error y intermission se retransmite el mensaje corrupto
CAN
Tratamiento de errores
CAN
31
Tratamiento de errores
Trama Incompleta
6 bit
Indicador de Error
0...6 bit
8 bit
IFS
3 bit
Espacio entre tramas
Delimitador de Error
Trama de Error
1. Se detecta un error local o global 2. Un Indicador de error ser transmitido (globalizacin del error) 3. En el caso de un error local este Indicador de error proceder a solapar el Indicador de error seguido por el Delimitador de error 4. El mensaje ser descartado por cada nodo 5. Los Contadores de error de todos los nodos del bus son incrementados 6. La transmisin del mensaje ser repetida automticamente
rea de Bit-Stuffing Se considera Error de relleno la deteccin de 6 bits consecutivos con el mismo valor en el rea de Bit-stuffing Se genera y transmite una Trama de error en el siguiente bit time despus de la deteccin
CAN
Tratamiento de errores
CAN
Tratamiento de errores
Bit-Stuffing y De-Stuffing
1 0
12123456789123451212
1 0 Secuencia de bits (stuffed (S))
1212345S678912345S1212
1 0 Secuencia de bits (De-Stuffed)
12123456789123451212
Cuando un transmisor detecta 5 bits consecutivos del mismo valor inserta un bit complementario o de stuffing Cuando el receptor detecta 5 bits consecutivos con el mismo valor, elimina el siguiente bit (stuffing) Si en recepcin no se recibe siguiendo esta regla, se produce un error de stuffing
Error de Bit
Bus Idle S O F Campo Arbitraje Campo Control Campo Campo Campo Datos CRC ACK EOF Inter mission
reas de Monitorizacin de bits Los nodos cuando transmiten monitorizan el bus simultneamente Se presenta un Error de bit si el transmisor recibe un bit con polaridad inversa respecto a la que fue transmitido Se exceptan los bits correspondientes a los campos de Arbitraje y ACK Una Trama de error es generada, que se transmite con el prximo bit-time
CAN
Tratamiento de errores
CAN
Tratamiento de errores
Error de CRC
Bus Idle S O F Campo Control Campo Campo Campo Datos CRC ACK Misin Interna
Campo Arbitraje
EOF
rea CRC Se presenta este error cuando el CRC calculado por el receptor no coincide con el recibido en la trama El CRC permite detectar errores pero no sirve para corregirlos Cuando se detecta un error de CRC se transmite una Trama de error despus del bit Delimitador de ACK
CAN
Tratamiento de errores
CAN
Tratamiento de errores
Error de Reconocimiento
Bus Idle
S O F
Campo Arbitraje
Campo Control
EOF
IFS
Se presenta el Error de ACK cuando ningn nodo cambia a dominante el bit Slot ACK de reconocimiento Un Error de ACK es detectado por un Transmisor siempre que No monitoriza un bit dominante en el Slot ACK
Error de forma
End Of Frame Bus Idle S O F Campo Arbitraje Campo Control Campo Campo Campo Datos CRC ACK Delimitador CRC EOF IFS
Delimitador ACK Se presenta un Error de forma cuando un transmisor detecta un bit dominante en uno de los campos de formato fijo: Delimitador de CRC
Delimitador de ACK Fin de trama (EOF)
El receptor transmite una Trama de overload y el transmisor enva una Trama de error
CAN
Tratamiento de errores
CAN
Tratamiento de errores
Error activo
REC < 127 o TEC < 127 Configuracin, Reset y Recepcin de 128 x 11 bits recesivos
Error pasivo
Anulado
Error activo: Estado normal de un nodo. Participa en la comunicacin y en caso de deteccin de error enva una Trama de error activa Error pasivo: Participa en la comunicacin. Tiene que esperar una secuencia de bits recesivos para transmitir. Slo puede enviar Trama de error pasiva Anulado: Deshabilita su transceptor y no participa en la comunicacin
CAN
Tratamiento de errores
CAN
41
Tratamiento de errores
6 Bit
0..6 Bit
8 Bit
3 Bit
Indicador de Error Pasivo Superposicin de Indicador de Error Active Trama de Error Pasivo
Delimitador de Error
Con el objeto de prevenir el bloqueo del bus provocado por el envo de tramas errneas por un nodo defectuoso se podr restringir para este nodo la capacidad de indicacin de error. un nodo Error Activo puede enviar un Indicador de error dominante
un nodo Error Pasivo slo puede enviar un Indicador de error recesivo
Transmisin suspendida
Iniciada por error en nodo pasivo Trama de datos remota
SOF
CAN
Tratamiento de errores
CAN
Tratamiento de errores
CAN
Tratamiento de errores
CAN
Tratamiento de errores
Trama de sobrecarga
6 Bit
EOF Delimitador de Error Delimitador de Sobrecarga Indicador de Sobrecarga Superposicin de Indicacin de Sobrecarga Delimitador de Sobrecarga
0..6 Bit
8 Bit
3 Bit
IFS
Trama de Error
Puede generarlas cualquier nodo para retrasar la transmisin de un nuevo menaje por no estar en condiciones de poder recibir. Mximo 2 tramas Tiene el mismo formato que una trama de error activo. No incrementa el contador de errores. No provoca retransmisin de la trama Slo se puede enviar en el espacio entre tramas. Tiene dos campos: Indicador de sobrecarga. Consta de 6 bits dominantes Delimitador de Sobrecarga. Consta de 8 bits recesivos
ACK-Slot
ACK-Del
Bus Idle
2 3 4
5 6 7
1 2 3
Trama
Indicacin de Error de Sobrecarga
Validacin de mensajes: Transmisor: El mensaje es vlido para el transmisor si no hay ningn error hasta el final del EOF. Si el mensaje es alterado le seguir la retransmisin en cuanto sea posible Receptor: El mensaje ser vlido para el receptor si no hay error hasta el antepenltimo bit de EOF.
CAN
Tratamiento de errores
CAN
Tratamiento de errores
Caractersticas
Identificador del mensaje en 11 bits o 29 bits Hasta 8 bytes de datos por trama de datos Peticin remota de transmisin de tramas Globalizacin de fallos locales Contadores de error para mensajes recibidos y transmitidos Baja probabilidad de no detectar fallos en los mensajes Nmero de mensajes no limitado por el protocolo
CAN Specification. Version 2.0. BOSCH. 1.991. Control Area Network. Basics, Protocols, Chips an Applications. K. Etschberger et al. Editorial IXXAT Automation GmbH. 2.001. CAN System Engineering. From Theory to Practical Applicattions. W. Lawrenz . Editorial Springer. 1.997. Presentaciones de Cia (CAN in Automation) Presentacin de KVASER Presentacin de IXXAT, Inc
CAN
Bibliografa. Referencias
CAN
Resumen