jueves, 8 de marzo de 2018

¿Que es una red CAN?


¿QUE ES UNA RED CAN?

Una red de área de campus (CAN) es una red de computadoras que conecta redes de área local a través de un área geográfica limitada, como un campus universitario, o una base militar. Puede ser considerado como una red de área metropolitana que se aplica específicamente a un ambiente universitario. Por lo tanto, una red de área de campus es más grande que una red de área local, pero más pequeña que una red de área amplia.
En un CAN, los edificios de una universidad están conectados usando el mismo tipo de equipo y tecnologías de redes que se usarían en un LAN. Además, todos los componentes, incluyendo conmutadoresenrutadores, cableado, y otros, le pertenecen a la misma organización.Una CAN es una colección de LANs dispersadas geográficamente dentro de un campus (universitario, oficinas de gobierno, maquilas o industrias) pertenecientes a una misma entidad en una área delimitada en kilómetros.Una CAN utiliza comúnmente tecnologías tales como FDDI y Gigabit Ethernet para conectividad a través de medios de comunicación tales como fibra óptica y espectro disperso.
En esta imagen se puede observar un ejemplo de esta conexión


Si deseas ver el video de que es una CAN y como funciona aqui te dejamos el link:

HISTORIA DE LAS CAN
Originalmente, CAN (Controller Area Network, por sus siglas en inglés) fue desarrollado por Bosch en 1985 para redes en vehículos. Previo a eso, los fabricantes automotrices conectaban dispositivos electrónicos en los vehículos utilizando sistemas de cableado de punto a punto. Sin embargo, conforme los fabricantes comenzaron a utilizar más y más dispositivos electrónicos en los vehículos, los arneses de estos subían en su peso y costo general
El desarrollo del protocolo CAN comenzó en 1983 en la empresa Robert Bosch GmbH (comúnmente conocida como Bosch). El protocolo fue oficialmente lanzado en 1986 en el congreso de la Sociedad de Ingenieros Automotrices (SAE) en Detroit. Los primeros controladores CAN llegaron al mercado en 1987 de la mano de Intel.
Bosch publicó posteriormente varias versiones de la especificación CAN, siendo la última de ellas la especificación CAN 2.0, publicada en 1991. Esta especificación consta de dos partes; la parte A para el formato estándar y la parte B para el formato extendido. Un dispositivo CAN que usa el formato estándar utiliza identificadores de 11 bits y es comúnmente referido como dispositivo CAN 2.0A. Un dispositivo CAN que usa el formato extendido utiliza identificadores de 29 bits y es comúnmente referido como dispositivo CAN Los estándares CAN 2.0A/B y otros documentos de referencia relacionados con CAN son de acceso libre a través de Bosch.2

En 1993 se publicó el estándar ISO 11898 del bus CAN y ha sido a partir de ese momento un estándar Actualmente el bus CAN está estandarizado.
Resultado de imagen para imagen evolucion de las redes can

CARACTERISTICAS
  • Prioridad de mensajes.
  • Garantía de tiempos de latencia.
  • Flexibilidad en la configuración.
  • Recepción por multidifusión (multicast) con sincronización de tiempos.
  • Sistema robusto en cuanto a consistencia de datos.
  • Sistema multimaestro.
  • Detección y señalización de errores.
  • Retransmisión automática de tramas erróneas
  • Distinción entre errores temporales y fallas permanentes de los nodos de la red, y desconexión autónoma de nodos defectuosos.

otras caracteristicas basicas son:
   Económico y sencillo: Dos de las razones que motivaron su desarrollo fueron precisamente la necesidad de economizar el coste monetario y el de minimizar la complejidad del cableado, por parte del sector automovilístico.

     Estandarizado: Se trata de un estándar definido en las normas ISO
