Protocollo LIN – supporto del sistema CAN

03 Lug 2023

Sebbene il protocollo LIN sia uno dei più semplici nell’industria automobilistica, la sua utilità non può essere sopravvalutata. Certo, non è veloce non supporta il multithreading, ma essendo economico, può essere utilizzato con successo per applicazioni semplici.

Questo articolo è dedicato allo sviluppo di questo protocollo.

Definizione

LIN (Local Interconnect Network) è un bus di comunicazione seriale che può funzionare con il protocollo CAN grazie alla cosiddetta porta dati (GateWay). La sua dimensione fisica è limitata a 40 metri e utilizza un unico cavo, il che si traduce in una velocità inferiore rispetto ai sistemi concorrenti (19,2 kBps).

Nel tempo, i sistemi di controllo dell’elettronica automobilistica sono diventati sempre più complessi. Di per sé, questo non sarebbe un problema, perché il protocollo CAN ha risolto il problema della comunicazione tra tutti i sottosistemi. Tuttavia, la crescente varietà di funzioni richiedeva apparecchiature diverse, il che faceva aumentare i costi di implementazione della rete CAN.

Nasceva quindi l’esigenza di creare una rete seriale economica che eliminasse il problema dell’accesso al bus CAN per ogni componente. Diverse case automobilistiche se ne sono rese conto contemporaneamente, ma inizialmente hanno progettato le proprie reti secondo le proprie idee. Questo lavoro separato ha provocato problemi di compatibilità.

Solo alla fine degli anni ’90 è stato costituito un consorzio di cinque colossi automobilistici (BMW, Volkswagen Group, Audi, Volvo Cars, Mercedes-Benz) che, grazie alla tecnologia fornita da Volcano Automotive Group e Motorola, ha iniziato a lavorare su un protocollo comune e standardizzato che metterebbe fine una volta per tutte ai problemi di compatibilità.

La prima versione completamente funzionante della nuova specifica LIN (versione LIN 1.3) è stata rilasciata nel novembre 2002, seguita nel 2003 dall’attuale versione 2.0, che ha esteso le capacità fornendo servizi diagnostici aggiuntivi.

Lo sviluppo del consorzio si è concentrato principalmente sulla protezione antifurto, l’elettronica dei fari, il controllo della temperatura dell’auto e la chiusura delle porte.

Topologia

Sebbene LIN sia il protocollo più semplice attualmente in uso, FlexRay è invece una rete molto più complessa, ma anche temporizzata. Una differenza importante, tuttavia, è che una rete seriale LIN può essere costituita da un massimo di 16 nodi: 15 sono slave e il master è un nodo separato. Essi sono identificati da numeri da 0 a 15, con il master sempre assegnato a zero.

La comunicazione è bidirezionale, ma viene sempre avviata dal master e solo uno slave può rispondere a ciascun messaggio.

L’eccezione è il caso in cui il master risponde al messaggio inviato da solo – in questo caso funge anche da slave. La sincronizzazione stessa avviene automaticamente durante lo scambio di messaggi.

La filosofia di questo design mostra perché l’uso di LIN è inevitabile anche oggi. Sia il master che lo slave sono generalmente microcontrollori, ma possono anche far parte di speciali chip hardware o ASIC.

In quest’ultimo caso, l’implementazione del sistema è ancora più economica, a risparmio energetico e occupa meno spazio.

L’idea principale alla base del sistema LIN è l’economia: sensori economici e una piccola rete. Questo non rappresenta problema nemmeno per le auto molto avanzate perché le reti LIN possono essere collegate a CAN come sottoreti. Grazie a questa flessibilità ed economicità, il protocollo LIN è ancora oggi insostituibile.

Messaggio LIN

Il messaggio LIN è semplice come il protocollo stesso:

  • Pausa sincronizzazione
  • Sincronizzazione
  • Identificazione
  • (Intervallo di risposta)
  • Campo dati (da 1 a n)
  • Campo di controllo

Questi messaggi sono contenuti in un telegramma che va dalla pausa di sincronizzazione al campo di controllo. Esistono diversi tipi di frame, che discuteremo di seguito.

Frame incondizionato: questo è il cosiddetto una cornice di identificazione contenente caratteri. L’ID va da 0 a 59 (da 0x00 a 0x3b). Normalmente, se non ci sono errori nella comunicazione, questo frame viene ricevuto da tutti i destinatari.

Frame attivato da eventi, anche noto come frame di accelerazione, viene utilizzato principalmente per ottenere una risposta più rapida sulla rete. Poiché LIN è una rete seriale, la larghezza di banda del bus è limitata. Quando un master vuole comunicare con uno slave che usa raramente, usa questo frame perché consuma relativamente poca larghezza di banda, quindi non interferisce con comunicazioni più frequenti e generali.

