Reti di campo per applicazioni automotive e Controller...
Transcript of Reti di campo per applicazioni automotive e Controller...
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 1
Reti di campo per applicazioni Reti di campo per applicazioni automotiveautomotivee Controller Area Network e Controller Area Network
Adriano Valenzano
(e-mail: [email protected])
IEIIT/CNR – Istituto di Elettronica e di Ingegneria dell’Informazione e delle Telecomunicazioni – Politecnico di Torino
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 2
Sommario
• Reti embedded per applicazioni automotive– topologie– priorità dei messaggi– accesso al mezzo trasmissivo
• Controller Area Network (CAN)– caratteristiche– evoluzione storica– livello fisico– livello data-link– tipologie di componenti
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 3
Cablaggi senza fieldbus
Controllomotore
Controllotrasmissione
SospensioniattiveABS
Cruscotto
Luci Regol.sedili
Contr.finestr.Condiz. Airbag Accens.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 4
Cablaggi con fieldbus
Controllomotore
Controllotrasmissione
SospensioniattiveABS
real-time / high speed
Cruscottonon real-time / low speed
Regol.sedili
Contr.finestr.Luci Condiz. Airbag Accens.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 5
Topologie di rete
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 6
Bus
• Collegamento multipoint.• Adatta per installazioni “lineari” ed estese.• Flessibile (numerose opzioni per i protocolli).• La rottura del cavo partiziona la rete.• Poco adatta per le fibre ottiche.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 7
Star
• Collegamenti point-to-point.• Può emulare il bus.• Guasti facili da individuare ed isolare.• Adatta per le fibre ottiche.• Il guasto del nodo centrale può bloccare la rete.• Meno flessibile del bus.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 8
Ring
• Collegamenti point-to-point.• Ogni nodo agisce da ripetitore.• Richiede switch di bypass per tollerare i guasti.• Adatta per fibre ottiche.• Nessuna “contesa” sul mezzo trasmissivo.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 9
Modelli di comunicazione
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 10
Modello client-serverLa comunicazione è di tipo one-to-one.
nodo servernodo client sistema di comunicazioneservice.request
service.indication
service.response
service.confirmation
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 11
Modello produttore-consumatoreLa comunicazione è di tipo one-to-many.nodo produttore sistema di
comunicazionenodi consumatori
service.request
service.indication
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 12
Priorità dei messaggi
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 13
Tipi di prioritàLocale
– Ogni nodo trasmette il messaggio a maggior priorità quando ottiene l’accesso al mezzo.
• Schemi di priorità di tipo “round-robin”.• Si possono assegnare priorità in modo dinamico.
Globale– Stabilire i “turni” di accesso al mezzo. Schemi:
• di tipo “round-robin”;• legati alla priorità intrinseca dei nodi;• legati alla priorità dei messaggi da trasmettere.
Problema: trovare un compromesso ragionevole per ridurre la latenza dei messaggi ad alta priorità e garantire lafairness per quelli a bassa priorità.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 14
Come coordinare l’accesso al mezzo trasmissivo?
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 15
Uso di un bus master (polling)Il master interroga gli “slave” con messaggi di richiesta e attende le risposte.Problemi:
– Guasti del master.– Guasti degli slave (e “debolezza” del meccanismo
di timeout per risposte tardive).master
ric. slave i ric. slave jslave i
risp. slave islave j
risp. slave j
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 16
Polling
Vantaggi:– Semplice da implementare.– Molto conosciuto.– Latenze limitate per applicazioni real-time.
Svantaggi:– Il master è un “single point of failure”.– Spreco di banda per le interrogazioni.– Struttura della rete definita all’installazione (rigidità).– Priorità dei messaggi garantita prevalentemente a
livello locale (si possono usare anche tecniche di bilanciamento del carico centralizzate).
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 17
Uso di temporizzazioni (TDMA)
• Il master invia un segnale di tempo (clock tick).• I nodi individuano l’istante in cui possono accedere al
bus.• Si possono avere protocolli che riservano “intervalli”
temporali ai nodi (time slice o time slot).master
clock tick clock tick
mess. nodo inodo i
nodo jmess. nodo j
start
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 18
TDMA( time division multiplexed access)Vantaggi:
– Semplice da implementare.– Tempi di risposta deterministici.– Nessuno spreco di banda per i messaggi di
richiesta.Svantaggi:
– Il master è un “single point of failure”.– Spreco di banda per i nodi idle.– Richiede elevata stabilità dei clock.– Priorità dei messaggi garantita prevalentemente a
livello locale (si possono usare anche tecniche di bilanciamento del carico centralizzate).
Nota: esistono schemi TDMA a lunghezza variabile che “troncano” gli slot inutilizzati per risparmiare banda.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 19
CSMA (carrier sense multiple access)• Quando il canale è libero si inizia la trasmissione sperando
di evitare “collisioni”.• Se si riceve un ack tutto è ok, ma la risposta può anche non
arrivare mai.• Adatto a trasmissioni satellitari e sistemi privi di meccanismi
di collision detection.nodo i
collisione
tx
txX
tx
trasmissioni oknodo j
tx
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 20
CSMA/CD (collision detection)• Quando il mezzo è libero si inizia la trasmissione e si
osserva il canale (occorre h/w ad hoc).• In caso di collisione si “ritarda” la ritrasmissione per un
certo tempo (backoff time: dipende dal carico della rete).• La “finestra di vulnerabilità” è pari a circa 2 volte il
tempo di propagazione da un estremo all’altro della rete.• Esempi: Ethernet, IEEE 802.3.
tx
txX
nodo iritrasmissione
nodo j
collisione
ritrasmissione
backoff time
backoff time
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 21
CSMA/CDVantaggi:
– Latenze contenute per traffico di rete basso.– Inizializzazione della rete non richiesta.– Ingresso/uscita dei nodi dalla rete “on the fly”.– Possibilità di avere reti con elevato numero di nodi.– Possibili schemi di priorità globale dei messaggi.– Elevato numero di sistemi installati e buona disponibilità di
supporto.Svantaggi:
– Adatta a traffico aperiodico. Non ideali per loop di controllo sincroni.
– Meccanismo CD di tipo analogico non sempre pratico da realizzare.
– Latenza del singolo messaggio non limitata a priori.– Bassa efficienza per carichi di rete elevati.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 22
Passaggio esplicito di token• Solo il possessore del token può trasmettere. • Possibili schemi master-slave (lo slave “restituisce” il
token al master).• Gestione complessa (perdita o duplicazione del token,
inizializzazione ecc).• Occorre “inviare” messaggi di token anche in assenza
di dati da trasmettere.
nodo 1T (3)tx
nodo 1T (1)
nodo 3T (2)tx
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 23
Token bus• L’anello è “virtuale” e gestito a livello logico (parte in h/w e
parte in s/w).• Il “token” è rappresentato da un messaggio.• Solo il possessore del token può trasmettere.• Esempi: IEEE 802.4, MAP, Profibus.
token
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 24
Token busVantaggi:
– Limite superiore per le latenze (controlli real-time).– Throughput elevato anche per alti carichi della rete.– Riconfigurazione “on the fly”.
Svantaggi:
– Latenze per il passaggio del token per bassi carichi della rete.
– Priorità dei messaggi a livello locale.– Lunghi tempi di riconfigurazione della rete .– Overhead per l’inizializzazione dell’anello, la gestione di
eccezioni quali perdita e duplicazione del token ecc.– Collisioni durante l’inizializzazione e la riconfigurazione.– Protocollo MAC complicato.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 25
Token ring• L’anello è “fisico” e costituito da collegamenti point-to-point.• Il segnale di “token” è passato da un nodo all’altro in modo
circolare.• Il protocollo di trasmissione è orientato al bit anziché al
messaggio (i bit vengono “shiftati” attraverso l’anello).• Esempi: IEEE 802.5, FDDI.
token
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 26
Token ringVantaggi:
– Limite superiore per le latenze (controlli real-time).– Throughput elevato anche per alti carichi della rete.– Priorità dei messaggi a livello locale e globale.– Riconfigurazione “on the fly” (richiede by-pass h/w!).– Adatto per fibra ottica.– Buon livello dei segnali (ogni nodo è un repeater).
Svantaggi:– Latenze per il passaggio del token per bassi carichi della rete
(meglio di token bus).– Monitoraggio centralizzato (definito all’inizializzazione).– Overhead per la gestione di eccezioni quali perdita e
duplicazione del token ecc.– Ritardi di propagazione dipendenti dal numero di nodi.– Blocco della rete in caso di interruzione dell’anello.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 27
Passaggio implicito di tokenSi utilizza la durata del tempo di attesa come “token” nel dominio del tempo.• time slice (il tempo di attesa è lungo un messaggio intero)
nodo 1 tx1nodo 2nodo 3
tx2
tx3
tx1tx2
tx32 3 1 2 31
• time slot (il tempo di attesa è il più breve possibile: es. 2-3 bit)nodo 1 tx1nodo 2nodo 3
tx3
tx1tx2
tx32 3 1 2 31
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 28
Collision resolution (binary countdown)
• Permette la risoluzione deterministica delle collisioni.• Richiede un meccanismo di “dominanza” dei bit sul
canale• Esempi: CAN, SAE J1850
msg 0
msg 4
msg 7
msg 6
msg 5
msg 2sono trasmessi imess. a più alta priorità
collisioninodo 1
nodo 2
nodo 3
busmsg 0 msg 2
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 29
Binary countdown
Vantaggi:– Throughput elevato per bassi carichi della rete.– Priorità locale e globale dei messaggi.– L’arbitraggio fa parte del frame (overhead
contenuto).Svantaggi:
– Dimensione della rete limitata dai ritardi di propagazione.
– Possibile comportamento unfair (se la priorità è associata al nodo).
– Latenze elevate per i messaggi a bassa priorità.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 30
Codifica dei bit e CSMASvantaggiVantaggiTipo
• latenze non limitate superiormente
• non limitati dal rapporto velocità di trasmissione/ lunghezza della rete
Protocolli a collisione
• richiedono bit aggiuntivi• lunghezza del messaggio
non deterministica
• consumano meno banda degli schemi self-clocking“bit-stuffed”
• ottima efficienza
• più semplici
• richiedono mezzi trasmiss. compatibili
• limitati dal rapporto velocità di trasmissione/ lunghezza della rete
Protocolli “binarycountdown”
• consumano banda“self-clocking”
tecnichedi codifica dei bit
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 31
Sistemi a tokenSvantaggiVantaggi
• consumo di banda per il passaggio del token
• jitter (contenuti)
• non occorrono oscillatori precisi in tutti i nodi
• non limitati dal rapporto velocità di trasmissione/ lunghezza della rete
Token esplicito
• tempi di risposta deterministici
• Jitter assai contenuti
• intervalli di tempo lunghi causano spreco di banda (sliceinutilizzate)
• occorrono un oscillatore preciso in ogni nodo
• limitati dal rapporto velocità di trasmissione/ lunghezza della rete
Token implicito (TDMA)
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 32
Priorità e fairness
possibile (rotazione degli slot)
sì, con passaggio molto rapido del token
semplice da realizzare
Tokenimplicito
Tokenesplicito
BinaryCountdown
CSMA
sì, con passaggio molto rapido del token (tokenring). Più difficile in token bus.
automaticadifficile da realizzare
priorità globale
possibile se si emula un altro protocollo (es. polling)
semplice da realizzare
automatica (a livello di nodo)
difficile da realizzare (emulazione di altro protocollo)
fairnessglobale
semplice da realizzare
semplice da realizzarepriorità locale
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 33
Confronto conclusivo• Sistemi a collisioni
– Elevato numero di possibili trasmettitori.– Basso numero di trasmettitori attivi.– Overhead di arbitraggio proporzionale al carico di rete.
• Sistemi token-based, TDMA e polling– Numero modesto di nodi totali.– Gestione agevole di carichi di rete elevati.– Overhead di arbitraggio costante.
• Sistemi basati su binary countdown– Numero di tipi diversi di messaggi piuttosto elevato.– Overhead di arbitraggio costante.– Priorità globale (senza fairness).
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 34
Emulazione di protocolli su bus
CSMA/CD CSMA/DCR
Token bus TDMA
Polling(master/slave)
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 35
Controller Area Network
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 36
Classi di reti SAE
> 10 $
tra 5$ e 10$
< 4$
Costo tipico per nodo
Controlli critici real-time
Controlli e comunicazioni non-real time
Attuatori e sensori intelligenti (event-driven)
Applicazioni
1 Mb/s
125 Kb/s
10 Kb/s
Data rate (max)
EsempiClasse
ISO 11898-2 (high speed CAN)
C
SAE J1850, J2411, ISO 11898/3 (f.t. CAN)
B
LINA
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 37
Struttura di una rete CAN
CAN H
CAN L
120Ω
CAN transceiver
CAN controller
host controller
applicazione (es. ABS)
nodo 1applicazione
(es. contr. motore )
nodo n
µcontroller
CAN transceiver 120Ω
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 38
Caratteristiche di CAN (I)
> 150.000.000 a fine 1999 (> 200.000.000 nel settore automotive negli ultimi tre anni)
Numero di nodi installati
2 Km @ 25 Kb/s (1 repeater)Lunghezza bus (max)1 Mb/sTransfer rate (max)busTopologiaMultimasterTipo di sistema
sviluppato da Bosch e Intel per applicazioni Automotive. Norma ISO 11898 dal 1993.
Origine
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 39
Caratteristiche di CAN (II)
automotive (auto, bus e v. indust.), industrial & building automation, tessile, alimentare, medicale, meccanico…
Settori applicativi
2048 (identificatori 11 bit)2048 * 218 (identif. estesi a 29 bit)
Priorità
Da 0% (0 byte) a 53% (8 byte)Efficienza pacchetto dati
Da 0 a 8 byte di datiLunghezza messaggi
Orientato agli oggetti (modello produttore-consumatore)
Indirizzamento
CSMA/DCR (arbitraggio non distruttivo)Tecnica di accesso al mezzo trasmissivo
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 40
Evoluzione di CAN (I)• 1980: Bosch inizia a studiare un bus seriale per
applicazioni automotive.• 1986: il nuovo protocollo (Serial Controller Area
Network) viene presentato al congresso SAE a Detroit.• 1987: Philips e Intel iniziano a produrre i primi chip
(basic e full CAN rispettivamente).• 1992: Nasce il “CAN in Automation” (CIA) user group
per la definizione di un livello applicativo standard.• 1992: Honeywell e Allen-Bradley iniziano un progetto
congiunto basato su CAN (il progetto, abbandonato, porterà alla nascita di SDS e DeviceNet).
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 41
Evoluzione di CAN (II)• 1993: la specifica Bosh 2.0 viene approvata come
standard internazionale ISO 11898.• 1995: 15 principali produttori di seminconduttori (tra
cui Siemens, Motorola e Nec) hanno già prodotto milioni di chip utilizzati da Mercedes-Benz, Volvo, Saab, Volkswagen, BMW, Renault e Fiat.
• 1995: un addendum allo standard ISO introduce il formato esteso degli identificatori.
• 2003: l’ISO inizia la revisione e l’aggiornamento delle specifiche CAN.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 42
Profilo di comunicazione
Physical ISO 11898-1/2/31Data-link ISO 11898-12Network Not used3Trasport Not used4Session Not used5
Presentation Not used6
ApplicationProtocolli proprietari,CAL, CANOpen, CAN Kingdom, Devicenet
7
Applicazioni
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 43
Livello fisico
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 44
Livello fisicoDefinisce:
• Mezzo trasmissivo, interfacce (connettori) e medium access unit (transceiver).
• Livello dei segnali.• Bit representation, timing e synchronization.
Le specifiche CAN prevedono che:– Sia garantita la “dominanza” dei bit sul canale.– Si adottino opportune tecniche per realizzare
l’interfaccia al mezzo e migliorare la compatibilità elettromagnetica (ad. es. non si usino trasformatori di accoppiamento).
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 45
Livello fisico ISO: possibili alternative
Optical CAN Transceiver
Fibra otticaTxD
RxD
Differential CANtransceiver
Twisted pair
120 Ω
120 Ω
TxD
RxD
TxD
CAN controller
RxD
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 46
Livello fisico SAE (J2411)
Single-wireCAN transceiver
TxD
RxD
TxD
CAN controller
RxD
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 47
Caratteristiche dei livelli fisici
Medium type
Network topology
Bus type
Max number of nodes
Max bus length
Max data rate
utp/stpunshielded single wireutp/stp
not limited to a linear structure
not limited to a linearstructure
single line (drop line max 30cm)
two-wire /single wire (f.t.)
single wiretwo wiredifferential
3232limited by electric. bus load
~ 500m2Km40m (@1 Mb/s)
125 Kb/s33,3 Kb/s (normal)83,3 kB/s (diagnostic)
1 Mb/s
ISO 11898-3(low-speed/
fault-tolerant)
SAE J2411(road vehicle)
ISO 11898-2(high speed)
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 48
Tecniche di codifica dei bit
Non-return tozero (NRZ) encoding
Manchester encoding
Sample bit stream(0100111)
Logical“1”
Logical“0”
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 49
Vantaggi e svantaggi
Codifica Manchester– richiede 2 time-slot per rappresentare un bit;– esiste sempre una transizione all’interno di ogni bit
(sincronizzazione).Codifica NRZ
– richiede un solo time slot per rappresentare un bit (efficienza);
– richiede oscillatori precisi e/o una “distanza” massima tra 2 fronti successivi (risincronizzazione).
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 50
Bit stuffing
• Consente la risincronizzazione del ricevitore introducendo opportuni fronti nel segnale trasmesso (l’assenza di fronti indica bus idle o errore).
• Il trasmettitore inserisce uno “stuff bit” di polarità opposta ogni n bit consecutivi uguali (5 bit in CAN).
• Il ricevitore rimuove gli “stuff bit” dallo streamricevuto (de-stuffing).
• L’efficienza della codifica si riduce in qualche misura (dipende dallo stream da trasmettere).
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 51
Esempio di bit stuffing
source data stream
stuffed data stream
de-stuffed data str.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 52
Efficienza del bit stuffing
Nel caso peggiore viene aggiunto uno stuff bit ogni 4 bit da trasmettere:
source bit stream
stuffed bit stream
Per CAN si può dimostrare che il max numero di stuff bit (msb) inseriti dal trasmettitore in funzione del numero di byte di dato (dlc) è dato da:
msb = (34 + 8 dlc - 1) / 4 = 8 + 2 dlc
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 53
Stima del numero di stuff bitdata length
code estimated maximum number of existing CAN messages with:
dlc msb msb msb-1 msb-2 msb-3
0 8 0 0 1 13 1 10 0 0 0 30 2 12 0 0 0 32 3 14 0 0 5 444 4 16 0 0 2 >171 5 18 0 0 0 >82 6 20 0 0 1 >175 7 22 0 1 124 >15205 8 24 0 0 21 >2660
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 54
Sincronizzazione e temporizzazione dei bit
• Le trasmissioni in CAN sono sincrone (maggior efficienza di quelle asincrone character-oriented).
• Il ricevitore deve essere risincronizzato in continuazione con il trasmettitore (ogni “fronte” valido del segnale può servire allo scopo).
• Il segnale è campionato a frequenza più alta del bit rate
• Il bit time è un multiplo del “time quantum” che a sua volta è un multiplo del periodo di clock.
• A causa della tecnica di arbitraggio e del meccanismo di acknowledge i segnali devono potersi propagare dal trasmettitore al ricevitore e ritorno entro il bit time.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 55
Struttura del bit time
sync phasebuffer 2
bit time nominale
Punto di campionamento
phasebuffer 1Propagation delay segm.
“hard” synchronization “resynchronization”
La sincronizzazione può avvenire solo sui fronti di discesa (da recessivo a dominante).
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 56
Bit rate ed estensione della rete• Perché il livello MAC operi correttamente
occorre che il segnale generato dal nodo trasmittente:– si propaghi a tutti gli altri nodi (caso peggiore: da
un’estremità all’altra della rete);– effettui il cammino inverso;– raggiunga il nodo trasmittente in tempo utile per
essere campionato (rilevamento delle collisioni).• Esistono pertanto limitazioni fisiche alla
massima estensione consentita per la rete fissato il bit rate.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 57
Relazione bit rate/estensione
( )pMAXrtransceiveCANsegprop tLTTT ⋅++⋅≥ 2_
• Dove:– Tprop_seg: durata del prop. delay segm.– TCAN: ritardo del controller CAN– Ttransceiver: ritardo del transceiver– LMAX: lunghezza massima del bus– tp: ritardo di propagazione specifico (circa 5 ns/m
su rame)
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 58
Velocità di trasmissione tipiche• Approssimativamente, l’estensione della rete si
dimezza al raddoppiare del bit rate.• In pratica non è possibile aumentare la velocità di
CAN oltre 1Mbit/s (limite fisico e non tecnologico!).
10 Kb/s5 Km (16000 ft.)50 Kb/s1 Km (3200 ft.)
125 Kb/s500 m (1600 ft.)250 Kb/s200 m (650 ft.)500 Kb/s100 m (300 ft.)1 Mb/s40 m (130 ft.)
Bit rateMax segm. Length
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 59
Livello data-link
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 60
Livello data-link
• Specifica i sottolivelli LLC e MAC di CAN (ISO 11898/1).
• In particolare definisce:– tecnica di arbitraggio del mezzo trasmissivo;– formato dei messaggi;– meccanismi di error detection;– tecniche di error confinement;
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 61
Struttura dei messaggi CAN
Header Data Error detection
CRC di 15 bit
da 0 a 8 byte di dati
IndirizzamentoPrioritàTipo di mess.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 62
Tecnica di accesso al mezzo• Indirizzamento orientato agli oggetti anziché ai
nodi.• Accesso di tipo CSMA/DCR (carrier sense,
multiple access/deterministic collision resolution) basato su risoluzione non distruttiva delle collisioni (binary countdown).
• Arbitraggio realizzato tramite arbitration fieldcontenuto nell’header del messaggio.
• Identificatori a valore numerico inferiore hanno priorità più elevata.
• Si sfrutta il principio di dominanza dei bit sul bus.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 63
Bit dominanti e recessiviI trasmettitori di tutti i nodi CAN nella rete sono connessi in modo da realizzare un’unica strut-tura wired-or di tipo distribuito:
nodo 1Rx Tx
nodo 2Rx Tx
nodo NRx Tx
+Vcc
CAN bus
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 64
Livelli dominante e recessivoIl livello dominante (0 logico) “prevale” su quellorecessivo (1 logico): se anche un solo nodo trasmette un livello dominante il bus assume tale valore.Esempio con 3 trasmissioni simultanee:
10000000bus10101010nodo 311001100nodo 111110000nodo 1
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 65
Algoritmo CSMA/DCR
intermissionterminato ?
txstart of frame
tx prossimobit arbitraggio
livello bus = bit trasmesso?
stato diricezione
si
si
no: tx=recessivo,bus=dominante
no: tx=dominante,bus=recessivo
fine campoarbitraggio ?
no
tx parte rimanente
messaggio pronto da trasmettere
no
stato dierrore
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 66
Tecnica di arbitraggio
SOF 10 9 8 7 6 5 4 3 2 1 0 RTR CTRL DATA
Nodo 1(11001100000)
Nodo 2(11001011001)
Nodo 3(11001000000)
Bus
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 67
Tecnica di arbitraggioarbitraggio perso
SOF 10 9 8 7 6 5 4 3 2 1 0 RTR CTRL DATA
Nodo 1(11001100000)
Nodo 2
Nodo 3
(11001000011)
(11001000000)
Bus
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 68
Tecnica di arbitraggio
SOF 10 9 8 7 6 5 4 3 2 1 0 RTR CTRL DATA
Nodo 1
Nodo 2
Nodo 3
Bus
(11001100000)
(11001000111)
(11001000100)
solo ascolto
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 69
Tecnica di arbitraggio
Nodo 1
Nodo 2
Nodo 3
Bus
(11001100000)
(11001000111)
(11001000100)
SOF 10 9 8 7 6 5 4 3 2 1 0 RTR CTRL DATA
solo ascolto
arbitraggio perso
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 70
Tecnica di arbitraggio
SOF 10 9 8 7 6 5 4 3 2 1 0 RTR CTRL DATA
(11001000111)
Nodo 1
Nodo 2
Nodo 3
Bus
(11001100000)
(11001000101)
solo ascolto
solo ascolto
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 71
Tecnica di arbitraggio
SOF 10 9 8 7 6 5 4 3 2 1 0 RTR CTRL DATA
Nodo 1
Nodo 2
Nodo 3
Bus
(11001100000)
(11001000111)
(11001000101)
solo ascolto
solo ascolto
trasmissionetrasmissione
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 72
Struttura dell’header
arbitration field
1 11 o 29 bit 1 6 bit
control field
RTR (remote transmissionrequest): 0 = data frame,
1= remote frame
identifier
SOF (start of frame)
base format => 11 bitextended format => 29 bit
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 73
Control field (base format)
DLC2
DLC1
DLC0
DLC3IDE res.
data lengthcode (0-15 ma
max 8 byte trasmessi se
dlc > 8)
reserved
Identifier extension(0=base, 1=extended)
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 74
Formati base ed extended
Base format (id. su 11 bit, 2048 oggetti diversi)
11 bitIDENTIFIER
SOF
RTR
IDE
r0 DLC 0-8 byte
DATA FIELDCRC
FIELDACK
FIELD EOF IMS
control fieldarbitration field
Extended format (id. su 29 bit, circa 500 milioni di oggetti diversi)
11 bitBASE ID
SOF
SRR
IDE
DLC -0-8 byteDATA FIELD
CRCFIELD
ACKFIELD EOF IMSr
018 bit
ID EXTENSIONr1
RTR
control fieldarbitration field
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 75
CRC field• È costituito da un campo di 15 bit seguito da un bit
recessivo (CRC delimiter).• Deriva da un codice a ridondanza ciclica adatto a
frame di lunghezza inferiore a 127 bit.• Consente di scoprire sequenze continue di errori
(burst) lunghe fino a 15 bit.• Consente di scoprire fino a 5 errori “isolati” (singoli bit)
=> distanza di Hamming=6.
CONTROL FIELD
ARBITRATION FIELD
CCRCSOF
DATAFIELD
campi soggetti a “bit stuffing”
ACK EOF
campi “coperti” dal CRC
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 76
CRC e bit stuffing• Il meccanismo di bit stuffing può, in alcuni casi, ridurre l’efficacia
“teorica” del CRC (distanza di Hamming=2 invece di 6!!).• È stato verificato che l’interazione “bit-stuffing”/CRC porta a:
– Probabilità di errori singoli (in numero <= 5) non individuati crescente col decrescere del numero di errori (ma non nulla!).
– Probabilità di errori singoli (>5) non individuati decrescente con il numero di errori e inferiore a quella teorica (tenendo conto anche degli errori di allineamento, del formato dei campi ecc).
Undetected corrupted messageprobability
Number of flipped bits
10-6
51
sperimentale
teorica10-5
10-7
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 77
Esempio di interazione bit-stuffing/CRC(messaggio originale)
00000100111000110110101111001(bit stuffing)
000001100111000110110101111001
(errori di trasmissione)
000101100111000110110101111101
(shift di 1 posizione ditutti i bit )
(de-stuffing)
00010110011100011011010111111
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 78
ACK field
• È costuito da un bit (ack slot) seguito da un bit delimitatorerecessivo (ack delimiter).
• Il trasmettitore invia un ack slot recessivo.• Tutti i nodi che ricevono il frame correttamente (CRC ok) forzano
il bit di ack a dominante.• Può accadere che alcuni nodi richiedano la ritrasmissione di un
frame ricevuto correttamente da altri.N.B. L’ack non implica che il destinatario abbia ricevuto il frame
ma solo che almeno un ricevitore nella rete lo abbia visto “transitare” correttamente!
ack
ackdel.
EOF flagCRC
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 79
EOF flag & Intermission fieldAck slot EOF flag Interframe space
• Ogni frame (di richiesta remota o di dati) è concluso da una sequenza di 7 bit recessivi.
• Tra due frame di dati successivi, inoltre, è previsto uno “spazio” di almeno 3 bit recessivi.
• La fine della trasmissione di un frame di dati o di richiesta remota è quindi conclusa da 11 bit recessivi.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 80
Tipi di comunicazionea) broadcast
b) peer to peer
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 81
Comunicazioni in CANNodo 1 Nodo 2 Nodo 3 Nodo 4
RiceviMessaggio
Selezione
Accetta
RiceviMessaggio
Accetta
Selezione
Prepara
Spedisci Messaggio Ricevi
Messaggio
Selezione
Sono essenzialmente di tipo broadcast e basate sul modello produttore-consumatore
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 82
Tipi di messaggi CAN
• data frame: usato dal produttore di un dato per trasmetterlo sulla rete rete.
• remote frame: usato da un generico nodo per richiedere la trasmissione di un dato (da parte del relativo produttore).
• error frame: usato per segnalare ai nodi della rete un errore quando queso viene rilevato.
• overload frame: usato per introdurre un ritardo ulteriore fra due frame consecutivi sul bus.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 83
Meccanismo di richiesta dati remotinodo A
frame (ident.=X,
RTR=1)
data-link nodo BRemote
Data frame (ident.=X
RTR=0, dati)
,
agli altrinodi
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 84
Remote frame e data frame
• La richiesta (remote frame) per un certo dato può essere spedita da qualsiasi nodo (in genere un consumatore del dato).
• Il dato trasmesso come risposta (data frame) può essere letto anche da altri consumatori.
• Lo coppia remote-data frame è simile ad una transazione master-slave ma non è garantito che il data frame segua immediatamente il remote frame.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 85
Error frame
ims
error frame
data field
error flag (6 o 12 bit dominanti)
error delimiter(8 bit recessivi)
• Generato alla scoperta di un errore durante la trasmissione/ricezione di un messaggio (remote o data). L’errore viene propagato a tutti gli altri nodi.
• Frame costituito dalla possibile sovrapposizione di più error flag seguita da un error delimiter.
• L’error flag viola le regole del bit stuffing.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 86
Sovrapposizione di error flag
inizio error frame
inizio error framenodo A
nodo B
errore nei dati errore bit stuffingritrasmissione
inizio error frame nodo C
bus
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 87
Overload frameend of frame oerror delimiter ooverload delimiter
ims
overload frame
overload flag (6 o 12 bit dominanti)
overload delimiter(8 bit recessivi)
• In pratica è un error frame generato quando:– Il ricevitore desidera “ritardare” la trasmissione del frame
successivo.– Si scopre un errore relativo al campo di intermission.
• Gli overload frame non causano la ritrasmissione del frameprecedente (come accade per gli error frame).
• L’overload deve sempre iniziare in luogo del primo bit di IMS.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 88
Rilevamento degli errori
• CAN prevede 5 diversi meccanismi simultanei per il rilevamento degli errori:– cyclic redundancy code (CRC)– frame check– acknowledgement error check– bit-monitoring– bit-stuffing
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 89
Cyclic redundancy codePuò essere calcolato velocemente in h/w con shift register e porte ex-or.Si adotta il seguente algoritmo:
CRC[14:0] = 0,0…,0; /* inizializzazione shift register */DO
CRCNXT= Next_bit + CRC[14];FOR (i=14; i>0; i--) /* shift a sinistra di una posizione */
CRC[i] = CRC[i-1];CRC[0]=0;IF (CRCNXT) /* ex-or con polinomio generatore */
CRC[14:0]=CRC[14:0] + (0100010110011001);WHILE ((Next_bit != End of data) && (!Error_condition));
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 90
Errori di formato (frame check)
12 6 0-64 15 1 1 1 7 31
SOFarbitration
control data CRC CRC delim.
ackslot EOF IMS
ackdelim.
Alcuni campi hanno formato fisso (sono a valore recessivo):– occorre verificare che tali campi abbiano effettivamente il valore
previsto;– in caso contrario viene generato un errore di formato.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 91
Errori di acknowledgement
Ogni nodo che riceve correttamente un messaggio forza a livello dominante il bit di acknowledgement (ack slot):
– se il trasmettitore rileva un livello recessivo, vuole dire che nessun altro nodo ha letto correttamente il messaggio;
– In questo caso viene generato un errore di acknowledgement.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 92
Errori di bit monitoring
Bus
CAN ControllerTX0 TX1 RX0 RX1
Microcontroller
Transmit-network
Receive-network
Nodo CAN
Se si trasmette un valore dominante e si legge un valore recessivo sul bus viene generato un errore.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 93
Error detection capability
La suscettibilità all’errore può essere caratterizzata tramite parametri statistici:
– Frame error rate– Bit error probability
Frame error rate: rapporto tra il numero di framecorrotti ed il numero di frame trasmessi su un lungo periodo di osservazione (probabilità che un frame sia errato).Bit error probability: probabilità che un bit trasmesso sia corrotto.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 94
Globalizzazione degli errori• Poiché ogni nodo “globalizza” gli errori
scoperti localmente trasmettendo un error flag, un errore di trasmissione non viene scoperto solo se:– il trasmettitore non viene “disturbato” (altrimenti
l’errore sarebbe rilevato dal bit monitoring) e, contemporaneamente,
– Tutti i nodi che ricevono il frame corrotto “osservano” una sequenza di errore non rilevabile.
CAN ha ottime caratteristiche di error detection!
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 95
Residual error probability
È la probabilità di non riuscire a rilevare un messaggio corrotto. Per CAN è stato stimato che:
ρ < 4.7 · 10-11 · frame_error_rate
Esempio: => 500kb/s, lunghezza media messaggi 80bit, carico medio della rete=25%, 1 errore ogni 0.64 s (frame error rate= 0.001), 2000 ore/anno, 365giorni/anno
Media statistica:1 errore non rilevato ogni 2000 anni !!!
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 96
Confinamento degli errori
Problema: evitare che un nodo guasto possa bloccare l’intero sistema. In CAN ciò può accadere se il nodo malfunzionante continua ad inviare error frame (ma anche nel caso di un nodo “babbling idiot” !!).
SoluzioneIndividuare il nodo guasto tramite un meccanismo automatico e disconnetterlo dalla rete.La tecnica si basa su error counter.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 97
Error counter• Ogni nodo ha un error counter per le trasmissioni ed
uno per le ricezioni.• L’error counter viene incrementato per ogni frame
errato (in tx o in rx).• L’error counter è decrementato per ogni frame
trasmesso/ricevuto correttamente.• L’incremento per errore è superiore al decremento per
operazione corretta.• Gli incrementi sono maggiori per il nodo che ha
scoperto per primo l’errore.N.B. un nodo può sapere di essere il primo ad averscoperto l’errore monitorando la fine dell’error flag.
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 98
Stati di (confinamento di) errore
Un nodo che per un periodo è sempre il primo a scoprire errori di trasmissione è probabilmente guasto.
–Error-active: il nodo partecipa normalmente alle comunicazioni e può inviare error flag attivi (distruggere il fame soggetto a errore violando le regole del bit-stuffing con 6 bit dominanti).
–Error-passive: il nodo partecipa alle comunicazioni ma può inviare solo error flag passivi (6 bit recessivi che non disturbano la comunicazione.
–Bus-off: il nodo non può modificare lo stato del bus (ma non è escluso che possa ricevere i frame).
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 99
Tipi di error flagERROR-ACTIVE
6 bit 0...6 bit 8 bit 3 bit
6 bit 0...6 bit 8 bit 3 bit
ERROR-PASSIVE
sovrapposizione di error flag
error flag
errordelimiter IMS
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 100
Error state diagram
Error Active
Error Passive Bus Off
Rx_Cnt <= 127 eTx_Cnt <= 127
Rx_Cnt > 127 oTx_Cnt > 127
Reset, configurazionee ricezione di 128 sequenzedi 11 bitrecessivi
Reset e configurazione
Tx_Cnt > 255
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 101
Tipologie di componenti
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 102
Componenti CAN
• Due versioni:– 2.0A (identificatore su 11 bit) – 2.0B (identificatore esteso su 29 bit), anche passiva
• Diversi tipi di implementazione:– FullCAN (dual ported RAM)– BasicCAN (uno o due RX/TX buffer)– SLIO (serial-linked I/O per dispositivi slave -
soluzioni integrate a basso costo - non più utilizzati)
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 103
Tipi di componenti
• Chip che implementano il protocollo CAN:– semplici ed economici o sofisticati– conosciuti e ben collaudati– molte case produttrici diverse
• Diversi tipi di componenti:– Controller CAN stand-alone– Microcontroller con CAN– Bus driver per CAN (transceiver)– ASICs
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 104
Filtraggio dei messaggi
Controller CAN Microcontroller
Funzione di filtraggio in
h/w (semplice oavanzata)
Memoriaper un oggetto
Memoriaper unoggetto
Tx
RxFunzione
di filtraggioin s/w
(opzionale)
Applicazione
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 105
Inversione di priorità
Buffer di trasmissione singolo
messaggio a bassa priorità
Ciclo di attesa
Controller CAN Microcontroller
messaggio ad alta priorità
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 106
Perdita di un messaggio
Controller CAN Microcontroller
Primo messaggio ricevuto
Doppio buffer Rx (FIFO)
Secondo messaggio ricevuto
Terzo messaggio ricevuto Se il terzo messaggio arriva troppo prestol‘interrupt del primo messaggio non viene servito
Rx
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 107
Mancato aggiornamentoController CAN Microcontroller
Dati del messaggio n
Dati del messaggio 3
Dati del messaggio 2
Dati del messaggio 1
Dati del messaggio 4
::
buffer Rx come dual-port RAM
Se arriva un secondomessaggio prima cheil precedente sia statoletto, il primo viene perso
Rx
Con
sigl
io N
azio
nale
del
le R
icer
che
–Is
titut
o IE
IIT
–T
orin
oAutomotive Electronics: sistemi elettronici distribuiti e comunicazione via bus
Politecnico di Milano, 17-19 Maggio 2004
A. Valenzano - Comunicazioni Embedded e Controller Area Network / 108
Principali produttori di componenti CAN
*Fujitsu
**Siemens
*Texas Instruments
**Temic*ST-Microelectronics
*SGS Thomson**Philips*NEC
*National Seminconductor**Motorola
*Mitsubishi**Intel
*Hitachi
CAN controllers& chips
EmbeddedCAN µPs
Manufacturer