4. CAN FD
#O que muda
CAN FD (Flexible Data-rate) é a evolução do CAN, padronizada em 2015 (ISO 11898-1). Ele mantém o mesmo barramento, os mesmos fios e a mesma arbitragem, e muda duas coisas:
- Mais dados por quadro: até 64 bytes, contra 8 do CAN clássico.
- Fase de dados mais rápida: depois da arbitragem, o quadro pode trocar para uma taxa maior só durante os dados (por exemplo, arbitragem a 500 kbit/s e dados a 2 Mbit/s). Essa troca é controlada pelo bit BRS (Bit Rate Switch, troca de taxa).

A arbitragem continua na taxa nominal porque todos os módulos precisam disputar o barramento ao mesmo tempo. Depois que só um módulo está transmitindo, o bit pode ficar mais curto.
#Tamanhos de quadro no CAN FD
No CAN FD o campo DLC (o código de tamanho do quadro) continua com 4 bits, então nem todo tamanho é possível. Acima de 8 bytes os tamanhos válidos são fixos:
| DLC | Bytes de dados |
|---|---|
| 0 a 8 | 0 a 8 (igual ao CAN clássico) |
| 9 | 12 |
| 10 | 16 |
| 11 | 20 |
| 12 | 24 |
| 13 | 32 |
| 14 | 48 |
| 15 | 64 |
Um quadro configurado com 10 bytes, por exemplo, é transmitido com 12 bytes; os bytes que sobram vão preenchidos.
#Compatibilidade com CAN clássico
Um controlador CAN clássico não entende um quadro FD e o trata como erro, destruindo o quadro. Por isso não se mistura num mesmo barramento um módulo só clássico com quadros FD. Uma porta configurada em CAN FD continua capaz de transmitir quadros clássicos quando o quadro é marcado para isso (no CAN Personalizável, Forçar CAN Clássico), o que permite conversar com um equipamento clássico no mesmo barramento, desde que nenhum quadro FD circule ali.