I fondamenti della "Restbus Simulation" per la validazione di ECU

Panoramica

I veicoli moderni stanno diventando tecnologicamente sempre più complessi dal punto di vista dell’elettronica. Veicoli sempre più intelligenti richiedono un significativo aumento di unità ECU (Electronic Control Units), che necessitano a loro volta di prendere decisioni ed inviare comandi molto rapidamente. Ogni ECU interagisce con altre unità e si affida a ECU aggiuntive per funzionare come richiesto. Con questi requisiti, il test e la validazione di software embedded per una ECU può raggiungere livelli di complessità molto elevati. La simulazione Restbus è una tecnica comunemente utilizzata per la validazione di funzionalità ECU su bus di campo CAN, simulando i componenti di un veicolo (Controller Area Network). Utilizzando una tecnica di validazione come la simulazione Restbus, è possibile ridurre notevolmente i tempi e i costi legati al test, consentendo di simulare le condizioni reali di veicolo ed osservare la risposta di una ECU, senza la necessità di sviluppare un'intera rete reale o eseguire test diretti sul campo molto costosi. Questo articolo illustra le basi della simulazione Restbus, come importare modelli, i profili di stimolo e i metodi da utilizzare per simulare particolari condizioni reali del sistema.

Contenuti

Strumenti di National Instruments per la simulazione Restbus

Questo documento illustra i diversi strumenti hardware e software NI da utilizzare in applicazioni tipiche di simulazione Restbus. Questi strumenti sono in grado di offrire le prestazioni necessarie per tali simulazioni e di ridurre notevolmente il tempo impiegato per la configurazione del sistema per applicazioni specifiche:

  • Interfacce NI-XNET CAN, LIN e FlexRay: Interfacce CAN, LIN, e FlexRay a prestazioni avanzate per la trasmissione e la ricezione dati su bus.
  • NI VeriStand: Uno strumento software avanzato pronto all’uso per applicazioni di test real-time più efficaci.
  • NI VeriStand Stimulus Profile Editor: Uno strumento per sviluppare script di test real-time e sequenze real-time sofisticate, includendo funzionalità decisionali, multitask e il possibile utilizzo di funzioni matematiche complesse.

Le 8 tecniche fondamentali di simulazione Restbus

La simulazione Restbus permette di sviluppare una vasta gamma di applicazioni tramite l'utilizzo di otto metodologie e blocchi funzionali da poter utilizzare in diverse modalità. Questo documento illustra in dettaglio le 8 tecniche e descrive i metodi per la loro implementazione utilizzando gli strumenti elencati sopra.

1. Passare da ECU reali a ECU simulate e viceversa

Come menzionato precedentemente, è possibile utilizzare la simulazione Restbus per simulare una rete a bordo veicolo, completamente o solo in parte. Di conseguenza, una funzionalità richiesta in questo tipo di applicazioni è la possibilità di sostituire facilmente una ECU simulata con una ECU reale, o viceversa, per la simulazione di diversi componenti di tutta la rete. Considerando che un vasto numero di ECU è in grado di comunicare sulla stessa rete, questa transizione da mondo reale a simulato e viceversa deve risultare più semplice e integrata possibile.

Simulated and Real ECU.bmp

Enable and Disable Transmission Triggers.bmp

Figura 1. Utilizzo di NI VeriStand in combinazione con interfacce NI-XNET per passare rapidamente dalla simulazione all’integrazione di una ECU su bus.

Le interfacce bus veicolo NI-XNET e il software NI VeriStand permettono di svolgere facilmente questo task. Abilitando o disabilitando il trigger per il la gestione del traffico su bus, è possibile selezionare la trasmissione e la non trasmissione della comunicazione di rete per simulare una ECU o per utilizzare l'attuale ECU sulla rete stessa. Questa tecnica può essere applicata sui differenti bus CAN, LIN o FlexRay, oppure solamente su singolo frame alla volta, a seconda del grado di comunicazione che si desidera implementare.

2. Importare il modello di simulazione di rete

Con NI VeriStand è possibile interagire con i modelli creati in diversi ambienti e linguaggi di programmazione. NI VeriStand permette di eseguire modelli compilati in ogni tipologia di ambiente di modellazione e anche modelli non compilati (file .mdl) creati con il software Simulink® di The MathWorks, Inc.1 In seguito è possibile mappare gli inport e gli outport ed esportare questi modelli a messaggi in entrata o uscita verso i dispositivi NI-XNET. Per maggiori informazioni sui diversi ambienti di modellazione supportati da NI VeriStand, consultare: Utilizzare i modelli di simulazione con NI VeriStand

 

Importing Simulation Model.bmp

Figura 2. Esempio di modello di onda sinusoidale importato in NI VeriStand per la comunicazione di rete.

[1] Simulink® è un marchio registrato di The MathWorks, Inc

3. Creazione di uno script di comunicazione di rete personalizzato

