Startside

Referencer fra mere end tre årtiers embedded-udvikling

Kunder fra bilindustri og industri har tillid til min embedded-ekspertise siden grundlæggelsen af SCHMITT CONSULTING. To projekter illustrerer min arbejdsmåde.

Som uafhængig embedded-konsulent udvikler jeg til kunder, der har brug for hardwarenær software, realtidsadfærd eller kombinationen af de to. Min virksomhed strækker sig fra fastprisaftale med fast leveringsløfte, gennem timekontingenter, til månedslang ledsagelse af udviklingsafdelinger.

Af fortrolighedsgrunde kan ikke alle projekter præsenteres offentligt. De to eksempler nedenfor beskriver projekter, hvis nøgleoplysninger jeg må nævne — og som illustrerer min arbejdsmåde.

Stihl — fuldstændig nyudvikling af en motorstyring til kædesav

For Stihl i Waiblingen nyudviklede jeg motorstyringssoftwaren til en kædesav fra grunden. Udgangspunktet var en analyseopgave: den eksisterende styresoftware kom fra en japansk leverandør og var skrevet i assembler. Stihl ønskede i detaljer at forstå, hvad denne software gjorde. Jeg analyserede assembler-koden og dokumenterede funktionerne, så Stihl-udviklerne kunne følge logikken fuldt ud.

På denne baggrund fik jeg opgaven om en nyudvikling — denne gang i C, med det mål at levere mere funktionalitet end den oprindelige software. Randbetingelserne var hårde: kædesavmarkedet er ekstremt prispresset, så der var kun en meget lille, billig mikrocontroller til rådighed. Hukommelsen var så snæver, at et realtidsoperativsystem var udelukket. Softwaren skulle køre bare-metal og samtidig pålideligt behandle realtidssignaler fra hardwaren parallelt.

Under hele udviklingen havde jeg kun kortet med hardwaren og min kode på bordet — ingen testmiljø, ingen motor. Den første praktiske afprøvning fandt sted på Stihls testbænk i Waiblingen. Efter måneders analyse og udvikling havde det ikke været usædvanligt, hvis motoren ikke startede med det samme. Den startede øjeblikkeligt og kørte grundlæggende godt. Resten var finjustering af tændingstidspunkterne, iterativt optimeret på testbænken — en procedure, der normalt dækkes af adaptiv læringssoftware, men som her måtte gøres manuelt af hukommelsesmæssige grunde.

Til sidst leverede jeg til Stihl en styresoftware, der gjorde mere end den foregående japanske version, kørte på den samme billige mikrocontroller og blev overdraget med komplet dokumentation. Den kommercielle ramme er bemærkelsesværdig: ved den afsluttende forhandling i Stihls indkøbsafdeling blev den tidligere aftalte pris ikke sænket. Indkøberen gjorde blot klart, at hver euro skulle kunne begrundes — men prisen skulle ikke sænkes. Den oplevelse — en kunde, der betaler begrundede priser for begrundet kvalitet — er sjælden på markedet og præger til i dag min forståelse af et godt samarbejde.

Projektet blev afviklet som fastprisaftale. Udviklingen foregik fuldstændigt uden for Stihls lokaliteter; afstemningen med Stihls kontaktperson skete kun ved grundlæggende beslutninger. Denne samarbejdsform har vist sig usædvanligt effektiv.

Audi — MOST-simulering og egen udvikling af en CAN-hardware

For Audi i Ingolstadt var min oprindelige opgave udarbejdelsen af en MOST-bus-simuleringssoftware til et infotainment-system — en realtidssimulering, der gjorde det muligt at teste styreenheder mod en virtuel MOST-bus.

På stedet viste det sig, at Audi parallelt havde et andet problem: et eksisterende CAN-simuleringskort, leveret af en ekstern leverandør, fungerede ikke pålideligt under bestemte driftsbetingelser — det stoppede simpelthen med at sende data i afgørende øjeblikke. Da mit MOST-arbejde havde givet mig detaljeret viden om samspillet mellem CAN- og MOST-bus, spurgte Audi-kontakten, om jeg kunne genopbygge denne CAN-simulering selvstændigt.

Jeg sagde ja, med den bemærkning, at det første skridt ville være en fungerende prototype — ikke pæn, men funktionel. Inden for mindre end fem arbejdsdage lå der et af mig selv designet elektronikkort med en ATmega128 på bordet sammen med en simuleringssoftware, jeg havde skrevet. Prototypen var håndlagt, men den fungerede — også under de driftsbetingelser, hvor den foregående leverandørs kort havde svigtet.

Audi spurgte derefter, om jeg kunne fremstille og levere enheder — men i industriel kvalitet, fuldt maskinfremstillet, ikke håndlavet. Jeg designede layoutet til seriekortet og arbejdede sammen med en PCB-producent i Audis omgivelser, som tog sig af maskinfremstillingen. Efter at en hændelse i producentens maskintest var løst, leverede kortet pålidelige resultater — netop dér, hvor det oprindelige leverandørkort havde svigtet.

Dette projekt viser et tilfælde, hvor en opgave voksede gennem konkret teknisk substans: til den oprindelige softwareopgave kom en egen hardwareudvikling med serieproduktion — fordi jeg kendte bus-arkitekturen så dybt, at jeg på forespørgsel kunne foreslå en fungerende løsningsvej.

Andre kunder

Ud over de detaljeret beskrevne projekter har jeg arbejdet for andre kunder inden for bilindustri, industri og medicin. Udvalget ovenfor følger kriteriet, at nøgleoplysningerne kan præsenteres offentligt. Mere konkrete referencer for opgaver, der svarer til din omgivelse, drøftes gerne i en indledende samtale — under fortrolighed om ønsket.

Hvad disse projekter har til fælles

Tre egenskaber går igennem begge projekter og gennem størstedelen af min virksomhed:

Selvstændigt helhedsansvar
Begge projekter begyndte med en analyseopgave og endte med en færdig, leveret løsning. Specifikation, design, implementering, test og levering lå i mine hænder — hos Audi endda helt frem til hardwarens serieproduktion via en partner.
Hardwarenær embedded-arbejde under reelle randbetingelser
Stihl: bare-metal på en mikrocontroller med minimal hukommelse. Audi: realtids-MOST-simulering plus egen CAN-hardware. I begge tilfælde drejede det sig ikke om standardapplikationer, men om opgaver, hvor randbetingelserne former løsningen.
Samarbejde som fastprisaftale med fast leveringsløfte
Begge projekter forløb uden for kundens lokaliteter, med selektiv afstemning ved grundlæggende beslutninger. Denne samarbejdsform er min foretrukne model — den beskytter kunden mod unødigt styringsarbejde og giver mig den koncentration, hardwarenær udvikling kræver.

Farveskema

Sprog