DATA BUS

Ci sono anche due standard per il livello di collegamento dati:

  • ISO 11898 Condividi A → CAN 2,0 A “formato telaio standard” ( Identificazione a 11 bit);
  • ISO 11898 PARTE B → Can 2.0b “Formato fotogramma esteso” (identificazione su 29 bit).

Ci sono diversi tipi di cornice :

  • cornice dati;
  • telaio della query;
  • telaio di errore;
  • cornice di sovraccarico.

tra i trasmettitori deve rispettare una pausa (periodo inter-frame) equivalente alla durata di tre bit durante la quale il bus viene mantenuto allo stato recessivo.

DatabaseModifica

Il frame dei dati viene utilizzato per inviare informazioni ad altri nodi.

Un telaio dei dati è composto da sette campi diversi:

  • L’avvio del fotogramma o Sof (inizio del telaio) materializzato da 1 bit dominante;
  • il campo arbitrale (identificatore) composto da 12 o 32 bit;
  • il campo di controllo (o controllo) costituito da 6 bit;
  • il campo dati costituito da 0 a 64 bit (da 0 a 8 byte);

  • Il campo CRC costituito da 16 bit;
  • il campo di conferma costituito da 2 bit;
  • la fine del fotogramma o EOF (fine del fotogramma) materializzato da 7 bit recessivi.

ordine di trasmissione di bitmodifier

I campi vengono trasmessi nell’ordine del sobus in EOF.

In ogni campo del telaio, i bit vengono trasmessi dal campo più alto al più basso.

campo arbitraggio.

Il campo Arbitration è composto da 11 bit di identificazione per 2,0 A e 29 bit per Può 2.0b seguito dalla RTR (trasmissione a richiesta remota) ILO che è dominante. Questo campo funge da identificatore per i dati trasportati nel campo Dati.

I 11 bit di CAN 2.0A consentono 211 = 2.048 combinazioni.

I 29 bit di CAN 2.0 B consentono 229 = 536 870 912 combinazioni.

Campo di comando

Il campo di controllo è composto da sei bit.

Il bit di peso forte viene utilizzato per differenziare il tipo di Telaio:

  • Nel caso di un telaio standard (su 11 bit), il bit di peso forte è dominante;
  • nel caso di un telaio esteso (su 29 bit ), il forte bit di peso è recessivo.

Il bit seguente non viene utilizzato.

I quattro bit di peso basso chiamato DLC (codice di lunghezza dei dati) rappresentano il numero di byte del campo dati di bordo (carico utile).

Questo numero di byte può variare da 0 a 8 o nove valori memorizzati con i quattro bit dal campo DLC. I valori DLC superiori a 9 non verranno utilizzati (da 9 a 15).

FieldModificatore di dati

Il campo Dati può variare da 0 a 8 byte.

Nel caso di una cornice di query, il campo dati è vuoto.

CRCModier Field

Il campo è composto da quindici bit CRC (controllo ciclico ridondante) e un bit dice delimitatore (“Delimitatore CRC”) sempre recessivo.

Il CRC è calcolato da tutti i campi trasmessi fino a allora (ad esempio SoF, il campo Arbitration, il campo di controllo e il campo dati; i bit di trasparenza non vengono presi in account). L’assemblea costituisce il polinomio f (x). L’algoritmo consiste in una prima volta a moltiplicare f (x) entro 215.

quindi il polinomio f (x) è diviso (modulo 2) dal polinomiale G (x) = x15 + x14 + x4 + x8 + x0 + x4 + x3 + x0 + x4 + x3 + x0.

Una volta che le divisioni hanno successo, il resto è la sequenza CRC.

La distanza di hamming dell’algoritmo utilizzato è 6, il che significa che cinque errori massimi sono rilevabili.

Grazie a questo sistema di rilevamento, la velocità dell’errore registrato è molto basso (inferiore a 4,6 × 10-11). Inoltre, la rete è in grado di differenziare errori puntuali con errori ridondanti. Pertanto, qualsiasi dispositivo fallito può essere scollegato dalla rete per limitare i disturbi. La rete quindi entra in modalità “sfumatura”.

ACKModificatore Field di conferma

Il campo è composto da un bit di riconoscimento ACK (conferma) e un po ‘detta delimitatore (“riconoscimento delimitato”) sempre recessivo.

