Skip to main content
Ta stran je prikazana z avtomatskim prevajanjem. Namesto tega glej v angleščini?

Vgrajena programska oprema

Vgrajena programska oprema je specializirana aplikacija ali vdelana programska oprema, ki deluje na procesnem grozdu, vgrajenem v SoC ali IC. Skoraj vsak elektronski izdelek lahko vsebuje enega ali več vgrajenih procesorjev, ki so pogosti v današnjih avtomobilih, faktorsko avtomatizacijo tal, avioniko, medicinske pripomočke in še več.

Katere so različne vrste vgrajene programske opreme?

Vgrajene programske aplikacije so specializirano programiranje znotraj naprav, ki niso osebni računalniki - bodisi kot del mikročipa bodisi kot del druge aplikacije, ki stoji na vrhu čipa - za nadzor določenih funkcij naprave. Za razliko od računalniških aplikacij, ki jih je mogoče namestiti v različne računalniške sisteme in jih spremeniti tako, da zagotavljajo različne ravni funkcionalnosti, ima vgrajena programska oprema fiksne strojne zahteve in zmogljivosti. Ustvarjen je izključno za določeno napravo, na kateri deluje, z omejitvami obdelave in pomnilnika, ki so neposredno povezane z njegovimi specifikacijami. V okviru te razprave vgrajena programska oprema vključuje aplikacije, vdelano programsko opremo, vmesno programsko opremo in operacijske sisteme, ki se izvajajo na enem samem mikroprocesorju ali skupini mikroprocesorjev, »vgrajenih« znotraj dodatne logike.

Sorodni izdelki: 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.

Značilnosti in značilnosti vgrajenih sistemov

Čeprav obstaja veliko vrst vgrajenih sistemov, imajo vsi enake koristne lastnosti in značilnosti oblikovanja.

Vsi vgrajeni sistemi so specifični za nalogo

V celotni življenjski dobi izvajajo isto vnaprej programirano funkcijo in jih ni mogoče spremeniti.

Vsi vgrajeni sistemi so visoko učinkoviti

Zahteve glede virov vgrajene programske opreme nikoli ne smejo presegati zmogljivosti strojne opreme, na kateri je nameščena, specifikacije strojne opreme pa nikoli ne smejo presegati minimalnih zahtev vgrajene programske opreme.

Zasnovan za stabilnost

Vsi vgrajeni sistemi so zasnovani tako, da so zelo zanesljivi in stabilni. Svojo nalogo morajo opravljati z doslednimi odzivnimi časi in delovati skozi celotno življenjsko dobo naprave, v kateri so nameščeni.

Katere vrste vgrajene programske opreme ponuja Siemens?

Siemens ponuja oboje avtomobilska vgrajena programska oprema in vgrajeno programsko inženirstvo rešitve. Siemens je prenehal ponuditi samostojno vgrajeno programsko opremo za SoC-je, saj so novembra 2023 upokojili izdelke Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux in Sourcery CodeBench (vključno s povezanimi dodatki). Obstoječe pogodbe o podpori za te izdelke še vedno izpolnjujejo, obrnite se na Siemens Center za podporo za več informacij.

Katere so različne vrste vgrajene programske opreme in njihovi nameni?

  • Operacijski sistem (OS) je v splošnem pomenu programska oprema, ki uporabniku omogoča zagon drugih aplikacij na računalniški napravi. Operacijski sistem upravlja strojne vire procesorja, vključno z vhodnimi napravami, kot sta tipkovnica in miška, izhodnimi napravami, kot so zasloni ali tiskalniki, omrežnimi povezavami in napravami za shranjevanje, kot so trdi diski in pomnilnik. OS ponuja tudi storitve za lažje učinkovito izvajanje in upravljanje programskih aplikacij ter dodelitev pomnilnika za njih.
  • Firmware - Firmware je vrsta programske opreme, ki je napisana neposredno za kos strojne opreme. Deluje brez uporabe API-jev, operacijskega sistema ali gonilnikov naprav — zagotavlja potrebna navodila in navodila za komunikacijo z drugimi napravami ali izvajanje osnovnih nalog in funkcij, kot je bilo predvideno.
  • Vmesna programska oprema - Middleware je programska plast, ki se nahaja med aplikacijami in operacijskimi sistemi. Vmesna programska oprema se pogosto uporablja v distribuiranih sistemih, kjer poenostavi razvoj programske opreme z zagotavljanjem naslednjega:

    • Skrivanje zapletenosti porazdeljenih aplikacij
    • Prikrivanje heterogenosti strojne opreme, operacijskih sistemov in protokolov
    • Zagotavljanje enotnih vmesnikov na visoki ravni, ki se uporabljajo za izdelavo interoperabilnih, večkratnih in prenosnih aplikacij.
    • Zagotavljanje skupnih storitev, ki zmanjšujejo podvajanje prizadevanj in krepijo sodelovanje med aplikacijami
  • Uporaba — Končni uporabnik razvije končno programsko aplikacijo, ki deluje na operacijskem sistemu, uporablja ali sodeluje z vmesno programsko opremo in vdelano programsko opremo ter je primarni fokus ciljne funkcije vgrajenih sistemov. Vsaka končna aplikacija je edinstvena, medtem ko so operacijski sistemi in vdelana programska oprema lahko enaki od naprave do naprave.

