Siemens tilbyder begge indlejret software til bilindustrien og integreret softwareteknik løsninger. Siemens er ophørt med at tilbyde enkeltstående integreret software til SoC'er med pensioneringen i november 2023 af Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux og Sourcery CodeBench produkter (inklusive tilknyttede tilføjelser). Eksisterende supportkontrakter for disse produkter overholdes stadig, kontakt Siemens Supportcenter for mere information.
Hvad er de forskellige typer integreret software og deres formål?
- Operativsystem - Et operativsystem (OS), i sin mest generelle forstand, er software, der giver en bruger mulighed for at køre andre applikationer på en computerenhed. Operativsystemet administrerer processorens hardwareressourcer, herunder inputenheder såsom tastatur og mus, outputenheder såsom skærme eller printere, netværksforbindelser og lagerenheder såsom harddiske og hukommelse. OS leverer også tjenester til at lette effektiv udførelse og styring af, og hukommelsesallokeringer til, softwareapplikationsprogrammer.
- Firmware - Firmware er en type software, der er skrevet direkte til et stykke hardware. Det fungerer uden at gå gennem API'er, operativsystemet eller enhedsdrivere - og giver de nødvendige instruktioner og vejledning til at kommunikere med andre enheder eller udføre grundlæggende opgaver og funktioner efter hensigten.
- Middleware - Middleware er et softwarelag placeret mellem applikationer og operativsystemer. Middleware bruges ofte i distribuerede systemer, hvor det forenkler softwareudvikling ved at levere følgende:
- Skjuler forviklingerne ved distribuerede applikationer
- Maskering af heterogeniteten af hardware, operativsystemer og protokoller
- Tilvejebringelse af ensartede grænseflader på højt niveau, der bruges til at gøre interoperable, genanvendelige og bærbare applikationer.
- Levering af et sæt fælles tjenester, der minimerer dobbeltarbejde og forbedrer samarbejdet mellem applikationer
- Applikation - Slutbrugeren udvikler den endelige softwareapplikation, der kører på operativsystemet, bruger eller interagerer med middleware og firmware, og er det primære fokus for de integrerede systemers målfunktion. Hver slutapplikation er unik, mens operativsystemer og firmware kan være identiske fra enhed til enhed.
Indlejret software vs indlejrede systemer
Hardwarekomponenterne i en enhed, der kører integreret software, kaldes et „integreret system.“ Nogle eksempler på hardwarekomponenter, der bruges i indlejrede systemer, er strømforsyningskredsløb, centrale behandlingsenheder, flashhukommelsesenheder, timere og serielle kommunikationsporte. I en enheds tidlige designfaser bestemmes den hardware, der udgør det indlejrede system - og dets konfiguration i enheden -. Derefter udvikles integreret software fra bunden til udelukkende at køre på den hardware i den præcise konfiguration. Dette gør integreret softwaredesign til et specialiseret felt, der kræver dyb viden om hardwarefunktioner og computerprogrammering.
Eksempler på integrerede softwarebaserede funktioner
Næsten hver enhed med printkort og computerchips har disse komponenter arrangeret i et indlejret softwaresystem. Som et resultat er indlejrede softwaresystemer allestedsnærværende i hverdagen og findes i forbruger-, industri-, bil-, rumfart-, medicinsk, kommerciel, telekommunikations- og militærteknologi.
Almindelige eksempler på integrerede softwarebaserede funktioner omfatter:
- Billedbehandlingssystemer fundet i medicinsk billedbehandlingsudstyr
- Fly-by-wire-kontrolsystemer fundet i fly
- Bevægelsesdetekteringssystemer i sikkerhedskameraer
- Trafikstyringssystemer fundet i trafiklys
- Timing- og automatiseringssystemer, der findes i smarte hjemmeenheder
Hvad er de forskellige typer indlejrede systemer?
Når der er baseret på ydeevne og funktionskrav, er der fem hovedklasser af indlejrede systemer:
- Indlejrede systemer i realtid udfører opgaver på en deterministisk og gentagelig måde, hvilket påvirkes af operativsystemernes underliggende arkitektur og planlægning samt ydeevnen af tråde, forgrening og afbrydelse af latenstid. Integrerede systemer til generelle formål indeholder ikke et realtidskrav og kan håndtere afbrydelser eller forgreninger uden afhængighed af en færdiggørelsestid. Grafikskærme og tastatur- og musestyring er gode eksempler på generelle systemer.
- Stand-alone integrerede systemer kan udføre opgaver uden et værtssystem eller eksterne behandlingsressourcer. De kan udsende eller modtage data fra tilsluttede enheder, men er ikke afhængige af dem for at udføre deres opgave.
- Stand-alone integrerede systemer kan udføre deres opgave uden et værtssystem eller eksterne behandlingsressourcer. De kan udsende eller modtage data fra tilsluttede enheder, men er ikke afhængige af dem for at udføre deres opgave.
- Netværksbaserede integrerede systemer er afhængige af et tilsluttet netværk til at udføre tildelte opgaver.
- Baseret på kompleksiteten af systemets hardwarearkitektur er der tre hovedtyper af indlejrede systemer: Netværksbaserede integrerede systemer er afhængige af et tilsluttet netværk for at udføre tildelte opgaver.
Hvordan slutmarkeder påvirker indlejrede systemer
Indlejrede systemkrav og komponenter vil variere afhængigt af målmarkedets krav. Nogle eksempler omfatter:
- Forbruger - I applikationer som forbrugsvarer såsom vaskemaskiner, bærbare enheder og mobiltelefoner understreger indlejrede systemer den reducerede størrelse af
- System-on-chip, lavt strømforbrug eller batteridrift og grafikgrænseflader. I disse applikationer værdsættes konfigurerbare operativsystemer og evnen til at lukke ikke-fungerende „domæner“ af designet.
- Netværk — Applikationer, der muliggør tilslutning, kommunikation, drift og styring af et virksomhedsnetværk. Det giver kommunikationsstien og tjenesterne mellem brugere, processer, applikationer, tjenester og eksterne netværk/internettet. Indlejrede netværksapplikationer fokuserer på responshastighed, pakkebehandling og perifere hardwarestier.
- Industriel — For applikationer som fabriksgulvstyring, motorer og vindmøller har vægten tendens til at sikre cloud-forbindelse og deterministisk „real-time“ -drift og kan fokusere stærkt på middleware.
- Medicin, bilindustrien og luftfartsindustrien — Disse industrier har brug for blandede sikkerhedskritiske systemer, hvor dele af designet er isoleret fra hinanden for at sikre, at kun nødvendige data kommer ind eller forlader systemet (sikkerhed), samtidig med at der ikke garanteres nogen skade for slutbrugeren (sikkerhed). Eksempler er autonome køresystemer i biler og medicinsk udstyr. Disse indlejrede systemer kan indeholde en blanding af open source (Linux) og deterministiske realtidsoperativsystemer (RTOS) og bruger stærkt gennemprøvet middleware.
Hvorfor er integreret software til biler anderledes?
I bilelektronik forekommer komplekse realtidsinteraktioner på tværs af flere indlejrede systemer, som hver styrer funktioner såsom bremsning, styring, affjedring, drivlinje osv. Det fysiske hus, der indeholder hvert indlejret system, kaldes en elektronisk styreenhed (ECU). Hver ECU og dens indlejrede software er en del af en kompleks elektrisk arkitektur kendt som et distribueret system.
Ved at kommunikere med hinanden kan ECU'erne, der udgør et køretøjs distribuerede system, udføre en række funktioner, såsom automatisk nødbremsning, adaptiv fartpilot, stabilitetskontrol, adaptive forlygter og meget mere. En enkelt funktion kan have brug for interaktioner på tværs af 20 eller flere integrerede softwareapplikationer spredt over adskillige ECU'er, der er forbundet med flere netværksprotokoller. Komplekse kontrolalgoritmer implementeret med den indlejrede software sikrer korrekt timing af funktioner, nødvendige input og output og datasikkerhed.
Almindelige eksempler på applikationsbaserede funktioner til bilsoftware inkluderer:
- ADAS (Advanced Driver Assist Systems) funktioner som adaptiv fartpilot, automatisk nødbremsning, lane-keep assist, trafikassistent, advarsler om køreafgang
- Batteristyring
- Momentkompensation
- Kontrol af brændstofindsprøjtningshastighed
ECU-softwarestak
Den elektroniske styreenhed eller ECU består af en hovedcomputerenhed med hardware på chip-niveau og en stak indlejret software. Der er dog en stigende tendens blandt bilproducenter til at designe ECU'er med komplekse integrerede kredsløb, der indeholder flere computerkerner på en enkelt chip - hvad der kaldes et System on a Chip (SoC). Disse SoC'er kan være vært for en lang række ECU-abstraktioner for at konsolidere hardware. Softwarestakken til en ECU inkluderer typisk en række løsninger, fra firmware på lavt niveau til integrerede softwareapplikationer på højt niveau.
ECU-stak | Beskrivelse |
Indlejret softwareapplikation | Kontrolalgoritmer, behandling, tjenester |
Ansøgningsramme | Sikkerheds- og sikkerhedsrammer |
Driftsmiljø | AUTOSAR classic, AUTOSAR Adaptive, Indgangs-/udgangskanaler |
Integrerede virtualiseringer | OS i realtid, ECU-abstraktioner |
Firmware | Boot-læssere, sikker opbevaring, sikker trådføring |
Hardware | Siliciumbaserede enheder, mikrocontrollere, enkelt- eller flerlagskort |