PROTOCOLO DE COMUNICACIÓN CAN (CONTROLLER AREA NETWORK)

Documentos relacionados
El comienzo del protocolo CAN (CONTROLLER AREA NETWORK) Laboratorio de Automatización II. UNQ PROTOCOLO CAN 1

BUSES DE CAMPO-FIELDBUS

Controller Area Network (CAN) Gerardo Luis Stola FIUBA

Redes y Servicios. Módulo I. Fundamentos y modelos de red. Tema 2. Fundamentos. Parte B. Nivel de enlace

1.5 Técnicas de comunicaciones de datos

Bus de CAN. Controller Area Network

LAS REGLAS DE TRANSMISIÓN O PROTOCOLO

Redes de Computadores

UT05. Redes multiplexadas: CAN bus de datos

MASTER DEGREE: Industrial Systems Engineering

Electrónica digital. Notas...

Bloque de Problemas 1

CONTROL DE ERRORES DETECCIÓN DE ERRORES

EL BUS I2C CARACTERISTICAS. Fernando Remiro

UT06. OTRAS REDES MULTIPLEXADAS

La electrónica, cada vez

Tema 8: Frame Relay Ejercicios Resueltos

16/03/2008. Taller de Redes. Héctor Abarca A. Introducción a las LAN Ethernet/ Profesor: Héctor Abarca A.

Sistemas Multiusuarios. Capitulo 7 Protocolos de Control de Enlace de Datos

Capítulo 6: Capa Enlace de Datos y LANS

Ejercicios. Enunciados

Capítulo 5: Capa Enlace de Datos - I

Actividades Propuestas Tema 4: Multiplexación y Técnicas de Acceso al Medio

Problemas resueltos. Problema 1. Problema 3. Problema 5. 0BTema 2: Modelos de redes. Indique los niveles del modelo de Internet.

Sistemas de Comunicaciones I. Problemas Resueltos. Módulos 7 y 8

Ejercicios de clase Tema 2

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 6: Estándares en LAN

Funciones del Control de enlace de datos

Redes (IS20) Ingeniería Técnica en Informática de Sistemas. CAPÍTULO 5: Subcapa de acceso al medio

CODIFICACION DIGITAL CODIFICACIONES MÁS USADAS

Redes de Área Local. enlace de datos. Eduardo Interiano

Introducción a las Computadoras. Capítulo 3 Buses del Sistema

Figura 6.5 ARQ mediante parada-y-espera.

El principio de la transmisión de datos

Arquitectura de computadores I

Diseño e Implementación de detección de errores mediante CRC y algoritmo que supervisa la comunicación entre dispositivos.

CAN Controller Area Network. Norma internacional

TEMA 11 CONMUTACIÓN DE PAQUETES

Unidad 1. Caracterización de las Redes Locales (IV)

Soluciones a los Ejercicios

Implementación y Evaluación del algoritmo de sincronización RBS para redes inalámbricas de sensores

Redes. Tema 8 Capa Física OSI

Redes de Altas Prestaciones

Redes de Computadoras Práctico 1. Redes de Computadoras. Instituto de Computación. Departamento de Arquitectura de Sistemas.

III Unidad Planificación y diseño de una red (LAN)

TDM Time Division Multiplexing Multiplexación por división en tiempo Trama E1

Boletín de problemas Temas 4 al 6 ARC1 - Curso Departamento de Tecnología Electrónica (Universidad de Sevilla)

Topologías de Red. Hosts:

Tema 1 - Introducción Hoja de problemas

Capa de Enlace de Datos

REDES DE COMUNICACIONES I EJERCICIOS RESUELTOS Javier Aracil y José Alberto Hernández

Control de Congestión. Definición de Congestión

UNIDAD IV MÉTODOS DE DETECCIÓN DE ERRORES.

6-3-5 PC Link (sólo CPUs CJ1M)

Bus I 2 C. Introducción

COMUNICACIONES TRANSMISIÓN DE DATOS REDES DE ORDENADORES INTERNET. Sistemas de transmisión de datos

Comunicación de datos

Trabajo práctico Nivel de Enlace de Datos

El Modelo. Aplicación. Presentación. Sesión. Transporte. Red. Enlace. Físico

