Sunteți pe pagina 1din 8

Introduccin a CAN

CAN (acrnimo

del

ingls Controller

Area

Network)

es

un protocolo

de

comunicaciones desarrollado por la firma alemana Robert Bosch GmbH, basado en


una topologa bus para la transmisin de mensajes en entornos distribuidos. Adems ofrece
una solucin a la gestin de la comunicacin entre mltiples CPUs (unidades centrales de
proceso).
El protocolo de comunicaciones CAN proporciona los siguientes beneficios:

Ofrece alta inmunidad a las interferencias, habilidad para el autodiagnstico y la


reparacin de errores de datos.

Es un protocolo de comunicaciones normalizado, con lo que se simplifica y economiza


la tarea de comunicar subsistemas de diferentes fabricantes sobre una red comn o bus.

El procesador anfitrin (host) delega la carga de comunicaciones a un perifrico


inteligente, por lo tanto el procesador anfitrin dispone de mayor tiempo para ejecutar sus
propias tareas.

Al ser una red multiplexada, reduce considerablemente el cableado y elimina las


conexiones punto a punto, excepto en los enganches.

1. Historia de CAN
Originalmente, CAN (Controller Area Network, por sus siglas en ingls) fue desarrollado
por Bosch en 1985 para redes en vehculos. Previo a eso, los fabricantes automotrices
conectaban dispositivos electrnicos en los vehculos utilizando sistemas de cableado de
punto a punto. Sin embargo, conforme los fabricantes comenzaron a utilizar ms y ms
dispositivos electrnicos en los vehculos, los arneses de estos suban en su peso y costo
general. Al reemplazar el cableado por redes de comunicacin en los vehculos, se logr
reducir el costo del cable, su complejidad y su peso. CAN, un sistema de bus serial de alta
integridad destinado para comunicar dispositivos inteligentes, emergi como la red estndar
para vehculos. La industria automotriz adopt rpidamente CAN y, en 1993, se convirti
en el estndar internacional conocido como ISO 11898. Desde 1994, se han estandarizado
varios protocolos de alto nivel a partir de CAN, como CANopen y DeviceNet , y su uso se
ha extendido a otras industrias.
Regresar al Inicio

2. Beneficios de CAN

CAN es una red duradera y econmica que permite a varios dispositivos comunicarse entre
s. Un beneficio es que permite a las unidades de control electrnico (ECUs) tener una sola
interfaz CAN (ver Figura 1), en lugar de diferentes entradas analgicas y digitales para
cada dispositivo en el sistema. Esto reduce el costo y peso en los automviles.

Regresar al Inicio

3. Aplicaciones de CAN
CAN fue creado en un principio para uso automotriz, por lo que su aplicacin ms comn
es para comunicacin en vehculo de dispositivos electrnicos. Sin embargo, conforme
otras industrias han observado las ventajas de CAN, han adoptado al bus para una amplia
variedad de aplicaciones. Por ejemplo, en aplicaciones ferroviarias se utiliza CAN en
vagones, tranvas, subterrneos, trenes ligeros, y trenes de distancias largas para comunicar
las unidades de las puertas o controladores de freno, unidades de conteo de pasajeros, y
ms. CAN tambin tiene aplicaciones en aviacin con los sensores del estado del vuelo,
sistemas de navegacin, y computadoras de investigacin en la cabina de control. Tambin
puede encontrar buses CAN en muchas aplicaciones aeroespaciales, que van desde el
anlisis de datos en vuelos a los sistemas de control del motor de la nave como los sistemas
de combustible, bombas y actuadores lineales.
Los fabricantes de equipo mdico utilizan CAN como una red embebida en los dispositivos
mdicos. De hecho, algunos hospitales utilizan CAN para manejar cuartos de operacin
completos. Los hospitales controlan componentes operativos del cuarto como luces,
mquinas de rayos X y camas de pacientes con sistemas basados en CAN. CANopen
tambin es utilizado en aplicaciones no industriales como en equipo de laboratorio, cmaras
deportivas, telescopios, puertas automticas e incluso, mquinas de caf.

Regresar al Inicio

4. Capas Fsicas de CAN


CAN tiene diferentes capas fsicas que puede utilizar. Estas capas fsicas clasifican ciertos
aspectos de la red, como lo son los niveles elctricos, esquemas de seales, impedancia en
los cables, tasa mxima de transmisin, y ms. Las capas fsicas ms ampliamente
utilizadas y ms comunes se describen a continuacin:

CAN de Alta Velocidad


