• Non ci sono risultati.

2.4 Descrizione dello stato dell’arte

3.1.7 Impostazione dei parametri

3.1.7.3 Tolleranza massima ammissibile

Quanto appena descritto si riferisce alle valutazioni che deve fare il progettista in fase di programmazione del bit timing dei nodi della rete partendo dai dati a sua disposizione e quindi con un valore ∆f noto e che caratterizza le interfacce.

3 IDLE 1 29 bit Stuffed Area S tu ff E rr o r 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 1 2 3 4 5 6 7 8 1 2

Error Active Flag Error Delimiter SpaceInter.

10 11 Nodo trasmettitore (NTX) 3 IDLE 1 Stuffed Area 2 3 4 5 1 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 5 6 7 8 1 2

Error Active Flag Error Delimiter Inter. Space Nodo ricevitore (RTX) S tu ff E rr o r

Echo Error Flag Increment REC Fronti di sincronizzazione dominant recessive dominant recessive (13 x tb) - (PHASE_SEG2 x tq)

Figura 3.28: Local Error in presenza di almeno due nodi Error Active.

In fase di progettazione del nodo le specifiche impongono un valore massi- mo di tolleranza del 1.58%, valore che pu`o essere mantenuto a baudrate abba- stanza bassi (fino a 125Kbit/s) impiegato come oscillatore locale un semplice risonatore ceramico mentre a frequenze di lavoro pi`u elevate l’impiego di un oscillatore al quarzo `e d’obbligo.

Questo limite teorico pu`o essere valutato andando a determinare la mas- sima distanza tra due fronti di risincronizzazione sulla base di quanto detto in precedenza. Di seguito vengono descritte le casistiche di una qualche rilevanza per la valutazione del ∆f massimo.

Local Error in presenza di almeno due nodi Error Active La situa- zioni in cui ci poniamo `e quella in cui il nodo in ricezione (NRX) non riconosce il bit di stuff dominante inviato dal nodo trasmettitore (NTX) (figura 3.28); al bit successivo NRX genera un Error Active Flag che allunga la sequenza dei bit dominanti, questa si allunga ulteriormente per effetto dell’Error Active Flag inviato anche dal nodo attivo NTX che genera un echo. Prima che il bus torni in idle e quindi risulti nuo- vamente disponibile alla trasmissione di un nuovo frame (invio di un nuovo SOF e quindi una nuova sincronizzazione) devono essere tra- smessi l’Error Delimiter e l’Itermission Space. In accordo alle regole di Fault confinement il registro REC del nodo NRX viene incremen- tato durante il primo bit che segue la fine dell’Error Flag. Affinch´e

Capitolo 3. Informazioni preliminari 90 S tu ff E rr o r 8 IDLE 7 1 30 bit Arbitration Field (Stuffed) B it E rr o r 2 3 4 1 2 3 4 5 6 1 2 3 4 5 6 7 8 1 2 3 1 2 3 4 5 6

Error Passive Flag Error Delimiter Inter. Space Nodo trasmettitore (NTX) IDLE 1 Arbitration Field (Stuffed) 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 1 2 3 4 5 6 7 8 1 2 3

Error Delimiter SpaceInter.

Nodo ricevitore (RTX)

Error Passive Flag

Suspend Transmission 10 dominant recessive dominant recessive Fronti di sincronizzazione 28 bit Bit inviato Bit letto 1 (30 x tb) - (PHASE_SEG2 x tq)

Figura 3.29: Local Error in presenza di nodi tutti passivi.

di discriminare una sequenza di 13 bit dominanti e questo `e un primo

limite.