Oltre ad utilizzare modelli per la comunicazione di rete, potrebbe essere necessario scrivere script per la comunicazione di rete per realizzare specifici task. Diversamente dalla trasmissione ciclica di un messaggio con una certa cadenza, per lo scripting di solito è necessario trasmettere un pattern o profilo specifico sul bus. Tramite NI VeriStand Stimulus Profile Editor è possibile sviluppare i profili e le sequenze per permettere la trasmissione di un determinato profilo di comunicazione di rete sul bus per il test di risposta ECU ad un determinato stimolo.

Custom Network Communication Scripting.bmp

Figura 3. Creazione di un profilo di stimolo per la comunicazione di rete con NI VeriStand Stimulus Profile Editor.

4. Trasmissione messaggi in coda

Diversamente dalla creazione di un profilo di un messaggio specifico o di una serie messaggi, la trasmissione di messaggi in coda spesso richiede la configurazione di diversi messaggi di rete e di differenti segnali di trigger affinché siano trasmessi correttamente. Per questo scopo si utilizza NI VeriStand Stimulus Profile Editor. Con il medesimo strumento e ambiente da utilizzare per lo scripting personalizzato, è possibile posizionare in coda messaggi di rete in un ordine specifico e configurare i trigger di trasmissione per ogni frame. Se l'unica funzione di coda richiesta è la trasmissione ciclica di un messaggio ad un determinato intervallo, è possibile configurare questa opzione in NI VeriStand System Explorer e importare automaticamente il messaggio dai database di rete come file FIBEX e .DBC.

Import Cyclic Frames.bmp

Figura 4. Utilizzo di NI VeriStand per l'analisi automatica di network database per la configurazione della trasmissione ciclica di frame.

5. Trasmissione manuale di messaggi

Potrebbe anche essere necessario dover inviare messaggi event-driven inviati su richiesta o quando si verifica una determinata condizione di trigger. È possibile impiegare gli stessi strumenti utilizzati per la trasmissione ciclica anche per la trasmissione manuale di messaggi ad eventi.

Import Event Frames.bmp

Figura 5. NI VeriStand permette anche di analizzare un database di rete per la configurazione della trasmissione di messaggi event-driven.

6. Ripetizione della funzione di log dati

Con gli stessi step utilizzati precedentemente per trasmettere i dati su bus, è possibile testare efficacemente le modifiche del software ECU e monitorare la risposta ad un determinato stimolo. Grazie a NI VeriStand System Explorer sarai in grado di esegure il log dei dati sui veicoli in rete e di trasmetterli esattamente come sono stati registrati. Inoltre, è possibile configurare la ripetizione del log dei dati utilizzando impostazioni specifiche per l'utente, ad esempio una condizione di trigger per avviare la ripetizione, includendo frame da trasmettere o escludendo frame da ricevere..

data replay.bmp

Figura 6. Configurazione di un file di log per la trasmissione utilizzando le interfacce NI VeriStand e NI-XNET.

7. Condizioni di trigger per la comunicazione

Combinando il software NI VeriStand con l’interfaccia NI-XNET è possibile utilizzare diverse opzioni di trigger per la comunicazione. Questo documento fa riferimento a queste opzioni in relazione alle condizioni di trigger da configurare per le possibili soluzioni di simulazione Restbus. Inoltre, è possibile scegliere diverse sorgenti di trigger, includendo l’utilizzo di value-change, di messaggi specifici, di canali user-specific, e altri I/O.

8. Generazione di report e sviluppo di test

Simulare non equivale ovviamente ad eseguire l'intero processo. Sarà necessario anche sintetizzare i risultati e realizzare vari test per assicurarsi che il dispositivo funzioni come previsto. È possibile utilizzare NI VeriStand Stimulus Profile Editor per sviluppare test pass/fail custom e generare report in un formato standard come ATML per visualizzare e condividere i risultati di test.

test report.bmp

Figura 7. NI VeriStand Stimulus Profile per sviluppare test personalizzati e report per la condivisione dei risultati.

Conclusioni

Una tecnica di test come la simulazione Restbus per la validazione software di ECU può essere considerato un metodo ideale per risparmiare tempo e denaro nel lungo termine, ma comporta anche l'utilizzo di diverse tecniche e di componenti e strumenti specifici. Comprendere le basi fondamentali della simulazione Restbus e degli strumenti per realizzare test efficaci può ridurre i tempi di sviluppo e permettere di individuare preventivamente eventuali bug di programmazione. Gli strumenti hardware e software come NI VeriStand, NI VeriStand Stimulus Profile Editor e le interfacce di bus NI-XNET forniscono tutti gli strumenti necessari per personalizzare e creare rapidamente applicazioni di simulazione Restbus.

Simulink® è un marchio registrato di The MathWorks, Inc. Altri nomi di prodotti e società elencati sono marchi registrati delle rispettive società.