Comunicaciones en Tiempo Real. CAN Comunicaciones en Tiempo

Anuncio
Comunicaciones
Comunicaciones en
en Tiempo
Tiempo Real.
Real. CAN
CAN
CAN – Control Area Network.
Bus de Comunicaciones Serie en Tiempo Real
http://www.vision.uji.es/~pla/ii75
Índice
Índice
ƒ Introducción
• Historia
• Aplicaciones
ƒ Características del bus CAN
ƒ Implementación:
• Niveles OSI
• Arquitectura de
controladores CAN
F. Pla (Universitat Jaume I)
ƒ Capa física
• Codificación de bits
• Enganche al medio
ƒ Capa de enlace de datos
• Broadcasting
• Formato de mensajes
• Petición remota
• Acceso múltiple al bus
• Detección de errores
ƒ Protocolos CAN de alto nivel
ƒ Bibliografía
2
Introducción
Introducción
ƒ Historia:
• Desarrollado en los años 80 por Bosch.
• originalmente para aplicaciones en automoción.
• Idea inicial: comunicar entre si varios microcontroladores:
– control de motores,
– control de transmisión automática y
– sistemas de frenos antideslizantes.
• Desde 1992 se utiliza en coches, y la mayoría de las
compañías de automoción europeas lo utilizan.
• La industria automovilística ocupa el 80% de la utilización de
CAN.
• Se ha extendido a otros muchos campos en los últimos
años.
3
F. Pla (Universitat Jaume I)
Introducción
Introducción
ƒ Aplicaciones:
• Industria automovilística:
– control de motor, mecánica, etc.
– control de sistemas de entretenimiento.
F. Pla (Universitat Jaume I)
4
Introducción
Introducción
ƒ Aplicaciones (continuación)
• Control de tráfico y transporte público:
– Trenes y autobuses.
– Semáforos.
– Sistemas de información conductor/pasajeros.
• Maquinas móviles:
– Aviones, helicópteros.
– Maquinaría agrícola, ...
F. Pla (Universitat Jaume I)
5
Introducción
Introducción
ƒ Aplicaciones (continuación):
• Sistemas de control industrial:
– Sistemas de control de plantas.
– Sistemas de control de maquinaría.
– Sistemas de control de robots.
– Redes entre máquinas.
– Sistemas de supervisión.
F. Pla (Universitat Jaume I)
6
Introducción
Introducción
ƒ Aplicaciones (continuación):
• Automatización de edificios:
– Control de ascensores y elevadores.
– Aire acondicionado. Sistemas de calefacción y
refrigeración.
– Control de la iluminación.
• Campos de aplicación especiales:
– equipamiento médico.
– simuladores de vuelo, ...
7
F. Pla (Universitat Jaume I)
Introducción
Introducción
ƒ Aplicaciones (continuación)
• Redes empotradas:
– Electrodomésticos,maquinas expendedoras,copiadoras...
– Algunas compañías lo utilizan como:
• interconexión de dispositivos
• bus entre dispositivos.
• En general:
– Aplicaciones precisen control distribuido en tiempo real:
• comunicación entre controladores.
– Comunicaciones en tiempo real con escaso flujo de
datos:
• comunicación entre dispositivos.
F. Pla (Universitat Jaume I)
8
Características
Características
ƒ Bus serie.
ƒ Transmisión en tiempo real:
• asegura tiempos de latencia.
ƒ Sigue el estándar ISO 11898.
ƒ Multimaestro:
• todos los nodos CAN pueden transmitir y
ƒ Multicast con sincronización:
• varios pueden acceder al bus de datos simultáneamente.
NODO 1
Controlador
CAN
Bus CAN
NODO 2
Controlador
CAN
NODO n
Controlador
CAN
Controlador
CAN
NODO 3
9
F. Pla (Universitat Jaume I)
Características
Características
NODO 1
Controlador
CAN
Bus CAN
NODO 2
Controlador
CAN
NODO n
Controlador
CAN
Controlador
CAN
NODO 3
ƒ No hay sistema de direccionamiento de los nodos en el sentido
convencional.
ƒ Los mensajes se envían con una prioridad:
• Un nodo emisor envía el mensaje a todos los nodos de la red
(broadcasting).
• Cada nodo, según el identificador del mensaje, lo filtra y decide si
debe procesarlo o no.
• El identificador determina también la prioridad del mensaje.
• La prioridad del mensaje determina qué mensaje accede al bus.
F. Pla (Universitat Jaume I)
10
Características
Características
ƒ Flexibilidad. Se pueden añadir nodos, sin que ello perturbe el
funcionamiento de los demás nodos.
ƒ Gran fiabilidad en la transmisión:
• Detección de errores.
• Señalización y envío de errores.
• Re-envío automático de mensajes corruptos cuando el bus
está activo de nuevo.
• Distinción entre errores temporales y fallos permanentes de
nodos.
• Desconexión automática de nodos defectuosos.
• Puede operar en ambientes con condiciones extremas de
ruido e interferencias.
• Los mecanismos de verificación de errores garantizan que
las tramas contaminadas sean detectadas.
11
F. Pla (Universitat Jaume I)
Características
Características
ƒ Cada red puede alcanzar 1000 metros de longitud:
• ampliables con el uso de repetidores.
ƒ Velocidad de transmisión:
• depende de la longitud de la red:
Longitud del bus
Hasta 25 m
Velocidad en
bits/s
1 Mbit/s
Hasta 100 m
500 Kbit/s
Hasta 500
125 Kbit/s
Hasta 1000 m
50 Kbit/s
* mensajes de 129 bits de longitud
F. Pla (Universitat Jaume I)
Tiempo máximo
de transmisión*
129 µs
258 µs
1032 ms
2580 ms
12
Implementación
Implementación
ƒ Implementación de los niveles OSI (Open System
Interconection, ISO 7498):
Arquitectura de capas del CAN
F. Pla (Universitat Jaume I)
13
Implementación
Implementación
ƒ Arquitecturas de controladores CAN
F. Pla (Universitat Jaume I)
14
Capa
Capa física
física
Physical Interface Layer
Physical Signaling (PLS)
•Implementada dentro del controlador
•Codificación/Descodificación de bits
•Temporización de los bits
•Sincronización
Physical Medium Attachment (PMA)
•Características del transceiver
Medium Dependent Interface (MDI)
•Cable/Conector
15
F. Pla (Universitat Jaume I)
Capa
Capa física
física
ƒ Codificación de bits:
• Método NRZ (Non-Return-to-Zero):
– No hay flanco de subida o bajada para cada bit.
– Durante el tiempo de bit hay bits dominantes (Low) y
recesivos (High).
– Disminución de la frecuencia de la señal respecto a otras
codificaciones (Manchester coding).
F. Pla (Universitat Jaume I)
16
Capa
Capa física
física
ƒ
Bit-Stuffing Rule:
• NRZ no proporciona flancos para re-sincronización:
– transmisión de varios bits consecutivos de la misma polaridad.
• Se utiliza para asegurar la re-sincronización.
• Cada 5 bits de misma polaridad, se inserta uno de polaridad
opuesta.
17
F. Pla (Universitat Jaume I)
Capa
Capa física
física
ƒ Enganche al medio:
• Existen varios estándares oficiales y en la industria.
• CAN High-Speed (ISO 11898-2), es el más importante.
• Con un solo cable (SAE 2411)
• Transmisión por fibra óptica.
• Transmisión sin cables.
F. Pla (Universitat Jaume I)
18
Capa
Capa física
física
• Transceivers tolerantes a fallos (ISO 11898-3).
– Originalmente diseñados para velocidades bajas, 125
kbit/s.
– Se utilizan en automóviles con pasajeros.
– Proporciona transmisión diferencial (2 cables) y en caso
de error en la línea puede pasar a modo de
transmisión/recepción en un solo cable.
19
F. Pla (Universitat Jaume I)
Capa
Capa física
física
ƒ Conector estándar CiA DS-102:
• DB9.
• La asignación de pines se utiliza también por otros
protocolos de mayor nivel (CANopen, Smart Distributed
System, ...)
F. Pla (Universitat Jaume I)
20
Capa
Capa de
de enlace
enlace de
de datos
datos
Data Link Layer
LLC (Logical Link Control)
•Filtrado de aceptación
•Notificación de sobrecarga
•Gestión de recuperación
MAC (Medium Access Control)
•Encapsulación /
Desencapsulación
de datos
•Codificación del frame
(Stuffing, Destuffing)
•Gestión de acceso al medio
•Detección de errores
•Señalización de errores
•Acknowledgment (Acuse de recibo)
•Serialización / Deserialización
21
F. Pla (Universitat Jaume I)
Capa
Capa de
de enlace
enlace de
de datos
datos
• Especificaciones del Protocolo CAN:
– CAN Protocol Specification 2.0 A:
• controladores que solo maneja mensajes estándar
con identificador de 11 bits.
– CAN Protocol Specification 2.0 B passive:
• controladores que solo transmiten mensajes estándar
con identificador de 11 bits, pero comprueba si recibe
mensajes estándar y mensajes extendidos con
identificadores de 29 bits.
– CAN Protocol Specification 2.0 B active:
• controladores que transmiten y reciben mensajes
estándar y mensajes extendidos.
F. Pla (Universitat Jaume I)
22
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Broadcasting
• El nodo emisor transmite a todos los nodos de la red.
• Sin especificar un destino.
• Todos los nodos escuchan a la red.
• Cada nodo debe filtrar aquellos mensajes que les interesan.
23
F. Pla (Universitat Jaume I)
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Formato mensaje de datos
• Start of Frame (SOF): para sincronización con otros nodos.
• Arbitration Field, que contiene la prioridad del mensaje.
• Control Field, que especifica el número de bytes que hay en
el mensaje.
• Cyclic Redundancy Check (CRC) para detección de posibles
errores.
• Campo de datos, hasta 8 bytes.
F. Pla (Universitat Jaume I)
24
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Formato mensaje de datos (continuación):
• Acknowledgment Field (ACK):
– El nodo transmisor pone este bit como recesivo.
– Cualquier nodo que reciba el mensaje lo pone como
dominante, para comunicar que se ha recibido por al
menos un nodo.
• End of Frame (EOF) entre dos tramas debe haber 3 bits
recesivos.
25
F. Pla (Universitat Jaume I)
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Formato del campo de arbitraje:
• En formato estándar:
– 11 bits, seguido por el RTR bit (Remote Transmision
Request).
– En tramas de datos, el RTR es dominante.
– IDE (Identifier Extension) que es dominante, por lo que
hace prevalecer sobre mensajes de formato extendido.
F. Pla (Universitat Jaume I)
26
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Formato del campo de arbitraje (cont.):
• En formato extendido:
– 11 bits de identificador base y 18 de extendido.
– El bit SRR (Substitute Remote Request) sustituye al RTR
y es recesivo:
• Trama formato estándar prevalece sobre extendida.
27
F. Pla (Universitat Jaume I)
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Petición remota:
• Petición de mensaje a un nodo.
• Son como preguntas de un nodo a otro.
• El nodo que tiene la respuesta la comunica en una segunda
comunicación.
• La respuesta puede ser recibida por más de un nodo, si
están interesados.
F. Pla (Universitat Jaume I)
28
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Formato del mensaje de petición remota:
• Se envía una trama con el identificador del nodo requerido.
• El nodo enviará un mensaje de datos respondiendo.
• Diferencias con el mensaje de datos.
– El bit RTR se envía como recesivo.
– No hay campo de datos.
• En caso de que se envíe un mensaje de datos y de petición
remota con el mismo identificador:
– el de datos gana el acceso al bus (RTR dominante).
29
F. Pla (Universitat Jaume I)
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ
Acceso múltiple al bus:
• CAN permite acceder a varios nodos simultáneamente al bus.
• Proceso de arbitraje (CSMA/CA+AMP):
– No destructivo.
– Al nivel de bit.
– Detección de colisiones.
• Basado en prioridades:
– Prioridad especificada en el identificador del mensaje.
F. Pla (Universitat Jaume I)
30
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Arbitraje de acceso al bus:
• En redes como ethernet:
– CMSA/CD (Carrier Sensor Multiple Access - Collision
Detection).
– Cuando varios nodos acceden simultáneamente, se
detecta un mensaje de contención.
– La transmisión se interrumpe.
– Después de un tiempo de espera, diferente para cada
nodo, se intenta de nuevo el acceso.
– La cancelación durante la contención disminuye la
capacidad de transferencia.
– En picos de tráfico, puede incluso llegar a bloquearse la
red.
– No conveniente para aplicaciones en tiempo real.
31
F. Pla (Universitat Jaume I)
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Arbitraje de acceso al bus
• Token Passing:
– Cada nodo esta en posesión de la red durante un tiempo
dado.
– El derecho de acceso se pasa a los demás nodos de
forma cíclica.
– El tiempo de latencia para un mensaje es como máximo
el tiempo de ciclo.
P(tlat)
Distribución de probabilidad
del tiempo de latencia
1/tciclo
tciclo
F. Pla (Universitat Jaume I)
tlat
32
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Arbitraje de acceso al bus:
• CSMA/CA+AMP
– La contención se realiza al nivel de bit (bitwise
contention).
– Conflictos de accesos se evitan mediante la asignación
de una prioridad a cada mensaje.
– El mensaje de mayor prioridad siempre accede al bus.
– Tiempos de latencia dependen de la prioridad.
– Por razones de cooperación con los demás nodos de la
red:
• Se determina un tiempo de ciclo (similar a Token
Passing).
• Solo se transmite un mensaje de la misma prioridad
cada ese tiempo de ciclo.
33
F. Pla (Universitat Jaume I)
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Acceso CSMA/CA+AMP
• Cada nodo envía los bits del identificador del mensaje.
• Cada nodo emisor monitoriza la red comprobando lo que emitie.
• El nodo de mayor prioridad (con bits dominantes) gana el bus
– sin perdida de tiempo
– sin tener que repetir el mensaje.
• Los demás nodos enviarán mensajes cuando haya terminado la
transmisión.
F. Pla (Universitat Jaume I)
34
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Detección de errores
• Métodos de chequeo de bit
• Métodos de chequeo de trama
ƒ Chequeo de bit
• Monitorización en la transmisión:
– el emisor comprueba en el medio que lo que transmite
corresponde a lo que allí aparece.
• Bit stuffing.
• Cada 5 bits consecutivos del mismo valor, se inserta un bit
de valor inverso.
– Si se detecta una trama con 6 o más bits consecutivos
del mismo valor, la trama no es válida.
35
F. Pla (Universitat Jaume I)
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Chequeo de trama:
• Campo CRC
– Información adicional a la trama
– Se calcula mediante un polinomio generador.
– Permite detectar errores aleatorios en hasta 5 bits
– o una secuencia seguida de 15 bits corruptos.
– El receptor calcula el CRC de la misma forma que el
emisor.
F. Pla (Universitat Jaume I)
36
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Chequeo de trama:
• ACK
– El emisor lo envía como un bit recesivo.
– Cualquier receptor lo sobrescribe como dominante.
– El emisor, en la monitorización, comprueba que el
mensaje ha sido escuchado.
• Hay ciertos campos de la trama que deben tener ciertos
valores determinados:
– Si no los tiene, la trama está corrupta.
37
F. Pla (Universitat Jaume I)
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Comunicación de errores:
• Todas las comprobaciones se hacen por todos los nodos.
• Si uno de ellos detecta un error
– Envía a los demás nodos un flag de error, compuesta por
6 bits dominantes y 6 bits recesivos.
• Flag de error se propaga en toda la red (6 bits dominantes
viola la regla de bit stuffing).
• Todos los nodos descartan el mensaje.
• El emisor lo reenvía de nuevo.
F. Pla (Universitat Jaume I)
38
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Estados de error de un nodo CAN:
• Contadores de errores internos en los controladores:
– uno para emisión (TEC)
– uno para recepción (REC)
• Se incrementan cuando se detectan errores.
• Se decrementan después de transmisiones o recepciones
correctas.
39
F. Pla (Universitat Jaume I)
Capa
Capa de
de enlace
enlace de
de datos
datos
ƒ Estados de error de un nodo CAN:
• Error Active: el nodo puede enviar mensajes (flags) de error.
• Error Passsive:
– el nodo cambia de formato de mensajes de error (6 bits
recesivos en lugar de dominantes)
– los demás nodos no detectan estos mensajes y así no
ralentiza las comunicaciones.
• Bus off: el nodo se auto-desconecta del bus.
F. Pla (Universitat Jaume I)
40
Protocolos
Protocolos CAN
CAN de
de alto
alto nivel
nivel
ƒ El protocolo CAN especifica:
• La forma de transmitirse la información
• En que condiciones se realiza.
• Estandar ISO 11898
ƒ Se precisa protocolo adicional de más alto nivel:
• Para especificar la estructura de la información que se
transmite.
• Otros mecanismos para dotar de funcionalidad específica a
los nodos.
ƒ Ejemplos de protocolo de más alto nivel:
• CANopen
• MCNet protocol
41
F. Pla (Universitat Jaume I)
Bibliografía
Bibliografía
ƒ CAN Application Fields, CiA (CAN in Automation),
http://www.can-cia.de
ƒ CAN Implementation, CiA (CAN in Automation), http://www.cancia.de
ƒ CAN Physical Layer, CiA (CAN in Automation), http://www.cancia.de
ƒ CAN Data Link Layer, CiA (CAN in Automation), http://www.cancia.de
ƒ CANOpen, CiA (CAN in Automation), http://www.can-cia.de
ƒ CAN Specification 2.0 Part A, CiA (CAN in Automation),
http://www.can-cia.de
F. Pla (Universitat Jaume I)
42
Bibliografía
Bibliografía
ƒ CAN Specification 2.0 Part B, CiA (CAN in Automation),
http://www.can-cia.de
ƒ Kiencke, U. ; “Controller Area Network”, 1st ICC Conference,
1991.
ƒ Tindell, K. And Burns, A. ; “Guaranteeing Message Latencies on
Control Area Network (CAN)”, 1st ICC Conference, 1991.
ƒ Innformación CAN (artículos, etc.)
http://www.kvaser.se/can/info/index.htm
F. Pla (Universitat Jaume I)
43
Descargar