Inoltre, va considerato il fatto che lo slave potrebbe non rispondere a questo messaggio. Questo perché il master riceve una risposta a un messaggio con un tale frame solo se il primo byte di dati non corrisponde all’identificatore protetto assegnato al frame attivato dall’evento. Lo slave risponde solo se questo valore dati è cambiato.

Nessuno degli slave può rispondere a questo frame, nel qual caso il resto del frame è silenzioso e l’intestazione viene ignorata. Può anche accadere che non uno, ma più slave rispondano al messaggio contemporaneamente. Quindi il compito del master è risolvere il conflitto risultante: prima di richiedere nuovamente i messaggi allo slave, scarica tutti i frame di questo tipo.

Frame occasionale: in questo caso, la collisione di cui abbiamo parlato in precedenza non può verificarsi. Questo perché il master trasmette questo frame solo quando è necessario. E questo accade quando è noto che il segnale consegnato nel frame è stato aggiornato. L’emettitore di frame fornisce sempre una risposta all’intestazione.

Frame diagnostico: il nome del frame parla da solo. È un messaggio di controllo, il che significa che in esso troveremo sempre dati diagnostici o di configurazione. La lunghezza del messaggio è sempre di otto byte di dati e l’identificatore è 60 (0x3C), il cosiddetto frame di richiesta master (frame di richiesta dal master) o 61 (0x3D), cosiddetto frame di richiesta slave (frame di richiesta dallo slave).

Dopo aver generato l’intestazione del messaggio, il master attende una risposta dal modulo diagnostico, per decidere se deve inviare un frame o se il bus può essere silenzioso. Anche gli slave dispongono di un tale modulo diagnostico e si aspettano una risposta dal master, basata sulle informazioni da lui fornite.

Frame definito dall’utente: anche il nome del frame è indicativo. Può contenere qualsiasi informazione che definiamo per loro. Il loro ID è sempre 62 (0x3E). La sua intestazione viene sempre trasmessa durante l’elaborazione dello slot assegnato, ovvero la pausa tra i frame.

Cornice riservata. Non devono essere utilizzati nella linea LIN 2.0. Il loro ID è 63 (0x3F).

Attrezzatura

Come accennato in precedenza, la rete LIN è volutamente progettata per consentire l’utilizzo di nodi hardware a bassissimo costo. Ciò significa che è conveniente, facile da usare grazie al suo design a cavo singolo e conforme a ISO 9141, ma anche adatto a compiti specifici.

Le odierne topologie di reti automobilistiche utilizzano microcontrollori con UART (transceiver asincrono universale) o hardware LIN dedicato. I dati LIN generati sulla rete vengono compilati nel software. Questa attività viene eseguita da un microcontrollore che si connette alla rete LIN utilizzando un relè LIN.

Lavorare come nodo LIN è solo una parte delle possibilità. L’hardware LIN può essere eseguito come un nodo LIN vuoto senza funzionalità.

In precedenza nell’articolo, abbiamo detto che sebbene LIN sia una rete economica, ha un clock. Questa soluzione è più tipica delle reti costose perché la sincronizzazione degli orologi interni di solito richiede hardware costoso.

Poiché i nodi slave nella rete LIN devono comunque essere il più economici possibile, i produttori cercano di ridurre il costo del clock interno utilizzando oscillatori RC per generare il segnale anziché oscillatori al quarzo (quarzo o ceramica). Per garantire la stabilità della velocità dei dati, il campo SYNC nell’intestazione viene utilizzato all’interno del frame LIN.

Vantaggi di LIN

  • Facilità d’uso
  • Parti disponibili che sono economiche rispetto ad altre catene
  • Il costo dell’intera rete è molto inferiore a CAN e altri bus di comunicazione
  • Requisiti hardware significativamente inferiori
  • Veicoli più affidabili
  • L’espansione della rete è facile da implementare e può essere scalata quasi senza limiti
  • Nessun costo di licenza del protocollo

Nonostante la sua semplicità, il protoccollo LIN, non può sostituire l’intera rete CAN. Tuttavia, il bus LIN è una buona alternativa dove il basso costo è importante e la velocità/larghezza di banda non è un problema. Sono tipicamente utilizzati in sottosistemi che non sono critici per le prestazioni o la sicurezza del veicolo.

Fonte:

https://en.wikipedia.org/wiki/Local_Interconnect_Network

https://www.csselectronics.com/pages/lin-bus-protocol-intro-basics

RELATED POST

Lascia un commento