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