Perché ci sono più bus CAN nei veicoli?


17

Ci sono un numero di domande sul bus CAN ma nessuna (per quanto posso dire) che spiega perché ci sono diversi bus CAN in un veicolo. Da quanto ho capito, molti nodi diversi possono essere collegati a un singolo bus CAN, quindi non sono sicuro del motivo per cui ne avresti bisogno di più di uno. I miei unici pensieri sono che:

R. esiste un limite abbastanza piccolo al numero di nodi che possono essere collegati a un singolo bus CAN. Se così fosse, immagino che ci debba essere una connessione inter-CAN in modo che possa verificarsi l'arbitrato e il controllo degli errori (CAN SPEC 2.0).

-- o --

B. I nodi hanno la priorità come sistemi primari, secondari e terziari e ogni livello ha il proprio bus CAN e questi livelli contengono solo dispositivi indipendenti l'uno dall'altro in termini di funzionalità. I freni IE, il controllo del motore, le luci esterne, i blocchi sono sul bus principale. Radio, AC, controllo del sedile, sono sul bus secondario ecc. Ecc.

Se qualcuno potesse spiegare / chiarire lo apprezzerei davvero. Grazie in anticipo.


1
Devo ammettere che non ne so molto, ma ho pensato che ci fosse un solo bus dato che esiste una sola connessione: la porta OBDII. Come vengono indirizzati gli autobus separati? Cosa li rende separati?
JPhi1618,

@ JPhi1618 Onestamente non ne so molto io stesso, è per questo che chiedo in giro. Stavo discutendo con un peer di sicurezza dei veicoli tramite il bus CAN dopo che è tornato da un evento di Hackathon in cui è stato allevato e abbiamo trovato il numero di persone che menzionavano che la maggior parte dei veicoli aveva più bus CAN. Sono d'accordo che l'unica connessione che conosco è la porta OBDII. Ci sono molti post qui in cui le persone hanno menzionato che ce ne sono molti. ( mechanics.stackexchange.com/questions/8559/obd2-and-can-bus - am6sigma lo menziona nella risposta).
Moeman69,

Abbiamo trovato questa discussione che dice: Per richiedere dati è necessario eseguire l'handshake con il CAN Gateway, negoziare le impostazioni di connessione, richiedere un set di dati da un particolare dispositivo CAN e leggere i dati restituiti. Con le richieste di destra è possibile accedere ai dati da qualsiasi dei 3 bus da quello collegamento - in modo che il CBT può richiedere RPM dal controller del motore, Contachilometri dal mazzo dello strumento, Posizione finestra da destra sportello anteriore del controller, ecc Quindi sembra che un "gateway" è la chiave.
JPhi1618,

@ JPhi1618 Ahh grazie. Non ho mai visto quella pagina. Sembra anche che il mio pensiero B fosse in qualche modo corretto in quanto gli strumenti sono collegati in gruppi a bus diversi. Tuttavia, il gateway CAN sembra essere unico per i veicoli VW e non necessariamente uno standard. Posso solo immaginare che altri veicoli abbiano un dispositivo e una configurazione simili, ma questa è puramente speculazione. Mi piacerebbe poter PM persone dal momento che lì come quelli che ho citato che sembrano avere una conoscenza diretta di più autobus.
Moeman69,

Risposte:


17

I bus CAN sono principalmente separati da

  • gestire la congestione
  • ridurre le preoccupazioni normative relative ai sistemi critici per la sicurezza
  • esercitare un maggiore controllo su chi può accedere ai vari autobus

I veicoli semplici avranno due bus CAN, uno per il motore e i sistemi di sicurezza e uno per i controlli della carrozzeria (illuminazione, esperienza utente, ecc.).

I veicoli complessi disporranno di un bus separato per i sistemi che influenzano il movimento del veicolo, ad esempio il sistema di controllo automatico della velocità con radar, i sistemi di parcheggio, la guida di corsia, ecc., Così come i sistemi aggiuntivi per le funzionalità degli utenti oltre ai semplici controlli del corpo, come nei sistemi di intrattenimento dei veicoli.

Sebbene gli autobus possano essere condivisi, ci sono alcuni motivi per non farlo:

Congestione

Anche i bus CAN ad alta velocità non hanno una larghezza di banda illimitata, e in effetti rispetto ai moderni sistemi di comunicazione sono molto lenti. Tuttavia, ci sono ancora molti dati che devono trasportare, e la maggior parte di essi è critica in termini di tempo, quindi mantenere un basso utilizzo consente di consegnare i messaggi più rapidamente (meno collisioni), il che significa che i messaggi in tempo reale arrivano in tempo, piuttosto che in ritardo .