CAN de alta velocidad es la capa fsica ms comn. Las redes de CAN de alta velocidad
estn implementada con dos cables y permiten la comunicacin con tasas de transferencia
de hasta 1 Mb/s. Otros nombres para CAN de alta velocidad incluye CAN C e ISO 118982. Los dispositivos tpicos CAN de alta velocidad incluyen los sistemas de frenos antibloqueo, mdulos de control del motor y sistemas de emisiones.
Hardware CAN de Baja Velocidad/Tolerante a Fallas
Las redes de CAN de baja velocidad/tolerante a fallas tambin estn implementadas con
dos cables, pueden comunicarse con dispositivos a una tasa de hasta 125 kb/s, y cuenta con
transceptores con capacidades de tolerancia a fallas. Otros nombres para esta versin de
CAN son CAN B e ISO 11898-3. Algunos ejemplos de dispositivos tpicos en automviles
que incluyen esta versin del protocolo son dispositivos de confort o la luz de frenos.
Hardware CAN de Un Solo Cable
Las interfaces CAN de un solo cable pueden comunicarse con dispositivos a una tasa de
hasta 33.3 kb/s (88.3 kb/s en modo de alta velocidad). Otros nombres para CAN de un solo
cable incluyen SAE-J2411, CAN A, y GMLAN. Los dispositivos de un solo cable tpicos
dentro de un automvil no requieren de un alto desempeo, como por ejemplo los
ajustadores de asientos y espejos.
Hardware CAN Seleccionable por Software
Con los productos de hardware CAN de National Instruments, usted puede configurar las
interfaces CAN mediante software para utilizar cualquiera de los transceptores incluidos
(de alta velocidad, de baja velocidad/tolerante a fallas o de un solo cable). Contar con
mltiples transceptores es una solucin perfecta para aplicaciones que requieren de una
combinacin de diferentes estndares. Adicionalmente, estos dispositivos de hardware
CAN permiten elegir su propio transceptor de CAN externo.
Regresar al Inicio

5. Terminologa de CAN

Los dispositivos CAN envan datos a travs de una red CAN en paquetes llamados marcos.
Un marco de CAN consiste en las siguientes secciones.

Marco CAN una transmisin completa de CAN: arreglo de identificacin, bytes


de datos, bit de acknowledge, etc. Los marcos tambin son referidos como
mensajes.

Bit SOF (start-of-frame) indica el inicio de un mensaje con un bit dominante


(lgica 0)

Arreglo de Identificacin identifica el mensaje e indica la prioridad del mismo.


Los marcos se presentan en dos formas estndar, que utiliza un arreglo de
identificacin de 11 bits, y extendido, que utiliza un arreglo de identificacin de 29
bits.

Bit IDE (identifier extension) permite la diferenciacin entre marcos estndar y


extendidos.

Bit RTR (remote transmission request) sirve para diferenciar un marco remoto
de un marco de datos. Un bit RTR dominante (lgica 0) indica un marco de datos.
Un bit RTR recesivo (lgica 1) indica un marco remoto.

DLC (data length code) indica el nmero de bytes que contiene el campo de
datos.

Campo de Datos contiene de 0 a 8 bytes de datos.

CRC (cyclic redundancy check) contiene un cdigo de revisin cclica


redundante de 15 bits y un bit recesivo para delimitar. El campo CRC se utiliza para
detectar errores.

Ranura ACK (ACKnowledgement) -- cualquier controlador CAN que recibe


mensajes correctamente enva un bit de ACK al final del mensaje. El nodo
transmisor revisa la presencia del bit ACK en el bus e intenta nuevamente la
transmisin en caso de no detectarlo. Las interfaces CAN de la Serie 2 de National
Instruments tienen la capacidad para estar en modo de slo-escucha (listen-only).
Por tanto, la transmisin del bit ACK por el hardware de monitoreo se suprime para
prevenir que el comportamiento del bus se vea afectado.

Canal CAN un pedazo individual de datos contenidos dentro del campo de datos
del marco CAN. Tambin puede referirse a los canales CAN como seales. Debido
a que el campo de datos puede contener hasta 8 bytes de datos, un solo marco CAN

puede contener de 0 a 64 canales individuales (para 64 canales, todos tendran que


ser binarios).
En la siguiente imagen, hay seis canales contenidos en el campo de datos de un solo marco
CAN. Cada canal contiene 8 bits de datos.

Regresar al Inicio

6. Archivos de Base de Datos de CAN


Los archivos de base de datos de CAN son archivos de texto que contienen informacin de
escalas para canales de CAN. El software CAN de National Instruments reconoce tanto los
archivos de base de datos CAN de Vector y de National Instruments. Los archivos Vector se
denominan archivos CANdb y tienen una extensin *.dbc. Los archivos de base de datos de
CAN que crea NI tienen la extensin *.ncd.
Para cada canal, las bases de datos de CAN definen reglas de conversin a unidades de
ingeniera. Los siguientes datos son almacenados en las bases de datos:

Nombre del canal

Ubicacin (bit inicial) y tamao (nmero de bits) del canal dentro del mensaje dado

Orden del byte (Intel/Motorola)

Tipo de datos (con signo, sin signo, y punto flotante formato IEEE)

Informacin del tipo de unidad y escala

Rango

Valor predeterminado

Comentario

Los archivos de base de datos de CAN pueden contener definiciones de canales para un
vehculo completo. Cada red tiene su propio archivo de base de datos. Adicionalmente,
estos archivos de base de datos son especficos para cada usuario y generalmente
confidenciales.
Regresar al Inicio

