Moderní nástroje pro vývoj elektronických řídicích jednotek Jiří Sehnal Humusoft spol. s r.o.
[email protected] EVV 2008 Automobilová elektronika Brno, 17. - 18. 6. 2008 Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
1
Počítačová síť na kolech
Software v Mercedesu S-Class: Počet elektronických řídicích jednotek (ECU):
1990 1 MByte
40 ve Volkswagenu Golf
1998 100 MByte
BMW 7 a Mercedes S-Class cca. 70
2005 > 500 MByte
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
2
Složitost elektronických systémů je vážný problém Složitost architektury ECU – Celkem 40 až 80 ECU – Několik subsystémů ECU – ECU si musí předávat data Složitost propojení - Stovky až tisíce signálů - Různé komunikační protokoly - Diagnostika a správa po sběrnici Složitost jednotlivých ECU - 50 až 500 softwarových modulů - Aplikační SW a základní software
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
3
Vývojový proces jako V-cyklus
Návrh řízení a offline simulace Kalibrace
Rapid Control Prototyping
Simulace Hardware-in-the-Loop
Automatické generování produkčního kódu Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
4
MATLAB
Prostředí pro technické výpočty – – –
–
–
Numerické výpočty Analýza a vizualizace dat de facto industry-standard, programovací jazyk vysoké úrovně umožnující snadný vývoj algoritmů Toolboxy pro zpracování signálu a obrazu, statistiku, optimalizaci, symbolickou matematiku a další oblasti Základ nástrojů firmy MathWorks
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
5
Simulink
Prostředí pro modelování, simulace a implementace dynamických systémů –
–
– –
Lineární, nelineární, diskrétní, spojité a hybridní systémy včetně systémů s více vzorkovacími frekvencemi Prostředí pro Model-Based Design, fyzikální modelování, automatické generování kódu, verifikaci Otevřená architektura umožňuje integraci modelů z jiných prostředí Aplikace v řízení, zpracování signálu, komunikacích a dalších oblastech inženýrské praxe
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
6
Model Based Design - modelování a simulace
Vytvoření modelu regulované soustavy • MATLAB • Simulink • System Identification Toolbox • Simulink Parameter Estimation
Návrh regulátoru
• MATLAB • Simulink • Stateflow • Control System Toolbox • Simulink Control Design
Ověření návrhu offline simulací • MATLAB • Simulink • Stateflow • Simulink Response Optimization
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
7
Vývojový proces jako V-cyklus
Návrh řízení a offline simulace Kalibrace
Rapid Control Prototyping
Simulace Hardware-in-the-Loop
Automatické generování produkčního kódu Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
8
Model Based Design - Rapid Control Prototyping Real-Time Workshop
Překladač C
Knihovna I/O
Návrh regulátoru
Zdrojový kód C
Prototypová řídicí jednotka
• MATLAB • Simulink • Real-Time Workshop • Knihovna I/O podle cílové platformy - dSPACE RTI • Překladač C • Prototypová řídicí jednotka dSPACE MicroAutoBox Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
9
Vývojový proces jako V-cyklus
Návrh řízení a offline simulace Kalibrace
Rapid Control Prototyping
Simulace Hardware-in-the-Loop
Automatické generování produkčního kódu Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
10
Model Based Design - Generování produkčního kódu Produkční řídicí jednotka - Navržena s ohledem na minimální náklady v sériové výrobě - Malý výkon CPU - Málo paměti - Většinou nemá floating-point ALU - Náročné na optimalizaci
TargetLink
Model-Based Design - Model odladěný na prototypové ECU se použije i na produkční ECU - Použije se generátor produkčního kódu - Implementace fixed-point aritmetiky - Optimalizace využití paměti - Optimalizace na konkrétní CPU - Kvalita ručně psaného kódu
TargetLink Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
11
TargetLink - Pracovní postup
Bloky TargetLinku a Simulinku lze kombinovat v jednom modelu Uživatel rozhodne která část modelu se použije pro generování kódu Možnost simulovat systémy s uzavřenou smyčkou s částmi používajícími TargetLink Je možná simulace celého modelu
Standardní Simulinková část – stimulace – soustava Část s TargetLinkem pro generování kódu
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
12
TargetLink - Pracovní postup TargetLink Blockset
Simulink Blockset
ECU
automatický převod
generování kódu
Host floating-point simulation (MIL) návrh algoritmů testy chování systému scaling (aut. nebo ruční) detekce přetečení referenční data
Host Prod. Code simulation (SIL) efekty pevné řádové čárky kvantizační chyby saturace a přetečení implementační volby
Target Prod. Code simulation (PIL)
E V M
validace kódu doba výpočtu velikost zásobníku velikost RAM / ROM konečná verifikace
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
13
TargetLink - Příklad meziblokové optimalizace RCP Code bool1 = (In >= 10); bool2 = (In <= -10); bool3 = bool1 || bool2; tmp1 = table_lookup(Table, In); tmp2 = In; if (bool3) out = tmp1; else out = tmp2; TargetLink Code
- Odstraní zbytečný kód - Zkrátí dobu výpočtu - Odstraní dočasné proměnné
if ((In >= UT) || (In <= LT)) out = table_lookup(Table, In); else out = In;
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
14
TargetLink - Scaling proměnných Princip: scaling po blocích, autoscaling
- na základě výsledků simulace - pro nejhorší případ
Kompromis rychlosti, nároků na paměť a přesnosti: velká
rychlost výpočtu
scaling scaling mocninou mocninou dvou dvou s offsetem n
f=2 i malá
malá
obecný scaling
obecný scaling s offsetem
f=Si
f = S i + offs
n
f = 2 i + offs přesnost
velká
Scaling dialog:
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
15
TargetLink - AUTOSAR Library AUTOSAR (AUTomotive Open System Architecture)
Generování SWC podle standardu AUTOSAR Generování XML popisu SWC podle standardu AUTOSAR Snadná integrace navržených algoritmů do vývojového prostředí AUTOSAR
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
16
Vývojový proces jako V-cyklus
Návrh řízení a offline simulace Kalibrace
Rapid Control Prototyping
Simulace Hardware-in-the-Loop
Automatické generování produkčního kódu Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
17
Simulace Hardware In the Loop (HIL)
Systém je ověřen jako ve skutečném prostředí Testování implementace HW i SW Testování bez fyzických efektů prototypů (chyby, vadné kontakty, stárnutí součástek) Možnost simulace poruch (přerušené spoje, zkraty, poruchy čidel atd.) Reprodukovatelnost testů Testování kritických situací bez rizika Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
18
Soft ECU
Simulační modely ASM Soft ECU Model motoru
Soft ECU Signals
Sensor Signals
Engine
– Zážehový, vznětový
Model pohonu
– – – – – –
Pohyb vozidla Pneumatiky Odpružení, tlumiče Řízení Aerodynamika Brzdový systém (BrakeHydraulics)
Okolní prostředí
Drivetrain
Sensor signals to ECU
Dynamika vozidla
Engine Speed Torque Engine
Actuator signals from ECU
– Pohon předních/zadních/všech kol – Automatická/manuální převodovka – Elasticita hřídelí
Torque Differential Tire Speed
Vehicle Dynamics
Sensor Signals
Environment Signals
Environment
– Silnice – Řidič – Manévry Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
19
HIL Simulátor motoru dSPACE
Reálná řídicí jednotka Real-time hardware s aplikací a I/O Simulace poruch Reálné a simulované zátěže Reálné i virtuální přístroje Diagnostika
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
20
Vývojový proces jako V-cyklus
Návrh řízení a offline simulace Kalibrace
Rapid Control Prototyping
Simulace Hardware-in-the-Loop
Automatické generování produkčního kódu Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
21
Nové trendy
Nové návrhy jsou dělané jako Model Based Design Generování cílového kódu je zavedená technologie Generování kódu se používá i v nových oblastech jako body control HIL je již standardem Automatizace testů je ještě často proprietární Vyvíjí se řízení procesu vývoje (DOORS) Redukce počtu ECU sdružováním funkcí problémy se přesouvají ze síťové integrace do SW integrace (SystemDesk) AUTOSAR
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
22
Děkuji za pozornost
Jiří Sehnal, Humusoft spol. s r. o.,
[email protected]
23