Indlejret system: Hvad er det? Definition, funktion og eksempler
Indlejret system: Lær hvad et indlejret system er, hvordan det fungerer, realtidskrav og praktiske eksempler fra hverdagen—fra biler og elevatorer til set-top-bokse.
Et indlejret system er en computer, der er specialdesignet til at udføre en eller flere meget specifikke opgaver inden for et større apparat eller et system. Ordet indlejret betyder, at computeren er indbygget i og udgør en permanent del af dette større system. Indlejrede systemer ligner ofte ikke traditionelle computere: de har oftest ikke et tastatur, en stor skærm eller en mus, men de indeholder ligeledes en processor, software, hukommelse samt input- og output‑enheder (f.eks. sensorer og aktuatorer).
Hvordan fungerer et indlejret system?
Et indlejret system tager data fra omgivelserne via sensorer eller brugerintegration, behandler disse data i realtid eller nær‑realtid og sender styresignaler eller information til andre dele af det større system. Behandlingen kan være enkel (f.eks. aflæsning og tænd/sluk) eller kompleks (f.eks. billedbehandling, kontrolalgoritmer eller kryptografiske procedurer).
- Typiske komponenter: mikrocontroller eller mikroprocessor, hukommelse (RAM, flash), input/output-interfaces, strømforsyning, sensorer og aktuatorer.
- Software: kan være et enkelt program kørende direkte på hardware ("bare‑metal"), et operativsystem til indlejrede systemer (RTOS) eller et letvægts Linux‑system.
- Tidskrav: Mange indlejrede systemer arbejder under realtidskrav — de skal reagere inden for en specificeret tid. Dette kan være hard real time (kritisk, hvor fejl kan få alvorlige konsekvenser) eller soft real time (hvor forsinkelser er uønskede, men ikke katastrofale).
Eksempler og anvendelser
Indlejrede systemer findes i dag i et meget bredt spektrum af produkter og installationer:
- Dagligdags forbrugerelektronik: MP3-afspillere, digitalkameraer, smart-tv-set-top-bokse (dekodere) og husholdningsapparater.
- Bygnings- og adgangssystemer: kortlæsere i hoteldørlåse og alarmsystemer.
- Transport og biler: styreenheder til motor, bremser, airbags og infotainment; mange funktioner i moderne biler er indlejrede systemer.
- Industrielle anvendelser: samlebånds‑styring, PLC’er (programmable logic controllers) og robotter på fabrikker.
- Infrastrukturer: trafiklysanlæg, energistyring og fjernovervågning.
- Højrisiko-områder: flyvemaskiner, medicinsk udstyr og avancerede sikkerhedssystemer — hvor krav til pålidelighed, certificering og determinisme er meget høje.
Et konkret eksempel: Controlleren i en elevator beslutter, hvordan motoren skal flytte kabinen baseret på tryk på knapper og sensordata. En set-top-boks indeholder en dekoder, der læser signaler fra parabolen og sender data, som dit tv kan vise. Hvis et sådant system afbrydes eller forsinkes, kan resultatet være et dårligt tv‑billede eller en fejlagtig styring.
Kendetegn ved indlejrede systemer
- Specialisering: designet til en bestemt opgave eller et sæt opgaver.
- Begrænsede ressourcer: ofte begrænset regnekraft, hukommelse og strømforbrug.
- Pålidelighed og lang levetid: mange indlejrede systemer forventes at fungere i mange år uden opgraderinger.
- Real‑time krav: forsinkelser kan være uacceptable i kritiske systemer.
- Fysisk integration: indlejret i hardware, ofte med specifikke miljøkrav (temperatur, vibration, støv).
Sikkerhed, opdateringer og certificering
Sikkerhed og opdateringsmuligheder er blevet væsentlige udfordringer, især når indlejrede systemer kobles til netværk (Internet of Things). Vigtige tiltag omfatter sikker boot, firmware‑signering, kryptering, adgangskontrol og mulighed for sikre fjernopdateringer. I kritiske domæner kræves ofte formel certificering og dokumentation (f.eks. ISO 26262 i bilindustrien eller DO‑178C i flyelektronik).
Udviklingshensyn og udfordringer
- Ressourcebegrænsninger: optimering for lavt strømforbrug, begrænset hukommelse og lille fysisk plads.
- Test og verifikation: omfattende test for stabilitet og realtidsopførsel; ofte brug af hardware‑in‑the‑loop (HIL) eller simuleringer.
- Lang levetid og vedligeholdelse: behov for planlagte firmwareopdateringer og langsigtet support.
- Sikkerheds- og privatlivsbekymringer: sikring mod uautoriseret adgang og datalæk.
Tendenser og fremtid
Moderne indlejrede systemer bevæger sig i retning af øget netværksintegration (IoT), edge computing, og indlejret maskinlæring (AI på enheden). Det betyder flere data lokalt, lavere latenstid og større krav til sikkerhed og effektivitet.
Fordele og ulemper
- Fordele: høj specialisering, lavt energiforbrug, effektivitet, pålidelighed i mange applikationer.
- Ulemper: begrænset fleksibilitet, ofte sværere at opdatere eller modificere, sikkerhedsrisici når de er netværksforbundne.
Samlet set er indlejrede systemer usynlige, men essentielle komponenter i mange produkter og infrastrukturer i dag. De muliggør automatisering, præcis styring og nye funktioner i både små forbrugerprodukter og store, kritiske systemer.

