Embedded software: definitie, voorbeelden en voor- en nadelen

Iedereen is ongetwijfeld bekend met software voor de PC of notebook, maar ook een andere vorm van toepassing heeft zijn intrede gedaan. In het geval van zogenaamde “embedded systems” zijn deze stevig verbonden met de …

Embedded software: definitie, voorbeelden en voor- en nadelen

  1. Tijdschrift
  2. »
  3. Artikel
  4. »
  5. Software
  6. »
  7. Embedded software: definitie, voorbeelden en voor- en nadelen

Iedereen is ongetwijfeld bekend met software voor de PC of notebook, maar ook een andere vorm van toepassing heeft zijn intrede gedaan. In het geval van zogenaamde “embedded systems” zijn deze stevig verbonden met de hardware en zorgen ervoor dat het apparaat een bepaalde logica volgt. De besturing is vergelijkbaar met die van een computer. In dit artikel leggen we uit hoe “embedded software” werkt en laten we aan de hand van enkele praktische voorbeelden zien waarvoor het gebruikt kan worden.

Kan ingebedde software worden overgedragen naar andere apparaten?

Nee, embedded programma’s worden specifiek voor een bepaald apparaat of een bepaalde functie ontwikkeld en kunnen niet worden uitgewisseld of gewijzigd.

Welke voordelen heeft embedded software ten opzichte van conventionele programma’s?

Enerzijds wordt embedded software gekenmerkt door een laag stroomverbruik en ruimtebeslag, anderzijds is het ook zeer onderhoudsarm.

Waar vind ik embedded software in het dagelijks leven?

Embedded toepassingen worden gebruikt op alle gebieden van het IoT (“Internet of Things”).

Definitie: Wat is ingebedde software?

CPU auf Mainboard Embedded Software
De CPU kloksnelheid van een embedded systeem is meestal ook lager dan die van een conventionele PC.

Embedded software” is software die is ontwikkeld voor specifieke hardware. De toepassingen draaien grotendeels ongemerkt door de gebruiker op de achtergrond en zorgen voor de besturing, regeling en bewaking van de functies. De term “firmware” wordt ook vaak als synoniem gebruikt.

Embedded software bestaat in wezen uit drie componenten die het ontwerp en de functionaliteit ervan bepalen:

  • De bootloader zorgt voor het laden of updaten van het besturingssysteem en de toepassingssoftware.
  • Het besturingssysteem is verantwoordelijk voor bestands- en geheugenbeheer en regelt multitasking.
  • De toepassingssoftware is de interface met het hostsysteem. Deze bevat apparaatspecifieke functies en verwerkt de eerder verzamelde gegevens.

Embedded systemen worden vaak gekenmerkt door strikte randvoorwaarden. Daartoe behoren bijvoorbeeld factoren als minimalisering van kosten en ruimte en beperking van de energiebehoefte. Daarnaast zijn er meestal hoge eisen op het gebied van werking, betrouwbaarheid, real-time gedrag en natuurlijk veiligheid. Het is dan ook niet verwonderlijk dat de platforms vaak sterk afwijken van het gebruikelijke (gestandaardiseerde) PC-ontwerp.

Goed om te weten: De tegenhanger van het “embedded systeem” is het zogenaamde “self-contained systeem”, waarbij de functies zijn gescheiden in verschillende onafhankelijke systemen. Hiertoe behoren bijvoorbeeld op microcontrollers gebaseerde automobielbesturingen, maar ook een gewoon computertoetsenbord.

Engineering basics: Hoe programmeer je embedded software?

Software Code mit Highlights
Ontwikkelaars gebruiken nu ook moderne programmeertalen zoals C of C++ voor het schrijven van embedded software.

Het ontwikkelen van embedded software verschilt van het schrijven van conventionele computerprogramma’s en is ook veel veeleisender. In een embedded systeem is slechts een beperkte hoeveelheid geheugen beschikbaar; bovendien zijn programma- en datageheugen van elkaar gescheiden. De kloksnelheid van de embedded processor ligt ook vaak ver onder die van een conventioneel PC systeem.

Dit betekent dat de embedded code niet alleen uitgebreide functionaliteit moet bieden, maar ook met de vereiste snelheid moet draaien ondanks de beperkte middelen. Daarnaast moet ook worden voldaan aan eisen op het gebied van architectuur, timing en stroomverbruik.

Gelukkig beschikken embedded ontwikkelaars over een aantal gereedschappen en technieken om dergelijke ontwerpen te implementeren. Embedded software wordt meestal geprogrammeerd in assembler, maar nu worden steeds vaker high-level talen zoals C of C++ gebruikt. Deze hebben meestal een betere compiler. Bovendien kunnen veel van de analyse- en optimalisatietechnieken ook worden gebruikt voor toepassingen die op assembler zijn gebaseerd.

3 Praktische voorbeelden voor het gebruik van embedded software

