CAN (Controller Area Network) - 4




Esaminiamo singolarmente i vari fields presenti nella frame dati CAN:

INIZIO FRAME (START OF FRAME)

Il frame inizia con un bit di start che e’ normalmente un bit dominante ( o logico)

ARBITRATO (Arbitration field)

Il campo Arbitrato è utilizzato per assegnare priorità ai messaggi sul bus. Dal momento che il protocollo CAN definisce il livello logico 0 dominante, un valore piu’ basso nel campo di arbitrato implica una priorità più alta del messaggio nel bus. Nella versione standard del frame il campo dell'arbitrato è composto da 12-bit: 11 bit ID[10:0] di identificazione e il bit RTR. Nella versione extended frame, definita dalla versione 2.0B della specifica CAN, il numero dei bit del campo arbitrato sono 32-bit: 29 bit ID[10:0] + EID[17:0] di identificazione, un bit IDE per definire il messaggio come un frame di dato esteso, un bit SRR inutilizzato, e un bit RTR.
Il bit di Richiesta di trasmissione Remota (RTR) è utilizzato da un nodo quando richiede che gli vengano inviate informazioni da un altro nodo. Il bit RTR presente nel campo di arbitrato è utilizzato per distinguere tra un Remote e un Data Frame. Se il bit RTR è recessivo, il messaggio è un Remote Frame altrimenti se il bit RTR è dominante, il messaggio è un Data Frame. Per realizzare una trasmissione remota quindi, e’ inviato un Remote frame avendo il compi di identificazione settato secondo il tipo di dati richiesti. In figura xx sono riportati i particolari del campo arbitrato nella versione standard (sinistra) ed extedend (destra).

struttura del campo di arbitrato nel nel caso standard ( sinistra) e nel caso extended ( destra)

Fig. 4 - struttura del campo di arbitrato nel nel caso standard ( sinistra) e nel caso extended ( destra)

CONTROLLO  (control field)

Il campo di controllo e’ costituito da di sei bit. In figura xx sono riportati i particolari della struttura del campo di controllo nel caso di frame standard( sinistra) e nel caso di frame esteso ( destra).

campo di controllo nel caso di frame standard (sinistra) e nel caso di frame esteso (destra)

Fig. 5 - campo di controllo nel caso di frame standard (sinistra) e nel caso di frame esteso (destra)

Nella versione standard del frame il bit MSB e’ il bit IDE che determina se il messaggio è una un Frame standard o esteso: se e’ dominante il frame e’ uno Data Frame Standard altrimenti (e’ un bit recessivo) e’ un frame esteso. Nella versione estesa il bit MSB del frame è il bit RB1 che è riservato come il bit successivo RB0. I quattro bit LSB successivi DLC [3:0] sono i bit DLC (Data Length Code) che definiscono il numero di byte di dati inclusi nel messaggio. Va notato che un frame remoto non ha alcun campo di dati, indipendentemente dal valore del DLC bit.