Controller Area Network: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 88.149.195.225 (discussione), riportata alla versione precedente di Botcrux Etichetta: Rollback |
|||
Riga 1:
Sebbene inizialmente applicata in ambito [[automotive]], come bus per autoveicoli, attualmente è usata in molte applicazioni industriali di tipo [[Sistema embedded|embedded]], dove è richiesto un alto livello di immunità ai disturbi. Il [[bit rate]] può raggiungere 1 Mbit/s per reti lunghe meno di 40 m. Velocità inferiori consentono di raggiungere distanze maggiori (ad es. 125 kbit/s per 500 m). Il protocollo di comunicazione del CAN è standardizzato come ISO 11898-1 (2015). Questo standard descrive principalmente lo strato (''layer'') di scambio dati (''data link layer''), composto dallo strato sottostante (''sublayer'') "logico" (''Logical Link Control, LLC'') e dallo strato sottostante del ''Media Access Control, (MAC)'' e da alcuni aspetti dello strato "fisico" (''physical layer'') descritto dal modello [[ISO/OSI]] (''ISO/OSI Reference Model''). I protocolli di tutti gli altri layer sono lasciati alla libera scelta del progettista della rete.
Line 31 ⟶ 32:
Con questa tecnica, quando viene trasmesso un bit recessivo, e contemporaneamente un altro dispositivo trasmette un bit dominante, si ha una collisione, e solo il bit dominante è visibile in rete (tutte le altre collisioni sono invisibili). In pratica avviene che un bit dominante è "asserito" dalla generazione di una tensione fra i conduttori, mentre un bit recessivo è semplicemente ignorato. Si è così sicuri che ogni volta che si impone una differenza di potenziale, tutta la rete la rileva, e quindi "sa" che si tratta di un bit dominante.
Solitamente, quando usata in un bus differenziale, si applica lo schema [[CSMA/BA]] ''(Carrier Sense Multiple Access/Bitwise Arbitration)'': se due o più dispositivi incominciano a trasmettere contemporaneamente, si applica un meccanismo di arbitrato basato sulla priorità per decidere a quale dispositivo permettere di proseguire la trasmissione. Durante la trasmissione, ogni nodo in trasmissione controlla lo stato del bus e confronta il bit ricevuto con il bit trasmesso. Se un bit dominante è ricevuto mentre un bit recessivo è trasmesso il nodo interrompe la trasmissione (ossia ''perde l'arbitrato''). L'arbitrato è eseguito durante la trasmissione del pacchetto dei dati di identificazione del nodo. I nodi che incominciano contemporaneamente a trasmettere inviano un ID dominante a 0 binario, che incomincia con il bit alto. Non appena il loro ID è rappresentato da un numero più grande (quindi a priorità minore) i nodi stessi inviano un bit 1 (recessivo) e aspettano la risposta di uno 0 (dominante), quindi interrompono la trasmissione. Al termine dell'invio degli ID, tutti i
== I frame ==
|