Vgrajena programska oprema vs vgrajeni sistemi

Komponente strojne opreme znotraj naprave z vgrajeno programsko opremo se imenujejo »vgrajeni sistem«. Nekateri primeri komponent strojne opreme, ki se uporabljajo v vgrajenih sistemih, so napajalna vezja, centralne procesorske enote, pomnilniške naprave, časovniki in serijska komunikacijska vrata. V zgodnjih fazah oblikovanja naprave se odloča o strojni opremi, ki bo sestavljala vgrajeni sistem - in njegova konfiguracija znotraj naprave. Nato se vgrajena programska oprema razvije iz nič, ki deluje izključno na tej strojni opremi v tej natančni konfiguraciji. Zaradi tega je oblikovanje vgrajene programske opreme specializirano področje, ki zahteva poglobljeno poznavanje zmogljivosti strojne opreme in računalniškega programiranja.

Primeri vgrajenih funkcij, ki temeljijo na programski opremi

Skoraj vsaka naprava s vezji in računalniškimi čipi ima te komponente, razporejene v vgrajen programski sistem. Posledično so vgrajeni programski sistemi vseprisotni v vsakdanjem življenju in jih najdemo v potrošniški, industrijski, avtomobilski, vesoljski, medicinski, komercialni, telekomunikacijski in vojaški tehnologiji.

Pogosti primeri vgrajenih funkcij, ki temeljijo na programski opremi, vključujejo:

  • Sistemi za obdelavo slik, ki jih najdemo v medicinski opremi
  • Krmilni sistemi Fly-by-Wire, najdeni v zrakoplovu
  • Sistemi za zaznavanje gibanja v varnostnih kamerah
  • Sistemi za nadzor prometa, ki jih najdemo v semaforjih
  • Časovni in avtomatizacijski sistemi, ki jih najdemo v pametnih hišnih napravah

Katere so različne vrste vgrajenih sistemov?

Na podlagi zmogljivosti in funkcionalnih zahtev obstaja pet glavnih razredov vgrajenih sistemov:

  • Vgrajeni sistemi v realnem času naloge opravljajo na determinističen in ponovljiv način, na kar vplivajo osnovna arhitektura in načrtovanje operacijskih sistemov ter delovanje niti, razvejanje in prekinitev zakasnitve. Vgrajeni sistemi za splošne namene ne vsebujejo zahtev v realnem času in lahko upravljajo prekinitve ali razvejanje brez odvisnosti od časa zaključka. Grafični zasloni ter upravljanje tipkovnice in miške so dobri primeri splošnih sistemov.
  • Samostojni vgrajeni sistemi lahko opravljajo naloge brez gostiteljskega sistema ali zunanjih virov obdelave. Lahko oddajajo ali sprejemajo podatke iz povezanih naprav, vendar niso odvisni od njih pri dokončanju svoje naloge.
  • Samostojni vgrajeni sistemi lahko opravijo svojo nalogo brez gostiteljskega sistema ali zunanjih virov obdelave. Lahko oddajajo ali sprejemajo podatke iz povezanih naprav, vendar niso odvisni od njih pri dokončanju svoje naloge.
  • Omrežni vgrajeni sistemi so odvisni od povezanega omrežja za izvajanje dodeljenih nalog.
  • Glede na kompleksnost strojne arhitekture sistema obstajajo tri glavne vrste vgrajenih sistemov: Omrežni vgrajeni sistemi so odvisni od povezanega omrežja za izvajanje dodeljenih nalog.

Kako končni trgi vplivajo na vgrajene sisteme