analisi

I sistemi critici per la sicurezza sono spesso separati dagli altri sistemi in modo da ridurre i test. Tutti i dispositivi collegati al bus critico per la sicurezza devono avere uno standard operativo più elevato e quindi test per essere certi che non causeranno problemi su un bus critico per la sicurezza. Con un bus carrozzeria separato è possibile avere standard leggermente inferiori poiché un'interruzione non causerà un problema di sicurezza, pertanto i test sono ridotti.

Invece di combinare tutto su un unico bus e assicurarsi che tutto sia conforme agli standard più elevati, autobus separati consentono ai progettisti di segmentare il bus e ridurre i costi.

Le normative del settore sono difficili, in particolare a causa dei problemi di accelerazione e di altri problemi drive-by-wire che l'industria ha subito in passato. Mantenendo i sistemi critici separati dai sistemi non critici, scoprire cosa è andato storto dopo il fatto e risolverlo diventa molto più semplice, nonché meno probabile poiché ci sono meno dispositivi che potrebbero interferire con il corretto funzionamento del sistema di sicurezza.

Controllo

Una volta che i modder hanno scoperto che potevano modificare la gestione del motore e altri computer attraverso un'unica interfaccia, i produttori di veicoli hanno lavorato per separare il connettore diagnostico e il suo bus dal resto dei bus del veicolo e utilizzare un gateway per passare solo quei messaggi che consentono accesso utente e garage. Di solito hanno funzionalità aggiuntive che consentono l'accesso al proprio tecnico e molti addirittura aggiungono un altro bus al connettore diagnostico, ma senza pubblicare i dettagli dei messaggi, quindi possono avere un accesso più veloce mantenendo comunque la retrocompatibilità con le normative sulle emissioni diagnostiche.

La separazione dei bus, tuttavia, consente loro di esercitare un po 'più di controllo su chi ha un facile accesso ai computer di bordo utilizzando il semplice connettore di diagnostica.

Complessità aggiuntiva

La complessità introdotta da bus aggiuntivi è gestita da un controller gateway. In alcuni veicoli questo è il controller del corpo e spesso ha altre connessioni bus, come LIN. In questo modo i messaggi passano tra i bus in modo tale che quando un dispositivo diagnostico è collegato, ad esempio, il dispositivo può accedere a tutte le informazioni diagnostiche pertinenti in tutto il veicolo.


1
Sono d'accordo con i tuoi punti, ma sottolineerei "Sicurezza" più che "Test". I controllori critici per la sicurezza sono isolati dagli altri dal gateway che filtra e limita la comunicazione tra i bus a un sottoinsieme definito. Il lettore DVD non dovrebbe essere in grado di controllare le interruzioni o gli airbag (dopo averlo dirottato con una chiavetta USB ben realizzata) o compromettere accidentalmente il loro bus CAN, logicamente o elettricamente. La strategia è la stessa di qualsiasi LAN con server mission critical che non esporteresti a Internet. I test vanno solo così lontano; l'isolamento è infallibile.
Peter - Ripristina Monica il

@ PeterA.Schneider Non sono in disaccordo con te, ma ho lavorato sul modulo della carrozzeria per i veicoli Ford Ford modello '09 di grandi dimensioni, e mentre il risultato desiderato potrebbe essere stato maggiore o verificabile la sicurezza, le prove erano test e, nel caso di questo modulo riducendo i tempi di test. La realtà è che testare un singolo modulo complesso da solo può richiedere mesi in tutte le sue permutazioni interne e testare un singolo anno completo di autobus per veicoli. Questo può essere parallelizzato in una certa misura con costi significativi, ma anche alcune settimane è inaccettabile. La separazione dei bus consente test più semplici e veloci.
Adam Davis,

@ PeterA.Schneider Ciò consente ai moduli e ai bus di essere testati in modo più completo, il che aumenta la sicurezza, ma l'obiettivo principale era ridurre i tempi di sviluppo mantenendo un certo standard di sicurezza, non aumentando la sicurezza. Il modo in cui i moduli sono progettati e il passaggio dei messaggi è progettato, ci sono poche possibilità che un lettore DVD riprogrammato sul bus del motore possa causare un problema. L'hardware che collega il bus impedisce l'attacco DOS a livello di silicio e i microcontrollori che si collegano a questo hardware non sono programmabili via software.
Adam Davis,

