Ett inbäddat system är en dator som har byggts för att lösa några få mycket specifika problem och som inte är lätt att ändra. Ordet inbäddad betyder att den är inbyggd i systemet. Det är en permanent del i ett större system. Det ser vanligtvis inte ut som en dator, ofta saknas tangentbord, bildskärm eller mus. Men precis som alla datorer har den en processor och programvara, in- och utdata.

Till exempel säger styrenheten i en hiss till motorn att flytta hissen till olika våningar, baserat på knappar som trycks in. En dekoder är inbäddad i en satellit-tv-box (kallad STB) för att läsa av en signal från parabolen och sända något som en tv förstår. Ofta måste den här typen av system utföra sitt arbete på en viss tid. Detta kallas realtidsdrift. Om en set-top box avbryts för att göra en annan uppgift skulle du till exempel få se en dålig bild på tv:n. En dator för allmänt bruk har ofta korta pauser medan den gör något annat, det är inte realtidsdrift.

Inbäddade system styr många av de vanligaste enheterna som används idag, t.ex. kortläsare i hotelldörrlås eller flera saker i en bil. De kan styra små saker som en MP3-spelare eller en digitalkamera och stora saker som trafikljussystem, flygplan eller monteringslinjer i en fabrik.

Funktioner och egenskaper

Inbäddade system skiljer sig från vanliga persondatorer genom flera karakteristiska drag:

  • Specifik funktionalitet: De är designade för att utföra en eller några få uppgifter mycket effektivt.
  • Begränsade resurser: Mindre processorprestanda, begränsat minne och lagring för att hålla kostnader och energiförbrukning låga.
  • Robusthet och pålitlighet: Många system måste fungera under lång tid utan underhåll och klara hårda miljöer.
  • Energieffektivitet: Speciellt viktigt i batteridrivna enheter som wearables och sensornoder.
  • Realtidskrav: Kravet att svara inom en viss tid, ibland med hårda (ingen fördröjning tillåten) eller mjuka (viss fördröjning tolereras) realtidsbegränsningar.
  • Integrering: Ofta inbyggda i större system där användaren kanske inte ens märker att en dator finns där.

Vanliga komponenter

Ett inbäddat system består vanligtvis av följande delar:

  • Processor (mikrokontroller eller mikroprocessor) som kör programmet.
  • Minne — både arbetsminne (RAM) och icke-flyktigt minne (flash, EEPROM) för firmware och data.
  • In- och utgångar — sensorer (temperatur, tryck, gyroskop etc.) och aktuatorer (motorer, reläer, ventiler).
  • Kommunikationsgränssnitt — t.ex. UART, SPI, I2C, CAN, Ethernet, Wi‑Fi eller Bluetooth för att utbyta data.
  • Strömförsörjning — batterihantering eller regulatorer för stabil drift.
  • Mjukvara — firmware, drivrutiner och ibland ett realtidsoperativsystem (RTOS).
  • Bootloader — möjliggör uppdatering av firmware i fält.

Typer och realtidskrav

Inbäddade system kan klassificeras efter komplexitet och krav:

  • Enkla styrkretsar: Baseras ofta på en ensam mikrokontroller och kör ett litet program utan operativsystem.
  • Komplexa system: Innehåller flera processorer, operativsystem (RTOS eller Linux-baserat) och avancerad kommunikation.
  • Hårda realtidssystem: Där förseningar kan leda till farliga konsekvenser (t.ex. flyg- eller bilstyrsystem).
  • Mjuka realtidssystem: Där prestanda påverkar upplevelsen men inte skapar omedelbar fara (t.ex. multimediauppspelning).

Praktiska exempel och användningsområden

Exempel på inbäddade system finns i nästan alla delar av vardagslivet och industrin:

  • Hissar: Styrenheter tar emot knapptryckningar och kontrollerar motor samt säkerhetssensorer.
  • Set-top boxar: Dekodrar av signaler och hantering av bild/ljud i realtid.
  • Bilar: Motorstyrningar (ECU), antisladdsystem (ESP), krockkuddestyrning, infotainmentsystem och många sensorer/aktuatorer.
  • Medicinteknik: Pacemakers, insulinpumpar och övervakningsutrustning — ofta säkerhetskritiska och certifieringskrävande.
  • Industriell automation: PLC:er och styrsystem för produktionslinjer, robotar och kvalitetssäkring.
  • Smart hem och IoT: Termostater, lås, säkerhetskameror och sensornoder som kommunicerar över nätverk.

Utveckling och utmaningar

Att bygga inbäddade system kräver hänsyn till flera tekniska och praktiska faktorer:

  • Programmering: C och C++ är vanligast, men även Assembly, Rust och skriptspråk för prototyper används.
  • Verktyg och testning: Kompilatorer, debuggerverktyg, emulatorer och hårdvaruprover är avgörande för att verifiera funktion och prestanda.
  • Säkerhet: Uppdateringsmekanismer (OTA), autentisering och skydd mot intrång blir allt viktigare i nätanslutna enheter.
  • Kostnad och massproduktion: Komponentval och design måste optimeras för pris vid stora volymer.
  • Regulatoriska krav: Vissa enheter kräver certifiering (t.ex. medicinsk utrustning eller fordonskomponenter).
  • Energihantering: Effektiv användning av ström för att förlänga batteritid är ofta avgörande.

Sammanfattning

Inbäddade system är specialiserade datorer inbyggda i större produkter för att utföra specifika uppgifter effektivt och pålitligt. De varierar från enkla styrkretsar i hushållsprodukter till komplexa, säkerhetskritiska system i fordon och medicinteknik. Utvecklingen kräver både hårdvaru- och mjukvarukunskap, noggrann testning samt hänsyn till prestanda, energiförbrukning och säkerhet.