(Internacional Organization for Standardization), concretamente la ISO 11898, que se divide a su vez en varias partes, cada una de las cuales aborda diferentes aspectos de CAN.

  Medio de transmisión adaptable: El cableado, como ya hemos dicho, es muy reducido a comparación de otros sistemas. Además, a pesar de que por diversas razones el estándar de hardware de transmisión sea un par trenzado de cables, el sistema de bus CAN también es capaz de trabajar con un solo cable. Esta particularidad es empleada en diversos tipos de enlaces, como los enlaces ópticos o los enlaces de radio.

    Estructura definida: La información que circula entre las unidades a través de los dos cables (bus) son paquetes de bits (0’s y 1’s) con una longitud limitada y con una estructura definida de campos que conforman el mensaje.

      Programación sencilla.

      Número de nodos: Es posible conectar hasta 110 dispositivos en una sola red          CAN.

   Garantía de tiempos de latencia: CAN aporta la seguridad de que se transmitirá cierta cantidad de datos en un tiempo concreto, es decir, que la latencia de extremo a extremo no excederá un nivel específico de tiempo. Además, la transmisión siempre será en tiempo real.

  Optimización del ancho de banda: Los métodos utilizados para distribuir los mensajes en la red, como el envío de estos según su prioridad, contribuyen a un mejor empleo del ancho de banda disponible.

    Desconexión autónoma de nodos defectuosos: Si un nodo de red cae, sea cual sea la causa, la red puede seguir funcionado, ya que es capaz de desconectarlo o aislarlo del resto. De forma contraria, también se pueden añadir nodos al bus sin afectar al resto del sistema, y sin necesidad de reprogramación.

    Velocidad flexible: ISO define dos tipos de redes CAN: una red de alta velocidad (de hasta 1 Mbps) definida por la ISO 11898-2, y una red de baja velocidad tolerante a fallos (menor o igual a 125 Kbps) definida por la ISO 11898-3. 

   Relación velocidad-distancia: Al punto anterior habría que añadir que la velocidad también depende de la distancia hasta un máximo de 1000 metros (aunque podemos aumentar la distancia con bridges o repetidores), como podemos corroborar en la siguiente tabla comparativa:

Resultado de imagen para caracteristicas de redes can



ESTANDARDIZACIÓN
a especificación CAN (versión 2.0) de “Bosch” fue sometida a la estandardización internacional a comienzos de los 90. Concretamente en Noviembre de 1993, después de diversos conflictos políticos, se publicó el estándar ISO 11898, que definía además una capa física para velocidades de hasta 1 Mbit/s.Paralelamente, un formato de CAN ‘tolerante a fallos’ se incluyó en la ISO 11519-2. En 1995, el estándar se amplió con la descripción del identificador CAN de 29 bits. Desafortunadamente, todas las especificaciones y estandarizaciones publicadas acerca de CAN contenían errores o estaban incompletas. Para evitar incompatibilidades, “Bosch” se cercioró, y sigue haciéndolo, de que todos los micros CAN cumplen con el modelo de referencia que ellos definieron.  De todas formas, las especificaciones CAN han sido revisadas y estandarizadas con el tiempo en diferentes secciones: la norma ISO 11898-1 describe la 'capa de transmisión de datos CAN'; la ISO 11898-2 la ‘capa física CAN no tolerante a fallos'; y la ISO 11898-3 la ‘capa física CAN tolerante a fallos’. Los estándares de ISO 11992 (referente a la interfaz para camiones y remolques) e ISO 11783 (referente a la maquinaria agrícola y forestal) definen los perfiles del uso de CAN basados en el US-protocol J1939. 

               Relacion velocidad y Distancia 
Velocidad (Kbps)
Tiempo de bit (µS)
Longitud máxima de bus
(m)
1000
1
30
800
1.25
50
500
2
100
250
4
250
125
8
500
50
20
1000
20
50
2500
10
100
5000



CAN – Ethernet

Aun cuando las similitudes entre CAN y Ethernet son obvias, CAN posee algún beneficio clave cuando se compara con el protocolo Ethernet. El esquema de arbitraje que usa el protocolo CAN es de bit inteligente no destructivo. Esto significa que se comparan los mensajes con cada bit en un momento determinado, pero el mensaje con la prioridad más alta no se destruye y se retransmite; sólo el mensaje que no gana el arbitraje de bus se detiene y se retransmite. Éste es un punto importante que ayuda a minimizar el tiempo de fuera de servicio del bus y aumentan al máximo uso eficaz del ancho de banda disponible.


