← Domov
Od koncepta do prototipa — samostojen razvoj izdelka
Celostni razvoj elektronskih naprav: shema, postavitev plošče, vdelana programska oprema, FPGA zasnova, simulacija in verifikacija.
Embedded naprave redko nastanejo iz ene discipline. Nova ideja zahteva shemo, shema postavitev plošče, postavitev vdelano programsko opremo ali FPGA zasnovo, in vse to na koncu zahteva verifikacijo in dokumentacijo. Razdeliti to sodelovanje na več dobaviteljev pomeni kupovati vmesnike — in vmesniki so najpogostejši vir napak.
Samostojen celostni razvoj pomeni: en kontakt, end-to-end odgovornost, koherentno stanje dokumentacije.
Kako poteka tipičen celostni projekt
Čeprav je vsak projekt drugačen, potek sledi prepoznavnemu vzorcu:
- Razumevanje naloge. Uvodni pogovor pojasni, kaj naj naprava počne, kateri robni pogoji veljajo in kateri vmesniki obstajajo do obstoječih sistemov.
- Koncept in specifikacija. Iz naloge se začrta tehnični koncept: katera platforma ustreza, katera vodila, katera programska arhitektura. Rezultat je dokument specifikacije.
- Zasnova sheme. Izdelava sheme z izbranimi komponentami, dimenzioniranje kritičnih komponent, simulacija na odločilnih mestih.
- Postavitev plošče. Večplastna PCB zasnova z upoštevanjem hitrih signalov, EMC, odvajanja toplote in proizvodne izvedljivosti.
- Vdelana programska oprema ali FPGA zasnova. Implementacija krmilne logike v C/C++ za mikrokrmilnike, v VHDL/SystemVerilog za FPGA.
- Verifikacija in test. Simulacija vezij na kritičnih mestih, testne klopi za FPGA zasnove, strojni testi na prototipu.
- Dobava in dokumentacija. Popolna izvorna koda, shema, podatki postavitve, kosovnica, dokumentacija pristopa in odločitev zasnove.
Po potrebi prevzamem tudi koordinacijo s serijskim proizvajalcem, ki dostavi želeno kakovost — kot pri projektu Audi (glej reference).
Tri discipline — iz ene roke
Naslednje tri discipline se srečajo v celostnem projektu:
Strojna oprema
Razvoj strojne opreme
Zasnova in izvedba elektronske strojne opreme — od sheme prek postavitve plošče do koordinacije serijske proizvodnje.
- Mikrokrmilniški sistemi (ARM Cortex-M, ESP32, Atmel/Microchip)
- FPGA zasnova in integracija (Xilinx Artix-7, Zynq)
- Analogna in digitalna vezja
- PCB zasnova (Pulsonix, večplastna, hitrosignalna, EMC)
- Dimenzioniranje vezij in izbira komponent
- Spremljanje proizvodnje PCB in koordinacija z industrijskimi partnerji
- Zagon in bring-up strojne opreme
Programska oprema
Razvoj programske opreme
Implementacija embedded programske opreme na razviti strojni opremi — od bare-metal programiranja blizu strojne opreme do večjedrnih operacijskih sistemov realnega časa.
- Embedded programska oprema (C, C++, asembler)
- FPGA programiranje (VHDL, Verilog, SystemVerilog)
- Sistemi realnega časa (FreeRTOS, bare-metal, večjedrni)
- Komunikacijski protokoli (CAN, CAN FD, Ethernet, EtherCAT, I²C, SPI, MOST)
- Razvoj gonilnikov za vmesnike blizu strojne opreme
- Bootloader, watchdog, mehanizmi za posodabljanje vdelane programske opreme
- Algoritmi za obdelavo signalov in regulacijo
Verifikacija
Simulacija in verifikacija
Sistematična validacija razvite rešitve — na ravni vezja, FPGA, sistema.
- Simulacija vezij v časovnem in frekvenčnem prostoru
- Monte Carlo analiza in študije najslabšega primera
- FPGA verifikacija s testnimi klopmi v SystemVerilogu
- HDL simulacija (Vivado, Icarus Verilog, Verilator)
- Bodejev diagram, Nyquistova analiza, študije stabilnosti
- Hardware-in-the-loop testi za integrirane sisteme
Kaj razlikuje celostni razvoj od «golega kodiranja»
Kadar stranka danes išče «embedded razvijalca», najpogosteje misli na nekoga, ki opravi delno nalogo: C modul, FPGA komponento, gonilnik. Za to obstaja veliko dobaviteljev.
Celostni razvoj je nekaj drugega. Zahteva nekoga, ki zna odločati — o arhitekturi, izbiri komponent, vmesnikih, kompromisih med stroški in funkcionalnostjo.
Prevzamem celostni razvoj tam, kjer stranka noče vzdrževati lastnega embedded oddelka — in kjer iz tega izhajajoč obseg dela in odgovornost lahko ekonomsko počivata na eni sami osebi.
Oblike sodelovanja
Celostni projekti se praviloma izvajajo kot pogodba s fiksno ceno in trdno obljubo dobave. Podrobnosti na strani Naročilo.