CAN (Controller Area Network) - 3




Robustezza e velocità

Poiché il CAN è stato inizialmente progettato per l'uso in auto, per ottenere l'accettazione del mercato si richiedeva una gestione efficiente degli errori. Con il rilascio della versione 2.0B della specifica CAN, la velocità massima di comunicazione (bit rate) è stata aumentata a 1Mbit/sec 8 volte piu’ veloce rispetto alla specifica della versione 1.0. A questa velocita’, solo la maggior parte del parametri tempo-critici possono essere trasmessi in serie, senza preoccupazioni di latenza.
In aggiunta a questo, il protocollo CAN ha un elenco esaustivo degli errori che in grado di rilevare per assicura l'integrità dei messaggi.
I nodi CAN hanno la capacità di determinare condizioni di fallimento e la transizione ai diversi modi basato sulla gravità dei problemi incontrati. Essi hanno anche la capacità di riconoscere i brevi disturbi dai fallimenti permanenti e modificare di conseguenza la loro funzionalità. I nodi CAN possono transitare dal funzionamento di nodo normale (in grado di trasmettere e ricevere messaggi normalmente), allo spegnimento completo (bus-off), a seconda della gravità degli errori riscontrati. Questa funzione è chiamata Fault Confinement. Nessun nodo CAN in fallimento e' in grado di monopolizzare tutta la larghezza di banda della rete perché i fallimenti sono confinati ai vari nodi che saranno spenti prima di prima di portare la rete . Questo è molto potente perché il confinamento dell'errore garantisce la larghezza di banda per sistemi critici.

Descrizione della struttura dei messaggi CAN

Il protocollo CAN definisce quattro diversi tipi di messaggi (o frame). Il primo e il più comune tipo di messaggio è il Data Frame. Questo e' usato quando un nodo trasmette informazioni a uno o a tutti gli altri nodi del sistema. Il secondo tipo di messaggio e' il Remote Frame, che è fondamentalmente un frame di dati con il bit RTR impostato per indicare che è una Richiesta di trasmissione remota. Gli altri due tipi di frame sono utilizzati per la gestione degli errori: Error Frame e Overload Frame. I frame di errore (Error Frame) sono generati da nodi che rilevano uno qualunque dei tanti errori di protocollo definiti dallo standard CAN. I frame di sovraccarico Overload Frame sono generati dai nodi che richiedono più tempo per elaborare i messaggi già ricevuti.
I messaggi di dato (Data Frames) sono costituiti da diversi campi (fields) che forniscono le diverse informazioni secondo le specifiche CAN. Il frame dati comprende i campi per: l’inizio del frame,l'arbitrato, controllo, dati, CRC, acknowledge e fine del frame. A seconda della versione della specifiche CAN si possono avere due differenti tipi di frame: standard frame ed extended frame (CAN 2B). La differenza trai due tipi di frame sta nel numero di bit che definiscono il campo di identificazione. In figura 2 la struttura completa di un frame di dati nella versione standard del CAN mentre in figura 3 la versione extended.

struttura competa del frame di dati standard (STANDARD DATA FRAME)

Fig. 2 - struttura competa del frame di dati standard (STANDARD DATA FRAME)

struttura competa del frame di dati esteso (EXTENDED DATA FRAME)

Fig. 3 - struttura competa del frame di dati esteso (EXTENDED DATA FRAME)