Innebygde system – Embedded

En embedded enhet er det man gjerne kaller en liten «boks» med elektronikk. Den har lite eller intent brukergrensesnitt og plasseres gjerne bortgjemt og gjør oppgaven uten at vi tenker over det.

Som regel benyttes det elektronikk med helt andre hastigheter, minnestørrelser og strømforbruk enn i forbrukerelektronikk som mobiltelefoner og datamaskiner. En Atmel AVR mikrochip tilbyr gjerne 8MHz hastighet med 8KB programplass og 1KB minne. Til gjengjeld kan den, under de rette forutsetningene, vare i flere måneder på vanlige batterier.

Utvikling av embeddedløsninger, eller innebygde systemer, har helt særegne utfordringer. Det er et minimalt, eller rett og slett ikke noe, operativsystem. Man må som regel bruke en kombinasjon av C og assembly, og man må ta alle egenskapene ved den tilgjengelige hardware i betraktning. Man må telle klokkesykluser for å lage en nøyaktig tidsforsinkelse, fjerne såkalt bounce-støy fra en knapp som trykkes inn og se til at flashminnet får tid nok til å skrive ferdig før man fortsetter. Alt dette som moderne operativsystem og programmeringsspråk lar oss generalisere bort.

Vi utvikler både hardware og software om nødvendig, men der hvor det er mulig benytter vi standardkomponenter eller -moduler siden produksjonsvolumet vanligvis er for lite til å forsvare egenutvikling med mindre det gjelder spesielle behov. Et vanlig spesielt behov er krav om lang batterilevetid.

De enheter vi produserer, eller kjøper inn, skal alltid inngå i et større nettverk. De designes derfor for å kommunisere enten over mobilnettet (SMS eller GPRS) eller ethernet (LAN). Det er hver dag flere hundre slike enheter som rapporterer inn til vår, eller kundens, server for hver av disse tre kommunikasjonsveiene.

Eksempler på enheter vi benytter er

Flåtestyring2rabbitmod