Comunicazione tra sensori: il protocollo SENT

03 Mar 2024

Nell’industria automobilistica, è necessario elaborare sempre più informazioni durante la guida, motivo per cui i cavi di comunicazione nell’auto devono avere una sezione trasversale sempre più grande. La digitalizzazione dei segnali analogici non è sufficiente: è necessario aumentare l’efficienza, la produttività e razionalizzare il flusso di informazioni. Tuttavia, ciò richiede una nuova soluzione. È così che è nato un nuovo protocollo di comunicazione chiamato SENT.

Definizione e concetti fondamentali

Il protocollo SENT è stato originariamente sviluppato per i sistemi di azionamento automobilistici. Grazie al basso costo di implementazione, alla maggiore integrità dei dati provenienti dai sensori ad alta risoluzione, nonché all’immunità alle interferenze, è diventato interessante anche in altre applicazioni legate al settore automobilistico.

L’argomento dell’articolo è lo standard SAE J2716. Secondo la definizione ivi contenuta, SENT (Single Edge Nibble Transmission) è un protocollo di comunicazione asincrono basato su eventi con possibilità di decodifica temporale. Il significato del messaggio è determinato dal periodo di tempo tra i due bordi d’uscita. La premessa di base della comunicazione è che il tempo tra due “fronti” in un messaggio rappresenta quattro bit e che il messaggio è unidirezionale, con la trasmissione che avviene su un unico cavo.

Una delle caratteristiche principali di un segnale digitale è la frequenza, che ha un’influenza decisiva sulla velocità del flusso delle informazioni. La lunghezza del messaggio dipende anche dal suo contenuto, quindi la trasmissione di un valore piccolo richiede meno tempo rispetto alla trasmissione di un valore maggiore.

Il grande vantaggio di questo sistema è che non è necessaria alcuna interruzione di sincronizzazione tra i messaggi, quindi è possibile inviare più informazioni in una determinata unità di tempo.

Decodifica

Il funzionamento del protocollo SENT è controllato dal tempo, e la definizione dell’unità di tempo è la cosiddetta “tick”, la quale dipende dal mittente. Questa definizione si trova nella prima parte del messaggio, poiché, secondo lo standard, questa parte iniziale è responsabile della sincronizzazione. Grazie a ciò, il destinatario è in grado di separare i messaggi successivi l’uno dall’altro, anche se non c’è pausa.

Sei messaggi consecutivi basati sul protocollo SENT (fonte: www.wikipedia.org)

La lunghezza del campo di sincronizzazione è di 56 tick. Convertita in unità di tempo, questa lunghezza è pari a 560 microsecondi, il che significa che un tick equivale a 10 microsecondi.

La seconda parte del messaggio contiene informazioni sul mittente. Può essere qualsiasi identificatore utilizzato per identificarlo.

La terza parte è il contenuto vero e proprio del messaggio, in cui i dati vengono inviati successivamente in pacchetti da 4 bit, chiamati in inglese “nibbles”. Il tempo tra due fronti d’uscita è definito da un numero decimale, che può variare da 0 a 15. Questo perché tra due fronti d’uscita in un campo dati possono trascorrere un minimo di 12 e un massimo di 27 tick, dove 12 è uno zero valore decimale. Questo numero deve essere convertito in binario, assumendo un valore da 0000 a 1111. Conoscendo i dati necessari, si può anche calcolare il tempo trascorso tra i due fronti finali.

Per quanto riguarda la lunghezza del messaggio, secondo lo standard sopra menzionato, un messaggio può inviare almeno uno e un massimo di sei pacchetti da 4 bit, il che significa che il campo dati può avere una dimensione compresa tra 4 e 24 bit.

Dopo il pacchetto di dati si trova una parte del messaggio con checksum, che viene utilizzata per verificare la correttezza della trasmissione dei dati. Questa è la fine del messaggio, da questo punto può esserci solo un’eventuale pausa finché non appare un nuovo bordo e con esso inizia la successiva sincronizzazione del messaggio.

Azione in pratica

Il fatto che SENT utilizzi un solo cavo (almeno per la trasmissione dei dati) determina essenzialmente in quali ambiti può essere utilizzato in modo sensato. Tra questi, il settore più rilevante è quello dei sensori. Possono inviare i propri dati all’unità di elaborazione e, poiché la lunghezza del messaggio standard è flessibile, ciò consente a ciascun sensore di inviare dati in base alle proprie proprietà quantitative. A seconda dell’applicazione, anche il tempo di ciclo può essere adattato al sensore. La trasmissione dei dati può essere impostata ad intervalli da 3 a 90 microsecondi a seconda della sua frequenza. E se ciò non bastasse, puoi anche modificare la durata della pausa.

Canale veloce e lento

Il protocollo SENT, sebbene trasmetta effettivamente i dati su un filo, richiede un totale di tre fili: un filo di segnale (bassa tensione < 0,5 V, alta tensione > 4,1 V), un filo di alimentazione (5 V) e un filo di terra.

I messaggi vengono generalmente trasmessi su un canale ad alta velocità, descritto anche nella sezione di decodifica: ogni messaggio è preceduto da un impulso di calibrazione, dopo di che ogni nibble viene trasmesso con un segnale basso di larghezza fissa, seguito da un segnale alto di lunghezza variabile periodo. Il periodo inferiore è lungo 5 (o più) tick, mentre la lunghezza del periodo superiore può variare.

Tuttavia, questa non è l’unica forma di azione. Oltre al frame del segnale dati del sensore del canale veloce sopra descritto, SENT consente anche la trasmissione simultanea di messaggi sul canale lento, che possono contenere diverse altre informazioni.

Questi messaggi vengono trasmessi in serie, un bit per messaggio sul canale ad alta velocità, codificati nei due bit più significativi del nibble di stato. Questo tipo di messaggio viene generalmente utilizzato per trasmettere informazioni diagnostiche o per segnalare stati che cambiano lentamente come valori di temperatura da sensori aggiuntivi. Per trasmettere questi dati viene utilizzato il canale libero.

Il messaggio sopra descritto è simile al seguente:

Il formato del messaggio seriale breve a 16 bit trasmette un messaggio a 16 bit in 16 frame su un canale ad alta velocità. Il messaggio è costituito dai seguenti elementi: un identificatore di messaggio a 4 bit, un campo dati a 8 bit e un campo checksum a 4 bit. È codificato dal bit 3 (noto anche come MSB) del nibble che specifica lo stato, che è 1 nel primo frame del messaggio e zero per i successivi 15 frame. Il messaggio viene quindi trasmesso, 1 bit per frame, nello stato bit 2.

RELATED POST

Lascia un commento