Otra ventaja importante del arbitraje del bit inteligente no destructivo, que usa CAN, es el hecho que esto da al bus características muy predecibles. Con Ethernet, ambos transmisores se detienen cuando se detecta una colisión y una cantidad de tiempo aleatorio se permite pasar antes de que ambos prueben de la retransmisión. Con este elemento aleatorio de tiempo eliminado de la función del bus, es posible lograr casi el 100% de eficacia en términos de utilización del ancho de banda.



CAMPOS DE APLICACION DE LAS CAN

El 80% de las aplicaciones modernas del bus CAN se pueden encontrar en la ingeniería del automóvil y otro tipo de vehículos como autobuses, trenes y aviones. En el caso de los automóviles por ejemplo, CAN es el encargado de la comunicación y automatización del sistema de freno, los faros, el ABS, o el ordenador de abordo, del cual vemos su esquema. Sin embargo, también se puede encontrar el bus CAN en aplicaciones de diversa índole debido a su naturaleza, que le aporta robustez, economía y un altísimo grado de seguridad y fiabilidad. 
Algunos ejemplos que podemos mencionar son:
 Control y automatización industrial:
-       Redes entre diversas máquinas y elementos de las mismas.
-       Redes de supervisión.
-       Redes de seguridad.

Control y automatización de edificios:
-       Control de ascensores, puertas mecánicas, aspersores y diversos                     elementos mecánicos.
-       Control de iluminación.

Aplicaciones específicas:
-       Control de máquinas expendedoras (en Inglaterra está muy extendido su         uso).
-       Control de equipamiento médico.
-       Control de sistemas automáticos de almacenaje.



ARBITRAJE DE ACCESO AL BUS

Unas de las características que distingue a CAN con respecto a otras normas, es su técnica de acceso al medio denominada como CSMA/CD+CR o "Carrier Sense, Multiple Access/Collision Detection + Collision Resolution" (Acceso Múltiple con detección de portadora, detección de colisión más Resolución de colisión). Cada nodo debe vigilar el bus en un periodo sin actividad antes de enviar un mensaje (Carrier Sense) y además, una vez que ocurre el periodo sin actividad cada nodo tiene la misma oportunidad de enviar un mensaje (Multiple Access). En caso de que dos nodos comiencen a transmitir al unísono se detectará la colisión. 

El método de acceso al medio utilizado en bus CAN añade una característica adicional: la resolución de colisión. En la técnica CSMA/CD utilizada en redes Ethernet ante colisión de varias tramas, todas se pierden. CAN resuelve la colisión con la supervivencia de una de las tramas que chocan en el bus. Además la trama superviviente es  aquella a la que se ha identificado como de mayor prioridad.  

La resolución de colisión se basa en una topología eléctrica que aplica una función lógica determinista a cada bit, que se resuelve con la prioridad del nivel definido como bit de tipo dominante. Definiendo el bit dominante como equivalente al valor lógico '0' y bit recesivo al nivel lógico '1' se trata de una función AND de todos los bits transmitidos simultáneamente. Cada transmisor escucha continuamente el valor presente en el bus, y se retira cuando ese valor no coincide con el que dicho transmisor ha forzado. Mientras hay coincidencia la transmisión continua, finalmente el mensaje con identificador de máxima prioridad sobrevive. Los demás nodos reintentarán la transmisión lo antes posible. 

Se ha de tener en cuenta que la especificación CAN de Bosh no establece cómo se ha de traducir cada nivel de bit (dominante o recesivo) a variable física. Cuando se utiliza par trenzado según ISO 11898 el nivel dominante es una tensión diferencial positiva en el bus, el nivel recesivo es ausencia de tensión, o cierto valor negativo, (los transceptores no generan corriente sobre las resistencias de carga del bus).   Esta técnica aporta la combinación de dos factores muy deseados en aplicaciones industriales distribuidas: la posibilidad de fijar con determinismo la latencia en la transmisión de mensajes entre nodos y el funcionamiento en modo multimaestro sin necesidad de gestión del arbitraje, es decir control de acceso al medio, desde las capas de software de protocolo.   La prioridad queda así determinada por el contenido del mensaje, en CAN es un campo determinado, el identificador de mensaje, el que determina la prioridad 







