SASE-2010_-CANbus_

Anuncio
Controller Area Network
(CAN)
Gerardo Luis Stola
FIUBA
[email protected]
•
•
•
Creado a mediados de 1980, con el objetivo de brindar conexión y disminuir
los costos de cableado entre dispositivos dentro de automóviles.
 Se difundió posteriormente a otras áreas, por ejemplo control de plantas
industriales, aplicaciones domésticas, control de ascensores, control de
sistemas de navegación, etcétera.
Estándar ISO.
Amplia disponibilidad de dispositivos comerciales.
 Más de 800 vendors, según CAN-Cia
(http://www.can-cia.org/)
•
•
•
Alta difusión en la CEE (Alemania), Japón y EEUU
-http://www.can.bosch.com
http://www.can-cia.org
•
•
•
•
•
Hasta 1 Mbps.
Topología de bus
Protocolo multimaestro
No direcciona nodos. Identifica mensajes
Control de acceso al medio por prioridad de mensajes (CSMA/AMP)
 Otra denominación (CSMA/CR)
 Diferencia con Ethernet (CSMA/CD)
•
•
Muy baja probabilidad de no detectar errores.
 ~ probabilidad(error) x 10 -11
Escalabilidad no limitada por número de nodos.
Necesidad de interconexión dentro del automóvil
Implementación por CAN.
El modelo CAN y el modelo OSI
Aplicación
Presentación
Sesión
Transporte
CAL
CAN Documentos
Device
•CANopen
SDS King
de CiA
Net
•PCAL
dom
Red
Enlace
Física
Especificación CAN
CAN Phy (ISO 11898)
ISO 11898
Arbitración
“1”= bit recesivo (R)
“0”=bit dominante (D)
Lógicamente, el bus actúa como una compuerta AND cableada
Si al menos un nodo de la red fija un
estado D, fuerza a que todo el bus esté
en D

Todos los nodos en R, implica bus en R
Arbitración
“1”= bit recesivo (R)
“0”=bit dominante (D)
Monitoreo permanente del nivel de la red.
Arbitración
http://www.can-cia.org
Tipos de Tramas
DATOS: Se utiliza para enviar datos de un nodo a otro(s). Es el tipo de trama
que más frecuentemente circula en una red.
REMOTA: Se utiliza para solicitar una trama de datos con el ID especificado.
Esta trama no contiene datos.
ERROR: Si un nodo detecta un error en la red, envía una trama de error e
invalida la trama en cuestión en todos los nodos. La trama debería ser
retransmitida.
SOBRECARGA: La utilizan los nodos para pedir tiempo adicional antes del
comienzo de la próxima trama. Un máximo de dos tramas de sobrecarga
pueden ser generadas por un nodo.
INTERTRAMA: Es el espacio entre una trama de datos o remota y la
precedente. Este espacio es provisto para permitir a los nodos realizar
procesamientos internos antes del comienzo de la próxima trama.
RTR
Delimitadores
recesivo
dominante
1
11/29
1
6
Identifi_
cador de
objeto
0 ... 64
15
Campo de datos
Segmento
Campo
de control CRC
Campo de
Campo de CRC
Arbitraje
111
7
Campo
de fin
de trama
3
Espacio
inter-trama
Ranura
de ACK
Inicio de trama
Trama de datos
Tamaño mínimo de la trama de datos: 44 bits
Tamaño máximo de la trama de datos: 111 bits ⇒ Throughput = 58% del bitrate
Versiones de CAN
Especificaciones
CAN 1.2
2048 (211 ) identificadores
formato de tramas estándar
CAN 2.0
más de 500 millones (229 ) de identificadores
formato de tramas extendido
Tipos de Errores
CRC: No coinciden el código de redundancia cíclica (CRC) calculado por el
transmisor y el calculado por el receptor. El nodo receptor descarta la trama y
transmite una trama de error. Sólo realizado por nodo receptor.
ACK: Error de reconocimiento, detectado por el transmisor. El transmisor no
detecta el reconocimiento en el campo ”SLOT ACK”, indicando que ningún nodo
recibió la trama correctamente. Se produce un error de reconocimiento (ACK) se
retransmite la trama, pero NO se genera una trama de error.
FORMA: Se produce si se detecta un bit dominante en los siguientes campos:
•Delimitador de CRC.
•Delimitador de ACK.
•Fin de trama.
Se transmite una trama de error.
Tipos de Errores
BIT: El bit transmitido es diferente del bit monitoreado. No se realiza
en los campos de arbitraje si el bit transmitido es recesivo ni
tampoco en el slot de reconocimiento. Se transmite una trama de
error y se retransmite la trama. Sólo realizado por nodo transmisor.
STUFFING: Se detectan 6 bit consecutivos de igual polaridad entre
el comienzo de trama
y el delimitador de CRC. Se envía una trama de error.
=> “Globalización del error”
Confinamiento de Errores
Durante las comunicaciones CAN, los nodos actualizan sus
contadores de errores de transmisión y recepción mediante
normas complejas establecidas en la norma CAN. Los contadores
se incrementan por detección de errores o se decrementan por
transmisiones o recepciones exitosas.
Confinamiento de Errores
ERROR ACTIVO: Es el estado normal de un nodo. El nodo puede
recibir y transmitir mensajes incluyendo tramas de error activas
(pueden “destruir” mensajes detectados con algún error.)
ERROR PASIVO: Alguno de los contadores pasa el valor de 127.
Las tramas de error emitidas son pasivas (bits recesivos),
no pudiendo destruir mensajes detectados con algún error.
BUS APAGADO: El contador de error de transmisión llega a 256,
todas las actividades CAN del nodo se detienen y se libera el bus
(estado recesivo). La única forma de sacar al nodo de este estado
es por reset del controlador CAN.
Capa física - ISO 11898-2
A 1Mbit/s Ld<0.3 m
•
•
Condición recesiva :
CAN_H < CAN_L + 0.5V
Condición dominante:
CAN_H >CAN_L + 0.9V
Nodo ISO 11898-2
•
La tensión diferencial en un nodo
está dada por la corriente en la
resistencia diferencial
Relación Velocidad-longitud bus
• Dist máx 1 km
• Permite usar bridges o
repeaters.
• Distancia máxima definida
por:
 demora de los nodos y del bus
 diferencias entre el bit time
quantum debidas a la diferencia
entre los osciladores de los
nodos
 Caída de señal por resistencia
de cable y nodos
Velocidades recomendadas
CiA DS -102
•
•
•
Todo módulo debe
soportar 20 kbits/s
Para más de 200m se
recomienda el uso de
optoacopladores
Para longitud de más de
1 km se requiere bridge
o repeater
Discusión abierta al auditorio:
Comparación con otros protocolos
- Modbus?
- Requisitos de hardware
- Costo por nodo
- Campos de uso
….
Gracias!
Descargar