Avaleht

Kontseptsioonist prototüübini — iseseisev tootearendus

Elektroonikaseadmete terviklik arendus: skeem, plaadipaigutus, püsivara, FPGA disain, simulatsioon ja verifitseerimine.

Embedded seadmed sünnivad harva ühest distsipliinist. Uus idee nõuab skeemi, skeem nõuab plaadipaigutust, plaadipaigutus nõuab püsivara või FPGA disaini, ja kõik see nõuab lõpus verifitseerimist ja dokumentatsiooni. Selle koostöö jaotamine mitme tarnija vahel tähendab liideste ostmist — ja liidesed on kõige sagedasem vigade allikas.

Iseseisev terviklik arendus tähendab: üks kontaktisik, end-to-end vastutus, sidus dokumentatsiooni seisund.

Kuidas tüüpiline terviklik projekt kulgeb

Ehkki iga projekt on erinev, järgib käik äratuntavat mustrit:

  1. Ülesande mõistmine. Sissejuhatav vestlus selgitab, mida seade peab tegema, millised piiritingimused kehtivad ja millised liidesed olemasolevate süsteemide juurde eksisteerivad.
  2. Kontseptsioon ja spetsifikatsioon. Ülesandest visandatakse tehniline kontseptsioon: milline platvorm sobib, millised siinid, milline tarkvaraarhitektuur. Tulemus on spetsifikatsioonidokument.
  3. Skeemi projekteerimine. Skeemi koostamine valitud komponentidega, kriitiliste komponentide dimensioneerimine, simulatsioon otsustavates punktides.
  4. Plaadipaigutus. Mitmekihiline PCB disain, arvestades kiireid signaale, EMC-d, soojusjuhtimist ja toodetavust.
  5. Püsivara või FPGA disain. Juhtimisloogika teostus C/C++ keeles mikrokontrolleritele, VHDL/SystemVerilog keeles FPGA-dele.
  6. Verifitseerimine ja test. Vooluringide simulatsioon kriitilistes punktides, testbench-id FPGA disainidele, riistvaratestid prototüübil.
  7. Tarne ja dokumentatsioon. Täielik lähtekood, skeem, paigutusandmed, materjalide loend, lähenemise ja disainiotsuste dokumentatsioon.

Vajadusel võtan ka seeriatootja koordineerimise üle, kes tarnib soovitud kvaliteeti — nagu Audi projektis (vt referentsid).

Kolm distsipliini — ühest käest

Tervikliku projekti raames kohtuvad järgmised kolm distsipliini:

Riistvara

Riistvaraarendus

Elektroonikariistvara projekteerimine ja teostus — skeemist plaadipaigutuse kaudu seeriatootmise koordineerimiseni.

  • Mikrokontrolleri-süsteemid (ARM Cortex-M, ESP32, Atmel/Microchip)
  • FPGA disain ja integratsioon (Xilinx Artix-7, Zynq)
  • Analoog- ja digitaalvooluringid
  • PCB disain (Pulsonix, mitmekihiline, kiirsignaali, EMC)
  • Vooluringide dimensioneerimine ja komponentide valik
  • PCB tootmise saatmine ja koordineerimine tööstuspartneritega
  • Käitamine ja riistvara bring-up
Tarkvara

Tarkvaraarendus

Embedded tarkvara teostamine arendatud riistvaral — riistvarale lähedasest bare-metal programmeerimisest mitmetuumiliste reaalaja-operatsioonisüsteemideni.

  • Embedded tarkvara (C, C++, assembler)
  • FPGA programmeerimine (VHDL, Verilog, SystemVerilog)
  • Reaalajasüsteemid (FreeRTOS, bare-metal, mitmetuumiline)
  • Sideprotokollid (CAN, CAN FD, Ethernet, EtherCAT, I²C, SPI, MOST)
  • Draiveriarendus riistvarale lähedaste liideste jaoks
  • Bootloader, watchdog, püsivara uuendamise mehhanismid
  • Algoritmid signaalitöötluseks ja reguleerimiseks
Verifitseerimine

Simulatsioon ja verifitseerimine

Arendatud lahenduse süstemaatiline valideerimine — vooluringi, FPGA, süsteemi tasemel.

  • Vooluringi simulatsioon aja- ja sageduspiirkonnas
  • Monte Carlo analüüs ja halvima juhtumi uuringud
  • FPGA verifitseerimine SystemVerilog testbench-idega
  • HDL simulatsioon (Vivado, Icarus Verilog, Verilator)
  • Bode diagramm, Nyquist analüüs, stabiilsuse uuringud
  • Hardware-in-the-loop testid integreeritud süsteemidele

Mis eristab terviklikku arendust «paljast kodeerimisest»

Kui klient otsib täna «embedded arendajat», mõtleb ta enamasti kellelegi, kes täidab osaülesannet: C-mooduli, FPGA-komponendi, draiveri. Selle jaoks on palju teenusepakkujaid.

Terviklik arendus on midagi muud. See nõuab kedagi, kes saab otsuseid teha — arhitektuuri, komponentide valiku, liideste, kulude ja funktsionaalsuse kompromisside üle.

Võtan tervikliku arenduse vastu seal, kus klient ei taha pidada oma embedded-osakonda — ja kus sellest tulenev töömaht ja vastutus saavad majanduslikult lasuda ühel inimesel.

Koostöö vormid

Terviklikud projektid teostatakse üldjuhul fikseeritud hinnaga lepinguna kindla tarnelubadusega. Üksikasjad lehel Tellimus.

Värviskeem

Keel