Vehicle Network Toolbox

Comunicare con reti veicolari usando i protocolli CAN, J1939 e XCP

 

Vehicle Network Toolbox™ offre funzioni MATLAB® e blocchi Simulink® per inviare, ricevere, codificare e decodificare messaggi CAN, CAN FD, J1939 e XCP. Il toolbox consente di identificare e analizzare dei segnali specifici usando file di database CAN standard del settore e, successivamente, di visualizzare i segnali decodificati con l’app CAN Bus Monitor. Usando i file di descrizione A2L, è possibile connettersi a una ECU tramite XCP su CAN o Ethernet. È possibile accedere ai messaggi e ai dati di misurazione salvati nei file MDF.

Il toolbox semplifica la comunicazione con le reti veicolari e permette di monitorare, filtrare e analizzare dati CAN bus in tempo reale oppure di registrare i messaggi da analizzare e replicare in un secondo momento. È possibile simulare il traffico di messaggi su un CAN bus virtuale o collegarsi a una rete live o una ECU. Vehicle Network Toolbox supporta dispositivi con interfaccia CAN forniti da Vector, Kvaser, PEAK-System e National Instruments®.

Per iniziare:

Invio e ricezione di messaggi CAN e CAN FD da MATLAB e Simulink

Configurazione di canali CAN e CAN FD

Le funzioni per i canali CAN di MATLAB e i blocchi di configurazione CAN di Simulink consentono di definire un collegamento all’hardware di interfaccia Vector CAN che stabilisce una connessione fisica con un CAN bus usando lo standard CAN o CAN FD. Vehicle Network Toolbox™ contiene funzioni per i canali CAN al fine di interrogare e configurare le impostazioni dell’hardware di interfaccia CAN, come la velocità del bus e le impostazioni del ricetrasmettitore. È anche possibile verificare altre proprietà dei canali CAN, come il numero di messaggi disponibili e il numero di messaggi ricevuti o trasmessi sul canale. Collegando i file di database Vector CAN ai canali CAN, i messaggi in ingresso vengono presentati in automatico usando le informazioni contenute nel database. Dopo aver definito un canale CAN, è possibile inviare e ricevere i messaggi CAN sul canale.

Connessione tra MATLAB e la propria rete veicolare tramite i protocolli CAN e CAN FD.

Invio e ricezione di pacchetti CAN

I messaggi CAN standard contengono delle proprietà per la memorizzazione dell’identificatore del messaggio CAN (standard 11 bit o esteso 29 bit), del timestamp e fino a 8 byte di dati CAN. Un canale configurato per la trasmissione CAN FD può sostenere messaggi contenenti fino a 64 byte di dati.

Le funzioni e i blocchi di trasmissione e ricezione nel toolbox consentono di inviare e ricevere messaggi CAN tramite canali CAN. Per i set di dati di grandi dimensioni, è possibile registrare i messaggi CAN per analizzarli offline.

Codice MATLAB per la ricezione di messaggi CAN e relativi segnali in formato timetable.

Creazione ed estrazione di segnali dai messaggi CAN

Vehicle Network Toolbox offre funzioni e blocchi per codificare e decodificare i messaggi CAN. I messaggi CAN possono contenere dei dati che rappresentano più segnali. Le funzioni e i blocchi di spacchettamento consentono all’utente di specificare il bit iniziale, la lunghezza del segnale, la tipologia di dati e l’ordine dei byte. Le funzioni e i blocchi di impacchettamento offrono le stesse opzioni per la costruzione di dati per la trasmissione di messaggi CAN.

Modello Simulink che usa il blocco CAN Unpack per decodificare i messaggi CAN.

Registro e replica di messaggi CAN

Usando il blocco CAN Log disponibile nel toolbox, è possibile salvare i messaggi CAN ricevuti dal proprio modello in un file MAT. In seguito, è possibile usare il blocco CAN Replay per replicare i messaggi in un altro modello Simulink. Il blocco CAN Replay preserva i timestamp dei dati registrati in modo che quelli replicati abbiano le loro stesse caratteristiche temporali.

Grafico di dati relativi alla velocità delle ruote replicati a partire da un test su veicolo registrato.

