Domov

Referencie z viac ako troch desaťročí embedded vývoja

Klienti z automotive a priemyslu dôverujú mojim embedded skúsenostiam od založenia SCHMITT CONSULTING. Dva projekty ilustrujú môj spôsob práce.

Ako nezávislý embedded konzultant vyvíjam pre klientov, ktorí potrebujú softvér blízky hardvéru, správanie v reálnom čase alebo kombináciu oboch.

Z dôvodov dôvernosti nemožno všetky projekty prezentovať verejne. Nasledujúce dva príklady opisujú projekty, ktorých kľúčové údaje smiem uvádzať.

Stihl — kompletný novinkový vývoj riadenia motora motorovej píly

Pre Stihl vo Waiblingene som úplne nanovo vyvinul softvér na riadenie motora motorovej píly. Východiskovým bodom bola analytická úloha: existujúci riadiaci softvér pochádzal od japonského dodávateľa a bol napísaný v assembleri. Stihl chcel podrobne rozumieť, čo tento softvér robí. Analyzoval som assemblerový kód a zdokumentoval funkcie tak, aby vývojári Stihl mohli logiku plne sledovať.

Na tomto základe som dostal zákazku na nový vývoj — tentoraz v C, s cieľom dodať viac funkčnosti než pôvodný softvér. Okrajové podmienky boli tvrdé: trh motorových píl je extrémne cenovo konkurenčný, takže k dispozícii bol iba veľmi malý, lacný mikrokontrolér. Pamäť bola taká obmedzená, že operačný systém reálneho času bol vylúčený. Softvér mal bežať bare-metal a zároveň spoľahlivo paralelne spracovávať realtime signály z hardvéru.

Po celý vývoj som mal na stole iba dosku s hardvérom a svoj kód — žiadne testovacie prostredie, žiadny motor. Prvý praktický test prebehol na skúšobni Stihl vo Waiblingene. Po mesiacoch analýzy a vývoja by nebolo nezvyčajné, keby motor nenaskočil hneď napoprvé. Naskočil okamžite a v zásade bežal dobre. Zvyšok bolo doladenie bodov zapaľovania, iteratívne optimalizovaných na skúšobni — postup, ktorý inokedy pokrýva adaptívny učiaci softvér, ale tu sa z pamäťových dôvodov musel vykonať ručne.

Nakoniec som Stihlu dodal riadiaci softvér, ktorý robil viac než predchádzajúca japonská verzia, bežal na rovnako lacnom mikrokontroléri a bol odovzdaný s úplnou dokumentáciou. Komerčný rámec stojí za zmienku: pri záverečnom vyjednávaní v nákupnom oddelení Stihl nebola predtým dohodnutá cena znížená. Nákupca iba jasne povedal, že každé euro musí byť odôvodniteľné — ale zníženie ceny nebolo cieľom. Táto skúsenosť — klient, ktorý platí odôvodniteľné ceny za odôvodniteľnú kvalitu — je na trhu vzácna a dodnes formuje moje chápanie dobrej spolupráce.

Projekt bol riešený ako zmluva s pevnou cenou. Vývoj prebiehal úplne mimo priestorov Stihl; odsúhlasovanie s kontaktnou osobou Stihl prebiehalo iba pri zásadných rozhodnutiach. Táto forma spolupráce sa ukázala ako nezvyčajne efektívna.

Audi — MOST simulácia a vlastný vývoj CAN hardvéru

Pre Audi v Ingolstadte bola moja pôvodná zákazka tvorba softvéru na simuláciu zbernice MOST pre infotainment systém — realtime simulácia, ktorá umožňovala testovanie riadiacich jednotiek proti virtuálnej MOST zbernici.

Na mieste sa ukázalo, že Audi malo paralelne druhý problém: existujúca CAN simulačná doska, dodaná externým dodávateľom, nepracovala spoľahlivo v určitých prevádzkových podmienkach — jednoducho prestala posielať údaje v rozhodujúcich okamihoch. Pretože mi moja MOST práca poskytla detailnú znalosť súčinnosti CAN a MOST zbernice, kontaktná osoba Audi sa ma spýtala, či dokážem túto CAN simuláciu znovu vybudovať samostatne.

Súhlasil som, s poznámkou, že prvým krokom by bol funkčný prototyp — nie pekný, ale funkčný. Za menej ako päť pracovných dní ležala na stole mnou navrhnutá elektronická doska s ATmega128, sprevádzaná mnou napísaným simulačným softvérom. Prototyp bol ručne spájkovaný, ale fungoval — aj v prevádzkových podmienkach, v ktorých doska predchádzajúceho dodávateľa zlyhávala.

Audi sa potom spýtalo, či môžem kusy vyrábať a dodávať — ale v priemyselnej kvalite, plne strojovo vyrobené, nie ručne. Navrhol som layout pre sériovú dosku a spolupracoval s výrobcom PCB z prostredia Audi, ktorý sa postaral o strojovú výrobu. Po vyriešení incidentu pri strojovom testovaní výrobcu doska dodávala spoľahlivé výsledky — práve tam, kde pôvodná dodávateľská doska zlyhávala.

Tento projekt ukazuje prípad, keď zákazka rástla vďaka konkrétnej technickej substancii: k pôvodnej softvérovej úlohe pribudol vlastný hardvérový vývoj so sériovou výrobou — pretože som poznal zbernicovú architektúru natoľko hlboko, že som na požiadanie mohol navrhnúť funkčnú cestu riešenia.

Ďalší klienti

Popri podrobne opísaných projektoch som pracoval pre ďalších klientov v automotive, priemysle a medicíne. Konkrétnejšie referencie pre úlohy porovnateľné s vaším prostredím rád preberám v úvodnom rozhovore — pod mlčanlivosťou, ak si želáte.

Čo majú tieto projekty spoločné

Tri vlastnosti sa tiahnu oboma projektmi a väčšinou mojej činnosti:

Samostatná komplexná zodpovednosť
Oba projekty začali analytickou úlohou a skončili hotovým, dodaným riešením. Špecifikácia, návrh, implementácia, test a dodanie boli v mojich rukách.
Embedded práca blízka hardvéru za skutočných okrajových podmienok
Stihl: bare-metal na mikrokontroléri s minimálnou pamäťou. Audi: realtime MOST simulácia plus vlastný CAN hardvér.
Spolupráca ako zmluva s pevnou cenou a pevným prísľubom dodania
Oba projekty prebiehali mimo priestorov klienta, so selektívnym odsúhlasovaním pri zásadných rozhodnutiach. Táto forma spolupráce je mojím preferovaným modelom.

Farebná schéma

Jazyk