1 / 37

CAN: Controller Area Network

CAN: Controller Area Network. Redes de Datos – 2014 Facultad de Ingeniería Universidad Nacional de Mar del Plata Alumnos: Juan M. López – Martin Igartúa. Historia.

siran
Download Presentation

CAN: Controller Area Network

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CAN: ControllerArea Network Redes de Datos – 2014 Facultad de Ingeniería Universidad Nacional de Mar del Plata Alumnos: Juan M. López – Martin Igartúa

  2. Historia • Es un bus de comunicación serie diseñado para proveer una comunicación simple, eficiente y robusta, que es utilizada en redes de vehículos. • Fue desarrollado por la compañía Robert Bosch GmbHen 1983 y presentadoa la sociedad en el año 1986. • En el año 1991 se publicó la versión 2.0 que es la más utilizada en la actualidad. Posteriormente, fue estandarizado bajo certificaciones ISO en el año 1993. • CAN fue concebido para ser implementado en la industria automotriz, pero también fue adoptado en sistemas de control marítimo y navegación, sistemas de control de ascensores, maquinaria agrícola, automatización de fábricas, fotocopiadoras, sistemas médicos, maquinaria de producción textil y más.

  3. ¿Por qué utilizar el Bus CAN? • La industria del automóvil ha desarrollado una multitud de sistemas electrónicos, como por ejemplo ABS, EMS, Control de Tracción, AIRBAG, Cierre Centralizado de Puertas, entre otras. • La complejidad de estos sistemas de control y la necesidad de intercambiar datos entre ellos, hizo que el cableado tipo punto a punto se volviera muy costoso e ineficiente. • Para llevar ésto a la práctica, se necesitarían cientos de conexiones individuales, que implicarían grandes cantidades de cable, aumentando el peso y la dificultad de mantenimiento.

  4. Soluciones CAN • CAN utiliza generalmente cables de par trenzado UTP o STP con transmisión diferencial (mejorando la inmunidad al ruido) y topología tipo Bus. • Es Multimaestro y Multicast. Nuevos dispositivos pueden ser agregados sin modificar la configuración de los existentes. • Provee un método de acceso al medio llamado CSMA/CD+AMP (agrega Arbitraje por Prioridad de Mensajes). • Incorpora 5 métodos de control de errores, 3 a nivel de mensaje y 2 a nivel de bits.

  5. Red Convencional vs. Red CAN

  6. Detalle de un Bus CAN

  7. CAN Diferencial y Cable Simple

  8. Estándares Relevantes

  9. Modelo de Capas I • El estándar ISO 11898 define las últimas dos capas del modelo OSI como Data-Link Layer(LLC y MAC) y PhysicalLayer(PLS, PMA y MDI). • Control de Enlace Lógico (LLC): • Se encarga del filtrado de mensajes. • Provee servicios para la transferencia de datos y durante la solicitud de datos remotos. • Decide que mensajes recibidos de MAC se aceptan. • Se encarga de la recuperación en caso de errores y notificaciones de sobrecarga del Bus.

  10. Modelo de Capas II • Control de Acceso al Medio (MAC): • Presenta los mensajes recibidos a la subcapa LLC. • Acepta los mensajes para ser transmitidos a dicha subcapa. • Responsable de la trama de mensajes, arbitraje, detección y señalización de errores. • Decide si el bus está libre para iniciar una transmisión, o si comenzó una recepción. • Capa Física: • Niveles de Señal (Para : , entre CANH y CANL (2.5V - 2.5V = 0V). , entre CANH y CANL (4.1V - 1.5V =2.6V). • Codificación Non-Return-to-Zero (NRZ). • Sincronización. • Impedancia de los cables (). • Velocidades de transferencia.

  11. Modelo de Capas III • Physical Signaling (PLS): • Codificación/Decodificaciónbinaria. • Velocidadbinaria. • Sincronización. • Physical Medium Attachment (PMA): • Características del Transceiver. • Medium Dependent Interface (MDI) • Cable/Conector.

  12. Modelo de Capas IV

  13. Transmisión de Datos I • Un mensaje CAN que se transmite con la prioridad más alta tendrá éxito, y el nodo que transmite el mensaje de prioridad más baja lo censará y esperará un tiempo de Back-Off. • Esto se logra mediante la transmisión de datos a través de un modelo binario de bits Dominantes y bits Recesivos (“o” lógico y “1” lógico respectivamente). • Si un nodo transmite un bit Dominante y otro nodo transmite un bit Recesivo, el primero "gana" .Ésto es equivalente a una operación AND Cableada entre los dispositivos conectados al Bus.

  14. Transmisión de Datos II

  15. Acceso al Medio • Se utiliza CSMA/ CD+AMP, CollisionDetection and ArbitrationonMessagePriority. • CSMAsignificaquecadanodo en el Bus debeesperarpor un tiempopredeterminado de inactividad antes de intentartransmitir. • CD+AMPsignificaquelascolisiones son resueltas a través de un arbitraje bit a bit (bit-wise arbitration), basado en unaprioridadprestablecida para cadamensaje en su campo de identificación. El mensaje de mayor prioridadganará el acceso al Bus.

  16. Arbitraje I • Si dos nodos intentan ocupar elBus simultáneamente, el acceso se implementa con un arbitraje no destructivo bit a bit. No destructivo significa que el nodo que gana el arbitraje continúa con el mensaje, sin que éste sea destruido o dañado por otro nodo. • Cuanto menor sea el Identificador del mensaje, mayor será su prioridad. Así, un identificador compuesto enteramente de ceros es el mensaje de prioridad más alta. • Si dos nodos transmiten simultáneamente, y un nodo envía el último bit del identificador como un “0”, mientras que el otro envía un “1”, el primero retiene el control delBus y completará su mensaje.

  17. Arbitraje II

  18. Arbitraje III • La asignación de prioridad del mensaje corresponde al diseñador del sistema, pero los grupos industriales llegaron a un acuerdo sobre la importancia de ciertos mensajes. • Ejemplo: El fabricante especifica que el mensaje 0010es una señal de realimentación de corriente del devanado de un motor, y que 0011 es el velocidad del tacómetro. Debido a que 0010tiene el identificador binario más bajo, los mensajes en relación con los valores de la corriente del motor, siempre tendrán una mayor prioridad en el Bus que las lecturas del tacómetro.

  19. Tipos de Estándares I • Existen dos tipos de tramas CAN, la Estándar (Standard CAN) y la Extendida (Extended CAN). • La principal diferencia se encuentra en el incremento de la cantidad de bits del campo de Identificación, yendo de 11 bits en el Estándar, a 29 bits en la versión Extendida.

  20. Tipos de Estándares II • Standard CAN: • Extended CAN:

  21. Tipos de Estándares III Campos de Standard CAN: • SOF- (Start of Frame) [1 bit] Marca el inicio de un mensaje con un bit Dominante y se utiliza para sincronizar los nodos en un bus después de estar inactivo. • Identificador- (Identifier) [11 bits] Identifica y establece la prioridad del mensaje. Cuanto menor sea el valor binario, mayor es su prioridad. • RTR- (RemoteTransmissionRequest) [1 bit] Es utilizada por el receptor para solicitar a un transmisor que envíe su información. Un bit RTR Dominante indica una Trama de Datos y uno Recesivo indica una Trama Remota. • IDE- (IdentifierExtension) [1 bit] Permite diferenciar entre tramas estándar y extendidas. • r0- Bit reservado para su posible uso por una modificación futura. • DLC- (Data LengthCode) [4 bits] Indica el número de bytes que contiene el campo de datos.

  22. Tipos de Estándares IV • Data- [hasta 64 bits] Datos a transmitir. • CRC- (CyclicRedundancyCheck) [16 bits] Consta de un código CRC de 15 bits más un bit recesivo delimitador. Su función es la de detectar errores. • ACK- (Acknowledge) [2 bits, ACK + Delimitador]Indica si el mensaje a sido recibido correctamente. El transmisor pone este bit como Recesivo y cada nodo que reciba el mensaje correctamente, lo sobrescribe con un bit dominante. En caso de que un nodo receptor detecte un error, descarta el mensaje y el nodo emisor repite el mensaje después del rearbitraje. De esta manera cada nodo verifica la integridad del mensaje. • EOF- (End Of Frame) [7 bits] Cumple dos funciones: 1) Marca el final de una trama CAN 2) Desactiva relleno de bits (bit-stuffing), que indica un error de relleno (stuffing) cuando es dominante. • IFS- (InterframeSpace) [7 bits] Determina el espaciado entre tramas.

  23. Tipos de Estándares V Campos adicionales de Extended CAN: • SRR- (SubstituteRemoteRequest) [1 bit] Sustituye al bit RTR en la ubicación del mensaje estándar como un marcador de posición en el formato extendido. • IDE- (IdentifierExtension) [1 bit] Se pone en alto (Recesivo) para indicar que hay más bits identificadores a continuación. • Identificador- (Identifier) [18 bits] Extiende el campo Identificador de la trama Standard CAN, llegando a un total de 29 bits. • r1- Bit reservado adicional para su posible uso por una modificación futura.

  24. Tipos de Mensajes I • Existen cuatro tipos de mensajes que pueden ser transmitidos en un bus CAN: • Trama de Datos (Data Frame) • Trama Remota (RemoteFrame) • Trama de Error (Error Frame) • Trama de Sobrecarga (OverloadFrame)

  25. Tipos de Mensajes II • Trama de Datos: • Transmite 