Comunicazione tramite il protocollo XCP

Vehicle Network Toolbox offre funzioni e blocchi per comunicare con delle ECU tramite XCP (protocollo di calibrazione per l’automotive) su CAN o Ethernet bus. Quando si comunica con le ECU tramite XCP, MATLAB o Simulink sono da considerarsi come dispositivo master mentre le ECU sono il dispositivo slave. È possibile comunicare con più ECU aprendo più canali XCP. Per ciascuna ECU, è possibile leggere e scrivere i dati su posizioni specifiche della memoria all’interno dell’ECU. Se l’accesso all’ECU è protetto, è possibile utilizzare la sicurezza “seed and key” per aprire l’accesso all’ECU. Il toolbox contiene anche funzioni e blocchi per collegare i file di database A2L e per creare e visualizzare elenchi di misurazioni DAQ e STIM dinamici per un canale XCP. Questi elenchi vengono creati in base a informazioni su eventi e misurazioni tratte dal file A2L collegato.

Modello per acquisire misurazioni da un dispositivo slave ECU. Il modello usa i blocchi XCP Configuration e XCP Transport Layer (in alto a sinistra), e i blocchi XCP Data Acquisition (in basso a sinistra) per configurare l’acquisizione del segnale PWM (destra).

Comunicazione tramite il protocollo J1939

Vehicle Network Toolbox offre funzioni e blocchi per comunicare tramite J1939, un protocollo di alto livello basato su CAN comunemente usato nel settore degli autocarri pesanti. Quando si comunica tramite J1939, è possibile configurare la comunicazione usando le funzioni MATLAB o i blocchi Simulink. Nello specifico, le funzioni e i blocchi servono ad associare un file di database (.dbc) alla comunicazione J1939, a specificare l’hardware di interfaccia CAN e a trasmettere e ricevere gruppi di parametri J1939. È possibile codificare e decodificare i dati dei segnali sulla rete usando i gruppi di parametri definiti dal file di database associato alla connessione. In più, è possibile configurare Simulink affinché funzioni come nodo di rete con l’address claiming.

Modello per inviare e ricevere dati J1939 usando i blocchi J1939 Transmit e J1939 Receive. Il modello usa anche i blocchi J1939 Network Configuration, J1939 CAN Transport Layer Configuration e J1939 Node Configuration per configurare la comunicazione.

Visualizzazione del traffico CAN

Nel toolbox è compresa l’app Vehicle Network CAN Bus Monitor per visualizzare il traffico attivo su un particolare canale CAN. L’app può essere usata mentre si svolgono altre attività in MATLAB o Simulink. Per i file di database CAN associati al proprio canale CAN, l’app decodifica i messaggi e li visualizza nelle unità tecniche corrette.

Se il traffico in rete contiene più informazioni rispetto a quelle necessarie per la propria applicazione, è possibile limitare il numero dei messaggi CAN ricevuti da un canale CAN a un intervallo predefinito di identificatori di messaggi CAN. L’uso delle funzioni di filtraggio e delle impostazioni delle maschere disponibili nel toolbox consente di ricevere solo i messaggi necessari per la propria applicazione.

Traffico CAN bus in tempo reale sulla rete visualizzato nell’app Vehicle CAN Bus Monitor. Nella schermata si vedono i dati grezzi; è possibile configurarla in modo da visualizzare i dati decodificati quando il canale CAN è associato a un file di database .dbc.

Uso di file di database Vector CAN

Vehicle Network Toolbox consente di associare un file di database Vector CAN a un canale CAN o a un messaggio da MATLAB o Simulink, il che consente di codificare e decodificare i messaggi CAN usando nomi di segnali e messaggi specifici dell’applicazione come EngineMsg e EngineRPM, oltre a unità tecniche in scala. La possibilità di lavorare con file di database standard del settore semplifica l’interazione con il CAN bus in quanto il database non solo specifica l’elenco dei messaggi e i segnali dei componenti, ma contiene anche le regole per l’impacchettamento e lo spacchettamento di bit per i segnali associati. Poiché aspetti quali i tipi di dati di segnale, i bit iniziali, la lunghezza e l’ordine dei byte sono già predefiniti per i messaggi nel database, è possibile concentrarsi sull’analisi dei propri segnali senza dover pensare alla definizione di questi parametri.

