15 bit; per campi di lunghezza compresa tra 9 e 16 byte è richiesta
una sequenza CRC da 17 bit; per campi dati superiori a 17 byte, infi ne,
deve essere usata una sequenza da 21 bit. Tutti i polinomi CRC spe-
cifi cati garantiscono una distanza di Hamming pari a sei, ossia sono
in grado di rilevare fi no a 5 bit errati disposti in modo casuale. Il resto
del frame è identico al tradizionale frame CAN. Il bit di acknowled-
gement viene trasmesso con lo stesso (basso) bit-rate utilizzato nella
fase di arbitraggio. Va infi ne osservato che il protocollo CAN-FD non
supporta in alcun modo i frame remoti. Le reti CAN-FD possono ap-
poggiarsi alla stessa rete fi sica utilizzata nelle normali reti CAN, ossia
sugli stessi transceiver, connettori e cavi. Ovviamente, l’estensione
spaziale della rete continua a limitare il bit-rate nelle fasi di arbitrag-
gio e acknowledgement, ma questo non è più un problema per l’alta
velocità consentita durante la fase di trasmissione dati. L’incremento
di velocità dei frame è determinato dal fattore tra la durata di un bit
nella fase di trasmissione dati e la velocità durante le fasi di arbitrag-
gio/ACK. Questo fattore presenta due limiti: il primo è rappresentato
dalla velocità dei transceiver, per cui bit troppo corti non possono
essere decodifi cati; il secondo risiede nella risoluzione temporale del
meccanismo di sincronizzazione del bus CAN. Quando si passa alla
velocità di trasmissione più alta è necessario compensare un errore di
fase pari a un quanto temporale in termini di durata dei bit standard.
Due velocità
Nel protocollo CAN-FD bisogna specifi care due diversi bit-rate: il
primo è quello utilizzato dal protocollo CAN tradizionale per le fasi di
arbitraggio e acknowledgement; il secondo è quello riferito alla fase
di trasmissione dati. Tanto la durata tq, quanto il numero di tq nell’in-
tervallo di un bit possono essere differenti nelle due confi gurazioni.
È possibile avere gli stessi parametri in entrambe le confi gurazioni,
mentre non è ammesso che la durata dei bit nella fase di trasmissione
dati sia superiore a quella nelle fasi di arbitraggio/ACK.
I due bit corrispondenti alla transizione di velocità hanno una durata
intermedia, visto che le confi gurazioni cambiano in corrispondenza del
punto di campionamento. In base alle norme ISO 11898-2/5 gli attuali
transceiver CAN possono avere un ritardo di anello, dal terminale
CAN_Tx a quello CAN_Rx, di 255 ns massimo. Dato che i trasmet-
titori devono verifi care eventuali errori nei bit che hanno trasmesso,
questo valore permette di porre un limite inferiore alla durata di un
bit nella fase di trasmissione dati, se il controllo deve essere fatto in
corrispondenza del punto di campionamento del bit.
Dalle misure fatte da Bosch emerge che gli attuali transceiver CAN
sono in grado di trasmettere e ricevere bit di durata inferiore al pro-
prio ritardo di anello. In questo caso la verifi ca di bit errati subisce
un ritardo dovuto al tempo necessario affi nché il valore del bit tra-
smesso dall’uscita CAN_Tx venga ricevuto dall’ingresso CAN_Rx. A
questo serve il meccanismo di compensazione del ritardo nei tran-
sceiver CAN-FD. Si tratta di un meccanismo che non viene utilizzato
dai ricevitori, ma solo dai trasmettitori che lo applicano nella fase di
trasmissione dati. Il punto nel tempo in cui il valore del bit ritorna al
transceiver e viene controllato viene denominato punto di campiona-
mento secondario (SSP - Secondary Sample Point).
In pratica, l’esatto ritardo di anello non è un valore statico ma varia,
oltre che con le caratteristiche del chip del transceiver, al variare della
temperatura. Il controller del protocollo CAN-FD può effettuare una
misura del ritardo per determinare la posizione ottimale del punto
SSP. Per ogni frame CAN-FD il trasmettitore misura il ritardo tra i dati
trasmessi dall’uscita CAN_Tx e quelli ricevuti dall’ingresso CAN_Rx.
La misura viene effettuata durante la fase di arbitraggio e prima della
commutazione di bit-rate, nel passaggio dal bit EDL al bit r0. Un con-
tatore provvede a misurare il ritardo in periodi del clock di sistema.