CAN (Controller Area Network) - 2




CARATTERISTICHE DI BASE DEL PROTOCOLLO CAN

BIT DOMINANTE E RECESSIVO

Nel protocollo CAN si definiscono i bit come "dominante" e come "recessivo". Un bit dominate vince su un bit recessivo. Se un nodo trasmette un bit dominante e contemporaneamente un altro nodo trasmette un bit recessivo allora sul bus sara’ presente quello dominate. Nel protocollo CAN si definisce il bit logico 0 come bit 'dominante" e il bit logico 1 come bit 'recessivo'. Dal punto di vista elettrico e di interfaccia si può pensare che il bit 1 sia forzato sul bus da un resistore di pull-up mentre lo zero dominante dal un trasnsistor con il drain sul bus

CSMA / CD

Il protocollo di comunicazione CAN è un CSMA / CD. La sigla CSMA e' l'acronimo di Carrier Sense Multiple Access. Ciò significa che ogni nodo sulla rete deve monitorare il bus per individuare un periodo di assenza di attività prima di provare a inviare un messaggio sul bus (procedura di Carrier Sense). Inoltre, una volta che questo periodo di non attività si verifica, ogni nodo sul bus ha una uguale possibilità di trasmettere un messaggio (Multiple Access). La sigla CD sta per Collision Detection. Se due nodi della rete di iniziano a trasmettere allo stesso tempo, i nodi rileveranno la 'collisione' e adottano i provvedimenti del caso.

Nel protocollo CAN, è utilizzato un metodo di arbitraggio non distruttivo per i bit del messaggio. Ciò significa che i messaggi rimangono intatti dopo che l'arbitraggio è stato completato anche se delle collisioni sono state accertate. Tutti gli arbitrati si svolgono senza la corruzione o il ritardo del messaggio ad più alta priorità. Per sostenere un arbitrato non distruttivo sui bit bisogna avere :

uno stato logico dominante e uno recessivo.

Il nodo(i) trasmittente deve controllare lo stato del bus per vedere se lo stato logico che sta cercando di inviare effettivamente appare sul bus.

Un bit 'dominante vince sempre nel corso di un arbitrato su un bit recessivo, quindi più basso e' il valore del Messaggio Identifier (il campo utilizzato nel processo di arbitrato del messaggio), maggiore è la priorità del messaggio in quanto contiene un numero maggiore di zeri che sono dominanti. Come esempio, si supponga che due nodi stanno cercando di trasmettere un messaggio allo stesso tempo. Ogni nodo controllerà il bus per assicurarsi che i bit che sta cercando di inviare effettivamente appare sul bus. Il nodo che trasmette il messaggio a più bassa priorità ( il valore del suo MI e' alto) quando monitorerà il bus verrà un bit dominante al posto del bit recessivo che sta trasmettendo. A quel punto questo nodo perde l'arbitrato e immediatamente ferma la trasmissione. Il nodo con il messaggio a più alta priorità, continuerà fino al completamento della trasmissione mentre il nodo che ha perso l'arbitrato aspetterà il prossimo periodo di assenza di attività sul bus per cercare di trasmettere il suo messaggio.

COMUNICAZIONE CON MESSAGGI

Il protocollo CAN è un protocollo basato sui messaggi, non sull'indirizzamento. Ciò significa che i messaggi non vengono trasmessi da un nodo ad un altro nodo sulla base di indirizzi. Il messaggio stesso contiene la priorità e il contenuto dei dati trasmessi. Tutti i nodi del sistema ricevono tutti i messaggi trasmessi sul bus e danno il notifica se il messaggio è stato ricevuto correttamente (procedura acknowledge).
Spetta a ogni nodo del sistema decidere se il messaggio ricevuto deve essere immediatamente scartato o tenuto per essere processato.
Un'altra caratteristica utile costruito nel protocollo CAN è la capacità di un nodo di richiesta di informazioni da altri nodi. Questo si chiama un remoto Richiesta di trasmissione remota o RTR (Remote Trasmission Request).
Ad esempio, un sistema di sicurezza in auto esegue frequenti aggiornamenti da sensori critici come l'airbag, ma può non ricevere frequenti aggiornamenti da altri sensori come il sensore di pressione dell'olio o dal sensore di batteria scarica per assicurarsi che essi sono funzionanti. Periodicamente, il sistema di sicurezza può richiedere dati da questi altri sensori ed effettuare un approfondito controllo di sicurezza del sistema. Il progettista del sistema può utilizzare questa funzione per ridurre al minimo il traffico di rete, pur mantenendo l'integrità della rete. Un addizionale vantaggio di questo protocollo basato sui messaggi è che i nodi possono essere aggiunti al sistema senza la necessità di riprogrammare tutti gli altri nodi per riconoscere il nodo aggiunto. Il nuovo nodo inizierà a ricevere messaggi dalla rete e, sulla base del messaggio di ID, decidere se elaborare o rifiutare le informazioni ricevute.