Tutti i ricevitori che hanno ricevuto il messaggio devono pagarlo emettendo un bit dominante per la durata del bit AK, che consente al nodo di emissione di sapere che almeno uno dei nodi riceventi ricevuti il messaggio.

Se un nodo ricevitore non ha o ricevuto male il messaggio, non può utilizzare questo meccanismo per segnalare l’errore, poiché “è sufficiente per una stazione ricevente per inviare un bit dominante per nascondere tutto il bit recessivi. Per segnalare la disfunzione, deve emettere un telaio di errore.

frame della query moddur

Il frame della query viene utilizzato per richiedere un dato a un altro nodo.È simile alla cornice dei dati tranne:

  • il campo dati è vuoto;
  • il bit RTR del campo Arbitration è recessivo;
  • il Quattro bit DLC del campo di comando corrispondono al numero di byte attesi nella risposta.

Si noti che il fatto che il ITR sia recessivo nel caso di un fotogramma di richiesta significa che se a Il fotogramma dei dati viene rilasciato simultaneamente con lo stesso campo arbitrale, è il telaio dei dati che è una priorità.

Bit Codificatore Transparese

Al fine di fissare la trasmissione dei messaggi, il “bit” Viene utilizzato il metodo -Suffing “.

Consiste nel caso in cui cinque bit della stessa polarità di fila, aggiungere al continuo un po ‘di polarità contraria, per rompere catene troppo grandi di bit identici. Questo metodo viene applicato solo sui campi SOF, Arbitrato, Controllo, Dati e CRC (Delimitatore escluso).

Ad esempio, “1111 1110” diventerà “1111 1011 0”.

Priorità trasmissioneModifica

Cosa succede se più nodi tentano di trasmettere simultaneamente?

C’è una procedura di accesso al bus a cui ogni nodo deve presentare:

  • Quando si trasmette un po ‘, il nodo deve rimanere sul bus. Disse altrimenti, dopo aver inviato un po ‘, legge il bus e controlla che il bit di lettura corrisponde a quello trasmesso;
  • se c’è una differenza (necessariamente su un bit recessiva) è che un altro nodo lo ha schiacciato da a bit dominante;
  • Il nodo deve quindi interrompere la sua trasmissione, monitorare il bus per attendere la fine della trasmissione, quindi riprovare a inviare il suo messaggio.

Quindi Una priorità viene effettuata grazie al campo arbitrale.

Più è piccolo, più contiene forti bit di peso a 0 (dominanti), più sarà una priorità.

Questa priorità o la fase di arbitrato termina l’ILO RTR.

Errore FrameReader

Non appena si rileva un errore, il nodo non attende la fine della cornice incriminata, immediatamente Invia un frame di errore per segnalare un problema nella trasmissione.

Un telaio di errore è composto da due campi diversi:

  • il flag di errore composto da sei bit;
  • il d Eliminatore composto da otto bit recessivi.

Il telaio di errore può essere:

  • “attivo” se il flag di errore è composto da sei bit dominant;
  • “Passive” Se il flag di errore è composto da sei bit recessivi.

errorsmodifier

Un numero di errori sono rilevabili dai nodi.

Bit ERORRODODE

Ogni volta che un nodo emette un po ‘sul bus, legge il bus e deve trovare il bit ha scritto. Se sull’invio di un bit recessivo, legge un bit dominante, è stato alterato.

Questo meccanismo è identico a quello che consente la prioritizzazione, quindi non dovrebbe essere tenuto conto del campo dell’arbitrato.

IDEM Per il campo di conferma, se il bit recessivo inviato dal nodo del trasmettitore diventa dominante, è semplicemente che uno o più nodi del ricevitore hanno confermato la buona ricezione del telaio, quindi non è un errore.

roba errmanserly

Se sul bus abbiamo letto sei bit della stessa polarità consecutiva, il meccanismo del bit di trasparenza non è stato rispettato o che un po ‘è stato alterato.

CRC ERORMODDRIDER

Se il valore CRC calcolato dal nodo del ricevitore è diverso dal CRC codificato nel telaio con il nodo del trasmettitore, il telaio è stato alterato.

CRC DelimiterModier

Se il bit “delimitatore CRC” Leggi i nodi di ricezione non è recessive, il bit è stato alterato.

ACCERVARE ERRORORMODIFIER

Se Il bit ACK recessivo inviato dal nodo di trasmissione non è stato schiacciato da un bit dominante, è che nessun nodo di ricezione lo ha ricevuto.

riconoscere delimitermodifier