Vgrajene sistemske zahteve in komponente se bodo razlikovale glede na zahteve ciljnega trga. Nekateri primeri vključujejo:

  • Potrošnik - V aplikacijah, kot so potrošniško blago, kot so pralne stroje, nosljive naprave in mobilni telefoni, vgrajeni sistemi poudarjajo zmanjšano velikost
  • Sistem na čipu, nizka poraba energije ali delovanje baterije in grafični vmesniki. V teh aplikacijah so cenjeni nastavljivi operacijski sistemi in možnost izklopa nedelujočih »domen« zasnove.
  • Omrežje — aplikacije, ki omogočajo povezljivost, komunikacijo, delovanje in upravljanje omrežja podjetja. Zagotavlja komunikacijsko pot in storitve med uporabniki, procesi, aplikacijami, storitvami in zunanjimi omrežji/internetom. Vgrajene omrežne aplikacije se osredotočajo na hitrost odziva, obdelavo paketov in poti periferne strojne opreme.
  • Industrijski — Pri aplikacijah, kot so upravljanje tovarniških tal, motorji in vetrnice, je poudarek na varni povezljivosti v oblaku in determinističnemu delovanju v realnem času ter se lahko močno osredotoči na vmesno programsko opremo.
  • Medicinska, avtomobilska in vesoljska industrija — te industrije potrebujejo sisteme, kritične za mešano varnost, kjer so deli konstrukcije izolirani drug od drugega, da se zagotovi samo potrebni podatki, ki vstopajo ali zapustijo sistem (varnost), hkrati pa ne zagotavljajo škode za končnega uporabnika (varnost). Primeri so sistemi avtonomne vožnje v avtomobilih in medicinskih pripomočkih. Ti vgrajeni sistemi imajo lahko mešanico odprtokodnih (Linux) in determinističnih operacijskih sistemov v realnem času (RTOS) ter močno uporabljajo dokazano vmesno programsko opremo.

Zakaj je avtomobilska vgrajena programska oprema drugačna?

V avtomobilski elektroniki se zapletene interakcije v realnem času pojavljajo v več vgrajenih sistemih, ki jih vsak upravlja, kot so zaviranje, krmiljenje, vzmetenje, pogonski sklop itd. Fizično ohišje, ki vsebuje vsak vgrajeni sistem, se imenuje elektronska krmilna enota (ECU). Vsak ECU in njegova vgrajena programska oprema sta del kompleksne električne arhitekture, znane kot porazdeljeni sistem.

Z medsebojno komunikacijo lahko ECU-ji, ki sestavljajo porazdeljeni sistem vozila, izvajajo različne funkcije, kot so samodejno zaviranje v sili, prilagodljivi tempomat, nadzor stabilnosti, prilagodljivi žarometi in še veliko več. Ena funkcija bo morda potrebovala interakcije v 20 ali več vgrajenih programskih aplikacijah, razporejenih po številnih ECU-jih, povezanih z več omrežnimi protokoli. Kompleksni nadzorni algoritmi, uporabljeni z vgrajeno programsko opremo, zagotavljajo pravilen čas funkcij, potrebne vhode in izhode ter varnost podatkov.

Pogosti primeri funkcij, ki temeljijo na aplikacijah avtomobilske programske opreme, vključujejo:

  • Funkcije ADAS (Advanced Driver Assist Systems), kot so prilagodljivi tempomat, samodejno zaviranje v sili, pomoč pri ohranjanju proge, pomoč pri prometu, opozorila o odhodu iz proge
  • Upravljanje baterij
  • Kompenzacija navora
  • Nadzor hitrosti vbrizgavanja goriva

Zbirka programske opreme ECU

Elektronska krmilna enota ali ECU je sestavljena iz glavne računalniške enote s strojno opremo na ravni čipa in kupom vgrajene programske opreme. Vendar pa med proizvajalci avtomobilov narašča trend, da oblikujejo ECU-je s kompleksnimi integriranimi vezji, ki vsebujejo več računalniških jeder na enem čipu - kar imenujemo sistem na čipu (SoC). Ti SoC-ji lahko gostijo množico abstrakcij ECU, da bi utrdili strojno opremo. Zbirka programske opreme za ECU običajno vključuje vrsto rešitev, od strojne programske opreme na nizki ravni do vgrajenih programskih aplikacij na visoki ravni.

ECU sklad

Opis

Vgrajena programska aplikacija

Nadzorni algoritmi, obdelava, storitve

Okvir uporabe

Varnostni in varnostni okviri

Delovno okolje

AUTOSAR classic, AUTOSAR Adaptive, Vhodni/izhodni kanali

Vgrajene virtualizacije

OS v realnem času, abstrakcije ECU

Strojna programska oprema

Zagonski nakladalniki, varno shranjevanje, varno navajanje

Strojna oprema

Naprave na osnovi silicija, mikrokrmilniki, enoslojne ali večplastne plošče

Vgrajeni viri, povezani s programsko opremo

Izvedite več

Vgrajena programska oprema in oblikovanje omrežja

Ugotovite, kako lahko hitro in učinkovito razvijete inovativno in varno programsko opremo za zagotavljanje ključnih funkcij izdelka.