controllo
tecnica
Automazione e Strumentazione
n
Luglio/Agosto 2015
87
La tecnica usata per la codifica del segnale nelle reti CAN prevede
l’inserimento di stuff bit. Purtroppo tale scelta peggiora l’accuratezza con cui
è possibile coordinare le attività in un sistema di controllo distribuito in tempo
reale e può avere un impatto negativo sull’integrità dei dati scambiati in rete.
Un meccanismo di codifica, semplice ed efficiente, permette di porre rimedio
a tali inconvenienti, evitando di fatto l’inserimento di stuff bit nei pacchetti di
dati trasmessi in rete. Tale meccanismo è stato realizzato in un codec software
altamente ottimizzato e verificato in termini di correttezza e prestazioni.
Gianluca Cena
Ivan Cibrario Bertolotti
Tingting Hu
Adriano Valenzano
Eliminare il bit stuffing
nelle reti CAN
Un articolo precedente
[1]
ha
chiarito come il protocollo
Controller Area Network
(CAN)
[2]
utilizzi una parti-
colare codifica del segnale a
livello fisico in cui un certo
numero di bit, denominati
stuff bit
, possono essere
aggiunti ad ogni messaggio in
fase di trasmissione da parte
del controller CAN, rendendo
di fatto variabile la durata
della trasmissione stessa. In
tale circostanza è stato anche evidenziato come
l’esatto numero di stuff bit inseriti non dipenda
solo dalla dimensione originale del messaggio,
ma anche dal suo contenuto, e come quest’ul-
timo non possa essere noto a priori in quanto
tipicamente dipendente dal valore delle varia-
bili di processo.
Tale situazione causa possibili fluttuazioni
dell’istante di fine ricezione del messaggio
(
jitter
) la cui ampiezza può, in teoria, arrivare
fino a
24 tempi di bit
. Solitamente, l’
interrupt
generato dal controller CAN a seguito della
ricezione di un messaggio viene utilizzato dai
dispositivi per pilotare azioni a livello appli-
cativo (per esempio, attuare segnali in uscita,
effettuare campionamenti sugli ingressi, sin-
cronizzare un’applicazione locale ecc.) come
schematizzato nella
►
figura 1
. Si può quindi
comprendere come la presenza di stuff bit possa
peggiorare la qualità e l’efficacia del sistema di
controllo.
Sebbene in molti tipi di applicazione il jitter
causato dagli stuff bit possa essere considerato
irrilevante, esso può risultare particolarmente
fastidioso nel caso di sistemi ad elevata preci-
sione, come ad esempio le macchine a controllo
numerico o gli strumenti di misura estrema-
mente accurati.
Un secondo aspetto negativo degli stuff bit è
legato al fatto che la loro presenza, come illu-
strato nel seguito, può influire in modo e misura
non trascurabili sull’integrità dei dati trasmessi.
Gli ambiti applicativi più sensibili a questo
effetto indesiderato interessano prevalente-
mente il settore veicolistico, ed in particolare
tutte quelle situazioni in cui la sicurezza dei
passeggeri o degli utenti è di estrema rilevanza.
Recentemente
[3]
, è stato dimostrato come, uti-
lizzando un’opportuna codifica del payload in
fase di trasmissione, sia di fatto possibile pre-
venire completamente l’inserimento di stuff
bit nel campo dati dei messaggi CAN. Tali
tecniche sono genericamente indicate col ter-
mine
Zero Stuff-bit Data
(
ZSD
). Nel seguito,
si farà specificamente riferimento alla tecnica
8B9B, ampiamente collaudata e per la quale
sono disponibili codec software completamente
ingegnerizzati.
Inoltre, attraverso un’opportuna selezione degli
identificatori di messaggio, da effettuarsi in
GLI AUTORI
G. Cena, I. Cibrario Bertolotti,
T. Hu, A. Valenzano - Consi-
glio Nazionale delle Ricerche,
Istituto di Elettronica e di Inge-
gneria dell’Informazione e delle
Telecomunicazioni (CNR-IEIIT)
Figura 1 - Jitter di comunicazione causato dagli stuff bit