Se il “riconoscimento delimitato” Bit Lettura dei nodi del ricevitore non è recessivo, il bit è stato alterato.

errore recuperatore di errore

per costruzione, il frame di errore interrompe la regola di imbottitura di bit, qualunque cosa accada, il sei bit del flag di errore sono identici.

Quando un nodo emette un frame di errore, tutti gli altri nodi rilevano un errore. “Errore di roba” e iniziare a inviare un telaio di errore anche.

Nel caso di fotogrammi di errore attivi, il numero di bit dominanti di fila non deve superare i dodici bit. Oltre, i nodi che non hanno emesso il loro telaio di errore non dovrebbero farlo.

Il nodo dell’ultimo emissione fornisce il delimitatore (otto bit recessive) e termina la cacofonia.

Il nodo avendo Emetteva la cornice incriminata e poi riassegna la sua fortuna.

E così via, finché la cornice non passa o uno dei suoi contatori di errore per cambiare la modalità di errore al nodo.

Errore MeterModificatore

Ogni nodo ha due contatori di errore:

  • un contatore di errore di trasmissione o “contatore di errore di trasmissione” (TEC);
  • un contatore di errore di ricezione o “Contatore di errore di ricezione” (REC).
Tecmodifier

Il contatore D ‘Errore di trasmissione di un nodo del trasmettitore è:

  • incrementato da 8:
    • se il nodo invia un flag di errore ad eccezione:
      • in caso di “errore di conferma” ed è in modalità di errore passiva,
      • In caso di “roba errore” durante il periodo di arbitrato,
    • se il nodo riceve sette bit dominanti consecutivi dopo un flag di errore o un flag di sovraccarico;
  • decrementato da 1 se la trasmissione del nodo avviene senza errori.
recmidif

L’errore di ricezione Contatore di una modalità ricevitore è:

  • incrementato da 1 se il nodo rileva un errore di ricezione tranne in caso di e “Errore bit” durante un flag di errore o un flag di sovraccarico;
  • incrementato da 8:
    • se il nodo riceve un bit dominante subito dopo un flag di errore,
    • > Se il nodo rileva un “errore di bit” durante un flag di errore o un flag di sovraccarico,
    • se il nodo riceve 7 bit dominanti consecutivi dopo un flag di errore o una bandiera di sovraccarico,

    >

  • decrementato da 1 se è inferiore a 127 e il nodo riceve un fotogramma senza errori;
  • portato tra il 119 e il 127, se fosse maggiore di 127 e il nodo riceve un Cornice senza errori.

Modifica errore Modesmodificatore

A seconda dei contatori degli errori, il nodo cambia la modalità di errore. Ci sono tre:

  • Modalità di errore attivo: nel caso in cui TEC e REC siano inferiori a 127. Il nodo emette quindi fotogrammi di errore attivi;
  • modalità di errore passiva: in il caso in cui TEC o REC è maggiore / uguale a 128 e meno di 255. Il nodo emette quindi fotogrammi di errore passivi;
  • “BUS OFF”: nel caso in cui TEC o REC è maggiore di 255. Il nodo scollega dal bus. Per uscire da questa modalità, il nodo deve ricevere 128 mulini di 11 bit recessivi.

Codificatore del telaio di sovraccarico

Il telaio del sovraccarico può essere utilizzato in due casi:

  • quando il nodo richiede un ritardo con la ricezione di un nuovo fotogramma;
  • quando il nodo rileva un bit dominante per un periodo di inter-frame (tre bit recessivi tra i fotogrammi) .

un telaio di sovraccarico è composto da due campi diversi:

  • il flag di sovraccarico costituito da sei bit dominanti;
  • il delimitatore costituito di otto bit recessivi.

Il telaio di sovraccarico è simile a un telaio di errore attivo.

Quando un nodo emette un frame di sovraccarico per richiedere un ritardo (condizione n. 1 ), schiaccia i tre bit recessivi del periodo inter-frame, gli altri nodi rilevano il sovraccarico, e loro stessi emettono fotogrammi di sovraccarico (condizione n. 2) stessi..

Proprio come per i fotogrammi di errore attivo , L. Il numero E numero di bit dominanti di fila non deve superare i dodici bit. Oltre a ciò, i nodi che non hanno emesso il loro telaio di sovraccarico non dovrebbero farlo.

Il nodo dell’ultimo emissione fornisce il delimitatore (otto bit recessive) e termina la cacofonia.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *