Siemens nabízí jak vestavěný software pro automobilový průmysl, tak řešení pro vestavěné softwarové inženýrství . Společnost Siemens přestala nabízet samostatný vestavěný software pro SoC s vyřazením produktů Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux a Sourcery CodeBench (včetně souvisejících doplňků) v listopadu 2023. Stávající smlouvy o podpoře pro tyto produkty jsou stále dodržovány, pro více informací kontaktujte centrum podpory Siemens.
Jaké jsou různé typy vestavěného softwaru a jejich účely?
- Operační systém – Operační systém (OS) je ve svém nejobecnějším smyslu software, který uživateli umožňuje spouštět další aplikace na výpočetním zařízení. Operační systém spravuje hardwarové prostředky procesoru, včetně vstupních zařízení, jako je klávesnice a myš, výstupních zařízení, jako jsou displeje nebo tiskárny, síťových připojení a úložných zařízení, jako jsou pevné disky a paměť. Operační systém také poskytuje služby usnadňující efektivní provádění a správu a přidělování paměti pro softwarové aplikační programy.
- Firmware – Firmware je typ softwaru, který je napsán přímo pro hardware. Funguje bez procházení rozhraní API, operačního systému nebo ovladačů zařízení – poskytuje potřebné pokyny a pokyny ke komunikaci s jinými zařízeními nebo k provádění základních úkolů a funkcí tak, jak bylo zamýšleno.
- Middleware – Middleware je softwarová vrstva umístěná mezi aplikacemi a operačními systémy. Middleware se často používá v distribuovaných systémech, kde zjednodušuje vývoj softwaru tím, že poskytuje následující:
- Skrytí složitosti distribuovaných aplikací
- Maskování heterogenity hardwaru, operačních systémů a protokolů
- Poskytování jednotných a vysokoúrovňových rozhraní používaných k vytváření interoperabilních, opakovaně použitelných a přenosných aplikací.
- Poskytování sady běžných služeb, které minimalizují duplicitu úsilí a zlepšují spolupráci mezi aplikacemi
- Aplikace – Koncový uživatel vyvíjí konečnou softwarovou aplikaci, která běží na operačním systému, používá nebo interaguje s middlewarem a firmwarem a je primárním zaměřením cílové funkce vestavěných systémů. Každá koncová aplikace je jedinečná, zatímco operační systémy a firmware mohou být u jednotlivých zařízení identické.
Vestavěný software vs. vestavěné systémy
Hardwarové komponenty v zařízení, na kterém běží vestavěný software, se nazývají "vestavěný systém". Některé příklady hardwarových komponent používaných ve vestavěných systémech jsou napájecí obvody, centrální procesorové jednotky, paměťová zařízení flash, časovače a sériové komunikační porty. Během raných fází návrhu zařízení se rozhoduje o hardwaru, který bude tvořit vestavěný systém – a jeho konfiguraci v rámci zařízení. Poté je vestavěný software vyvinut od nuly, aby běžel výhradně na tomto hardwaru v této přesné konfiguraci. Díky tomu je návrh vestavěného softwaru specializovanou oblastí vyžadující hluboké znalosti hardwarových schopností a počítačového programování.
Příklady vestavěných softwarových funkcí
Téměř každé zařízení s deskami plošných spojů a počítačovými čipy má tyto komponenty uspořádané do vestavěného softwarového systému. Výsledkem je, že vestavěné softwarové systémy jsou všudypřítomné v každodenním životě a nacházejí se ve spotřebitelské, průmyslové, automobilové, letecké, lékařské, komerční, telekomunikační a vojenské technologii.
Mezi běžné příklady vestavěných softwarových funkcí patří:
- Systémy zpracování obrazu nalezené v lékařských zobrazovacích zařízeních
- Řídicí systémy fly-by-wire v letadlech
- Systémy detekce pohybu v bezpečnostních kamerách
- Systémy řízení dopravy na semaforech
- Časovací a automatizační systémy nalezené v zařízeních pro chytrou domácnost
Jaké jsou různé typy vestavěných systémů?
Na základě požadavků na výkon a funkčnost existuje pět hlavních tříd vestavěných systémů:
- Vestavěné systémy pracující v reálném čase dokončují úlohy deterministickým a opakovatelným způsobem, který je ovlivněn základní architekturou a plánováním operačních systémů, stejně jako výkonem vláken, větvením a latencí přerušení. Univerzální vestavěné systémy neobsahují požadavek v reálném čase a mohou spravovat přerušení nebo větvení bez závislosti na čase dokončení. Grafické displeje a správa klávesnice a myši jsou dobrými příklady obecných systémů.
- Samostatné vestavěné systémy mohou provádět úlohy bez hostitelského systému nebo externích zdrojů zpracování. Mohou vydávat nebo přijímat data z připojených zařízení, ale nejsou na nich závislí při plnění svého úkolu.
- Samostatné vestavěné systémy mohou dokončit svůj úkol bez hostitelského systému nebo externích zdrojů zpracování. Mohou vydávat nebo přijímat data z připojených zařízení, ale nejsou na nich závislí při plnění svého úkolu.
- Síťové vestavěné systémy jsou při provádění přiřazených úkolů závislé na připojené síti.
- Na základě složitosti hardwarové architektury systému existují tři hlavní typy vestavěných systémů: Síťové vestavěné systémy jsou při provádění přiřazených úkolů závislé na připojené síti.
Jak koncové trhy ovlivňují vestavěné systémy
Požadavky na vestavěný systém a komponenty se budou lišit podle požadavků cílového trhu. Zde je několik příkladů:
- Spotřebitel – V aplikacích, jako je spotřební zboží, jako jsou pračky, nositelná zařízení a mobilní telefony, vestavěné systémy zdůrazňují zmenšenou velikost
- Systém na čipu, nízká spotřeba energie nebo provoz na baterie a grafická rozhraní. V těchto aplikacích jsou ceněny konfigurovatelné operační systémy a schopnost vypnout nefunkční "domény" návrhu.
- Sítě – aplikace, které umožňují připojení, komunikaci, provoz a správu podnikové sítě. Poskytuje komunikační cestu a služby mezi uživateli, procesy, aplikacemi, službami a externími sítěmi/internetem. Vestavěné síťové aplikace se zaměřují na rychlost odezvy, zpracování paketů a periferní hardwarové cesty.
- Průmysl – U aplikací, jako je řízení výrobních hal, motory a větrné mlýny, je kladen důraz na zabezpečení cloudové konektivity a deterministický provoz "v reálném čase" a může se silně zaměřit na middleware.
- Lékařský, automobilový a letecký průmysl – Tato odvětví potřebují systémy kritické pro smíšenou bezpečnost, kde jsou části návrhu od sebe izolovány, aby se zajistilo, že do systému vstoupí nebo z něj vystoupí pouze nezbytná data (zabezpečení), a zároveň je zaručeno, že nedojde k poškození koncového uživatele (bezpečnost). Příkladem jsou systémy autonomního řízení v automobilech a lékařských přístrojích. Tyto vestavěné systémy mohou obsahovat kombinaci open source (Linux) a deterministických operačních systémů reálného času (RTOS) a silně využívat osvědčený middleware.
Proč je vestavěný software pro automobilový průmysl jiný?
V automobilové elektronice dochází ke složitým interakcím v reálném čase napříč několika vestavěnými systémy, které každý z nich ovládá, jako je brzdění, řízení, odpružení, hnací ústrojí atd. Fyzické pouzdro obsahující každý vestavěný systém se označuje jako elektronická řídicí jednotka (ECU). Každá ECU a její vestavěný software je součástí složité elektrické architektury známé jako distribuovaný systém.
Díky vzájemné komunikaci mohou ECU, které tvoří distribuovaný systém vozidla, vykonávat řadu funkcí, jako je automatické nouzové brzdění, adaptivní tempomat, kontrola stability, adaptivní světlomety a mnoho dalšího. Jedna funkce může vyžadovat interakce mezi 20 nebo více vestavěnými softwarovými aplikacemi rozmístěnými v mnoha ECU propojených více síťovými protokoly. Komplexní řídicí algoritmy nasazené s vestavěným softwarem zajišťují správné načasování funkcí, potřebné vstupy a výstupy a bezpečnost dat.
Mezi běžné příklady funkcí založených na automobilových softwarových aplikacích patří:
- Funkce ADAS (Advanced Driver Assist Systems), jako je adaptivní tempomat, automatické nouzové brzdění, asistent pro udržování v jízdním pruhu, dopravní asistent, varování před opuštěním jízdního pruhu
- Správa baterie
- Kompenzace točivého momentu
- Regulace rychlosti vstřikování paliva
Softwarový zásobník ECU
Elektronická řídicí jednotka neboli ECU se skládá z hlavní výpočetní jednotky s hardwarem na úrovni čipu a zásobníkem vestavěného softwaru. Mezi výrobci automobilů však roste trend navrhovat ECU se složitými integrovanými obvody, které obsahují více výpočetních jader na jednom čipu – což se označuje jako systém na čipu (SoC). Tyto SoC mohou hostit velké množství abstrakcí ECU za účelem konsolidace hardwaru. Softwarový zásobník pro ECU obvykle zahrnuje řadu řešení, od nízkoúrovňového firmwaru až po vestavěné softwarové aplikace na vysoké úrovni.
Zásobník ECU | Popis |
Vestavěná softwarová aplikace | Řídicí algoritmy, zpracování, služby |
Aplikační rámec | Rámce zabezpečení a bezpečnosti |
Provozní prostředí | AUTOSAR classic, AUTOSAR adaptivní, vstupní/výstupní kanály |
Vestavěné virtualizace | Abstrakce operačního systému v reálném čase, ECU |
Mikroprogramové vybavení | Zavaděče, zabezpečená úložiště, zabezpečená vlákna |
Hardware | Zařízení na bázi křemíku, mikrokontroléry, jednovrstvé nebo vícevrstvé desky |