Virtuell Validering

Tänk om du kunde skapa en virtuell prototyp av en styrenhet (ECU), testa dess funktioner och göra designändringar utan att behöva skapa en fysisk prototyp?
Detta är virtuell validering.

Virtuell validering är en process som används för att testa och verifiera mjukvaran i en styrenhet. Detta inkluderar simulering av ECU(-er) i flera miljöer och förhållanden för att säkerställa att styrenheten fungerar korrekt. Virtuell validering möjliggör design och implementation av systemet innan investering av ett betydande kapital.  Med andra ord minskar virtuell validering kostnader och marknadsledtiden samt ökar även kvaliteten och robustheten av ECU:ns mjukvara. 

Användningen av virtuell validering ökar inom fordonsindustrin och när fordonstillverkare testar ny teknik i både elektriska och autonoma fordon. Genom virtuell validering kan företag simulera batterier och elektroniska designsystem, testa miljontals kilometerkörning och miljontals kodrader utan att manuellt bygga en prototyp. Flyg och försvar är en annan bransch som drar stor nytta av virtuell validering. Virtuell validering kallas ofta Software-In-the-Loop-simulering (SIL) då det är testobjektets mjukvara som är inkopplad i simuleringsloopen. 

Fördelarna med virtuell validering är bland annat:

  • PC eller Cloud baserad simulering för validering av Virtuella ECU:er, V-ECU.
  • Ingen hårdvara förutom en PC krävs för valideringen.
  • Utveckla och genomför HIL-testfall utan tillgång till HIL-hårdvara (Frontloading).
  • Återanvänd en PC-baserad V-ECU i en realtidssimulering i HIL systemet.
  • Integrera V-ECU i ett funktionsutvecklingsscenario för att integrera redan utvecklade funktioner.

 

Genom virtuell validering går det dels att tidigarelägga delar av ett projekts integrationstestning genom simulering och genom att arbeta i en parallell process där de verkliga och de virtuella utvecklingsfaserna interagerar med varandra i tiden.  

Virtuell Styrenhet

En virtuell styrenhet är en programvara som representerar en riktig styrenhet (ECU) i en simulering. Virtuella styrenheter kommer i många olika former, exempelvis som enbart funktionskoden, till mer avancerade implementationer med produktionskod och underliggande mjukvara. 

I ett tidigt skede av testning och validering vill man ofta kunna testa den senaste versionen av sin funktion utan att behöva bygga in den i den hårdvaruspecifika mjukvaran. Då kan man enkelt simulera endast funktionskoden tillsammans med modellen för omgivningen. Detta kan man uppnå på olika sätt, till exempel genom att ha sin funktionskod i en FMU eller Docker-container. 

Styrsystem som används till ADAS/AD funktioner tar ofta beslut baserat på sensorer och behöver därför verklighetstrogen sensordata för att funktionaliteten ska kunna valideras. I vissa fall räcker det att få information om vad sensorerna ser, en objektlista, men till slut måste funktionen ändå valideras tillsammans med dess algoritmer för tolkning av sensordata. Detta kräver att man injicerar rådata från sensorerna, antingen riktig inspelad data eller konstgjord, simulerad, sensordata. Oavsett var datan kommer ifrån måste man kunna injicera den i formatet som styrenheten väntar sig. När den riktiga hårdvaran testas behövs en enhet som samlar in och omvandlar sensordatan till testobjektets förväntade format. Denna enhet kan vara en dSPACE Environment Sensor Interface Unit (ESI Unit). ESI Unit:en kan omvandla flera dataströmmar från olika sensorer och spela upp informationen från dem till testobjektet i realtid och synkroniserade med varandra. I SIL-fallet används ingen hårdvara men det är ändå viktigt att strömmen med sensordata är rätt format och att datan från de olika sensorerna spelas upp i rätt tid. För detta användningsområde finns en virtuell ESI Unit (v-ESI) som integreras mellan sensorsimuleringen/uppspelningen och testobjektet och även sluter loopen med återmatning av data från testobjektet till simuleringen. 

I ett senare skede behöver man testa sin färdiga produktionskod i en miljö så lik den verkliga som möjligt. I dessa fall kan man använda en så kallad virtuell ECU, V-ECU. En V-ECU består bara av en verklig produktionskod och kräver ingen speciell hårdvara, till skillnad från en vad vi kallar Soft ECU, som bara är en förenklad modell av beteendet.  

V-ECU:er kan ha olika abstraktionsnivåer, beroende på vad de används för: 

  • V-ECU: er på applikationsnivå innehåller utvalda delar av applikationsprogramvaran, och ett kompletterande ramverk för att få dem exekverbara 
  • V-ECU kan också inkludera applikationsprogramvaran och delar av produktionens grundläggande programvara, såsom diagnostik och kommunikationsmoduler. 
  • V-ECU kan inkludera komplett applikationsprogramvara och hårdvaruoberoende grundläggande programvara, dvs allt utom det hårdvaruberoende MicroController Abstraction Layer. 
 

dSPACE Verktygkedja

Med dSPACE:s verktygskedja finns alla möjligheter att skapa en komplett valideringsprocess. Fengco och dSPACE erbjuder verktyg för alla steg i processen, både för skapandet av den virtuella ECU och testmiljön som genererar stimuli/sensordata i den form som förväntas. 

Generering av V-ECU:er

Det finns olika sätt att skapa en V-ECU, beroende på vad den ska användas till, projektets behov och om utvecklingen är baserad på AUTOSAR eller ej. 

Funktions- och programvaruutvecklare som bara arbetar med enskilda komponenter kan skapa en V-ECU direkt med TargetLink i Simulink. Resultatet är en enkel V-ECU med endast en specifik del av applikationsskiktet i ECU-programvaran. Det möjliggör grundläggande funktionstester. 

Integrationstestare som vill testa ett mer komplext nätverk av funktioner kan kombinera programvarukomponenter, funktioner eller icke-AUTOSAR-kod från olika källor i SystemDesk för att skapa ECU: s programvaruarkitektur. De kan sedan använda SystemDesk V-ECU Generation Module för att skapa en komplett V-ECU. Detta inkluderar run-time- environment (RTE) och, om det behövs, grundläggande programvara utöver applikationslagret. V-ECU: erna används för PC-baserad simulering med VEOS. 

 

Simulering av virtuella styrenheter

När det kommer till simulering av virtuella styrenheter och omvärldsmodeller kan det ske på allt mellan användarens egen dator till en extern lösning i molnet. 

Används en tredjepartslösning för att skapa den virtuella ECU:n så kan man integrera den via dSPACE V-ESI. 

Kontakta oss

Kurs: System-simulering

Vill du lära dig att använda produktionskod för en AUTOSAR 4.x ECU vid skrivbordssimulering? Fengco erbjuder en endagskurs i Systemsimulering.

Kurs: System-simulering

Läs Mer