AUTOSAR alapú autóipari szoftverrendszerek
Napjaink nagy bonyolultságú beágyazott rendszerinek fejlesztése elképzelhetetlen lenne modellvezérelt szoftverfejlesztési paradigmák alkalmazása nélkül. Különösen igaz ez az autóiparra, ahol egy-egy alkalmazásban akár száznál is több vezérlőegység együttműködése valósul meg. Egy ilyen összetettségű elosztott rendszer tervezésében, fejlesztésében a szoftvermodellezés és kódgenerálás kiemelt jelentőséget kap. A járművekben helyet kapó vezérlőegységek számos különböző beszállítótól származnak mégis kompatibilisnek kell lenniük egymással, hiszen teljes funkcionalitásukat csak egymásra támaszkodva valósíthatják meg.
Az AUTOSAR Konzorcium vezető autógyártók és autóipari beszállítók együttműködéseként jött létre, és fő céljául a vezérlőegységek fejlesztésének szabványosítását tűzte ki. A konzorcium szabványai a fejlesztés három fő területét célozzák meg:
- definiálnak egy szigorúan rétegzett szoftverarchitektúrát a vezérlőegységeken futó beágyazott szoftver számára,
- definiálnak egy modellezési nyelvet, melynek segítségével a vezérlőegységek működése magas szinten leírható,
- definiálják azt a módszertant, melyet alkalmazva az autógyártók által leírt magas szintű modellektől eljuthatunk a vezérlőegységeken futó szoftver konfigurációjáig, majd végül a konfiguráció alapján történő végső forráskód generálásáig.
Követelmények
Előtanulmányi rend
- Ajánlott: Autóipari beágyazott rendszerek (VIMIAV09)
A szorgalmi időszakban
- Az aláírás feltételei:
- ZH sikeres, legalább elégséges szintű teljesítése.
- Laboralkalmak legalább 1/3-án való részvétel.
- Pótlási lehetőségek:
- Mindkét ZH pótolható egyszer a pótlási héten, egy napon (1. ZH 8-10h, 2. ZH 10-12h)
- A házi feladat a pótlási hét végéig pótolható, különeljárási díj fejében.
Félévvégi jegy
- x
Segédanyagok
- Tematika
- az AUTOSAR által leírt fejlesztési folyamatokat,
- az AUTOSAR által biztosított modellezési lehetőségeket,
- az AUTOSAR által definiált rétegzett szoftverarchitektúrát és az abban elhelyezkedő szoftvermodulok feladatait,
- az autóiparban alkalmazott kommunikációs protokollokat (CAN, FlexRay),
- az autóiparban alkalmazott diagnosztikai megoldásokat (On-board diagnostics).
- Labor
- a vezérlőegység szoftverkomponenseinek modellezése, implementálása (C nyelven)
- a vezérlőegység alapvető szoftvermoduljainak konfigurálása
- a konfiguráció alapján történő kódgenerálás és a szoftver folyamatos kipróbálása
- a vezérlőegység kommunikációjának vizsgálata
- a vezérlőegység diagnosztikai funkcióinak implementálása, kipróbálása, vizsgálata.
- A labor során egy olyan fejlesztőpanelt használhattok, amin helyet kapott egy DC motor is mely az elektromos autó meghajtó motorját jelképezi. A feladat ennek a motornak az intelligens vezérlése köré épül. A tárgy laboratóriumai során egy egész féléves összefüggő feladatot valósíthattok meg, melynek célja egy elképzelt elektromos autó meghajtását irányító vezérlőegység szoftverének elkészítése.
ZH
A kérdések kidolgozására 45 perc áll rendelkezésre. Összesen öt kérdést kell megválaszolni egyenként 10 (együtt 50) pontért. A kérdésekre kifejtős, de lényegre törő válaszokat várunk.
- Mutassa ba az AUTOSAR három pillérét! Mit a tartalma az egyes részeknek?
- Definiálja röviden a következő fogalmakat: szoftver komponens, port és interfész (térjen ki a felkínált (provided) és megkövetelt (required) port, illetve a sender-receiver és client-server interfész közötti különbségekre)!
- Szeretné AUTOSAR komponensekkel modellezni, majd megvalósítani az alább leírt egyszerű elektromotort szabályozó rendszert.
A rendszer négy fő komponensből áll:
- A motor szabályozó algoritmust megvalósító MotorController
- A teljesítmény elektronika hőmérsékletét mérő Thermometer
- Az elektromotor kivezetéseinek meghajtásáért felelős InverterDriver
- A rendszerben fellépő hibákat naplózó és azonnali beavatkozást igénylő helyzeteket kezelő ErrorHandler
A komponensek között az alábbi kapcsolatok állnak fenn:
- A Thermometer másodpercenként elküldi a teljesítményelektronika hőmérsékletét a MotorControllernek.
- A Thermometer tudja jelezni az ErrorHandlernek, ha valamiért nem sikerült a kommunikáció a hőmérő chipper (ez nem kritikus probléma, elég naplózni).
- A MotorController egy porton fogadja az elérendő motor nyomatékot (ezt a járműbuszról kapja, a referencia jel forrásának további modellezése nem szükséges).
- A MotorController a bejövő nyomaték kérés alapján milliszekundumonként kiszámolja a referencia áramerősségeket és elküldi az InverterDrivernek.
- A MotorController tudja jelezni az Errorhandlernek, ha érvénytelen bementetet kapott (nem hihető hőmérséklet, vagy nominális határokon kívül eső nyomaték kérés), ezek nem kritikus problémák, elég naplózni.
- Az InverterDriver a MotorControllertől kapott referencia áramerősségek alapján kiszámolja a kiadandó pulzusszélesség modulált jelet (ez utóbbit nem szükséges modellezni, úgy tekintjük, hogy az InverterDriver egy komplex device driver, közvetlenül írja a mikrovezérlő PWM perifériáját).
- Az InverterDriver képes detektálni a teljesítmény elektronikában fellépő rövidzárlatokat, amelyek esetén azonnal le kell állítani a rendszert, ezt nem közvetlenül végzi, hanem az ErrorHandleren keresztül.
Végezze el a következő statikus modellezési feladatokat:
- Rajzolja fel a négy komponenst a fent használt nevekkel az AUOTSAR szokásos jelöléseinek megfelelően.
- Tűntesse fel a komponensek portjait és adjon nekik nevet.
- Döntse el, hogy a fent felsorolt kommunikációs csatornák közül melyiket célszerű sender-receiver és melyiket client-server elven megvalósítani és a portok ikonjaiban jelölje ezt.
- Kösse össze a komponensek portjait a fent vázoltaknak megfelelően.
- Az ábra alatt szövegesen sorolja fel, hogy az egyes portok milyen interfészeket valósítanak meg és ezen interfészek milyen adatelemeket vagy műveleteket tartalmaznak.
Válaszoljon a következő dinamikus modellezést illető kérdésekre:
- Milyen eseménnyel célszerű troggerelni a szabályozó algoritmust megvalósító MotorController egyetlen futtatható entitását? Mely portokon mely adatelemekhez kell írási hozzáférést adnunk ennek a futtatható entitásnak?
Az ErrorHandler komponensnek két futtatható entitása van, az egyik a naplózandó üzenetek feldolgozását, a másik az azonnali beavatkozást igénylő hibajelzések feldolgozását végzi. Milyen eseménnyel célszerű troggerelni ezeket a futtatható entitásokat?
- Tegyük fel, hogy egy külső eszköz (TOOL) és egy vezérlőegység (ECU) a CAN transport Protocol használatával kommunikálnak egymással. A TOOL egy hibakódot és hozzá tartozó egyéb információkat szeretne kiolvasni a vezérlőegységből. A kérdés egyértelműen elfér egy üzenetben, míg az arra adódó válasz összesen 4 keret átvitelét igényli. Ábrázolja szekvencia diagramon a két egység közötti kommunikációt! Az ábrán jelölje a keretek típusát és lényeges paramétereit! Milyen mechanizmust alkalmaz a CAN Transport protocol a keretek felcserélődésének, kimaradásának észlelésére?
- Az ECU konfigurációs paraméterének (meghatározásuk időpontja szerint) milyen osztályait definiálja a szabvány? Jellemezze röviden az egyes osztályokat!
Vizsga
- A vizsga szóbeli.
Kedvcsináló
- Céglátogatás
- A félév során ellátogatunk a ThyssenKrupp Presta Kft. budapesti fejlesztőközpontjába, ahol bepillantást nyerhettek a valódi fejlesztési munkába is.
- Bemutató videó