En la siguiente figura se ve un ejemplo de arbitraje en un bus CAN:


para mas información te dejamos el link de como funciona el sistema can bus:


Detección de errores 
En el momento en que un dispositivo detecta un error en una trama, este dispositivo transmite una secuencia especial de bits, “el error flag”.Cuando el dispositivo que ha transmitido la trama errónea detecta el error flan, transmite la trama de nuevo. Los dispositivos CAN detectan los errores siguientes:

-       Error de bit: Durante la transmisión de una trama, el nodo que transmite monitoriza el bus. Cualquier bit que reciba con polaridad inversa a la que ha transmitido se considera un error de bit, excepto cuando se recibe durante el campo de arbitraje o en el bit de reconocimiento. Además, no se considera error de bit la detección de bit dominante por un nodo en estado de error pasivo que retransmite una trama de error pasivo.

-       Error de relleno (Stuff Error): Se considera error de relleno la detección de 6 bits consecutivos del mismo signo, en cualquier campo que siga la técnica de relleno de bits, donde por cada 5 bits iguales se añade uno diferente.

-       Error de CRC: Se produce cuando el calculo de CRC realizado por un receptor no coincide con el recibido en la trama. El campo CRC (Cyclic Redundant Code) contiene 15 bits y una distancia de Hamming de 6, lo que asegura la detección de 5 bits erróneos por mensaje. Estas medidas sirven para detectar errores de transmisión debido a posible incidencias en el medio físico como por ejemplo el ruido.

-       Error de forma (Form Error): Se produce cuando un campo de formato fijo se recibe alterado como bit.

-       Error de reconocimiento (Acknowledgement Error): Se produce cuando ningún nodo cambia a dominante el bit de reconocimiento.


 Recepción de mensajes 

Bufers de recepción

El módulo del bus CAN tiene 3 bufers de recepción. No obstante, uno de los bufers de recepción se dedica continuamente a escuchar el bus en espera de mensajes entrantes. Este búfer se llama ‘Búfer de ensamblado de mensajes’ (Message Assembly Buffer o MAB). Por tanto hay 2 bufers de recepción visibles, RXB0 y RXB1, que pueden recibir simultáneamente un mensaje completo desde el motor de protocolo.

Todos los mensajes son montados por el MAB y son transferidos a los bufers RXBn solo si se encuentran los filtros de criterios de aceptación. Cuando se recibe un mensaje, la bandera (flag) RXnIF (CiINTF <0> o CiINTF <1>) se pone a 1. Este bit solo puede ser activado por el modulo cuando se recibe un mensaje. La CPU pone el bit a cero cuando ha completado el procesado del mensaje en el búfer. Si el bit RXiIE (CiINTE <0> o CiINTE <1>) está a 1, se generará una interrupción cuando se reciba un mensaje. Los filtros RXF0 y RXF1 con la máscara RXM0 están asociados con RXB0. Los filtros RXF2, RXF3, RXF4 y RXF5 y la máscara RXM1 están asociados con RXB1.


 Filtros de aceptación de mensajes

Los filtros y mascaras de aceptación de mensajes se usan para determinar si un mensaje del búfer de ensamblado de mensajes debe ser cargado en alguno de los bufers de recepción. Una vez un mensaje válido ha sido recibido por el MAB, los campos de identificación del mensaje son comparados con los valores de los filtros. Si hay una coincidencia, ese mensaje será cargado en el búfer de recepción apropiado.
El filtro de aceptación busca en los mensajes entrantes el bit RXIDE (CiRXnSID<0>) para determinar como comparar los identificadores. Si el bit RXIDE esta desactivado, el mensaje es una trama estándar y solo se comparan los filtros con el bit EXIDE (CiRXFnSID<0>) a cero. Si el bit RXIDE está puesto a 1, el mensaje es una trama extendida, y solo son comparados los filtros con el EXIDE a 1. Configurando los bits RXM<1:0> a ‘01’ ó a ‘10’ se puede borrar el bit EXIDE.