MPI. Índice. Tecnologías de Control. TEMA MPI 1. Subred MPI. 2. Comunicación de Datos Globales. 3. Funciones Básicas S7. 4.

Interfaz USB (Universal Serial Bus) Estándar para la conexión de periféricos a un ordenador a través de una interface serie USB 1.

CAN BUS Controller Area Network:

Digital: Teorema de Shanon, pulsos: PAM, PPM, PWM, PCM, ASK, FSK, PSK, QAM. Rogelio Ferreira Escutia

SISTEMAS OPERATIVOS Y TCP/IP. - El Modelo de Referencia TCP/IP -

Transcripción:

XX Congreso Argentino de Control Automático AADECA 2006 PROTOCOLO DE COMUNICACIÓN CAN (CONTROLLER AREA NETWORK) Ing. Roberto Saco email: rsaco@unq.edu.ar / rsaco@fi.uba.ar 1

El comienzo del protocolo CAN (CONTROLLER AREA NETWORK) XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 2

El comienzo del protocolo CAN XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 3

DESCRIPCIÓN GENERAL DE CAN XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 4

CONCEPTOS BÁSICOS Protocolo multi-maestro. El número de nodos no esta limitado por el protocolo. No se direcciona NODOS. Se identifica MENSAJES y PRIORIDAD. Los nodos pueden ser cambiados dinámicamente. Sofisticados métodos de detección de errores. Codificación NRZ + Bit Stuffing para sincronización. Control de acceso al medio CSMA/CR (arbitraje NO DESTRUCTIVO). XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 5

Estructura de una red CAN XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 6

Estados Lógicos de la red CAN XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 7

Control de bus de la red CAN XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 8

Arbitraje de bus CAN XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 9

Bit Stuffing XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 10

Tipos de Tramas en CAN XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 11

DATOS: REMOTA: ERROR: Tipos de Tramas Se utiliza para enviar datos de un nodo a otro(s). Es el tipo de trama que más frecuentemente circula en una red CAN. Se utiliza para solicitar una trama de datos con el ID especificado. Esta trama no contiene datos. Si un nodo detecta un error en la red, envía una trama de error e invalida la trama en cuestión en todos los nodos. La trama deberá ser retransmitida. SOBRECARGA: La utilizan los nodos para pedir tiempo adicional antes del comienzo de la próxima trama. Un máximo de 2 tramas de sobrecarga pueden ser generadas por un nodo. INTERTRAMA: Es el espacio entre una trama de datos o remota y la precedente. Este espacio es provisto para permitir a los nodos realizar procesamientos internos antes del comienzo de la próxima trama. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 12

Trama de Datos Estándar XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 13

Trama Remota Estándar XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 14

Trama Remota Estándar (ejemplo) XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 15

Trama de Error XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 16

Trama de Sobrecarga XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 17

Espacio entre Tramas XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 18

Tipo de Errores Detectados XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 19

Tipos de Errores CRC: ACK: FORMA: No coinciden el código de redundancia cíclica (CRC) calculado por el transmisor y el calculado por el receptor. El nodo receptor descarta la trama y transmite una trama de error. Sólo realizado por nodo receptor. Error de reconocimiento, detectado por el transmisor. El transmisor no detecta el reconocimiento en el campo SLOT ACK, indicando que ningún nodo recibió la trama correctamente. Se produce un error de reconocimiento (ACK) se retransmite la trama, pero NO se genera una trama de error. Se produce si se detecta un bit dominante en los siguientes campos: Delimitador de CRC. Delimitador de ACK. Fin de trama. Se transmite una trama de error. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 20

Tipos de Errores BIT: STUFFING: El bit transmitido es diferente del bit monitoreado. No se realiza en los campos de arbitraje si el bit transmitido es recesivo ni tampoco en el slot de reconocimiento. Se transmite una trama de error y se retransmite la trama. Sólo realizado por nodo transmisor. Se detectan 6 bit consecutivos de igual polaridad entre el comienzo de trama y el delimitador de CRC. Se envía una trama de error. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 21

Confinamiento de Fallas Durante las comunicaciones CAN, los nodos actualizan sus contadores de errores de transmisión y recepción mediante normas complejas establecidas en la norma CAN. Los contadores se incrementan por detección de errores o se decrementan por transmisiones o recepciones exitosas. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 22