Billede af det indre af et ADSL-modem/router. Et moderne eksempel på et indlejret system. De markerede dele omfatter en mikroprocessor (4), RAM (6) og flash-hukommelse (7).
Eksempler på indlejrede systemer
Indlejrede systemer anvendes i mange former for elektrisk udstyr, herunder:
- Telekommunikationssystemer bruger dem til telefoner, mobiltelefonnetværk og wi-fi-routere.
- Forbrugerelektronik omfatter radio- og tv-modtagere, MP3-afspillere, mobiltelefoner, videospilkonsoller, digitalkameraer, DVD-afspillere, GPS-modtagere, sikkerhedssystemer til hjemmet og printere.
- Husholdningsapparater som f.eks. mikrobølgeovne, vaskemaskiner, tyverialarmer og opvaskemaskiner har indbyggede systemer.
- Transportsektoren bruger indlejrede systemer til alt fra lokomotiver til tog, fly og biler.
- Industrien anvender elmotorer med elektroniske styringer, kortlæsere og CNC-maskiner, der automatisk fremstiller metaldele.
- Medicinsk udstyr som defibrillatorer, automatiserede blodtryksmålere og automatiserede insulinpumper.
- Militært udstyr, som walkie-talkies, satellitter og styresystemer til missiler.
Fælles træk
- Indlejrede systemer er designet til at udføre en specifik opgave, i modsætning til computere til generelle formål.
- Den ligner ikke en computer - der er måske ikke en fuld skærm eller et tastatur.
- Mange indlejrede systemer skal kunne gøre ting i realtid - på kort tid (næsten øjeblikkeligt set fra et menneskes synspunkt).
- Mange indlejrede systemer skal være meget sikre og pålidelige, især i forbindelse med medicinsk udstyr eller flyelektronik til styring af fly.
- Starter meget hurtigt. Folk ønsker ikke at vente et minut eller to på, at deres bil starter eller at deres nødudstyr starter.
- Den kan bruge et særligt operativsystem (eller nogle gange et meget lille hjemmelavet operativsystem), som hjælper med at opfylde disse krav, kaldet et realtidsoperativsystem eller RTOS.
- De programinstruktioner, der er skrevet til indlejrede systemer, kaldes firmware og lagres i skrivebeskyttet hukommelse eller flash-hukommelseschips. De kører med begrænsede computerhardwareressourcer: lidt hukommelse, lille eller ikke-eksisterende tastatur og/eller skærm.
Indlejrede systemer er ikke altid selvstændige enheder. Nogle gange er de bygget som et sæt, som f.eks. de forskellige dele i en bil - radioen, gashåndtaget, forureningskontrollen osv. Nogle gange kan de kommunikere med internettet eller et mobiltelefonnetværk, og de kan have en USB-læser eller andre tilslutninger.
Brugergrænseflader
Indlejrede systemer spænder fra ingen brugergrænseflade overhovedet - kun afsendelse og modtagelse af elektriske signaler - til en fuld grafisk brugergrænseflade som på en moderne computer. Ofte har de nogle få trykknapper og et lille display og nogle lysdioder. Et mere komplekst system kan have en berøringsskærm, så knappernes betydning kan ændres med hver skærm, som det er tilfældet i smartphones.

