Pagină principală

Referințe din peste trei decenii de dezvoltare embedded

Clienții din automotive și industrie au încredere în experiența mea embedded de la fondarea SCHMITT CONSULTING. Două proiecte ilustrează modul meu de lucru.

Ca consultant embedded independent dezvolt pentru clienți care au nevoie de software apropiat de hardware, comportament în timp real sau combinația ambelor.

Din motive de confidențialitate nu toate proiectele pot fi prezentate public. Următoarele două exemple descriu proiecte ale căror date cheie le pot menționa.

Stihl — redezvoltarea completă a comenzii motorului unui ferăstrău cu lanț

Pentru Stihl din Waiblingen am redezvoltat complet software-ul comenzii motorului unui ferăstrău cu lanț. Punctul de plecare a fost o sarcină de analiză: software-ul de comandă existent provenea de la un furnizor japonez și era scris în asembler. Stihl dorea să înțeleagă în detaliu ce face acest software. Am analizat codul asembler și am documentat funcțiile astfel încât dezvoltatorii Stihl să poată urmări complet logica.

Pe această bază am primit comanda pentru o redezvoltare — de data aceasta în C, cu obiectivul de a livra mai multă funcționalitate decât software-ul original. Condițiile la limită erau dure: piața ferăstraielor cu lanț este extrem de competitivă la preț, astfel încât era disponibil doar un microcontroler foarte mic și ieftin. Memoria era atât de strânsă încât un sistem de operare în timp real era exclus. Software-ul trebuia să ruleze bare-metal și să proceseze în paralel în mod fiabil semnale în timp real provenind din hardware.

Pe parcursul întregii dezvoltări am avut pe masă doar o placă cu hardware-ul și codul meu — fără mediu de testare, fără motor. Primul test practic a avut loc pe bancul de testare Stihl din Waiblingen. După luni de analiză și dezvoltare nu ar fi fost neobișnuit dacă motorul nu ar fi pornit imediat. A pornit imediat și a funcționat fundamental bine. Restul a fost reglarea fină a punctelor de aprindere, optimizate iterativ pe bancul de testare.

În final i-am livrat lui Stihl un software de comandă care făcea mai mult decât versiunea japoneză anterioară, rula pe același microcontroler ieftin și a fost predat cu documentație completă. Cadrul comercial merită menționat: la negocierea finală în departamentul de achiziții al Stihl, prețul convenit anterior nu a fost redus. Achizitorul a făcut clar doar că fiecare euro trebuia să fie justificabil — dar reducerea prețului nu era un obiectiv. Această experiență — un client care plătește prețuri justificabile pentru calitate justificabilă — este rară pe piață și până astăzi modelează înțelegerea mea a unei bune colaborări.

Proiectul a fost gestionat ca un contract cu preț fix. Dezvoltarea s-a desfășurat complet în afara sediului Stihl; coordonarea cu persoana de contact Stihl a avut loc doar la decizii fundamentale.

Audi — simulare MOST și dezvoltare proprie hardware CAN

Pentru Audi din Ingolstadt comanda mea originală a fost crearea unui software de simulare a magistralei MOST pentru sistemul de infotainment — o simulare în timp real care permitea testarea unităților de control împotriva unei magistrale MOST virtuale.

La fața locului s-a dovedit că Audi avea în paralel o a doua problemă: o placă existentă de simulare CAN, livrată de un furnizor extern, nu funcționa fiabil în anumite condiții de operare — pur și simplu se oprea din trimiterea de date în momente decisive. Deoarece munca mea cu MOST îmi dăduse cunoștințe detaliate despre interacțiunea magistralelor CAN și MOST, persoana de contact de la Audi m-a întrebat dacă pot reconstrui această simulare CAN autonom.

Am fost de acord, cu observația că primul pas ar fi un prototip funcțional — nu frumos, ci funcțional. În mai puțin de cinci zile lucrătoare, pe masă era o placă electronică proiectată de mine cu ATmega128, însoțită de software-ul de simulare scris de mine. Prototipul era lipit manual, dar funcționa — și în condițiile de operare în care placa furnizorului anterior eșua.

Audi a întrebat apoi dacă pot fabrica și livra bucăți — dar în calitate industrială, complet fabricate mecanic, nu manual. Am proiectat layoutul pentru o placă de serie și am lucrat cu un producător PCB din mediul Audi care s-a ocupat de fabricația mecanică. După rezolvarea unui incident la testarea mecanică a producătorului, placa livra rezultate fiabile — exact acolo unde placa furnizorului original eșuase.

Acest proiect arată un caz în care comanda a crescut prin substanță tehnică concretă: la sarcina software originală s-a adăugat o dezvoltare hardware proprie cu producție în serie — pentru că cunoșteam arhitectura magistralelor suficient de profund pentru a propune la cerere o cale de soluție funcțională.

Alți clienți

Pe lângă proiectele descrise în detaliu am lucrat pentru alți clienți în automotive, industrie și medicină. Referințe mai concrete pentru sarcini comparabile cu mediul dumneavoastră sunt discutate cu plăcere într-o discuție inițială — sub confidențialitate, dacă doriți.

Ce au în comun aceste proiecte

Trei caracteristici se regăsesc în ambele proiecte și în majoritatea activității mele:

Responsabilitate completă autonomă
Ambele proiecte au început cu o sarcină de analiză și s-au încheiat cu o soluție finalizată, livrată.
Lucru embedded apropiat de hardware în condiții la limită reale
Stihl: bare-metal pe microcontroler cu memorie minimă. Audi: simulare MOST în timp real plus hardware CAN propriu.
Cooperare ca contract cu preț fix și angajament ferm de livrare
Ambele proiecte s-au desfășurat în afara sediului clientului, cu coordonare selectivă la decizii fundamentale. Această formă de cooperare este modelul meu preferat.

Schemă de culori

Limbă