Local Error in presenza di nodi tutti passivi In questo caso si suppo- ne che tutti i nodi della rete siano Error Passive e che il nodo trasmit- tente durante la fase di arbitraggio del bus rilevi un Bit Error (invia un dominante ma nello stesso bit time rileva un recessivo). A seguito dell’errore NTX invia un Error Passive Flag composto da 6 bit recessivi che dal lato ricevitore producono uno Stuff Error cui segue un Error Passive Frame (Flag + Delimiter) e l’Intermission Space. In questa si- tuazione tra due fronti di sincronizzazione (l’ultima risincronizzazione e l’invio di un bit di SOF) NRX riceve 28 bit.

Il trasmettitore successivamente all’Intermission Space essendo Error Passive si autosospende dal bus per 8 bit time (Suspend Transmission; per il trasmettitore il tempo di attesa per una nuova sincronizzazione sale a “30 tb” secondi. (figura 3.29)

Tenendo presenti i casi sopra riportati possiamo concludere che affinch´e un nodo sia in grado di campionare correttamente il primo bit dopo l’invio di un Error Active Flag (per la corretta rilevazione e gestione dell’errore) la tolleranza massima `e limitata dalla seguente espressione:

Per la corretta sincronizzazione nella stuffing area del frame DATA o RE- MOTE, deve essere rispettata la condizione seguente:

(2∆f )10tb ≤ SJW tq (3.2)

Affinch´e il nodo sia in grado di risincronizzarsi fino a che non arriva uno Start

of Frame “che rimette le cose apposto”, nel caso peggiore, deve recuperare

l’errore di fase accumulato su 30 bit quindi:

(2∆f )(30tb− P HASE SEG2 tq) ≤ SJW tq (3.3) Come gi`a mostrato nel paragrafo 3.1.7.2 la maggiore tolleranza agli shift di fase viene ottenuta dal nodo impostando i parametri di bit timing in questa maniera:

SJW = P HASE SEG1 = P HASE SEG2 = 4 (3.4)

SY N C SEG = P ROP SEG = 1 (3.5)

e quindi:

tb = 10tq (3.6)

Il protocollo CAN inizialmente29 non prevedeva che l’eventuale ricezione di un bit dominante come ultimo bit (il terzo) dell’Intermission Space venisse riconosciuto come uno Start of Frame e quindi non fosse fonte di errore (3.1.1.1).

Per il protocollo CAN “standard” il limite per l’Oscillator Tolerance lo si ricava dalla relazione 3.8 imponendo le precedenti condizioni sul bit timing: (2∆f )(30tb− 0.4tb) ≤ 0.4tb (3.7) da cui risolvendo per ∆f si ottiene che:

∆f ≤ 0.675%

La conseguenza del fatto che la versione “avanzata” del protocollo consen- te al nodo di “sopportare” un errore sull’ultimo bit dell’Intermission Space ha l’effetto di ridurre il numero massimo di bit compresi tra due fronti di sincronizzazione ed aumentare la capacit`a dei nodi e della rete a far fronte all’errore di fase.

Per la disugualianza 3.8 tra un fronte recessivo-dominante e lo Start of

Frame ci sono al massimo 30 bit, dato che il nodo “accetta” anche un domi-

nante come terzo bit dell’Intermission Space ci`o equivale a dire che il nodo

29Ci si riferisce alla versione 1.1 del protocollo denominata “standard”; le versioni dalla

1.2 in avanti sono dette protocolli “enhanced”. La prima versione in assoluto `e stata la 1.0 che non `e mai stata implementata.

Capitolo 3. Informazioni preliminari 92

Figura 3.30: .

`e in grado di sopportare un errore di fase di un bit time come mostrato in figura 3.30. Dalla stessa figura si deduce che la 3.8 deve essere sostituita dalla nuova condizione limite seguente:

(2∆f )(33tb− P HASE SEG2 tq) ≤ tb+ SJW tq (3.8) Adesso le tre relazioni da confrontare applicando le condizioni per il calcolo della massima tolleranza sono la3.2, 3.1e l’ultima. Il risultato che si ottiene applicando la3.1`e quello pi`u limitante e corrisponde all’1.58% indicato dalle specifiche come la massima tolleranza ammissibile.

Documenti correlati