Máscaras de filtro de aceptación de mensajes

Los bits de máscara determinan que bits se han de aplicar en el filtro. Si un bit de máscara está a cero, entonces este bit será aceptado automáticamente independientemente del bit de filtro. Hay 2 máscaras de filtro de aceptación programables, asociadas con los bufers de recepción, una por cada búfer.

Sobrecarga de recepción:

 Esta condición de sobrecarga se da cuando el MAB ha ensamblado un mensaje recibido válido, cuando el mensaje es aceptado a través del filtro de aceptación, y cuando el búfer de recepción asociado con el filtro no ha sido designado como vacío por el mensaje previo. 
El flag de error de sobrecarga, RXnOVR (CiINTF<15> o CiINTF<14>), y el bit ERRIF (CiINTF<5>) son puestos a 1 y el mensaje del MAB es descartado. Si el bit DBEN está desactivado, RXB1 y RXB0 operan independientemente. Cuando esto ocurre, un mensaje dirigido a RXB0 no es desviado a RXB1 si el RXB0 contiene un mensaje no leído y el RX0OVR se pone a 1.
Si el bit DBEN esta activado, la sobrecarga del RXB0 se trata de forma diferente. Si se recibe un mensaje válido para RXB0 y el bit RXFUL = 0, el mensaje para RXB0 se carga en RXB1. No se genera un mensaje de error de sobrecarga para RXB0. Si se recibe un mensaje valido para RXB0 y el bit RXFUL = 1, tanto RXB0 como RXB1 están llenos, por lo tanto, el mensaje se perderá y se generará un mensaje de error de sobrecarga para RXB1.


Errores de recepción

El Modulo CAN puede detectar los siguientes errores de recepción:

-       Error de Chequeo de Redundancia Cíclica (CRC)
-       Error de Relleno de Bits (Bit Stuffing Error)
-       Error de Mensaje Inválido Recibido
Estos errores de recepción no generan una interrupción. Sin embargo, si que se incrementa el contador de errores de recepción. El bit RXWAR (CiINTF<9>) indica que el contador de errores de recepción ha alcanzado el límite de advertencia de la CPU (este límite es 96) y se genera una interrupción.

Interrupciones de recepción

Las Interrupciones de recepción se pueden dividir en 3 grandes grupos, cada uno de ellos incluye varias condiciones que generan interrupciones:

-       Interrupción de recepción: Un mensaje se ha recibido correctamente y se ha cargado en uno de los bufers de recepción. Esta interrupción se activa inmediatamente después de recibir el campo Fin de Trama (EOF). El flag RXnIF indica que buffer de recepción ha causado la interrupción.
-       Interrupción de despertador (Wake-up Interrupt): El módulo CAN se ha despertado del modo Deshabilitado (Disable) o el dispositivo se ha despertado del modo Durmiendo (Sleep)
-       Interrupción de error de recepción: Una interrupción de error de recepción se señala en el bit ERRIF. La fuente del error puede ser determinada comprobando los bits del registro Estatus de Interrupción CAN, CiINTF.
-       Mensaje Inválido Recibido: Si ocurre algún tipo de error durante la recepción del ultimo mensaje, se indicará un error mediante el bit IVRIF.
-       Sobrecarga de Receptor: El bit RXnOVR indica que ha ocurrido un error de sobrecarga.
-       Advertencia del Receptor: El bit RXWAR indica que el contador de errores de recepción (RERRCNT<7:0>) ha alcanzado el límite de advertencia de 96.

Error de Recepción Pasivo: El bit RXEP indica que el contador de errores de recepción ha excedido el límite de error pasivo de 127 y el módulo ha entrado en el estado error pasivo

para mas informacion  acerca de la red can te dejamos aqui algunos links sobre este tema:

Gracias por visitar nuestro bloc
déjanos tu comentario.

¿Que es una red CAN?

¿QUE ES UNA RED CAN? Una  red de área de campus  ( CAN ) es una  red de computadoras  que conecta  redes de área local  a través de...