13.5 análisis del tiempo de transmisión del can dependiendo

Anuncio
13.5 ANÁLISIS DEL TIEMPO DE TRANSMISIÓN DEL CAN
DEPENDIENDO DE LA LONGITUD DEL BUS.
Carlos Lujan Ramírez, Ramón Ariel Vela Xool, Jesús Sandoval Gio
Instituto Tecnológico de Mérida
Av. Tecnológico Km 5 s/n Mérida, Yucatán, México. C.P. 97118
[email protected]
RESUMEN.
El objetivo de este proyecto es determinar si la longitud del bus es un parámetro que afecte de
forma importante la calidad de la señal en el CAN bus. Se analizará el tiempo que le toma a una
trama transmitirse dependiendo de la longitud del bus. También se tomarán mediciones en la
caída del voltaje a diferentes longitudes.
ABSTRACT.
The purpose of this paper is to determine if the length of the bus is an important parameter
which affects the quality the CAN bus signal. It will be analyze the time it takes a message
transmitted depended of the bus length. Measurements will be taken of voltage drop at
different lengths.
1.- INTRODUCCIÓN.
El protocolo CAN (Controller Area Network) fue creada por el alemán Robert Bosch en 1980 como
una solución para establecer una comunicación serial y robusta en aplicaciones automotrices. En
1992 fue utilizada por la clase S de Mercedes [1]. Es la más extendida y en la actualidad casi todos
los automóviles cuentan con ella. Fue originalmente concebido para aplicaciones en el área
automotriz, pero rápidamente despertó una creciente atención en el área de control y
automatización, ahora es usado en numerosas aplicaciones industriales. El CAN es un bus serial
para el envío y recepción de mensajes pequeños para el control en tiempo real. El mensaje a
enviar consiste de entre 1 a 8 bytes y ha sido diseñado para operar hasta velocidades 1 Mbit/sec
[2].
Es un protocolo de comunicación altamente difundido por la asociación CiA (CAN in Automation),
la cual está constituida por reconocidos desarrolladores internacionales. El protocolo CAN
implementa una comunicación basada en el mensaje, teniendo independencia de direcciones de
origen y destino [3].
CAN es un bus de transmisión dónde un número de procesadores son conectados al bus vía una
interfaz. Una fuente de datos es transmitida como un mensaje, consistiendo de entre 1 a 8 bytes.
Una fuente de datos puede ser transmitida periódicamente, esporádicamente o por demanda. Por
ejemplo, la velocidad de un motor o de una rueda puede ser codificada como un mensaje de un
byte y transmitida cada 100 milisegundos. A la fuente de datos se le asigna un identificador único,
representado como un número de 11 bits (dando 2032 identificadores). El identificador sirve para
dos propósitos: filtrar la información al receptor indicado y para asignar la prioridad del mensaje [4].
En el protocolo CAN un mensaje no tiene destinatario.
2.- CONCEPTOS DEL BUS CAN.
2.1
CAPA FÍSICA
La capa física en CAN es responsable de la transferencia de bits entre los distintos nodos que
componen la red. Define aspectos como, niveles de señal, codificación, sincronización y tiempos
en que los bits se transfieren al bus. La transmisión de datos se realiza por impulsos eléctricos en
forma de señal cuadrada a través de un bus de datos. Los buses utilizados en las redes CAN son
bialámbricos, es decir, constan de dos cables entrelazados, llamados CAN High y CAN Low. Por
cada cable del bus circula una señal cuadrada que varía entre dos valores, y siempre se cumplirá
que ambas señales cuadradas son simétricas. De esta forma, la diferencia de tensión entre las dos
líneas del bus solo puede tomar dos valores, representando cada uno de ellos un bit. El bit
dominante o bit 0 representa la mayor diferencia de tensión entre señales. El bit recesivo o bit
1representa la menor diferencia de tensión entre señales. Al transmitirse la información en forma
de diferencia de tensión entre los dos cables, cualquier interferencia externa a la red afectaría de
manera a las dos señales, manteniéndose el valor de la diferencia de tensión intacta y, por lo tanto,
el mensaje. Al mismo tiempo al ser simétricas las señales de los dos cables, se anulan los campos
magnéticos creados por los cambios de tensión [1].
Para la transmisión de la señal eléctrica el protocolo CAN requiere un cable con una impedancia
nominal de 120 ohms, por lo tanto resistencias de terminación deben ser usadas como terminación
en cada uno de los dos extremos del bus. Estas resistencias cierran el circuito eléctrico y evitan
perturbaciones indeseadas en los datos transmitidos debido a fenómenos de reflexión; impiden que
el mensaje rebote al llegar al final del bus. Si múltiples dispositivos (nodos) son conectados a lo
largo del bus, sólo los dispositivos en los extremos del cable necesitan resistencias de terminación
como se muestra en la figura 1. A las resistencias de terminación también se les conoce como
elementos finales [1] [6].
Figura 1. Resistencias de terminación en los extremos del bus.
Los valores de tensión suelen oscilar entre 1.5 y 2.5 volts en el cable CAN-L y entre 2.5 y 3.5 para
el CAN-H. Los bits recesivo y dominante quedarían de la siguiente manera [5]:
Bit dominante: la tensión diferencial (CAN-H - CAN-L) es del orden de 2.0 V con CAN-H = 3.5 V y
CAN-L = 1.5 V.
Bit recesivo: la tensión diferencial (CAN-H - CAN-L) es del orden de 0 V con CAN-H = CAN-L = 2.5
V.
En las figuras 2a y 2b se muestran las señales medidas en las terminales de salida CAN-L y CANH con respecto a masa de una tarjeta CAN bus Shield de Sparkfun. Se observa que el voltaje de
CAN-L es de 2.56 V y el de CAN-H es de 3.52 V. La figura 2c muestra que ambas señales son
simétricas. Y la figura 2d nos indica el voltaje diferencial entre la señal CAN-H y CAN-L. El voltaje
diferencial medido es de 2.08 V. El bus se encuentra transmitiendo a 100 kbps.
a) CAN-L
c) Señales simétricas de CAN-L y CAN H
b) CAN-H.
d) Señal diferencial en el bus
Figura 2. Señales en los cables CAN-L y CAN-H.
2.2
Protocolo de comunicación CAN bus
La comunicación entre nodos CAN se realiza, como en cualquier red de comunicación, siguiendo
un protocolo. El protocolo es el “lenguaje” utilizado para transmitir el mensaje y debe ser conocido
por el emisor y el receptor. Los mensajes o tramas de datos son series de bits en forma de ceros y
unos que se agrupan en campos. Para poder leer estos mensajes hay que conocer los campos
que los forman, que son los siguientes y se representan en la figura 2:








