Pradžia

Nuo koncepcijos iki prototipo — savarankiškas produkto kūrimas

Pilnas elektroninių prietaisų kūrimas: schema, plokštės išdėstymas, programinė aparatinė įranga, FPGA dizainas, simuliacija ir verifikacija.

Embedded prietaisai retai atsiranda iš vienos disciplinos. Nauja idėja reikalauja schemos, schema reikalauja plokštės išdėstymo, išdėstymas reikalauja programinės aparatinės įrangos arba FPGA dizaino, ir visa tai galiausiai reikalauja verifikacijos ir dokumentacijos. Šio bendradarbiavimo padalijimas tarp kelių tiekėjų reiškia sąsajų pirkimą — o sąsajos yra dažniausias klaidų šaltinis.

Savarankiškas pilnas kūrimas reiškia: vienas kontaktinis asmuo, end-to-end atsakomybė, nuosekli dokumentacijos būklė.

Kaip vyksta tipiškas pilnas projektas

Nors kiekvienas projektas yra skirtingas, eiga seka atpažįstamą šabloną:

  1. Užduoties supratimas. Pradinis pokalbis išaiškina, ką prietaisas turi atlikti, kokios kraštinės sąlygos galioja ir kokios sąsajos su esamomis sistemomis egzistuoja.
  2. Koncepcija ir specifikacija. Iš užduoties brėžiama techninė koncepcija: kuri platforma tinka, kokios magistralės, kokia programinės įrangos architektūra. Rezultatas yra specifikacijos dokumentas.
  3. Schemos projektavimas. Schemos sudarymas su pasirinktais komponentais, kritinių komponentų matmenų nustatymas, simuliacija lemiamuose taškuose.
  4. Plokštės išdėstymas. Daugiasluoksnis PCB dizainas atsižvelgiant į didelio greičio signalus, EMC, šilumos atvedimą ir gamybos galimybes.
  5. Programinė aparatinė įranga arba FPGA dizainas. Valdymo logikos įgyvendinimas C/C++ kalba mikrovaldikliams, VHDL/SystemVerilog kalba FPGA.
  6. Verifikacija ir testavimas. Grandinių simuliacija kritiniuose taškuose, testbench FPGA dizainams, aparatinės įrangos testai prototipe.
  7. Pristatymas ir dokumentacija. Pilnas pirminis kodas, schema, išdėstymo duomenys, medžiagų sąrašas, požiūrio ir dizaino sprendimų dokumentacija.

Esant poreikiui perimu ir koordinavimą su serijiniu gamintoju, kuris pristato pageidaujamą kokybę — kaip Audi projekte (žr. rekomendacijos).

Trys disciplinos — iš vienos rankos

Šios trys disciplinos susitinka pilname projekte:

Aparatinė įranga

Aparatinės įrangos kūrimas

Elektroninės aparatinės įrangos projektavimas ir realizavimas — nuo schemos per plokštės išdėstymą iki serijinės gamybos koordinavimo.

  • Mikrovaldiklių sistemos (ARM Cortex-M, ESP32, Atmel/Microchip)
  • FPGA dizainas ir integracija (Xilinx Artix-7, Zynq)
  • Analoginės ir skaitmeninės grandinės
  • PCB dizainas (Pulsonix, daugiasluoksnis, didelio greičio, EMC)
  • Grandinių matmenų nustatymas ir komponentų pasirinkimas
  • PCB gamybos palydėjimas ir koordinavimas su pramoniniais partneriais
  • Paleidimas ir aparatinės įrangos bring-up
Programinė įranga

Programinės įrangos kūrimas

Embedded programinės įrangos įgyvendinimas sukurtoje aparatinėje įrangoje — nuo aparatinei įrangai artimo bare-metal programavimo iki daugiabranduolių realiojo laiko operacinių sistemų.

  • Embedded programinė įranga (C, C++, asembleris)
  • FPGA programavimas (VHDL, Verilog, SystemVerilog)
  • Realiojo laiko sistemos (FreeRTOS, bare-metal, daugiabranduolės)
  • Ryšio protokolai (CAN, CAN FD, Ethernet, EtherCAT, I²C, SPI, MOST)
  • Tvarkyklių kūrimas aparatinei įrangai artimoms sąsajoms
  • Bootloader, watchdog, programinės aparatinės įrangos atnaujinimo mechanizmai
  • Algoritmai signalų apdorojimui ir reguliavimui
Verifikacija

Simuliacija ir verifikacija

Sukurto sprendimo sisteminis patvirtinimas — grandinės, FPGA, sistemos lygmenyje.

  • Grandinių simuliacija laiko ir dažnio srityje
  • Monte Karlo analizė ir blogiausio atvejo tyrimai
  • FPGA verifikacija su SystemVerilog testbench
  • HDL simuliacija (Vivado, Icarus Verilog, Verilator)
  • Bode diagrama, Naikvisto analizė, stabilumo tyrimai
  • Hardware-in-the-loop testai integruotoms sistemoms

Kuo pilnas kūrimas skiriasi nuo «gryno kodavimo»

Kai klientas šiandien ieško «embedded kūrėjo», jis dažniausiai galvoja apie ką nors, kas atliks dalinę užduotį: C modulį, FPGA komponentą, tvarkyklę. Tam yra daug paslaugų teikėjų.

Pilnas kūrimas yra kažkas kita. Jis reikalauja žmogaus, galinčio nuspręsti — dėl architektūros, komponentų pasirinkimo, sąsajų, kompromisų tarp sąnaudų ir funkcionalumo.

Priimu pilną kūrimą ten, kur klientas nenori palaikyti savo embedded skyriaus — ir kur iš to kylantis darbo krūvis ir atsakomybė ekonomiškai gali būti vieno žmogaus pečiuose.

Bendradarbiavimo formos

Pilnus projektus paprastai vykdau kaip fiksuotos kainos sutartį su tvirtu pristatymo įsipareigojimu. Detalės puslapyje Užsakymas.

Spalvų schema

Kalba