A Siemens mindkettőt kínálja autóipari beágyazott szoftver és beágyazott szoftverfejlesztés megoldások. A Siemens megszüntette az önálló beágyazott szoftverek kínálatát a SoC-k számára, mivel 2023 novemberében visszavonult a Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux és Sourcery CodeBench termékek (beleértve a kapcsolódó kiegészítőket is). Ezekre a termékekre vonatkozó meglévő támogatási szerződéseket továbbra is tiszteletben tartják, kérjük, lépjen kapcsolatba a Siemens Támogatási Központ további információkért.
Melyek a beágyazott szoftverek különböző típusai és azok céljai?
- Operációs rendszer — Az operációs rendszer (OS) a legáltalánosabb értelemben olyan szoftver, amely lehetővé teszi a felhasználó számára, hogy más alkalmazásokat futtasson egy számítástechnikai eszközön. Az operációs rendszer kezeli a processzor hardver erőforrásait, beleértve a bemeneti eszközöket, például a billentyűzetet és az egeret, a kimeneti eszközöket, például a kijelzőket vagy nyomtatókat, a hálózati kapcsolatokat és a tárolóeszközöket, például a merevlemezeket és a memóriát. Az operációs rendszer olyan szolgáltatásokat is nyújt, amelyek megkönnyítik a szoftver alkalmazások hatékony végrehajtását és kezelését, valamint memória-elosztását.
- Firmware — A firmware egy olyan típusú szoftver, amelyet közvetlenül egy hardverhez írnak. Az APIs, az operációs rendszer vagy az eszközmeghajtók használata nélkül működik - biztosítja a szükséges utasításokat és útmutatást a többi eszközzel való kommunikációhoz vagy az alapvető feladatok és funkciók rendeltetésszerű végrehajtásához.
- Middleware - A Middleware egy szoftverréteg, amely az alkalmazások és az operációs rendszerek között helyezkedik el. A köztes szoftvereket gyakran használják elosztott rendszerekben, ahol leegyszerűsíti a szoftverfejlesztést az alábbiak biztosításával:
- Az elosztott alkalmazások bonyolultságának elrejtése
- A hardver, operációs rendszerek és protokollok heterogenitásának elfedése
- Egységes és magas szintű interfészek biztosítása az interoperábilis, újrafelhasználható és hordozható alkalmazások létrehozásához.
- Közös szolgáltatások nyújtása, amely minimálisra csökkenti az erőfeszítések megkettőzését és javítja az alkalmazások közötti együttműködést
- Alkalmazás — A végfelhasználó kifejleszti a végső szoftveralkalmazást, amely az operációs rendszeren fut, használja vagy kölcsönhatásba lép a middleware és a firmware programmal, és amely a beágyazott rendszerek célfunkciójának elsődleges fókuszában áll. Minden végalkalmazás egyedi, míg az operációs rendszerek és a firmware eszközönként azonosak lehetnek.
Beágyazott szoftver vs beágyazott rendszerek
A beágyazott szoftvert futtató eszköz hardverkomponenseit „beágyazott rendszernek” nevezzük. A beágyazott rendszerekben használt hardverkomponensek néhány példája az áramkörök, a központi feldolgozó egységek, a flash memóriaeszközök, az időzítők és a soros kommunikációs portok. Az eszköz korai tervezési szakaszában a beágyazott rendszert alkotó hardver — és annak konfigurációja az eszközön belül — kerül meghatározásra. Ezután a beágyazott szoftvert a semmiből fejlesztik ki, hogy kizárólag ezen a hardveren futjon ebben a pontos konfigurációban. Ez teszi a beágyazott szoftvertervezést speciális területré, amely mély ismereteket igényel a hardver képességeiről és a számítógépes programozásról.
Példák beágyazott szoftveralapú funkciókra
Szinte minden áramköri lapokkal és számítógépes chipekkel rendelkező eszköz ezeket az alkatrészeket beágyazott szoftverrendszerbe rendezték. Ennek eredményeként a beágyazott szoftverrendszerek mindenütt jelen vannak a mindennapi életben, és megtalálhatók a fogyasztói, ipari, autóipari, repülőgépi, orvosi, kereskedelmi, távközlési és katonai technológiában.
A beágyazott szoftveralapú funkciók gyakori példái a következők:
- Az orvosi képalkotó berendezésekben található képfeldolgozó rendszerek
- A repülőgépekben található fly-by-wire vezérlőrendszerek
- Mozgásérzékelő rendszerek biztonsági kamerákban
- A közlekedési lámpákban található forgalomirányító rendszerek
- Az intelligens otthoni eszközökben található időzítő és automatizálási rendszerek
Melyek a beágyazott rendszerek különböző típusai?
A teljesítmény- és funkcionális követelmények alapján a beágyazott rendszerek öt fő osztálya létezik:
- A valós idejű beágyazott rendszerek determinisztikus és megismételhető módon végzik el a feladatokat, amelyet az operációs rendszerek mögöttes architektúrája és ütemezése, valamint a szálak teljesítménye, az elágazás és a megszakító késleltetés befolyásolja. Az általános célú beágyazott rendszerek nem tartalmaznak valós idejű követelményeket, és a befejezési időtől függőség nélkül képesek kezelni a megszakításokat vagy elágazásokat. A grafikus kijelzők, valamint a billentyűzet- és egérkezelés jó példák az általános rendszerekre.
- Az önálló beágyazott rendszerek gazdrendszer vagy külső feldolgozó erőforrások nélkül is elvégezhetik a feladatokat. Adatokat adhatnak ki vagy fogadhatnak a csatlakoztatott eszközökről, de nem támaszkodnak rájuk a feladatuk elvégzéséhez.
- Az önálló beágyazott rendszerek befogadó rendszer vagy külső feldolgozó erőforrások nélkül is elvégezhetik feladatukat. Adatokat adhatnak ki vagy fogadhatnak a csatlakoztatott eszközökről, de nem támaszkodnak rájuk a feladatuk elvégzéséhez.
- A hálózati beágyazott rendszerek egy csatlakoztatott hálózattól függenek a hozzárendelt feladatok elvégzéséhez.
- A rendszer hardverarchitektúrájának összetettsége alapján a beágyazott rendszerek három fő típusa létezik: A hálózati beágyazott rendszerek egy csatlakoztatott hálózattól függenek a hozzárendelt feladatok elvégzéséhez.
Hogyan befolyásolják a végpiacok a beágyazott rendszereket
A beágyazott rendszerkövetelmények és alkatrészek a célpiac igényeitől függően eltérőek lesznek. Néhány példa a következők:
- Fogyasztói — Olyan alkalmazásokban, mint például a fogyasztási cikkek, például a mosók, hordható eszközök és mobiltelefonok, a beágyazott rendszerek hangsúlyozzák a csökkentett méretet
- System on-chip, alacsony energiafogyasztás vagy akkumulátor működés és grafikus interfészek. Ezekben az alkalmazásokban értékelik a konfigurálható operációs rendszereket és a tervezés nem működő „domainjeinek” kikapcsolásának képességét.
- Hálózat — Alkalmazások, amelyek lehetővé teszik a vállalati hálózat csatlakoztatását, kommunikációját, működését és kezelését. Ez biztosítja a kommunikációs útvonalat és szolgáltatásokat a felhasználók, folyamatok, alkalmazások, szolgáltatások és külső hálózatok/az internet között. A beágyazott hálózati alkalmazások a válaszadási sebességre, a csomagfeldolgozásra és a perifériás hardverútvonalakra
- Ipari — Olyan alkalmazásoknál, mint a gyári padlókezelés, a motorok és a szélmalmok, a hangsúly általában a biztonságos felhőkapcsolódásra és a determinisztikus „valós idejű” működésre összpontosíthat, és erősen a middleware-re összpontosíthat.
- Orvosi, autóipar és repülőgép — Ezeknek az iparágaknak vegyes biztonsági szempontból kritikus rendszerekre van szükségük, ahol a tervezés egyes részeit elkülönítik egymástól, hogy biztosítsák, hogy csak a szükséges adatok kerüljenek be vagy kilépjenek a rendszerből (biztonság), miközben garantálják, hogy ne károsítsák a végfelhasználót (biztonság). Ilyenek például a gépjárművek és az orvostechnikai eszközök autonóm vezetési rendszerei. Ezek a beágyazott rendszerek tartalmazhatnak nyílt forráskódú (Linux) és determinisztikus valós idejű operációs rendszerek (RTOS) keverékét, és erősen alkalmazzák a bevált köztes szoftvereket.
Miért különbözik az autóipari beágyazott szoftver?
Az autóipari elektronikában összetett valós idejű kölcsönhatások történnek több beágyazott rendszerben, amelyek mindegyike vezérli, például fékezést, kormányzást, felfüggesztést, hajtásláncot stb. Az egyes beágyazott rendszereket tartalmazó fizikai házat elektronikus vezérlőegységnek (ECU) nevezik. Minden ECU és beágyazott szoftvere egy elosztott rendszerként ismert komplex elektromos architektúra része.
Az egymással való kommunikáció révén a jármű elosztott rendszerét alkotó ECU-k számos funkciót hajthatnak végre, mint például az automatikus vészfékezés, az adaptív sebességtartó automatika, a stabilitásvezérlés, az adaptív fényszórók és még sok más. Egy funkcióhoz szükség lehet 20 vagy több beágyazott szoftveralkalmazás közötti interakcióra, amelyek több hálózati protokoll által összekapcsolt ECU-n vannak elosztva. A beágyazott szoftverrel telepített komplex vezérlőalgoritmusok biztosítják a funkciók megfelelő időzítését, a szükséges bemeneteket és kimeneteket, valamint az adatbiztonságot.
Az autóipari szoftveres alkalmazás-alapú funkciók gyakori példái a következők:
- Az ADAS (Advanced Driver Assist Systems) funkciói, például adaptív sebességszabályozó, automatikus vészfékezés, sávmegőrzési asszisztens, forgalomsegítő, sávelhagyási figyelmeztetések
- Akkumulátorkezelés
- Nyomatékkompenzáció
- Üzemanyag-befecskendezési sebesség
ECU szoftvercsomag
Az elektronikus vezérlőegység vagy az ECU egy chip-szintű hardverrel ellátott fő számítási egységből és egy halom beágyazott szoftverből áll. Az autóipari gyártók körében azonban egyre növekvő tendencia van, hogy olyan összetett integrált áramkörökkel rendelkező ECU-kat tervezzenek, amelyek egyetlen chipen több számítási magot tartalmaznak - amit az úgynevezett System on a Chip (SoC). Ezek a SoC-k számos ECU-absztrakciót tárolhatnak a hardver konszolidációja érdekében. Az ECU szoftverkészlete általában számos megoldást tartalmaz, az alacsony szintű firmware-től a magas szintű beágyazott szoftveralkalmazásokig.
ECU halom | Leírás |
Beágyazott szoftver alkalmazás | Vezérlő algoritmusok, feldolgozás, szolgáltatások |
Alkalmazási keret | Biztonsági és biztonsági keretek |
Működési környezet | AUTOSAR classic, AUTOSAR adaptív, Bemeneti/kimeneti csatornák |
Beágyazott virtualizációk | Valós idejű operációs rendszer, ECU absztrakciók |
Firmware | Csomagbetöltők, biztonságos tárolás, biztonságos menetvágás |
Hardver | Szilikon alapú eszközök, mikrovezérlők, egy- vagy többrétegű táblák |