comunicaciones en tiempo real. cancomunicaciones en tiempo...

22
Comunicaciones 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 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

Upload: others

Post on 15-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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

Page 2: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 3: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 4: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 5: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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

Page 6: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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

Page 7: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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

Page 8: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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).

Page 9: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 10: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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, ...)

Page 11: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 12: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 13: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 14: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 15: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 16: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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

Page 17: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 18: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 19: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 20: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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.

Page 21: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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

Page 22: Comunicaciones en Tiempo Real. CANComunicaciones en Tiempo Real…pla/ii75/docs/II75-T4-Comunicaciones-RT-CAN.pdf · – No conveniente para aplicaciones en tiempo real. F. Pla (Universitat

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