7. Modelo de capas
• Capa de enlace de datos
– Control de enlace lógico (LLC)
• Se encarga de los filtros de los mensajes
• Proporciona servicios durante la transferencia de datos y durante la pe:ción de datos
remotos
• Decide que mensajes recibidos de MAC se aceptan
• Proporciona medios para el restablecimiento y para no:ficar la sobrecarga del bus
– Control de acceso al medio(MAC)
• Representa el núcleo del protocolo CAN
• Presenta los mensajes recibidos a la subcapa LLC y acepta los mensajes para ser
transmi:dos a dicha subcapa
• Es responsable de la trama de mensajes, arbitraje, reconocimiento, detección de error y
señalización
• En esta subcapa se decide que si el bus está libre para comenzar una nueva transmisión o
si la recepción acaba de comenzar
• Capa Física
– Define que señales se transmiten.Trata la descripción del bit de cronometraje,
la codificación de bit y la sincronización
8. Propiedades del CAN
• Priorización del mensaje
• Garanja de los :empos de retardo
• Flexibilidad de la configuración
• Recepción múl:ple con :empos de sincronización
• Robustez en sistemas de amplios datos
• Mul:maestro
• Detección de error y señalización
• Retransmisión automá:ca de mensajes corruptos tan
pronto como el bus está libre de nuevo.
• Dis:nción entre errores temporales y fallos permanentes
de nodos, y desconexión automá:ca de nodos defectuosos.
9. Conceptos básicos (I)
• Caracterís:cas de los Mensajes CAN
– Formato fijo de mensajes con diferente longitud (limitada)
– Cuando el bus está libre cualquier unidad puede comenzar a transmi:r
• Ruta de la Información (un nodo no u:liza toda la información procesada)
– Flexibilidad del sistema. Se añaden nodos sin realizar cambio alguno
– Ruta de los mensajes
• El contenido de un mensaje se especifica con un iden:ficador
• El iden:ficador no indica el des:no, sino describe el significado del mensaje
– Mul:cas:ng. Cualquier can:dad de nodos puede recibir el mismo mensaje
simultáneamente.
– Robustez de los datos. Se garan:za que un mensaje sea simultáneamente aceptado por
alguno de los nodos (o todos).
• Velocidad de transmisión
– Puede ser diferente en dis:ntos sistemas. En un sistema la velocidad debe de ser uniforme
• Prioridades
– El iden:ficador define la prioridad del mensaje
• Pe:ción de datos remoto
– Se envía una trama remota de pe:ción de trama, se contesta con la trama.
– Ambas :enen el mismo iden:ficador
10. Conceptos básicos (II)
• Mul:maestro
– Si el bus está libre, cualquier nodo puede comenzar a transmi:r
un mensaje
– Cuando dos nodos comienzan a transmi:r simultáneamente
• El conflicto de acceso al bus es resuelto por arbitraje u:lizando el
iden:ficador
• El mecanismo de arbitraje garan:za que ni la información ni el :empo
se pierdan
– Cuando una trama de datos y una trama remota se inician al
mismo :empo prevalece la primera
– Durante el arbitraje todos los transmisores comparan el nivel
del bit transmi:do con el nivel del bus
• Si los niveles son iguales, la unidad puede enviar
• Si son dis:ntos, la unidad pierde el arbitraje y debe re:rarse sin enviar
otro bit
11. Conceptos básicos (III)
• Seguridad
– En todos los nodos CAN se implementan medidas especiales para la
detección de errores, señalización y auto‐chequeo
– Detección de error
• Monitorización (comparación de niveles de bit)
• CRC
• Bit Stuffing
• Chequeo de la trama de mensaje
– Señalización de error y :empo de restablecimiento
• Los mensajes corruptos son reconocidos por cualquier nodo
• Estos mensajes se abortan y se transfieren automá:camente
• El :empo de restablecimiento desde la detección del error es de 31 bits
• Los nodos CAN dis:nguen
• Perturbaciones cortas
• Fallos permanentes. Estos nodos por defecto se desconectan
12. Conceptos básicos (IV)
• Conexiones
– No :enen límite teórico
– En la prác:ca el número total de unidades estará limitado por el
:empo y las cargas eléctricas
• Un único canal
– El bus se compone de un único canal de transmisión
– La forma de implementación no se fija en las especificaciones
• Único hilo
• Dos hilos diferenciales
• Fibra óp:ca, etc.
• Valores de Bus (Dominante o recesivo)
• Reconocimiento. Todos los receptores comprueban la fiabilidad del
mensaje
• Modo sleep/wake‐up. Modo ahorro de consumo de potencia
13. Protocolo CAN (I)
• Es un protocolo CSMA/CD (Carrier Sense Mul:ple Access, with Collision
Detec:on). Técnica para MAC.
• Con CSMA,
– Todo nodo en la red monitorea el bus por un periodo de no ac:vidad antes de
intentar enviar un mensaje (CS)
– En un periodo de no ac:vidad, todo nodo del bus :ene la misma oportunidad
de transmi:r un mensaje (MA)
• El CD se encarga de la detección ante colisiones (dos nodos comienzan a
retransmi:r al mismo :empo)
– CAN para evitar esto u:liza un método de arbitraje
– Un nodo espera confirmación una can:dad de :empo razonable después de
transmi:r
– Hay que tener en cuenta el retardo de propagación y que el nodo que
confirma debe compe:r también por conseguir el medio para responder.
– Si no llega respuesta el nodo supone que se ha producido una colisión y
retransmite
14. Protocolo CAN (II)
• Reglas para CSMA/CD
– El nodo transmite si el medio está libre, si no se aplica la
regla 2
– Si el medio se encuentra ocupado, la estación con:núa
escuchando hasta que encuentra libre el bus, en cuyo caso
transmite inmediatamente.
– Si detecta una colisión durante la transmisión, los nodos
trasmiten una señal para asegurarse de que todas las
estaciones constatan la producción de colisión y cesan de
transmi:r
– Después de transmi:r la señal se espera una can:dad de
:empo aleatorio, tras lo que intenta transmi:r de nuevo.
15. Protocolo CAN (III)
• El CAN debe cumplir dos premisas
– Necesitan definirse dos estados lógicos (dominante=0)
– El nodo emisor monitorear el bus para ver el estado lógico
• El estado de bit dominante siempre ganará arbitraje sobre el
recesivo (el valor más bajo del id. del mensaje es el más prioritario)
• Ejemplo
– Dos nodos intentan transmi:r un mensaje simultáneamente
– Cada nodo monitorizará el bus para estar seguro del bit que está
intentando enviar en ese momento
– El mensaje de menos prioridad intentará enviar un bit recesivo y el
estado leído en el bus será dominante.
– El nodo pierde el arbitraje y deja de transmi:r
– El mensaje de más prioridad con:nuará hasta acabar y el nodo que ha
perdido intentará transmi:r de nuevo en el siguiente periodo de no
ac:vidad
17. Tramas CAN (I)
• El protocolo CAN define cuatro :pos de mensajes:
– Tramas de datos (Data Frame). Transmite información de un nodo a
cualquiera de los restantes
– Trama remota (Remote Frame). Es una trama de datos con el bit RTR=1
– Tramas de error. Generadas por nodos que detectan cualquiera de los
errores de protocolo definidos por CAN.
– Tramas de overload. Generadas por nodos que necesitan más :empo para
procesar los mensajes ya recibidos
• La trama de datos está formada por campos que proporcionan
información adicional sobre los mensajes definidos en CAN
– Campo de arbitraje
– Campo de control
– Campo de datos
– Campo de de CRC
– Final de trama
18. Tramas CAN (II)
• Campo de arbitraje. Se u:liza para priorizar los mensajes en el bus.
Formado por 12 o 32 bits
– Trama estándar: 11 bits de iden:ficación y un bit RTR
– Trama extendida: 29 bits de iden:ficación, 1 bit para definir el mensaje como
trama extendida, un bit SRR no usado, un bit RTR
• Campo de control. Formado por 6 bits.
– El bit IDE (o RB1 en extendida) de mayor peso, significa trama extendida
– El bit RB0 es reservado
– Los cuatro de menor peso definen la longitud de los datos (DLC).
• Campo de datos. Nº de bytes determinado por DLC. Los RF no :enen
campo de datos.
• Campo de CRC. 15 bits y un delimitador CRC. U:lizado por receptores
para detección de errores de transmisión
• Campo de confirmación (ACK). El nodo receptor indica recepción correcta
del mensaje, poniendo un bit dominante en el flag ACK de la trama.