Esempio di codice che illustra come visualizzare i messaggi usando le informazioni archiviate nei file di database CAN.

Uso di file di descrizione A2L

Vehicle Network Toolbox consente di usare dei file di descrizione A2L standard del settore (chiamati anche ASAP2) per comunicare con le ECU tramite protocollo XCP da MATLAB o Simulink. L’uso dei file di descrizione A2L consente di accedere ai parametri interni delle ECU a partire da un programma MATLAB o un modello Simulink. I file di descrizione A2L contengono informazioni relative all’indirizzo di memoria associato di un particolare parametro, la struttura di archiviazione e la tipologia dei dati. I file contengono anche le regole per convertire i valori salvati, come i parametri di sistema, le caratteristiche dei sensori e i fattori di correzione, in unità fisiche come gli RPM e i gradi Celsius. Grazie a questi dati è possibile effettuare calibrazioni e misurazioni in tutta semplicità, senza dover analizzare i dati e decodificare gli indirizzi di memoria.

Esempio di codice che illustra come accedere alle informazioni archiviate nei file A2L da usare con le connessioni XCP. Sfrutta un simulatore slave XCP  disponibile gratuitamente dai canali Vector e Vector Virtual CAN.

Uso di file MDF

Con Vehicle Network Toolbox, è possibile importare in tutta facilità dei dati dai file contenenti dati di misurazione (MDF, Measurement Data Format). Il toolbox supporta lo standard MDF, dalla versione 3.0 e superiore. Quando si crea un oggetto MDF in MATLAB, è possibile visualizzare le proprietà di base del file, come il timestamp iniziale, le dimensioni dei dati, il gruppo di canali e le informazioni sui nomi dei canali. Per leggere all’interno di un sottogruppo di un file MDF, è necessario specificare i nomi dei canali oppure le indicazioni temporali di inizio e fine. Per impostazione predefinita, il formato di output del risultato sarà una timetable, in modo da poter lavorare agilmente con i dati contrassegnati da timestamp.

Per i file MDF di grandi dimensioni che non rientrano nella memoria, è possibile creare un datastore MDF e visualizzare l’anteprima dei dati in batch in base a dei parametri specifici. È anche possibile creare un datastore per lavorare in semplicità con una raccolta di file MDF simili.

Codice di esempio per visualizzare in anteprima un file MDF nell’interfaccia a riga di comando e ispezionare i dati nell’editor Variabili.

Uso di canali virtuali

È possibile usare canali CAN FD e CAN virtuali per testare e simulare le comunicazioni di rete. Con un canale virtuale, è possibile testare dei modelli in una configurazione di loopback senza usare hardware fisico. Vehicle Network Toolbox supporta due tipi di canali virtuali: i canali virtuali MathWorks e quelli di fornitori terzi di hardware di interfaccia CAN. I canali virtuali di fornitori terzi come Vector e Kvaser richiedono l’installazione del corrispondente pacchetto di supporto hardware o del driver del fornitore. I canali virtuali MathWorks vengono forniti con il toolbox e non hanno bisogno di alcun driver o pacchetto di supporto complementare.

Modello Simulink che illustra l’uso dei canali virtuali MathWorks per inviare e ricevere dati CAN senza hardware.

Uso di file CDFX

Accedi ai dati in formato dati di calibrazione ASAM (CDFX) con la funzione cdfx disponibile in Vehicle Network Toolbox. Usa i dati di calibrazione di un file CDF come input per un modello Simulink.

Modello Simulink che illustra l’uso dei canali virtuali MathWorks per inviare e ricevere dati CAN senza hardware.

Funzionalità recenti

MDF

Accesso ai file MDF sulla piattaforma Linux

Trasmissione basata su eventi in Simulink

Trasmissione di messaggi CAN solo se viene rilevata una modifica dei dati dei messaggi

Consulta le note di rilascio per ulteriori informazioni su queste caratteristiche e sulle funzioni corrispondenti.