i.
Campo de inicio.
Campo de estado o campo de identificación.
Campo de control.
Campo de datos.
Campo de aseguramiento.
Campo de confirmación.
Campo de fin de la trama.
Separador de tramas.
Campo de inicio
Formado por un bit dominante que indica el comienzo de la trama.
ii.
Campo de identificación
El protocolo CAN requiere que todos los mensajes transmitidos tengan un identificador. El
identificador está formado por 11 + 1 ó 29 + 3 bits esto debido a que el protocolo CAN soporta dos
formatos, el CAN estándar (versión 2.0 A) y el CAN extendido (versión 2.0 B). Este identificador
determina también la prioridad del mensaje.
iii.
Campo de control
Formado por 6 bits que informan de la cantidad de información que contendrá el campo de datos
que viene a continuación. De esta forma el receptor podrá así saber si ha recibido el mensaje
completo. El primer bit ijndica si la trama es estándar, con un campo de estado de 11 bits (CAN 2.0
A), o, extendida con un campo de estado de 29 bits (CAN 2.0 B). Un bit dominante (0) indica una
trama estándar y un bit recesivo (1) una trama extendida. El segundo bit es una reserva para
futuras ampliaciones del mensaje, y los cuatro bits restantes indican la longitud en bytes del
mensaje. Si estos cuatro bits son 0000 significa que no es una trama de datos.
iv.
Campo de datos
Consta de un máximo de 64 bits (8 bytes) que contienen la información. Es decir, el mensaje
puede contener de cero a 8 bytes de datos. Por ejemplo, si la información contiene cuatro bytes se
envían únicamente 4 bytes.
v.
Campo de aseguramiento
Formado por 16 bits para detectar errores en la transmisión. Este campo es el resultado de una
serie de cálculos realizados a partir de los campos anteriores. El nodo receptor calcula el campo de
aseguramiento y comprueba que coincida con el campo de aseguramiento enviado por el nodo
emisor. Si detecta un error envía una trama de error compuesta por la señal de error y un limitador,
el cual está formado siempre por 8 bits recesivos.
vi.
Campo de confirmación
Formado por dos bits y en él los receptores indican al emisor si les ha llegado el mensaje completo
o solicitan que lo envíe de nuevo. Estos bits son siempre enviados como recesivos, pero las
unidades receptoras que tras calcular el campo de aseguramiento concluyen que han recibido bien
el mensaje cambian el primero de estos bits por uno dominante.
vii.
Campo de fin de la trama
Cierra la trama, consiste en siete bits recesivos sucesivos.
viii.
Separador de tramas
El espacio entre tramas separa una trama de la siguiente trama de datos o interrogación remota. El
espacio entre tramas consta de 3 bits recesivos. Estos bits van a continuación del campo de fin de
la trama. Después de éstos tres bits que separan las tramas sigue un tiempo de bus en reposo. El
tiempo de bus en reposo no es fijo, sino que varía según la situación del bus [1].
Transmisión estándar (CAN 2.0 A)
Inicio
1
Identific
a-dor
RT
R
11 bits
1
Contro
l
Campo
datos
6
0 a 64 bits
de
Seguridad
AC
K
Fin
de
trama
16 bits
2
7
Transmisión extendida (CAN 2.0 B)
In
ici
o
1
Identificado
r
11 bits
Identficació
n extendida
2 18 bits
Conttr
ol
1 6
Campo de datos
seguridad
A
C
K
Fin de
trama
0 a 64 bits
16 bits
2
7
Figura 2. Formatos de transmisión.
3.- VELOCIDADES DE TRANSMISIÓN EN EL PROTOCOLO CAN BUS.
Tres principales características que determinan la aplicación de las diferentes redes de
comunicación, son:


Volumen de datos: Cantidad de datos que viajan por la red en cada envío.
Velocidad de transmisión: Indica la cantidad de bits que son enviados en un segundo, o lo
que es lo mismo, la cantidad de información por segundo. Se mide en bits por segundo
(bps).

Velocidad de respuesta: Velocidad que hay entre el momento de dar la orden y la
respuesta del dispositivo [1] [7].
Tabla I
Volumen de
datos
Red de
computadoras
Detector de
proximidad
Velocidad de
transmisión
Velocidad de
respuesta
Aplicación
Elevado
Elevado
Bajo
Lectura de datos
Muy bajo
Bajo
Instantánea
Sistema de
seguridad
Tabla I. Características que determina la aplicación de las redes de comunicación.
La tabla II, consultada en [4] y [5], muestra las longitudes máximas en metros que puede tener el
bus dependiendo de la velocidad de transmisión.
Tabla II
Velocidad
Tiempo de bit
Longitud máxima
1 Mbps
1 µS
30 m
800 Kbps
1.25 µS
50 m
500 Kbps
2 µS
100 m
250 Kbps
4 µS
250 m
125 Kbps
8 µS
500 m
50 Kbps
20 µS
1000 m
20 Kbps
50 µS
2500 m
10 Kbps
100 µS
5,000 m
Tabla II. Velocidades de transmisión típicas.
Conociendo la razón de bits por segundo y el número de bits de la trama se puede calcular el
tiempo que tarda en transmitirse un mensaje (trama). Esto es válido despreciando el retardo
ocasionado por la longitud del cable. Por ejemplo en transmisión estándar, considerando un
mensaje 8 bytes se tendría una trama de 108 bits. Si se transmite esta trama a 500 Kbps entonces
el tiempo de transmisión de la trama sería de 216 µS.
4.- CAÍDA DE VOLTAJE EN EL BUS.
Para determinar que tanto afecta la longitud del bus en la calidad de las señales transmitidas se
realizaron mediciones de amplitud a las señales del bus CA, usando para ello un osciloscopio
digital, obteniéndose los siguientes resultados mostrados en la figura 3 y concentrados en la tabla
II.
a) Amplitud de la trama a transmitir
b) Amplitud de la trama a 100 metros
c) Amplitud de la trama a 200 metros
d) Amplitud de la trama a 300 metros
Figura 3. Caídas de voltaje en el bus CAN a diferentes longitudes.
Tabla II
Velocidad
Longitud
del bus
Voltaje
en el bus
500 Kbps
2m
2.0 V
250 Kbps
2m
125 Kbps
Longitud
del bus
Voltaje
en
el
bus
Sí
200 m
1.12 V
Sí
2.0 V
Sí
200 m
1.12
Sí
2m
2.0 V
Sí
200 m
1.12
Sí
80 Kbps
2m
2.0 V
Sí
200 m
1.12
Sí
40 Kbps
2m
2.0 V
Sí
200 m
1.12
Sí
100 m
1.4 V
Sí
300 m
0.92 V
Sí
500 Kbps
Datos
recibidos
correctamente
Datos
recibidos
correctamente
250 Kbps
100 m
1.44
Sí
300 m
0.92 V
Sí
125 Kbps
100 m
1.44
Sí
300 m
0.92 V
Sí
80 Kbps
100 m
1.4
Sí
300 m
0.92 V
Sí
40 Kbps
100 m
1.4
Sí
300 m
0.92 V
Sí
Tabla 2. Caídas de voltaje a diferentes longitudes de bus.
5.- CONCLUSIONES.
Observamos que a mayor longitud de bus la velocidad de transmisión es menor, esto es para no
degradar la información y como consecuencia no se pueda recuperar en el receptor. El tiempo de
transmisión lo determina la velocidad de transmisión y el tamaño del mensaje que puede ser de 0
a 8 bytes. Las mediciones realizadas se realizaron con una longitud máxima de bus de 300 metros.
Se observó caída de voltaje al incrementar la longitud del bus pero no afectó en la recepción de los
datos. Se esperaban problemas en la recepción de los datos en el caso de 500 Kbps ya que la
longitud máxima recomendada es de 100 metros. No se detectaron problemas en la recepción de
los datos aunque la caída de tensión resultó ser más del 50%, de 2.0 V medidos en emisor se
detectan 0.92 V en el nodo receptor localizado a 300 metros.
6.- REFERENCIAS.
1. Ma. José Llanos López, Circuitos eléctricos auxiliares del vehículo, (Paraninfo, España),
454, (2011).
2. Reinder J. Bril, Johan J. Lukkien, Rob I. Davis y Alan Burns, Message response time
analysis for ideal controller area network (CAN) refuted, (University of York, England), 4,
(2006).
3. Julián Andrés Vidal, Milton Sergio Zúñiga y Oscar A. Rojas, Implementación de una red
industrial CAN para un sistema SCADA, (Grupo de I+D en Automática Industrial,
Universidad del Cauca, Colombia), 6.
4. K. Tindell, A. Burns y A. Wellings, Calculating controller area network (CAN) message
response times, (University of York, Department of Computer Science), 6, (1995).
5. Héctor Kaschel C. y Ernesto Pinto L., Análisis protocolar del bus de campo, (Universidad
de Santiago, Chile), 7.
6. Marco Di Natale, Haibo Zeng, Paolo Giusto y Arkadeb Ghosal, Understanding and using
the Controller Area Network communication protocol, (Springer, New York), 223, (2012).
7. Vicente Guerrero, Ramón L. Yuste y Luis Martínez, Comunicaciones industriales,
(Alfaomega, España), 412, (2010).
Descargar