información
 desde un nodo a 
cualquiera
 de los restantes, por Multicast. • Es el tipo de mensaje más común, y cuenta con el Campo de Arbitraje, el Campo de Datos, el Campo CRC, y el Campo de ACK. • El Campo de Arbitraje contiene un identificador de 11 bits (Standard CAN) y el bit RTR, que es dominante para tramas de datos. En la versión extendida, contiene el identificador de 29 bits y el bit RTR. • A continuación se encuentra el Campo de Datos que contiene de 0 a 8 Bytes de datos, y el campo CRC que contiene la suma de comprobación (Checksum) de 16 bits que se utiliza para la detección de errores. El último es el campo de ACK.

  26. Tipos de Mensajes III • Trama Remota • Permite que un nodo destino solicite datos a un nodo fuente. • Es similar a la trama de datos, con dos diferencias significativas: • El bit RTRse encuentra en estado Recesivo. • El Campo de Datos está vacío.

  27. Trama de Mensajes IV • Trama de Error: • Es un mensaje que no sigue las reglas de formato de un mensaje CAN. • Se transmite cuando un nodo detecta un error en un mensaje, y hace que todos los demás nodos de la red también envíen una trama de éste tipo. • Detectado un error, el transmisor original retransmite automáticamente el mensaje. Un elaborado sistema de contadores de error en el controlador CAN asegura que un nodo no pueda apropiarse del bus, transmitiendo repetidamente tramas de error. • Se considera que un mensaje no posee errores, cuando el último bit del campo EOF de su trama, es recibido en estado Recesivo. En cambio, si dicho bit se encuentra en estado Dominante, se produce una retransmisión.

  28. Trama de Mensajes V • Trama de Sobrecarga: • Su formato es similar al de la Trama de Error, y es transmitida por un nodo que se congestionó, o que se encuentra demasiado ocupado. • Se utiliza sobre todo para proporcionar un retardo extra entre los mensajes.

  29. Control de Errores I • CANincorpora 5 métodos de comprobación de errores: 3 a nivel de mensaje y 2 a nivel de bit. • Si un mensaje dañado es detectado por cualquiera de estos métodos, éste es rechazado y se genera una Trama de Error desde el nodo receptor. • Esto obliga a que el nodo emisor reenvíe el mensaje hasta que sea recibido correctamente. • Si un nodo defectuoso ocupa el Buspor un período de tiempo prolongado, repitiendo continuamente un error, el controlador anula momentáneamente su capacidad de transmitir.

  30. Control de Errores II • A nivel de mensaje: • La comprobación de errores está dada por un CRCde 16 bits para la detección de errores con un Checksum (15 bits + Delimitador). • También contiene un campo ACKde 2 bits de largo (1 bit + Delimitador). • Otra forma de chequeo de errores busca en los campos del mensaje los bits que siempre deben ser Recesivos. Si se detecta un bit Dominante, se genera un error. Los bits controlados son: el SOF, el EOF, el Delimitador ACK, y los bits Delimitadores CRC.

  31. Control de Errores III • Al nivel de bit: • El transmisor detecta errores mediante el monitoreo de las señales en el Bus. Cada bit transmitido se controla comparándolo con el bit recibido. Si un bit de datos se escribe en el Bus y su opuesto es leído, se genera un error. • El último método de detección de errores es con la regla de relleno de bits (bit-stuffing). Ésta es necesaria debido a que la codificación NRZ no provee flancos para la sincronización, si se transmite grandes cantidades de bits con la misma polaridad.

  32. Control de Errores IV • Bit Stuffing: • Después de transmitidos 5 bits consecutivos del mismo nivel lógico, se introduce un bit de polaridad opuesta. Si esto no ocurre, se generaría un error. • Permite que los flancos ascendentes sean utilizados para asegurar la sincronización de la red. • Hace posible que un stream de bits no sea confundido con una Trama de Error, o con el espaciado entre tramas de 7 bits que indica el final de un mensaje. • Posteriormente, los bits de relleno son eliminados por el controlador del nodo receptor antes que los datos sean enviados a la aplicación. • Una vez detectado un error, todos los nodos CANgeneran su propia trama de error. • La Trama de Error es seguida por un delimitador de campo de 8 bits Recesivos y un período de inactividad en el bus antes que pueda retransmitir el mensaje dañado. • Es importante tener en cuenta que el mensaje retransmitido todavía tiene que competir por arbitraje en el Bus.

  33. Control de Errores V • Bit Stuffing:

  34. Nuevo Estándar: CAN FD(Flexible Data-Rate) • Se introduce a partir de la creciente demanda de ancho de banda en la comunicación CAN. • CAN FD (2012) permite velocidades de datos de hasta 8 Mbps y tramas de datos de hasta 64 Bytes. • CAN FD tiene el mismo protocolo para la capa física que CAN 2.0. Sin embargo, es diferente para la capa de datos. • Permite cambiar a un bit ratemás alto luego del arbitraje. • Se introdujeron nuevos polinomios CRC para proteger las tramas de CAN FD (que son más largas) manteniendo la distancia de Hammingdel protocolo CAN 2.0. • Mantiene compatibilidad hacia atrás con CAN 2.0.

  35. Preguntas Orientadoras • ¿Por qué utilizar el bus CAN? • ¿Qué mejora se introduce en el método de acceso al medio en el protocolo CAN? ¿Cuál es su principal ventaja? • ¿Qué es el bit stuffing? ¿Para qué se lo utiliza? • ¿Cuál es la diferencia entre Standard CAN y Extended CAN?

  36. Bibliografía

  37. ¡Gracias por su atención!

More Related