Confinamiento de Fallas (cont.) ERROR ACTIVO: Es el estado normal de un nodo. El nodo puede recibir y transmitir mensajes. Además puede enviar tramas de error activas (bits dominantes), lo que le permite destruir mensajes detectados con algún error. ERROR PASIVO: Si alguno de los contadores pasa el valor de 127, el nodo pasa a modo pasivo. En este modo las tramas de error emitidas son pasivas (bits recesivos), no pudiendo destruir mensajes detectados con algún error. BUS APAGADO: Si el contador de error de transmisión llega a 256, todas las actividades CAN del nodo se detienen, además de liberar el bus (estado recesivo). La única forma de sacar al nodo de este estado es mediante la reinicialización del controlador CAN por la CPU de la aplicación. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 23

Protocolo CAN Extendido ESTÁNDAR: Largo identificador es de 11 bits 2048 ID s posibles. EXTENDIDO: Largo identificador es de 29 bits más de 536 millones de ID s posibles. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 24

Versiones protocolo CAN XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 25

Sincronismo de Nodos XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 26

División del tiempo del bit XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 27

División del tiempo del bit(cont) SYNC SEG: PROP SEG: Tiene una duración de 1 quanta. Si hay una transición en el bit, se espera que sea en este segmento. Es utilizado para compensar los tiempos de propagación y los retardos de los dispositivos electrónicos en la red. Su duración se puede programar entre 1 y 8 quantas. PHASE SEG1: Se utiliza para compensar los errores de fase de los flancos. Su tiempo puede ser de 1 a 8 quantas y se puede estirar en cada re-sincronización. Al finalizar el segmento se muestrea el estado del bit. PHASE SEG2: También se utiliza para compensar los errores de fase de los flancos. Su tiempo puede variar entre 1 y 8 quantas, pero no debe ser menor al tiempo de Procesamiento de Información. PHASE SEG2 se puede achicar en cada re-sincronización. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 28

División del tiempo del bit(cont) PROCESAMIENTO DE INFORMACIÓN: Es el tiempo necesario para calcular el próximo nivel de bit a partir del punto de muestreo. Es menor o igual a 2 quantas. RJW: ERROR DE FASE: Ancho de salto para re-sincronización, es el tiempo máximo, en quantas, que puede ser estirado PHASE SEG1 o acortado PHASE SEG2. Puede programarse entre 1 y min(4,phase SEG2). Es el tiempo, en quantas, del flanco detectado respecto SYNC SEG: e = 0: Si el flanco cae dentro de SYNC SEG. e > 0: Si el flanco cae después de SYNC SEG y antes del punto de muestreo. e < 0: Si el flanco cae después del punto de muestreo del bit anterior. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 29

Re-sincronismo. Caso 1 XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 30

Re-sincronismo. Caso 2 XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 31

Simplificación de segmentos del Bit Muchos controladores CAN, para simplificar la programación, combinan los segmentos PROP SEG y PHASE SEG1 en un único segmento llamado T SEG1. En este caso, el segmento PHASE SEG2 es llamado T SEG2. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 32

Dónde ubicar el punto de muestreo? Programar el punto de muestreo permite ajustar las características de la red a nuestras necesidades. Un punto de muestreo temprano permite aumentar la cantidad de quantas en PHASE SEG2 y así subir el tiempo de RJW a su máximo de 4. Un RJW de 4 da la máxima capacidad para extender o acortar el tiempo de bit, haciendo la red más robusta a cambios en la frecuencia del cristal permitiendo usar cristale más baratos tales como resonadores cerámicos. Un punto de muestreo tardío implica más tiempo en el segmento de propagación PROP SEG, lo que permite un máximo en el largo de la red. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 33

Dónde ubicar el punto de muestreo? (cont.) XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 34

Velocidad de transmisión vs. Largo de la red La velocidad máxima según la norma CAN es 1Mbps que se puede lograr con par trenzado de hasta 40 metros. Para redes más largas que 40 metros la velocidad debe ser reducida. Un largo de red de 1000 metros trabaja adecuadamente a 50 Kbps. Algunos módulos CAN permiten manejar más de 1Mbps. XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 35

Medio físico XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 36

Estándar Medio físico XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 37

Estándar ISO11898 XX Congreso Argentino de Control Automático (AADECA 2006) PROTOCOLO CAN 38