Het apparaat in kwestie hoeft niet noodzakelijkerwijs een computer te zijn. Een van de meest prominente voorbeelden van een ingebed systeem zijn moderne auto’s, die zonder elektronica praktisch niet meer rijden.

Of het nu gaat om ABS, adaptief chassis, airbag of de automatische transmissie – ze worden allemaal aangestuurd door uiterst efficiënte software die als subsysteem in combinatie met de bijbehorende hardware een nauwkeurig omschreven functie vervult.

Cockpit eines modernen Autos
Tegenwoordig zouden moderne auto’s niet eens meer rijden zonder ingebedde software.

Als het ABS bijvoorbeeld van de snelheidssensoren van de banden informatie ontvangt dat het wiel bij het remmen zou kunnen blokkeren, gebruikt het hydraulische kleppen om de remdruk op het betreffende wiel te veranderen. Op die manier blijven het stuurvermogen en de rijstabiliteit behouden.

3.1 Constructie profiteert ook van geïntegreerde software

Bagger mit Embedded Software
Embedded software zorgt ook voor een revolutie in de bouwsector. Talrijke machines sturen hun bedrijfsgegevens nu via sms of internet naar een centraal beheersysteem
.

Een andere industrie die profiteert van het gebruik van embedded software is de bouwsector. De bouwmachines van de fabrikant Liebherr zijn bijvoorbeeld uitgerust met een embedded systeem van Zühlke Engineering dat de bedrijfsgegevens uitleest en via SMS of internet doorstuurt naar een datacentrum. Als bijvoorbeeld de oliedruk te hoog is, waarschuwt het systeem voor een te hoge belasting van de hydraulische slangen. Bovendien kunnen de technici ter plaatse via onderhoud op afstand vanuit het controlecentrum worden ondersteund.

En ook in de productie worden steeds meer processen geautomatiseerd met behulp van intelligente software. Er zijn nu zelfs stansmachines die onregelmatigheden in het materiaal kunnen detecteren. Bovendien herkennen ze fouten in het productieproces en stellen ze zichzelf binnen enkele seconden bij door middel van software-updates op basis van deze gegevens.

Daarnaast is er ook embedded software:

  • Consumentenelektronica, bv. televisies, digitale radio’s, tv’s, spelconsoles of streaming boxes.
  • Telecommunicatieapparatuur, bv. routers of mobiele telefoons.
  • Industriële en medische technologie
  • Militaire technologie
  • Ruimtevaart
  • Bedieningselementen voor wasmachines, vaatwassers en koelkasten

Goed om te weten: Het netwerken van individuele embedded systemen creëert een reeks nieuwe mogelijkheden voor complexe omgevingen, waarmee processen in real time en zonder voortdurende menselijke tussenkomst in kaart kunnen worden gebracht.

Wat zijn de voor- en nadelen van embedded software?

Embedded Software: Update auf Notebook
Vereenvoudigd beheer: updates zijn een echte zeldzaamheid bij embedded software.

Het inbedden van de software in een algemeen systeem heeft enkele belangrijke voordelen. Aangezien de systemen in de meeste gevallen slechts één functie hebben, passen ze niet alleen in een zeer kleine ruimte, maar worden ze ook gekenmerkt door een laag stroomverbruik. Bovendien zijn ze relatief goedkoop in aanschaf en dus een zeer goedkope en efficiënte manier om apparaten te besturen.

Bovendien is embedded software zeer onderhoudsarm, wat betekent dat deze slechts zeer zelden een update nodig heeft. Dit maakt het bijzonder interessant voor integratie in apparaten die niet noodzakelijkerwijs door de eindgebruiker hoeven te worden onderhouden en die niet regelmatig hoeven te worden bijgewerkt.

4.1 Embedded software heeft ook zijn beperkingen

Ondanks alle positieve aspecten heeft embedded software ook enkele nadelen die we hier niet onvermeld willen laten. Enerzijds is zij onmisbaar voor de werking van het totale systeem en kan zij helaas niet worden vervangen omdat zij embedded is. Met een modulaire structuur daarentegen bestaat de mogelijkheid om achteraf functies en processen toe te voegen en te verwijderen.

Upgraden van een embedded systeem is in principe ook onmogelijk, omdat hardware en software speciaal ontworpen zijn voor continue werking zonder updates. Om een embedded systeem te wijzigen moet het gastapparaat eerst volledig worden gedemonteerd om het na herprogrammering weer in elkaar te zetten. In de meeste gevallen is het daarom veel goedkoper om het volledig te vervangen.

Een ander punt dat vaak tot problemen leidt, is het feit dat ingebedde systemen niet volledig reactief zijn. Zij communiceren via sensoren en actuatoren en verwachten een correcte reactie in real time. Wordt dit niet geleverd, dan is het resultaat “FALSE”, wat op zijn beurt de werking van het hele systeem aantast.

In deze video kunt u ook zien wat embedded software is:

https://www.youtube.com/watch?v=N00PHskiIXA

Gerelateerde berichten