Skip to main content
Šis puslapis rodomas naudojant automatinį vertimą. View in English instead?

Įterpta programinė įranga

Įterptoji programinė įranga yra specializuota programa arba programinė įranga, kuri veikia apdorojimo klasteryje, įdėtame į SoC arba IC. Beveik bet kuriame elektroniniame gaminyje gali būti vienas ar keli įterptieji procesoriai, paplitę šiandieniniuose automobiliuose, veiksnys grindų automatika, avionika, medicinos prietaisai ir dar daugiau.

Kokie yra skirtingi įterptųjų programinės įrangos tipai?

Įterptosios programinės įrangos programos yra specializuotas programavimas ne kompiuteriniuose įrenginiuose - arba kaip mikroschemos dalis, arba kaip kitos programos, kuri sėdi ant lusto, dalis - tam, kad būtų galima valdyti konkrečias įrenginio funkcijas. Skirtingai nuo kompiuterio programų, kurios gali būti įdiegtos įvairiose kompiuterinėse sistemose ir modifikuotos, kad užtikrintų skirtingus funkcionalumo lygius, įterptoji programinė įranga turi fiksuotus aparatūros reikalavimus ir galimybes. Jis sukurtas tik konkrečiam įrenginiui, kuriame jis veikia, apdorojimo ir atminties apribojimai tiesiogiai susiję su jo specifikacijomis. Šios diskusijos kontekste įterptoji programinė įranga apima programas, programinę-aparatinę įrangą, tarpines programas ir operacines sistemas, kurios vykdo ant vieno mikroprocesoriaus ar mikroprocesorių klasterio “įterptų” per papildomą logiką.

Susiję produktai: Capital Embedded AR Classic | Capital Embedded Integrator AR Classic | Capital Embedded Virtualizer AR Classic

A professional working on a computer with a graph, another person standing nearby observing the screen.

Įterptųjų sistemų charakteristikos ir ypatybės

Nors yra daug įterptųjų sistemų tipų, jos visos turi tas pačias naudingas savybes ir dizaino ypatybes.

Visos įterptinės sistemos yra specifinės užduočiai

Jie vykdo tą pačią iš anksto užprogramuotą funkciją per visą savo naudojimo laiką ir negali būti keičiami.

Visos įterptinės sistemos yra didelio efektyvumo

Įterptosios programinės įrangos išteklių reikalavimai niekada neturėtų viršyti aparatinės įrangos, kurioje ji įdiegta, talpos, o aparatinės įrangos specifikacijos niekada neturėtų viršyti minimalių įterptosios programinės įrangos reikalavimų.

Sukurtas stabilumui

Visos įterptos sistemos yra sukurtos taip, kad būtų labai patikimos ir stabilios. Jie turi atlikti savo užduotį nuosekliai reaguoti laiką ir veikti per visą prietaiso, kuriame jie yra, naudojimo laiką.

Kokių tipų įterptąją programinę įrangą siūlo “Siemens”?

“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

Su įterptąja programine įranga susiję ištekliai

Sužinokite daugiau

Įterptoji programinė įranga ir tinklo projektavimas

Sužinokite, kaip galite greitai ir efektyviai kurti novatorišką, saugią programinę įrangą, kad būtų užtikrintos gyvybiškai svarbios produkto funkcijos.