click below
click below
Normal Size Small Size show me how
CAN FD
| Question | Answer |
|---|---|
| What is CAN FD? | CAN FD (Controller Area Network Flexible Data Rate) is an extension of the classical CAN protocol that allows higher data rates and larger payloads—up to 64 bytes per frame instead of 8. |
| What is the correct order of fields in a CAN FD frame? | SOF → ID → RTR → IDE → FDF → BRS → ESI → DLC → DATA → CRC → ACK → EOF → IFS |
| What is the function of the FDF bit? | FDF (FD Format) indicates whether the frame is a CAN FD frame (1) or a classical CAN frame (0). |
| What is the purpose of BRS in CAN FD? | BRS (Bit Rate Switch) allows the frame to switch to a higher data rate during the data phase. 1 = cambia a alta velocidad en datos 0 = se queda igual |
| At what point does the frame switch to a higher speed? | The switch happens after the BRS bit, during the Data and CRC fields. |
| Does CAN FD support Remote Frames (RTR = 1)? | No, CAN FD does not support Remote Frames. RTR is always dominant (0). |
| Which fields belong to the arbitration phase? | SOF, Identifier (ID), and RTR belong to the arbitration phase. |
| Why is the arbitration phase slower than the data phase? | Because lower speed ensures reliable synchronization and proper arbitration between nodes on the bus. |
| What does the ESI bit indicate? | ESI (Error State Indicator) shows whether a node is in error-active (0) or error-passive (1) state. |
| What happens if no node acknowledges the frame? | An error is detected, and the frame is retransmitted. |
| What would happen if the frame order is incorrect? | The frame would be invalid, resulting in a protocol error. |
| How many bits is the FDF field? | FDF is 1 bit. |
| How many bits is the BRS field? | BRS is 1 bit. |
| How many bits does the CRC field have in CAN FD? | It depends on payload size: 17 bits CRC → for payload ≤ 16 bytes 21 bits CRC → for payload > 16 bytes |
| Why is CRC longer in CAN FD? | Because larger payloads require stronger error detection. |
| Why ESI change from 0 to 1? mention examples | Es por MUCHOS errores acumulados: wheel speed sensor dañado y Envía datos incorrectos varias veces, Un cable del bus CAN está dañado o con interferencia, Un módulo (ECU) tiene voltaje inestable |
| Bit Error example | ECU envía bit dominante El bus muestra recesivo |
| CRC Error example | DATA enviado = 101100 → CRC = 110 DATA recibido = 101000 → CRC recalculado ≠ 110 CRC mismatch → ❗ error frame → 🔁 retransmission |
| Form Error example | El formato del frame es incorrecto Ejemplo: EOF no tiene 7 bits Bits recesivos no respetados 👉 ERROR → error frame |
| Acknowledgment Error example | Nadie confirma el mensaje Ejemplo: El transmisor envía frame Nadie responde en ACK 👉 ERROR → retransmisión |
| Stuff Error example | Cada 5 bits iguales, se inserta uno opuesto Si no se cumple: 👉 ERROR → error frame |
| Mention all the kind of errors | Bit Error, CRC Error, Form Error, Acknowledgment Error, Stuff Error |
| Error Frame structure | [ Error Flag ] + [ Error Delimiter ] |
| what is Error Flag ? | Es una secuencia de bits dominantes: 6 bits dominantes (000000) mínimo Puede ser más (hasta 12 bits) because probably several nodes can detect the error at the same time |
| what is Error Delimiter ? | 8 bits recesivos (11111111) 👉 Indica: “Ya terminó la señal de error” |