11
CAN. Filiberto Pla (Universitat Jaume I) 1 CAN Control Area Network Bus de Comunicaciones Serie en Tiempo Real CAN. Filiberto 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 CAN. Filiberto Pla (Universitat Jaume I) 3 Introducción Historia: Desarrollado en los años 80 por Bosch. originalmente para aplicaciones en automoción. Idea inicial: comunicar entre si varios microcontroladores para: 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. CAN. Filiberto Pla (Universitat Jaume I) 4 Introducción Aplicaciones: Industria automovilística: control de motor, mecánica, etc. control de sistemas de entretenimiento.

can bus

  • Upload
    jjg

  • View
    21

  • Download
    0

Embed Size (px)

DESCRIPTION

can

Citation preview

  • CAN. Filiberto Pla (Universitat Jaume I) 1

    CANControl Area Network

    Bus de ComunicacionesSerie en Tiempo Real

    CAN. Filiberto Pla (Universitat Jaume I) 2

    ndice Introduccin

    Historia Aplicaciones

    Caractersticas del bus CAN Implementacin:

    Niveles OSI Arquitectura de controladores CAN

    Capa fsica Codificacin de bits Enganche al medio

    Capa de enlace de datos Broadcasting Formato de mensajes Peticin remota Acceso mltiple al bus Deteccin de errores

    Protocolos CAN de alto nivel Bibliografa

    CAN. Filiberto Pla (Universitat Jaume I) 3

    Introduccin

    Historia: Desarrollado en los aos 80 por

    Bosch. originalmente para aplicaciones en

    automocin. Idea inicial: comunicar entre si varios

    microcontroladores para: control de motores, control de transmisin automtica y sistemas de frenos antideslizantes.

    Desde 1992 se utiliza en coches, y lamayora de las compaas deautomocin europeas lo utilizan.

    La industria automovilstica ocupa el80% de la utilizacin de CAN.

    Se ha extendido a otros muchoscampos en los ltimos aos.

    CAN. Filiberto Pla (Universitat Jaume I) 4

    Introduccin

    Aplicaciones:

    Industria automovilstica: control de motor, mecnica, etc. control de sistemas de

    entretenimiento.

  • CAN. Filiberto Pla (Universitat Jaume I) 5

    Introduccin

    Aplicaciones (continuacin) Control de trfico y transporte pblico:

    Trenes y autobuses. Semforos. Sistemas de informacin

    conductor/pasajeros.

    Maquinas mviles: Aviones, helicpteros. Maquinara agrcola, ...

    CAN. Filiberto Pla (Universitat Jaume I) 6

    Introduccin

    Aplicaciones (continuacin): Sistemas de control industrial:

    Sistemas de control de plantas. Sistemas de control de maquinara. Sistemas de control de robots. Redes entre mquinas. Sistemas de supervisin.

    CAN. Filiberto Pla (Universitat Jaume I) 7

    Introduccin

    Aplicaciones (continuacin): Automatizacin de edificios:

    Control de ascensores y elevadores. Aire acondicionado. Sistemas de

    calefaccin y refrigeracin. Control de la iluminacin.

    Campos de aplicacin especiales: equipamiento mdico. simuladores de vuelo, ...

    CAN. Filiberto Pla (Universitat Jaume I) 8

    Introduccin

    Aplicaciones (continuacin)

    Redes empotradas: electrodomsticos, maquinas expendedoras, copiadoras. Algunas compaas lo utilizan como:

    interconexin de dispositivos bus entre dispositivos.

    En general: cualquier aplicacin que precise de

    control distribuido en tiempo real: comunicacin entre controladores.

    Comunicaciones en tiempo real conescaso flujo de datos:

    comunicacin entre dispositivos.

  • CAN. Filiberto Pla (Universitat Jaume I) 9

    Caractersticas

    Bus serie. Transmisin en tiempo real:

    asegura tiempos de latencia. Sigue el estndar ISO 11898. Multimaestro:

    todos los nodos CAN puedentransmitir y

    Multicast con sincronizacin:

    varios pueden acceder al bus dedatos simultneamente.

    NODO 1Controlador

    CAN

    NODO 3

    ControladorCAN

    Bus CAN

    NODO 2Controlador

    CAN

    NODO nControlador

    CAN

    CAN. Filiberto Pla (Universitat Jaume I) 10

    Caractersticas

    No hay sistema de direccionamiento de losnodos en el sentido convencional.

    Los mensajes se envan con una prioridad: Un nodo emisor enva el mensaje a

    todos los nodos de la red (broadcasting). Cada nodo, segn el identificador del

    mensaje, lo filtra y decide si debeprocesarlo o no.

    El identificador determina tambin laprioridad del mensaje.

    La prioridad del mensaje determina qumensaje accede al bus.

    NODO 1Controlador

    CAN

    NODO 3

    ControladorCAN

    Bus CAN

    NODO 2Controlador

    CAN

    NODO nControlador

    CAN

    CAN. Filiberto Pla (Universitat Jaume I) 11

    Caractersticas

    Flexibilidad. Se pueden aadir nodos, sinque ellos perturbe el funcionamiento delos dems nodos.

    Gran fiabilidad en la transmisin: deteccin de errores. sealizacin y envo de errores. re-envo automtico de mensajes

    corruptos cuando el bus est activode nuevo.

    distincin entre errores temporales yfallos permanentes de nodos.

    desconexin automtica de nodosdefectuosos.

    Puede operar en ambientes concondiciones extremas de ruido einterferencias.

    Los mecanismos de verificacin deerrores garantizan que las tramascontaminadas sean detectadas.

    CAN. Filiberto Pla (Universitat Jaume I) 12

    Caractersticas

    Cada red puede alcanzar 1000 metrosde longitud: ampliables con el uso de repetidores.

    Velocidad de transmisin: depende de la longitud de la red:

    Longitud del bus Velocidad enbits/s

    Tiempo mximode transmisin*

    Hasta 25 m 1 Mbit/s 129 sHasta 100 m 500 Kbit/s 258 sHasta 500 125 Kbit/s 1032 ms

    Hasta 1000 m 50 Kbit/s 2580 ms* mensajes de 129 bits de longitud

  • CAN. Filiberto Pla (Universitat Jaume I) 13

    Implementacin

    Implementacin de los niveles OSI(Open System Interconection, ISO 7498):

    Arquitectura de capas del CAN

    CAN. Filiberto Pla (Universitat Jaume I) 14

    Implementacin

    Arquitecturas de controladores CAN

    CAN. Filiberto Pla (Universitat Jaume I) 15

    Capa fsica

    Physical Interface Layer

    Physical Signaling (PLS)

    Implementada dentro del controladorCodificacin/Descodificacin de bitsTemporizacin de los bitsSincronizacin

    Physical Medium Attachment (PMA)

    Caractersticas del transceiver

    Medium Dependent Interface (MDI)

    Cable/Conector

    CAN. Filiberto Pla (Universitat Jaume I) 16

    Capa fsica

    Codificacin de bits:

    Mtodo NRZ (Non-Return-to-Zero):

    No hay flanco de subida o bajada paracada bit.

    Durante el tiempo de bit hay bitsdominantes (Low) y recesivos (High).

    Disminucin de la frecuencia de laseal respecto a otras codificaciones(Manchester coding).

  • CAN. Filiberto Pla (Universitat Jaume I) 17

    Capa fsica

    Bit-Stuffing Rule:

    NRZ no proporciona flancos para re-sincronizacin: transmisin de varios bits

    consecutivos de la misma polaridad. Se utiliza para asegurar la re-

    sincronizacin. Cada 5 bits de misma polaridad, se

    inserta uno de polaridad opuesta.

    CAN. Filiberto Pla (Universitat Jaume I) 18

    Capa fsica

    Enganche al medio:

    Existen varios estndares oficiales yen la industria.

    CAN High-Speed (ISO 11898-2), es el

    ms importante.

    Con un solo cable (SAE 2411) Transmisin por fibra ptica. Transmisin sin cables.

    CAN. Filiberto Pla (Universitat Jaume I) 19

    Capa fsica

    Transceivers tolerantes a fallos (ISO

    11898-3).

    Originalmente diseados paravelocidades bajas, 125 kbit/s.

    Se utilizan en automviles conpasajeros.

    Proporciona transmisin diferencial (2cables) y en caso de error en la lneapuede pasar a modo detransmisin/recepcin en un solocable.

    CAN. Filiberto Pla (Universitat Jaume I) 20

    Capa fsica

    Conector estndar CiA DS-102:

    DB9. La asignacin de pines se utiliza

    tambin por otros protocolos demayor nivel (CANopen, SmartDistributed System, ...)

  • CAN. Filiberto Pla (Universitat Jaume I) 21

    Capa de enlace de datos

    Data Link Layer

    LLC (Logical Link Control)

    Filtrado de aceptacinNotificacin de sobrecargaGestin de recuperacin

    MAC (Medium Access Control)

    Encapsulacin / Desencapsulacin de datosCodificacin del frame (Stuffing, Destuffing)Gestin de acceso al medioDeteccin de erroresSealizacin de erroresAcknowledgmentSerializacin / Deserializacin

    CAN. Filiberto Pla (Universitat Jaume I) 22

    Capa de enlace de datos

    Especificaciones del Protocolo CAN: CAN Protocol Specification 2.0 A:

    controladores que solo manejamensajes estndar con identificadorde 11 bits.

    CAN Protocol Specification 2.0 Bpassive:

    controladores que solo transmitenmensajes estndar con identificadorde 11 bits, pero comprueba si recibemensajes estndar y mensajesextendidos con identificadores de 29bits.

    CAN Protocol Specification 2.0 Bactive:

    controladores que transmiten yreciben mensajes estndar con ymensajes extendidos.

    CAN. Filiberto Pla (Universitat Jaume I) 23

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

    CAN. Filiberto Pla (Universitat Jaume I) 24

    Capa de enlace de datos

    Formato mensaje de datos Start of Frame

    (SOF): parasincronizacin con otros nodos.

    Arbitration Field, que contiene laprioridad del mensaje.

    Control Field, que especifica elnmero de bytes que hay en elmensaje.

    Cyclic Redundancy Check (CRC) para

    deteccin de posibles errores. Campo de datos, hasta 8 bytes.

  • CAN. Filiberto Pla (Universitat Jaume I) 25

    Capa de enlace de datos

    Formato mensaje de datos(continuacin): Acknowledgment Field

    (ACK): El nodo transmisor pone este bit como

    recesivo. Cualquier nodo que reciba el mensaje

    lo pone como dominante, paracomunicar que se ha recibido por almenos un nodo.

    End of Frame (EOF) entre dos tramas

    debe haber 3 bits recesivos.

    CAN. Filiberto Pla (Universitat Jaume I) 26

    Capa de enlace de datos

    Formato del campo de arbitraje:

    En formato estndar: 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 prevalecersobre mensajes de formato extendido.

    CAN. Filiberto Pla (Universitat Jaume I) 27

    Capa de enlace de datos

    Formato del campo de arbitraje (cont.):

    En formato extendido: 11 bits de identificador base y 18 de

    extendido. El bit SSR (Substitute Remote

    Request) sustituye al STR y esrecesivo.

    CAN. Filiberto Pla (Universitat Jaume I) 28

    Capa de enlace de datos

    Peticin remota: Peticin de mensaje a un nodo. Son como preguntas de un nodo a

    otro. El nodo que tiene la respuesta la

    comunica en una segundacomunicacin.

    La respuesta puede ser recibida porms de un nodo, si estn interesados.

  • CAN. Filiberto Pla (Universitat Jaume I) 29

    Capa de enlace de datos

    Formato del mensaje de peticin remota: Se enva 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 enva como dominante. No hay campo de datos.

    En caso de que se enve un mensajede datos y de peticin remota con elmismo identificador: el de peticin gana el acceso al bus

    (RTR dominante).

    CAN. Filiberto Pla (Universitat Jaume I) 30

    Capa de enlace de datos

    Acceso mltiple al bus: El protocolo CAN permite acceder a

    varios nodos simultneamente al bus. Si ms de un nodo quiere acceder al

    bus, se utiliza un proceso de arbitraje(CSMA/CA+AMP): No destructivo. Al nivel de bit. Deteccin de colisiones.

    Basado en prioridades: Prioridad especificada en el

    identificador del mensaje.

    CAN. Filiberto Pla (Universitat Jaume I) 31

    Capa de enlace de datos

    Arbitraje de acceso al bus: En redes como ethernet:

    CMSA/CD (Carrier Sensor MultipleAccess - Collision Detection).

    Cuando varios nodos accedensimultneamente, se detecta unmensaje de contencin.

    La transmisin se interrumpe. Despus de un tiempo de espera,

    diferente para cada nodo, se intentade nuevo el acceso.

    La cancelacin durante la contencindisminuye la capacidad detransferencia.

    En picos de trfico, puede inclusollegar a bloquearse la red.

    No conveniente para aplicaciones entiempo real.

    CAN. Filiberto Pla (Universitat Jaume I) 32

    Capa de enlace de datos

    Arbitraje de acceso al bus Token Passing:

    Cada nodo esta en posesin de la reddurante un tiempo dado.

    El derecho de acceso se pasa a losdems nodos de forma cclica.

    El tiempo de latencia para un mensajees como mximo el tiempo de ciclo.

    P(tlat)

    tciclo tlat

    1/tciclo

    Distribucin deprobabilidad del tiempode latencia

  • CAN. Filiberto Pla (Universitat Jaume I) 33

    Capa de enlace de datos

    Arbitraje de acceso al bus: CSMA/CA+AMP

    La contencin se realiza al nivel de bit(bitwise contention).

    Conflictos de accesos se evitanmediante la asignacin de unaprioridad a cada mensaje.

    El mensaje de mayor prioridadsiempre accede al bus.

    Tiempos de latencia dependen de laprioridad.

    Por razones de cooperacin con losdems nodos de la red:

    Se determina un tiempo de ciclo(similar a Token Passing).

    Solo se transmite un mensaje de lamisma prioridad cada ese tiempo deciclo.

    CAN. Filiberto Pla (Universitat Jaume I) 34

    Capa de enlace de datos

    Acceso CSMA/CA+AMP Cada nodo enva 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 dems nodos enviarn mensajescuando haya terminado la transmisin.

    CAN. Filiberto Pla (Universitat Jaume I) 35

    Capa de enlace de datos

    Deteccin de errores Mtodos de chequeo de bit Mtodos de chequeo de trama

    Chequeo de bit Monitorizacin en la transmisin:

    el emisor comprueba en el medio quelo que transmite corresponde a lo queall aparece.

    Bit stuffing.

    Cada 5 bits consecutivos del mismovalor, se inserta un bit de valorinverso.

    Si se detecta una trama con 6 o msbits consecutivos del mismo valor, latrama no es vlida.

    CAN. Filiberto Pla (Universitat Jaume I) 36

    Capa de enlace de datos

    Chequeo de trama: Campo CRC

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

  • CAN. Filiberto Pla (Universitat Jaume I) 37

    Capa de enlace de datos

    Chequeo de trama: ACK

    El emisor lo enva como un bitrecesivo.

    Cualquier receptor lo sobrescribecomo dominante.

    El emisor, en la monitorizacin,comprueba que el mensaje ha sidoescuchado.

    Hay ciertos campos de la trama quedeben tener ciertos valoresdeterminados: Si no los tiene, la trama est corrupta.

    CAN. Filiberto Pla (Universitat Jaume I) 38

    Capa de enlace de datos

    Comunicacin de errores: Todas las comprobaciones se hacen

    por todos los nodos del bus. Si uno de ellos detecta un error

    Envia a los dems nodos un flag deerror, compuesta por 6 bitsdominantes y 6 bits recesivos.

    Flag de error se propaga en toda lared (6 bits dominantes viola la reglade bit stuffing).

    Todos los nodos descartan elmensaje.

    El emisor lo reenva de nuevo.

    CAN. Filiberto Pla (Universitat Jaume I) 39

    Capa de enlace de datos

    Estados de error de un nodo CAN: Contadores de errores internos en los

    controladores: uno para emisin (TEC) uno para recepcin (REC)

    Se incrementan cuando se detectanerrores.

    Se decrementan despus detransmisiones o recepcionescorrectas.

    CAN. Filiberto Pla (Universitat Jaume I) 40

    Capa 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 demensajes de error (6 bits recesivos enlugar de domiantes)

    los dems nodos no detectan estosmensajes y as no ralentiza lascomunicaciones.

    Bus off: el nodo se auto-desconectadel bus.

  • CAN. Filiberto Pla (Universitat Jaume I) 41

    Protocolos CAN de alto nivel

    El protocolo CAN especifica: La forma de transmitirse la

    informacin En que condiciones se realiza. Estandar ISO 11898

    Se precisa protocolo adicional de msalto nivel: Para especificar la estructura de la

    informacin que se transmite. Otros mecanismos para dotar de

    funcionalidad especfica a los nodos.

    Ejemplos de protocolo de ms alto nivel: CANopen MCNet protocol

    CAN. Filiberto Pla (Universitat Jaume I) 42

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

    Innformacin CAN (artculos, etc.)http://www.kvaser.se/can/info/index.htm