Et eksempel på en brugergrænseflade med knapper og et simpelt LCD-display.
Hardware
Hardware omfatter chips, ledninger, printplader, knapper og displays.
CPU'er
Den vigtigste chip er den centrale procesenhed (CPU). Denne kører softwareinstruktionerne. Det kan være en standardmikroprocessor eller en mikrocontroller. Mikrocontrollere omfatter mikroprocessoren samt simpelt periferiudstyr, så systemet kan blive mindre og billigere. De har mindre fleksibilitet, fordi disse dele ikke kan ændres. Normalt omfatter disse dele Flash-hukommelse og understøttelse af serielle porte, USB osv.
I modsætning til en mikroprocessor til en universalcomputer er det ikke altid bedre at være større og hurtigere. Mange indlejrede processorer er meget små. Nogle gange er det for at bruge mindre plads eller mindre strøm, andre gange er det for at være billigere. Almindelige computere anvender mikroprocessorer, der læser 32-bit eller 64-bit ord og kører med hastigheder målt i GHz, men indlejrede processorer har normalt 4 til 32 bits og kører med hastigheder, der normalt måles i titusindvis af MHz (hundrede gange langsommere). (Men programmerne er også mindre og kontrollerer ikke ting, der ikke bruges).
Færdige computerkort
Der findes "færdige" computerkort, som kan bruges i nogle indlejrede systemer. Disse bruger ofte Windows CE, Linux, NetBSD eller et indlejret realtidsoperativsystem.
Nogle gange kan det være nemmere at bruge et printkort, der allerede er fremstillet. Disse har normalt mange komponenter til fælles med almindelige computere, men er mindre end et printkort i en almindelig computer. Kort som f.eks. VIA EPIA kan køre Microsoft Windows. Fordelen er, at man sparer noget tid til elektroteknik og kan bruge de samme softwareudviklingsværktøjer, som anvendes til softwareudvikling af pc-typen. Eksempler på sådanne indlejrede enheder er pengeautomater eller skærme i kasinoer. Dette fungerer godt, hvis realtidskravene ikke er særlig strenge (det betyder ikke så meget, om et job f.eks. tager otte sekunder i stedet for fem).
ASIC- og FPGA-løsninger
Hvis enheden skal være meget lille eller skal sælges i meget store mængder ("high-volume"), giver det mening at lave en specialfremstillet eller specialiseret chip, der gør præcis det, der er brug for. Der er tale om et system på en chip (SoC), som indeholder et komplet system - processor, floating point-enhed, hukommelsescache og grænseflader på et enkelt integreret kredsløb. SoC'er kan fremstilles som et applikationsspecifikt integreret kredsløb (ASIC) eller ved hjælp af en FPGA (field-programmable gate array), som programmeres af de personer, der bygger det indlejrede system.
Perifere enheder
Indlejrede systemer taler med omverdenen eller andre komponenter ved hjælp af periferiudstyr som f.eks:
- Serielle porte: RS-232, RS-422, RS-485. Dette var tidligere ret almindeligt med 9-pin (eller større) stik.
- Synkron seriel kommunikationsgrænseflade: I²C Inter-integreret kredsløb, I²S Inter-integreret lyd, SPI, MIcrowire, ...
- Universal Serial Bus (USB).
- Netværk: Ethernet, Controller Area Network, LonWorks, ...
- Diskret indgang/udgang: Ind- og udgange til generelle formål (GPIO). Dette kan være en enkelt ledning med et on/off-signal. Den kan bruges til et lille tastatur eller til at tænde en LED.
- Analog til digital/digital til analog konverter (ADC/DAC). Dette måler noget, der ændrer styrke, som f.eks. en lyssensor eller en motorstyring.
- Fejlfinding: JTAG, ICSP-port, til softwareingeniører.