@ PeterA.Schneider Forse questa potrebbe essere una semantica, o una distinzione senza differenze, ma se il produttore richiede un singolo bus, i sistemi possono essere progettati con lo stesso livello di sicurezza esistente in bus separati. Il tempo di sviluppo è l'unica cosa che potrebbe davvero soffrire. Fortunatamente il costo aggiuntivo di autobus separati è basso, altrimenti progetteremmo per un singolo autobus se il costo di autobus separati fosse troppo elevato.
Adam Davis,

8

Quando si parla specificamente di CAN, la risposta è nessuna delle precedenti.

In un sistema CAN i nodi non parlano direttamente tra loro, invece il sistema è basato su messaggi. Ogni messaggio ha una priorità in base al suo indirizzo e che determina chi può parlare. Chi ha mai il messaggio prioritario trasmette il messaggio a tutti e chi ne ha bisogno lo legge.

Vi sono alcuni limiti al numero di nodi che è possibile avere, ma tale limite è elettrico e non una funzione del bus effettivo.

Il motivo è che la CAN ad alta velocità è molto complicata elettricamente a causa della sua velocità. (Posso continuare su linee di trasmissione, integrità del segnale, stub e terminazione, ma questo è ben oltre ciò di cui ha bisogno questa risposta) Ciò rende il design complicato e i moduli che lo utilizzano più costoso. Inoltre, non tutto richiede la velocità del collo di rottura della CAN ad alta velocità. Il sistema CAN bus è solitamente suddiviso in tre bus, bassa, media e alta velocità.

  • CAN ad alta velocità collega tutti i sistemi importanti. Motore, ABS, airbag, trasmissione, carrozzeria. Il body computer funge quindi da gateway tra gli altri bus.
  • Il CAN a media velocità viene solitamente utilizzato per funzioni automobilistiche come illuminazione esterna, blocchi di alimentazione, specchietti di potenza, ecc
  • La CAN a bassa velocità rileva il resto dei sistemi non critici. Questi possono includere illuminazione interna, intrattenimento ecc.

Come accennato in precedenza, il bus CAN utilizza indirizzi di messaggi anziché indirizzi di nodo. Ad esempio, la velocità del veicolo sarebbe un messaggio. Questo messaggio viene trasmesso dall'unità ABS e ha una priorità abbastanza alta. Motore, airbag, trasmissione e carrozzeria sono tutti interessati al messaggio e lo leggono. Dopo aver ricevuto il messaggio, il corpo ritrasmette il messaggio sugli altri bus. Gli autobus a bassa velocità di solito non necessitano di aggiornamenti frequenti quanto gli autobus ad alta velocità, quindi il Corpo li aggiorna solo occasionalmente.

Se un modulo necessita di informazioni che non sono comunemente trasmesse, un modulo può richiedere informazioni. La progettazione del bus è tale che quando vengono richiesti i dati il ​​modulo che ha le informazioni sa solo che le informazioni sono necessarie e non chi ne ha bisogno.

Il gateway non deve essere il corpo, potrebbe essere il quadro strumenti o qualche altro computer.


Grazie per la solida risposta. Conosco abbastanza bene i messaggi CAN e l'arbitrato dei messaggi. Immagino che la domanda che sto davvero cercando sia: i messaggi su un CAN (diciamo il CAN non critico a bassa velocità) visti dai nodi collegati su un altro CAN (come i CAN critici ad alta velocità)? Immagino che il sistema potrebbe funzionare perfettamente se tutti i dispositivi fossero collegati a un singolo CAN poiché il sistema di arbitrato gestirà intrinsecamente la priorità dei messaggi. O anche se i diversi CAN fossero collegati insieme. Sono solo una questione di necessità e di spesa che sono separati?
Moeman69,

@ Moeman69 Sì. Potrebbero esserci più di cento nodi diversi in un'auto. Dotarli tutti di CAN ad alta velocità sarebbe un costo proibitivo. Inoltre congestionerebbe il bus e darebbe molti più punti di errore nel sistema critico.
vini_i

2

Uno dei motivi è ben riassunto in questo fumetto del 2003:

inserisci qui la descrizione dell'immagine

("Nuovo dispositivo trovato: Airbus A310. Avvia configurazione automatica? [Avvia] [Annulla]")

Attacchi simili sono stati effettivamente segnalati di recente. Avere i componenti critici per la sicurezza su un bus separato che è accessibile solo attraverso un gateway ben configurato riduce notevolmente la probabilità di problemi involontari come quello sopra e rende molto più difficile l'hacking.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.