“Siemens” siūlo abu automobilių įdėtoji programinė įranga ir įterptosios programinės įrangos inžinerija sprendimai. “Siemens” nutraukė atskirą įterptąją programinę įrangą SoC, o 2023 m. lapkritį išėjo į pensiją “Nucleus”, “Nucleus Hypervisor”, “Nucleus ReadyStart”, “Sokol Flex Linux”, “Sokol Omni Linux” ir “Sourcery CodeBench” produktai (įskaitant susijusius priedus). Esamos šių produktų palaikymo sutartys vis dar gerbiamos, susisiekite su “Siemens” Pagalbos centras Daugiau informacijos.
Kokie yra skirtingi įterptųjų programinės įrangos tipai ir jų paskirtys?
- Operacinė sistema — operacinė sistema (OS) bendriausia prasme yra programinė įranga, leidžianti vartotojui paleisti kitas programas skaičiavimo įrenginyje. Operacinė sistema valdo procesoriaus aparatinės įrangos išteklius, įskaitant įvesties įrenginius, tokius kaip klaviatūra ir pelė, išvesties įrenginius, tokius kaip ekranai ar spausdintuvai, tinklo jungtis ir saugojimo įrenginius, tokius kaip kietieji diskai ir atmintis. OS taip pat teikia paslaugas, palengvinančias efektyvų programinės įrangos programų vykdymą ir valdymą bei atminties paskirstymą.
- Firmware — Firmware yra programinės įrangos tipas, kuris yra parašytas tiesiogiai aparatūros gabalas. Jis veikia nenaudodamas APIs, operacinės sistemos ar įrenginių tvarkyklių — pateikia reikiamas instrukcijas ir gaires bendrauti su kitais įrenginiais arba atlikti pagrindines užduotis ir funkcijas, kaip numatyta.
- “Middleware” - “Middleware” yra programinės įrangos sluoksnis, esantis tarp programų ir operacinių sistemų. Tarpinė programinė įranga dažnai naudojama paskirstytose sistemose, kur supaprastina programinės įrangos kūrimą, pateikdama šiuos dalykus:
- Paskirstytų programų sudėtingumo slėpimas
- Aparatinės įrangos, operacinių sistemų ir protokolų heterogeniškumo maskavimas
- Teikti vienodas ir aukšto lygio sąsajas, naudojamas sąveikoms, daugkartinio naudojimo ir nešiojamoms programoms gaminti.
- Pateikti bendrų paslaugų rinkinį, kuris sumažina pastangų dubliavimą ir sustiprina programų bendradarbiavimą
- Taikymas — galutinis vartotojas kuria galutinę programinės įrangos programą, kuri veikia operacinėje sistemoje, naudoja tarpinę ir programinę įrangą arba sąveikauja su ja ir yra pagrindinis įterptųjų sistemų tikslinės funkcijos dėmesys. Kiekviena galutinė programa yra unikali, o operacinės sistemos ir programinė įranga gali būti identiškos iš įrenginio į įrenginį.
Įterptoji programinė įranga ir įterptosios sistemos
Aparatinės įrangos komponentai įrenginyje, kuriame veikia įterpta programinė įranga, vadinami “įterptąja sistema”. Kai kurie aparatūros komponentų, naudojamų įterptosiose sistemose, pavyzdžiai yra maitinimo grandinės, centriniai apdorojimo įrenginiai, “flash” atminties įrenginiai, laikmačiai ir nuoseklaus ryšio prievadai. Ankstyvosiose įrenginio projektavimo stadijose sprendžiama, kokia aparatūra sudarys įterptąją sistemą ir jos konfigūracija įrenginyje. Tada įterptoji programinė įranga kuriama nuo nulio, kad ji būtų naudojama tik toje techninėje įrangoje toje tikslioje konfigūracijoje. Tai daro įterptųjų programinės įrangos projektavimą specializuota sritimi, reikalaujančia gilių žinių apie aparatūros galimybes ir kompiuterių programavimą.
Įterptųjų programine įranga pagrįstų funkcijų pavyzdžiai
Beveik kiekvienas įrenginys su grandinėmis plokštėmis ir kompiuterių lustais turi šiuos komponentus, išdėstytus į įterptąją programinės įrangos sistemą. Dėl to įterptųjų programinės įrangos sistemos yra visur paplitusios kasdieniame gyvenime ir yra visoje vartotojų, pramonės, automobilių, aviacijos, medicinos, komercinės, telekomunikacijų ir karinės technologijos.
Dažni įterptųjų programine įranga pagrįstų funkcijų pavyzdžiai yra šie:
- Vaizdų apdorojimo sistemos, rastos medicininėje vaizdo gavimo įrangoje
- Orlaiviuose rastos “fly-by-wire” valdymo sistemos
- Judesio aptikimo sistemos apsaugos kamerose
- Eismo valdymo sistemos, rastos šviesoforuose
- Laiko ir automatizavimo sistemos, rastos išmaniųjų namų įrenginiuose
Kokie yra skirtingi įterptųjų sistemų tipai?
Remiantis našumo ir funkciniais reikalavimais, yra penkios pagrindinės įterptųjų sistemų klasės:
- Realaus laiko įterptosios sistemos užbaigia užduotis deterministiniu ir pakartojamu būdu, o tam įtakos turi operacinių sistemų pagrindinė architektūra ir tvarkaraščių sudarymas, taip pat siūlų veikimas, išsišakojimas ir nutraukimas vėlavimas. Bendros paskirties įterptosiose sistemose nėra realiojo laiko reikalavimo ir gali valdyti pertraukimus ar išsišakojimą be priklausomybės nuo užbaigimo laiko. Grafikos ekranai ir klaviatūros bei pelės valdymas yra geri bendrųjų sistemų pavyzdžiai.
- Atskiros įterptinės sistemos gali atlikti užduotis be pagrindinio kompiuterio sistemos ar išorinių apdorojimo išteklių. Jie gali išvesti arba gauti duomenis iš prijungtų įrenginių, tačiau jie nepriklauso nuo jų, kad atliktų savo užduotį.
- Atskiros įterptinės sistemos gali atlikti savo užduotį be pagrindinio kompiuterio sistemos ar išorinių apdorojimo išteklių. Jie gali išvesti arba gauti duomenis iš prijungtų įrenginių, tačiau jie nepriklauso nuo jų, kad atliktų savo užduotį.
- Tinklo įterptųjų sistemų priklauso nuo prijungto tinklo atlikti paskirtas užduotis.
- Remiantis sistemos aparatinės architektūros sudėtingumu, yra trys pagrindiniai įterptųjų sistemų tipai: Tinklinės įterptinės sistemos priklauso nuo prijungto tinklo, kad galėtų atlikti paskirtas užduotis.
Kaip galutinės rinkos veikia įterptąsias sistemas
Įterptųjų sistemų reikalavimai ir komponentai skirsis atsižvelgiant į tikslinės rinkos poreikius. Kai kurie pavyzdžiai:
- Vartotojas - Tokiose programose kaip plataus vartojimo prekės, tokios kaip poveržlės, nešiojami prietaisai ir mobilieji telefonai įterptųjų sistemų pabrėžia sumažintą dydį
- “System-on-chip”, mažo energijos suvartojimo arba akumuliatoriaus veikimo ir grafikos sąsajos. Šiose programose vertinamos konfigūruojamos operacinės sistemos ir galimybė išjungti neveikiančius dizaino “domenus”.
- Tinklų kūrimas — programos, įgalinančios įmonės tinklo ryšį, komunikaciją, operacijas ir valdymą. Tai suteikia ryšio kelią ir paslaugas tarp vartotojų, procesų, programų, paslaugų ir išorinių tinklų/interneto. Įterptųjų tinklo programų dėmesys sutelkiamas į atsako greitį, paketų apdorojimą ir periferinės aparatūros kelius.
- Pramoninis - tokioms programoms kaip gamyklos grindų valdymas, varikliai ir vėjo malūnai, akcentuojamas saugus debesų ryšys ir deterministinis “realaus laiko” veikimas ir gali daug dėmesio skirti tarpinei programai.
- Medicinos, automobilių ir aviacijos - Šioms pramonės šakoms reikalingos mišrios saugos svarbios sistemos, kuriose konstrukcijos dalys yra izoliuotos viena nuo kitos, kad būtų užtikrinta, kad tik būtini duomenys patektų į sistemą arba išeitų iš jos (saugumas), tuo pačiu garantuojant, kad galutiniam vartotojui nebūtų padaryta žala (saugumas). Pavyzdžiai yra automobilių ir medicinos prietaisų autonominės vairavimo sistemos. Šios įterptosios sistemos gali turėti atviro kodo (“Linux”) ir deterministinių realaus laiko operacinių sistemų (RTOS) derinį ir labai panaudoti patikrintą tarpinę programą.
Kodėl automobilių įdėtoji programinė įranga skiriasi?
Automobilių elektronikoje sudėtingos realaus laiko sąveikos vyksta įvairiose įterptųjų sistemų, kurių kiekviena valdo funkcijas, tokias kaip stabdymas, vairavimas, pakaba, jėgos agregatas ir kt. Fizinis korpusas, kuriame yra kiekviena įterpta sistema, vadinamas elektroniniu valdymo bloku (ECU). Kiekvienas ECU ir jo įterpta programinė įranga yra sudėtingos elektros architektūros, žinomos kaip paskirstyta sistema, dalis.
Bendraudami tarpusavyje, transporto priemonės paskirstytą sistemą sudarantys ekiu gali atlikti įvairias funkcijas, tokias kaip automatinis avarinis stabdymas, prisitaikanti greičio palaikymo kontrolė, stabilumo kontrolė, adaptyvūs priekiniai žibintai ir daug daugiau. Vienai funkcijai gali prireikti sąveikos 20 ar daugiau įterptųjų programinės įrangos programų, pasklidusių daugybėje ECU, sujungtų keliais tinklo protokolais. Sudėtingi valdymo algoritmai, įdiegti kartu su įterpta programine įranga, užtikrina tinkamą funkcijų laiką, reikiamus įėjimus ir išėjimus bei duomenų saugumą.
Dažni automobilių programinės įrangos taikomųjų funkcijų pavyzdžiai yra šie:
- ADAS (Advanced Driver Assist Systems) funkcijos, tokios kaip adaptyvi greičio palaikymo sistema, automatinis avarinis stabdymas, apsaugos nuo juostos palaikymo pagalba, eismo pagalba, įspėjimai apie išvykimą iš juostos
- Baterijos valdymas
- Sukimo momento kompensavimas
- Degalų įpurškimo greičio valdymas
ECU programinės įrangos krūva
Elektroninį valdymo bloką arba ECU sudaro pagrindinis skaičiavimo blokas su mikroschemos lygio aparatine įranga ir įdėtos programinės įrangos krūva. Tačiau tarp automobilių gamintojų didėja tendencija kurti ECU su sudėtingais integriniais grandynais, kuriuose yra keli skaičiavimo branduoliai viename luste - tai vadinama “System on a Chip” (SoC). Šie SoC gali talpinti daugybę ECU abstrakcijų, kad būtų galima konsoliduoti aparatinę įrangą. ECU programinės įrangos krūva paprastai apima įvairius sprendimus, nuo žemo lygio programinės įrangos iki aukšto lygio įterptųjų programinės įrangos programų.
ECU kaminas | Aprašymas |
Įterpta programinės įrangos programa | Valdymo algoritmai, apdorojimas, paslaugos |
Taikymo sistema | Saugumo ir saugos sistemos |
Veikimo aplinka | AUTOSAR classic, AUTOSAR Adaptive, Įėjimų/išvesties kanalai |
Įterptosios virtualizacijos | Realaus laiko OS, ECU abstrakcijos |
Programinė aparatinė įranga | Krautuvai, saugus saugojimas, saugus sriegimas |
Aparatūra | Silicio pagrindo įtaisai, mikrovaldikliai, vienasluoksnės arba daugiasluoksnės plokštės |