Soekris net4801, et indlejret system, der er rettet mod netværksapplikationer.
Software
Operativsystemer
Indlejrede systemer har ofte ikke brug for et komplet styresystem. Nogle bruger specielt udviklede små og enkle operativsystemer, der starter meget hurtigt, mens andre slet ikke har brug for et operativsystem. Indlejrede systemer tilpasses ikke så let, men de er bygget til at udføre deres opgaver meget mere pålideligt. Fordi hardwaren er enklere, er den også ofte billigere at bygge og kører hurtigere.
I modsætning hertil skal en computer til generelle formål være klar til at modtage nye enhedsdrivere og software til at køre hardware, som den endnu ikke kender, f.eks. nye printere eller harddiske. Den skal kunne køre forskellige applikationsprogrammer.
Efterhånden som indlejrede systemer bliver større, bliver ting, som tidligere kun fandtes på almindelige computere eller endog mainframes, nu almindelige på indlejrede systemer. Det gælder bl.a. beskyttet hukommelsesplads og åbne programmeringsmiljøer, herunder Linux, NetBSD osv.
Nogle eksempler på styresystemer, fra enkle til komplekse:
- Simpel kontrolsløjfe - En timer og en sløjfe bruges til at kalde forskellige underprogrammer gentagne gange. Dette laves ofte af én person til mindre systemer.
- afbrydelsesstyret - Opgaverne startes af forskellige slags begivenheder. Hændelsen kan være tidsbestemt (f.eks. hvert tiende sekund) eller et tryk på en knap eller modtagne data.
- nonpreemptive multitasking - Hver opgave får sin tur til at køre, og når den er færdig, kalder den en scheduler i operativsystemet for at køre den næste opgave.
- præemptiv multitasking eller multi-threading - En opgave kan stoppes efter et vist tidsrum for at lade en anden opgave køre i et stykke tid. Ingen opgave kan beslaglægge systemet. På dette niveau anses systemet for at have en "operativsystem"-kerne og kan køre opgaver parallelt. Denne type operativsystem købes normalt fra et firma, der kun arbejder med indlejrede operativsystemer.
Realtidsoperativsystemer omfatter produkter som MicroC/OS-II, Green Hills INTEGRITY, QNX eller VxWorks. I modsætning til MacOS eller Windows 7 er disse styresystemer ikke særlig kendt af de fleste mennesker. Men de anvendes mange steder, hvor tid og sikkerhed er meget vigtige. Folk bruger dem hver dag og er ikke klar over det.
Almindelige eksempler på større kerner er Embedded Linux og Windows CE. Selv om disse kerner ikke har de stramme tidsgrænser, der er nødvendige for et strengt realtidssystem, bliver de mere og mere almindelige, især i forbindelse med mere kraftfulde enheder som f.eks. trådløse routere og GPS'er. De giver mulighed for at genbruge kode i det offentlige domæne til enhedsdrivere, webservere, firewalls og anden kode. Softwareudviklere, der er mere fortrolige med at skrive programmer til pc'er, vil også finde dette mere velkendt. Om nødvendigt kan der anvendes en FPGA eller anden specialhardware til ting, der kræver stramme tidsgrænser.
Værktøj
Ligesom anden software bruger designere af indlejrede systemer compilere, assemblere og debuggere til at udvikle software til indlejrede systemer. De kan dog også bruge nogle mere specifikke værktøjer:
- For systemer, der anvender digital signalbehandling, kan udviklerne bruge matematiske værktøjer som MATLAB, MathCad eller Mathematica.
- Der kan anvendes tilpassede kompilatorer og linkere for at forbedre optimeringen til den pågældende hardware.
- Et indlejret system kan have sit eget specielle sprog eller designværktøj eller tilføje forbedringer til et eksisterende sprog som det, der anvendes af Basic Stamp.
Debugging-værktøjer:
- En in-circuit debugger (ICD), en hardwareenhed, der forbindes til mikroprocessoren via en JTAG-grænseflade. Den starter og stopper mikroprocessoren udefra, mens den kører softwaren. Den gør det også muligt at læse hukommelse og registre og at lagre softwareprogrammet i hukommelsen.
- Ekstern fejlfinding ved hjælp af logning eller seriel portudgang til at spore driften ved hjælp af enten en blinkende monitor (printfs).
- Interaktiv resident debugging - hvis operativsystemet understøtter det, er dette en shell på den indbyggede processor, der kører kommandoer, som udvikleren skriver (f.eks. Linux).
- En in-circuit-emulator erstatter mikroprocessoren på kortet og giver fuld kontrol over alt det, som mikroprocessoren kunne gøre.
- En komplet emulator simulerer alle hardwarens funktioner og gør det muligt at kontrollere og ændre alt. Hardwaren eksisterer ikke i virkeligheden, men en foregivende version af den (en "virtuel" maskine) findes på en normal pc.
- Kontrol af eksterne linjer med en logikanalysator eller et multimeter.
Medmindre det er begrænset til ekstern fejlfinding, kan programmøren typisk indlæse og køre software via værktøjerne, se den kode, der kører i processoren, og starte eller stoppe dens drift. Visningen af koden kan være som samlekode eller kildekode. Nogle integrerede systemer (som VxWorks eller Green Hills) har særlige funktioner, f.eks. at holde styr på, hvor meget plads softwaren tager, mens den kører, hvilke opgaver der kører, og hvornår tingene sker.
Afhængigt af hvilken slags indlejret system der laves, vil det påvirke, hvordan det kan debugges. F.eks. er fejlsøgning af et system med en enkelt mikroprocessor anderledes end fejlsøgning af et system, hvor behandlingen også foregår på en perifer (DSP, FPGA, co-processor).
Sikkerhed og pålidelighed
Indlejrede systemer er ofte indbygget i maskiner, der forventes at køre i årevis uden fejl og i nogle tilfælde at genoprette sig selv, hvis der opstår en fejl. Det betyder, at softwaren normalt udvikles og testes mere omhyggeligt end softwaren til pc'er, og at upålidelige mekaniske bevægelige dele som f.eks. diskdrev og ventilatorer undgås.
Steder, hvor sikkerhed og pålidelighed er vigtige:
- Nogle systemer kan ikke uden risiko lukkes ned for reparation, eller det er for vanskeligt at reparere dem. Det gælder f.eks. rumfartssystemer (satellitter, rovere), kabler under havet og styring af kernekraftværker.
- Systemet kan dræbe mennesker, hvis det svigter, som f.eks. flykontrol, kontrol af kemiske fabrikker, togsignaler og hjertedefibrillatorer.
- Systemet vil miste store beløb, hvis det lukkes ned, eller hvis der sker en fejl: Telefonkontakter, fabriksstyringer, kasseapparater, pengeautomater.
Måder at genoprette fejl - både softwarefejl som f.eks. hukommelseslækager og bløde fejl i hardwaren:
- Watchdog-timer, der genstarter det indlejrede system, hvis noget holder op med at fungere.
- Dobbeltdele, hvor et system kan tage over, hvis et andet holder op med at fungere.
- Software "limp modes", der giver delvis funktion.
- Immunitetsbevidst programmering
Relaterede sider
- Mikroprocessor
- Programmeringssprog
- Firmware
- Realtidsoperativsystem
Spørgsmål og svar
Spørgsmål: Hvad er et indlejret system?
A: Et indlejret system er en computer, der er bygget til at løse specifikke problemer og ikke er let at ændre.
Q: Hvordan adskiller et indlejret system sig fra en computer til generelle formål?
A: Et indlejret system har normalt ikke noget tastatur, skærm eller mus og har specialiserede funktioner. En computer til generelle formål kan udføre en lang række opgaver.
Spørgsmål: Hvad er nogle eksempler på indlejrede systemer?
A: Eksempler på indlejrede systemer er elevatorstyringer, set-top bokse, kortlæsere i hoteldørlåse, trafiklysanlæg, flyvemaskiner og samlebånd i fabrikker.
Spørgsmål: Hvad er realtidsdatabehandling?
A: Realtidsberegning er, når et indlejret system skal udføre sit arbejde inden for et bestemt tidsrum. Hvis det bliver afbrudt, kan det medføre problemer som f.eks. dårlig billedkvalitet på et tv.
Spørgsmål: Hvad er komponenterne i et indlejret system?
Svar: Som enhver computer har et indlejret system en processor, software, input og output.
Spørgsmål: Hvilke opgaver kan et indlejret system kontrollere?
Svar: Et indlejret system kan styre små enheder som MP3-afspillere eller digitalkameraer eller større systemer som trafiklys eller flyvemaskiner.
Spørgsmål: Hvad betyder udtrykket "indlejret" i forbindelse med indlejrede systemer?
A: Udtrykket "indlejret" betyder, at computeren er indbygget i et større system og ikke er let at ændre.
Søge