can (controlled area network)

Anuncio
CAN (CONTROLLED AREA NETWORK)
Introducción
Bus d comunicación serie definido según ISO 11898, 11519. Desarrollado a finales d 80 para
industria d automóvil para disminuir el volumen del cableado originado por el aumento d
prestaciones electrónicas en vehículos. Especificaciones d diseño básicas incluyen:
velocidad d transferencia alta (hasta 1Mbps), alta inmunidad a interferencias eléctricas,
buena detección de errores.
Medio de operación
Arquitectura productor/consumidor. Mensajes transmitidos por un nodo no contienen
campos d dirección, están marcados por identificador, resto de nodos reciben mensaje y
miran el identificador y ven si es de su interés. El identificador sirve para identificar el
tipo de trama y para asignarle una prioridad, a menor valor más prioridad. Mensaje d mayor
prioridad tiene asegurado el acceso al medio mediante variante de protocolo CSMA/CD.
Tipos de controladores CAN
Controlador es la interfaz entre el bus CAN y la CPU, como la arquitectura d los
controladores no está contemplada hay varias opciones q se diferencian en la forma d
gestionar los mensajes:
• BasicCAN: arquitectura similar a la d UART, pero entre bit arranque y stop se envía un
bloque d datos. Cuando CPU quiere enviar mensaje lo escribe en el buffer d tx. y
recibe una interrupción cuando el controlador ha terminado d enviarlo. Cuando recibe
mensaje también hay interrupción y la CPU debe vaciar el buffer antes d q llegue
otro mensaje. La CPU gestiona emisión y recepción d tramas, almacenamiento d
mensajes, hay fuerte acoplamiento entre CPU y controlador. La CPU está más tiempo
comprobando mensajes q procesándolos, velocidad limitada a 250Kbps.
• FullCAN: incluye filtro d aceptación d mensajes q enmascara mensajes irrelevantes y
presenta a la CPU solamente los interesantes. Los mensajes son almacenados en el
controlador, q puede tratar un nº limitado d tramas, cuando la CPU quiere enviar
copia en el buffer d emisión y pide al controlador q la transmita. El controlador
examina tramas recibidas y si encuentra una con el mismo identificador q una enviada
se lo comunica a la CPU.
Protocolos CAN estándar y CAN extendido
Dos versiones del protocolo: 1.0 y 2.0 dividida en A y B. Se definen los protocolos:
• CAN estándar: Dispositivos CAN 1.0 y 2.0A, utiliza identificador d 11 bits.
• CAN extendido: CAN 2.0B, identificadores d 11 bits o d 29.
Los CAN 2.0B pueden trabajar en ambos sistemas pero los estándar sólo en este. Hay
algunos similares a los CAN 2.0A q no dan errores con el extendido, pero ignoran las tramas
q pertenecen al extendido, son conocidos como CAN 2.0B pasivos.
Modelo OSI simplificado
CAN define sólo las 2 capas más bajas del modelo OSI, físico y d enlace, el d enlace se
divide en:
• LLC: (Logical link control), gestiona la tx. y rx. d mensajes d datos hacia o desde otros
niveles superiores.
• MAC: (Media access control), codificación y decodificación d mensajes q deben ser
enviados o recibidos desde el nivel físico, gestiona el acceso al medio, realiza la
detección d errores e implementa el método d arbitraje d prioridad.
- Nivel físico: Topología d bus, par trenzado o FO. Codificación NRZ, garantiza pequeño nº
d transiciones en la señal y alta inmunidad a perturbaciones externas, inconveniente
d pérdida d sincronismo, utiliza bits d relleno, cuando detecta 5 bits del mismo nivel
introduce 1 bit complementario. V transferencia 250kbps en CAN básico y 1Mbps en
completo, máx. longitud 40m a 1Mbps y 1Km a 64Kbps.
- Nivel d enlace: Red multimaestro con broadcasting y mensajes d prioridad, protocolo
CSMA/CD modificado. Ofrece 2 servicios:
• Servicio DATA: enviar trama d datos a 1 o varias estaciones remotas, productor
introduce objeto en la red q puede ser consumido por cualquier nº d estaciones
remotas.
• Servicio REMOTE: Para pedir a estación remota q envíe a la red trama tipo DATA,
ambas tramas = identificador.
Formato d las tramas: ÆInicio d trama: un único bit dominante.
ÆCampo d arbitraje: CAN estándar: identificador y RTR q indica si es petición
d datos o envío (REMOTE o DATA), extendido: 11bits identificador, SRS
(RTR), IDE (extensión identificador), 18 bits identificador, RTR.
ÆCampo d control: 6 bits, 2 1ºs reservados (dominantes) y resto indican la
longitud del campo d datos.
ÆCampo d datos: datos a enviar entre 0 y 8 bytes, si es REMOTE vacío.
ÆSecuencia d detección d errores: CRC d 15 bits y bit recesivo delimitador del
CRC.
ÆCampo ACK: dos bits, el 1º indica si estación ha recibido mensaje correcto y
2º delimitador d campo ACK.
ÆFin d trama: 7 bits recesivos consecutivos.
Después d cada trama se envía una especial, interframe spacing, 3 bits
recesivos para garantizar el t de proceso d receptor, después línea queda en
reposo (nivel 1)
Método d arbitraje: Asignación de prioridades a mensajes se realiza asignando un
identificador, a menor valor + prioridad. Para garantizar la prioridad utiliza variante del
CSMA/CD que incluye sistema d arbitraje q garantiza la no destrucción d la trama d máx.
prioridad en caso d colisión, garantizando q se aproveche al máximo la capacidad d tx. del
medio, se resuelve el arbitraje sin pérdida d datos ni de tiempo. Cuando el bus está libre 1
unidad puede empezar a tx. un mensaje, si nadie más ha enviado se tx. completo. Si 2 envían
a la vez sólo seguirá la q tenga mayor prioridad. Los bits recesivos (1) d 1 identificador son
sobrescritos por los dominantes (0) del identificador d otro nodo CAN. Todos tx.
monitorizan el bus mientras envían y conmutan a receptor cuando leen un bit dominante si
enviaron uno recesivo. Los mensajes anteriores son enviados cuando el árbitro libera el bus.
Si se inicia envío d trama REMOTE y DATA d = identificador a la vez prevalece la DATA.
Esta funcionalidad está en el controlador CAN y es transparente al usuario, se garantiza
alto nivel d seguridad por estar implementado en hard.
Descargar