7. Cmo Trabaja la Comunicacin CAN


Como se declar anteriormente, CAN es una red uno a uno. Esto significa que no hay un
maestro que controle el acceso de lectura o escritura de datos en el bus por parte de los
nodos individuales. Cuando un nodo CAN est listo para transmitir datos, verifica si el bus
se encuentra ocupado, y despus simplemente escribe un marco de CAN en la red. Los
marcos de CAN transmitidos no contienen direcciones del nodo transmisor o de ninguno de
los probables nodos receptores. Slo se cuenta con un nmero de identificacin nico.
Todos los nodos en la red reciben el marco, y dependiendo del nmero de ID cada nodo
decide si aceptar o no el marco.
Si varios nodos intentan transmitir un mensaje al bus al mismo tiempo, el nodo con la
mayor prioridad (nmero de ID menor) automticamente tendr acceso al bus. Los nodos
con menor prioridad deben esperar hasta que el bus vuelva a estar disponible antes de
iniciar nuevamente su transmisin. De esta manera, es posible implementar redes CAN con
comunicacin determinstica entre nodos.
Regresar al Inicio

8. Herramientas CAN de National Instruments


National Instruments proporciona una variedad de herramientas de hardware y software
para el desarrollo de aplicaciones CAN. NI ofrece interfaces CAN para diferentes
plataformas incluyendo USB, PCI, PXI, PCMCIA, y NI CompactRIO. Para PCI, PXI, y
PCMCIA, se encuentran disponibles las capas fsicas de alta velocidad, de baja
velocidad/tolerante a fallas y de un solo cable. Para PCI y PXI, National Instruments
proporciona la primera interfaz industrial CAN seleccionable por software que contiene un
transceptor de alta velocidad, de baja velocidad/tolerante a fallas y de un solo cable en la
tarjeta, por cada puerto y en el mismo dispositivo. Esto quiere decir que usted simplemente
selecciona por software el modo que desea utilizar.

NI incluye el software controlador NI-CAN con cada uno de estos dispositivos as como
Measurement & Automation Explorer (MAX), que ofrece herramientas adicionales, como
paneles de pruebas para canales de CAN, monitor para el bus y un editor de base de datos
CAN.
El toolkit de ECU Measurement and Calibration de National Instruments extiende las
capacidades de los ambientes de desarrollo NI LabVIEW, NI LabWindows/CVI y
Microsoft C/C++ para aplicaciones de medicin y calibracin en el diseo y validacin de
unidades de control electrnico (ECUs). Este toolkit proporciona funciones de alto nivel y
fciles de usar basadas en el Protocolo de Calibracin CAN (CCP) que los ingenieros de
diseo y pruebas de ECU pueden utilizar para construir sus propias aplicaciones a la
medida de medicin y calibracin. Para mayores informes, por favor visite la pgina de
recursos que se presenta a continuacin.

Vea tambin:
Interfaces para CAN (PCI)
Interfaces para CAN (PXI)
Interfaces para CAN (PCMCIA)
Toolkit de ECU Measurement and Calibration

Regresar al Inicio

9. Software Controlador NI-CAN

National Instruments incluye el software controlador NI-CAN con todas las interfaces CAN
de National Instruments y lo ofrece como un software de descarga GRATUITA en ni.com.
Con otras interfaces CAN, usted puede aprovechar tan solo un pequeo porcentaje de la
funcionalidad de la tarjeta si no compra el paquete completo de software. Sin embargo, toda
la funcionalidad de las tarjetas CAN de National Instruments est disponibloe, para que
usted pueda desarrollar sus aplicaciones a la medida y en el lenguaje de programacin de su
eleccin. El software controlador NI-CAN proporciona funciones de alto nivel y fciles de
usar para ayudarle a desarrollar aplicaciones CAN rpidamente, ahorrndole dinero y
tiempo.
Existen dos APIs (interfaces de programacin de aplicacin) expuestas con el controlador
NI-CAN. El Frame API (o API de marcos) es el API original para la programacin en
CAN. En este API, usted puede transmitir y recibir marcos CAN que contienen datos en
bytes sin procesar. Su programa debe analizar y evaluar estos bytes para obtener unidades
de ingeniera escaladas. Para ms informacin sobre cmo programar con el Frame API,
por favor consulte la seccin Using the Frame API del manual de hardware y software de
NI-CAN (vea ms adelante).
NI introdujo la primera versin del Channel API (o API de canal) en la versin 2.0 de NICAN. Con este puede leer y escribir a los canales de CAN utilizando nombres de canales
definidos en los archivos de la base de datos (.dbc o .ncd). Este API proporciona los
siguientes beneficios:

Programacin de alto nivel

Unidades fsicas fciles de usar

Usado principalmente para una fcil sincronizacin de adquisicin de datos con


CAN

Habilidad para incorporar archivos de bases de datos Vector

S-ar putea să vă placă și