← Pradžia
Embedded paslaugos iš vienos rankos
Aparatinė įranga, programinė aparatinė įranga, FPGA dizainas, diagnostika ir testų automatizavimas — pagal fiksuotos kainos sutartį su tvirtu pristatymo įsipareigojimu arba kaip valandų kvota vykstantiems projektams.
Embedded projektai dažnai reikalauja kelių disciplinų vienu metu: reikia suprojektuoti grandinę, suprogramuoti mikrovaldiklį, verifikuoti FPGA, sukurti testavimo stendą. Vietoje tiekėjų grandinės koordinavimo šios užduotys gali būti sutelktos vienoje rankoje. Tai sutaupo sąsajas, koordinavimo pastangas ir atsakomybės išskaidymą.
Toliau pateikiamos šešios paslaugų sritys, kuriose dirbu. Jos nėra suplanuotos kaip katalogas — dauguma projektų derina kelias.
Kūrimas
Aparatinės ir programinės įrangos kūrimas
Elektroninių plokščių ir prietaisų projektavimas ir kūrimas — nuo analoginės grandinės iki FPGA dizaino. Mikrovaldiklio ir FPGA pagrindu sukurtos sistemos iš vienos rankos, įskaitant schemą, plokštės išdėstymą, programinę aparatinę įrangą ir aparatinei įrangai artimą tvarkyklių kūrimą.
- Grandinių projektavimas (analoginės ir skaitmeninės)
- Plokštės išdėstymas prototipui ir serijai
- Mikrovaldiklio programinė aparatinė įranga C/C++/asembleryje
- FPGA dizainai VHDL ir SystemVerilog kalbomis
- Bare-metal kūrimas mažuose mikrovaldikliuose
- Tvarkyklių kūrimas aparatinei įrangai artimoms sąsajoms
- Bootloader, watchdog, programinės aparatinės įrangos atnaujinimo mechanizmai
- Aparatinės įrangos pasirinkimas ir komponentų tiekimas
Algoritmai
Algoritmų kūrimas
Sisteminis kūrimas nuo matematinio modelio iki aparatinės įrangos įgyvendinimo. Algoritmai pirma modeliuojami pseudokode arba Matlab, tada įgyvendinami C/C++ kalba mikrovaldikliams arba Verilog/SystemVerilog kalba FPGA.
- Matematinis modeliavimas ir pseudokodas
- Įgyvendinimas C/C++ kalba mikrovaldikliams
- Įgyvendinimas Verilog/SystemVerilog kalba FPGA
- Signalų apdorojimas (filtrai, FFT, lango funkcijos)
- Reguliavimo technika (PID, būsenos grįžtamasis ryšys, adaptyvūs metodai)
- Algoritmai ryšių protokolams
- Optimizavimas su atminties ir vykdymo laiko apribojimais
Diagnostika
Transporto priemonių diagnostika ir ryšiai
Diagnostikos koncepcijų ir ryšio sąsajų kūrimas ir testavimas transporto priemonių valdymo blokams. Patirtis su autopramonės aplinkoje nusistovėjusiomis magistralėmis (CAN, CAN FD, MOST) ir su UDS diagnostika pagal ISO 14229.
- UDS diagnostika (ISO 14229)
- CAN / CAN FD / MOST analizė ir simuliacija
- Valdymo blokų flash programavimas ir konfigūravimas
- Diagnostikos koncepcijos lengviesiems ir komerciniams automobiliams
- Tarpiklių (gateway) įgyvendinimas tarp magistralių
- Magistralės apkrovos analizė ir laiko derinimo tyrimai
Testas & QA
Testų automatizavimas ir kvalifikacija
Sisteminis embedded sistemų patvirtinimas — nuo testo specifikacijos iki serijos paleidimo. Testavimo stendai projektuojami taip, kad kliento komanda galėtų juos po projekto pabaigos savarankiškai eksploatuoti ir plėsti.
- Testų automatizavimas su CANoe/CAPL, LabView, Python
- HIL testai (hardware-in-the-loop)
- Robot Framework end-to-end testams
- Specifikacija ir dokumentacija pagal ASPICE
- Testų aprėpties analizė ir spragų identifikavimas
- Atkuriami testavimo stendai su versijų ir konfigūracijos valdymu
Programinė įranga
Žiniatinklio ir programėlių kūrimas embedded kontekstui
Lydintieji programinė įranga embedded sistemoms: konfigūracijos sąsajos, skydeliai, duomenų vizualizacija ir mobiliosios programėlės.
- Žiniatinklio sąsajos (JavaScript, HTML/CSS, Chart.js)
- Žiniatinklio backend ir REST API (Python/Flask, Node.js)
- Realiojo laiko duomenų vizualizacija (Socket.IO, WebSocket, MQTT)
- Android programėlės (Kotlin)
- Konfigūravimo įrankiai embedded prietaisams
- Skydeliai duomenų rinkimui ir diagnostikai
Projektas
Projekto palaikymas ir konsultavimas
Kai vykstančiam embedded projektui reikia papildomo turinio — siaurų vietų, paveldėto kodo, jautrių detalių klausimų — įsijungiu tikslingai ir laiko atžvilgiu lanksčiai.
- Projekto konsultavimas embedded dizainui
- Lankstus valandinis palaikymas
- Visiškas perėmimas už fiksuotą kainą
- Žinių perdavimas kliento komandoms
- Techninė dokumentacija ir kodo peržiūros
- Paveldėtų kodo bazių analizė
Projektas
Projekto valdymas nuo pirmojo užklausimo iki perdavimo
Embedded projektai retai žlunga dėl atskirų techninių užduočių. Jie žlunga dėl neaiškių reikalavimų, neišsamios dokumentacijos, trūkstamų įrodymų prieš standartus ir būklės ataskaitų, kurios labiau slepia nei išaiškina. Pageidaujant perimu ne tik patį kūrimą, bet ir metodinį projekto vadovavimą — nuo pirmojo pokalbio iki priėmimo.
- Reikalavimų rinkimas pirmajame susitikime ir struktūrizavimas į reikalavimų specifikaciją
- Funkcinė specifikacija, architektūros projektavimas ir sąsajų apibrėžimas
- Tarpinių etapų planavimas, sąnaudų vertinimas ir rizikų registras
- Atsekamumo matrica nuo reikalavimo iki įgyvendinimo ir testo
- FMEA ir FTA lentelės, standartų tyrimas IEC 61508, ISO 26262 ir IEC 62304
- Kodo peržiūros ir įgyvendinimo lydėjimas
- Būklės ataskaitos, pokyčių valdymas ir priėmimo dokumentacija
Tinklaraštyje: Projekto valdymas embedded projektuose — kodėl sunkiausias darbas yra prieš pirmąją schemą
Projekto valdymą siūlau tik kartu su technine atsakomybe — kaip viso kūrimo dalį arba kaip kliento vadovaujamos komandos lydėjimą. Vien koordinavimas be techninės gilumos nėra mano pasiūlymo dalis.
Bendradarbiavimo formos
Du sutartiniai modeliai pagal projekto tipą:
- Fiksuotos kainos sutartis — kai reikalavimai aiškūs ir reikia pristatyti apibrėžtą rezultatą.
- Valandų kvota — kai užduotis yra tiriamoji arba reikalingas nuolatinis palaikymas.
Be darbuotojų perdavimo. Detalės puslapyje Užsakymas.