comunicaciones en tiempo real. cancomunicaciones en tiempo...
TRANSCRIPT
Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real. CAN
CAN – Control Area Network.
Bus de Comunicaciones Serie en Tiempo Real
http://www.vision.uji.es/~pla/ii75
F. Pla (Universitat Jaume I) 2
ÍndiceÍndice
Introducción
• Historia
• Aplicaciones
Características del bus CAN
Implementación:
• Niveles OSI
• Arquitectura de controladores CAN
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
F. Pla (Universitat Jaume I) 3
IntroducciónIntroducció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.
F. Pla (Universitat Jaume I) 4
IntroducciónIntroducción
Aplicaciones:
• Industria automovilística:
– control de motor, mecánica, etc.
– control de sistemas de entretenimiento.
F. Pla (Universitat Jaume I) 5
IntroducciónIntroducció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) 6
IntroducciónIntroducció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) 7
IntroducciónIntroducció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, ...
F. Pla (Universitat Jaume I) 8
IntroducciónIntroducció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) 9
CaracterísticasCaracterí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 1Controlador
CAN
NODO 3
ControladorCAN
Bus CAN
NODO 2Controlador
CAN
NODO nControlador
CAN
F. Pla (Universitat Jaume I) 10
CaracterísticasCaracterísticas
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.
NODO 1Controlador
CAN
NODO 3
ControladorCAN
Bus CAN
NODO 2Controlador
CAN
NODO nControlador
CAN
F. Pla (Universitat Jaume I) 11
CaracterísticasCaracterí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.
F. Pla (Universitat Jaume I) 12
CaracterísticasCaracterí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 Velocidad enbits/s
Tiempo máximode transmisión*
Hasta 25 m 1 Mbit/s 129 µs
Hasta 100 m 500 Kbit/s 258 µs
Hasta 500 125 Kbit/s 1032 msHasta 1000 m 50 Kbit/s 2580 ms* mensajes de 129 bits de longitud
F. Pla (Universitat Jaume I) 13
ImplementaciónImplementación
Implementación de los niveles OSI (Open SystemInterconection, ISO 7498):
Arquitectura de capas del CAN
F. Pla (Universitat Jaume I) 14
ImplementaciónImplementación
Arquitecturas de controladores CAN
F. Pla (Universitat Jaume I) 15
Capa físicaCapa 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
F. Pla (Universitat Jaume I) 16
Capa físicaCapa 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) 17
Capa físicaCapa 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.
F. Pla (Universitat Jaume I) 18
Capa físicaCapa 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) 19
Capa físicaCapa 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.
F. Pla (Universitat Jaume I) 20
Capa físicaCapa 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 DistributedSystem, ...)
F. Pla (Universitat Jaume I) 21
Capa de enlace de datosCapa de enlace de 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ónde 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
F. Pla (Universitat Jaume I) 22
Capa de enlace de datos Capa de enlace de 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) 23
Capa de enlace de datosCapa de enlace de 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.
F. Pla (Universitat Jaume I) 24
Capa de enlace de datosCapa de enlace de 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) 25
Capa de enlace de datosCapa de enlace de 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.
F. Pla (Universitat Jaume I) 26
Capa de enlace de datosCapa de enlace de datos
Formato del campo de arbitraje:
• En formato estándar:
– 11 bits, seguido por el RTR bit (Remote TransmisionRequest).
– 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) 27
Capa de enlace de datosCapa de enlace de 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.
F. Pla (Universitat Jaume I) 28
Capa de enlace de datosCapa de enlace de 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) 29
Capa de enlace de datosCapa de enlace de 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).
F. Pla (Universitat Jaume I) 30
Capa de enlace de datosCapa de enlace de 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) 31
Capa de enlace de datosCapa de enlace de datos
Arbitraje de acceso al bus:
• En redes como ethernet:
– CMSA/CD (Carrier Sensor Multiple Access - CollisionDetection).
– 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.
F. Pla (Universitat Jaume I) 32
Capa de enlace de datosCapa de enlace de 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)
tciclo tlat
1/tciclo
Distribución de probabilidad del tiempo de latencia
F. Pla (Universitat Jaume I) 33
Capa de enlace de datosCapa de enlace de datos
Arbitraje de acceso al bus:
• CSMA/CA+AMP
– La contención se realiza al nivel de bit (bitwisecontention).
– 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 TokenPassing).
• Solo se transmite un mensaje de la misma prioridad cada ese tiempo de ciclo.
F. Pla (Universitat Jaume I) 34
Capa de enlace de datosCapa de enlace de 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) 35
Capa de enlace de datosCapa de enlace de 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 bitde valor inverso.
– Si se detecta una trama con 6 o más bits consecutivos del mismo valor, la trama no es válida.
F. Pla (Universitat Jaume I) 36
Capa de enlace de datosCapa de enlace de 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) 37
Capa de enlace de datosCapa de enlace de 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.
F. Pla (Universitat Jaume I) 38
Capa de enlace de datosCapa de enlace de 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) 39
Capa de enlace de datosCapa de enlace de 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.
F. Pla (Universitat Jaume I) 40
Capa de enlace de datosCapa de enlace de 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) 41
Protocolos CAN de alto nivelProtocolos CAN de alto 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
F. Pla (Universitat Jaume I) 42
BibliografíaBibliografía
CAN Application Fields, CiA (CAN in Automation), http://www.can-cia.de
CAN Implementation, CiA (CAN in Automation), http://www.can-cia.de
CAN Physical Layer, CiA (CAN in Automation), http://www.can-cia.de
CAN Data Link Layer, CiA (CAN in Automation), http://www.can-cia.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) 43
BibliografíaBibliografí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 onControl Area Network (CAN)”, 1st ICC Conference, 1991.
Innformación CAN (artículos, etc.) http://www.kvaser.se/can/info/index.htm