Úvod

Od koncepce k prototypu — samostatný vývoj produktu

Komplexní vývoj elektronických zařízení: schéma, layout desky, firmware, návrh FPGA, simulace a verifikace. Specifikace, kód, test, dodání — vše z jedné ruky.

Embedded zařízení zřídka vznikají z jedné disciplíny. Nový nápad vyžaduje schéma, schéma vyžaduje layout desky, layout desky vyžaduje firmware nebo návrh FPGA, a to vše vyžaduje na konci verifikaci a dokumentaci. Rozdělit tuto součinnost mezi více dodavatelů znamená kupovat rozhraní — a rozhraní jsou nejčastějším zdrojem chyb.

Samostatný komplexní vývoj znamená: jeden kontaktní partner, end-to-end odpovědnost, soudržný stav dokumentace. Vy šetříte koordinaci, já mohu rozhodovat bez konzultace dodavatelského řetězce.

Jak probíhá typický komplexní projekt

I když je každý projekt jiný, průběh sleduje rozpoznatelný vzor:

  1. Pochopení úkolu. Úvodní rozhovor objasňuje, co má zařízení dělat, jaké platí okrajové podmínky (objem, náklady, velikost, spotřeba, normativní požadavky) a jaká rozhraní existují k existujícím systémům.
  2. Koncepce a specifikace. Z úkolu se nastíní technická koncepce: která mikrokontrolérová nebo FPGA platforma se hodí, jaké sběrnice, jaké analogové a digitální signály, jaká softwarová architektura. Výsledkem je dokument specifikace, který tvoří základ pro vše ostatní.
  3. Návrh schématu. Vytvoření schématu se zvolenými komponenty, dimenzování kritických komponent, simulace v rozhodujících bodech.
  4. Layout desky. Vícevrstvý PCB návrh s ohledem na vysokorychlostní signály, EMC, odvod tepla a vyrobitelnost. Výběr výrobce desek a doprovod výroby.
  5. Firmware nebo návrh FPGA. Implementace řídicí nebo signálově-zpracující logiky v C/C++ pro mikrokontroléry, ve VHDL/SystemVerilogu pro FPGA — nebo v kombinaci. Bare-metal na malých mikrokontrolérech, FreeRTOS nebo ekvivalentní RTOS na větších systémech.
  6. Verifikace a test. Simulace obvodů v kritických bodech, testbenche pro FPGA návrhy, hardwarové testy na prototypu, podle potřeby HIL stanice pro software.
  7. Dodání a dokumentace. Kompletní zdrojový kód, schéma, data layoutu, kusovník, dokumentace přístupu a návrhových rozhodnutí. Na přání předání znalostí týmu klienta.

V případě potřeby přebírám také koordinaci se sériovým výrobcem, který dodá požadovanou kvalitu — jako v projektu Audi (viz reference), kde se ručně pájený prototyp stal strojově vyráběnou průmyslovou deskou.

Tři disciplíny — z jedné ruky

Následující tři disciplíny se setkávají v komplexním projektu:

Hardware

Vývoj hardwaru

Návrh a realizace elektronického hardwaru — od schématu přes layout desky až po koordinaci sériové výroby. Specializace: mikrokontrolérové systémy, FPGA desky a smíšené analogově-digitální obvody.

  • Mikrokontrolérové systémy (ARM Cortex-M, ESP32, Atmel/Microchip)
  • Návrh a integrace FPGA (Xilinx Artix-7, Zynq)
  • Analogové a digitální obvody
  • Návrh PCB (Pulsonix, vícevrstvý, vysokorychlostní, EMC)
  • Dimenzování obvodů a výběr komponent
  • Doprovod výroby PCB a koordinace s průmyslovými partnery
  • Uvedení do provozu a bring-up hardwaru
Software

Vývoj softwaru

Implementace embedded softwaru na vyvinutém hardwaru — od programování bare-metal blízkého hardwaru po vícejádrové operační systémy reálného času. Jazyky, platformy a protokoly se volí podle požadavků projektu, nikoli podle preferencí.

  • Embedded software (C, C++, assembler)
  • FPGA programování (VHDL, Verilog, SystemVerilog)
  • Systémy reálného času (FreeRTOS, bare-metal, vícejádrové)
  • Komunikační protokoly (CAN, CAN FD, Ethernet, EtherCAT, I²C, SPI, MOST)
  • Vývoj ovladačů pro rozhraní blízká hardwaru
  • Bootloader, watchdog, mechanismy pro aktualizaci firmwaru
  • Algoritmy pro zpracování signálů a regulaci
Verifikace

Simulace a verifikace

Systematická validace vyvinutého řešení — na úrovni obvodu, na úrovni FPGA, na úrovni systému. Verifikace není dodatečným krokem, ale integrální součástí vývoje.

  • Simulace obvodů v časové a frekvenční oblasti
  • Monte Carlo analýza a studie nejhoršího případu
  • FPGA verifikace s testbenchi v SystemVerilogu
  • HDL simulace (Vivado, Icarus Verilog, Verilator)
  • Bodeho diagram, Nyquistova analýza, studie stability
  • Hardware-in-the-loop testy pro integrované systémy

Co odlišuje komplexní vývoj od «pouhého kódování»

Když dnes klient hledá «embedded vývojáře», myslí nejčastěji někoho, kdo vykoná dílčí úkol: C modul, FPGA komponentu, ovladač. Pro to existuje mnoho dodavatelů.

Komplexní vývoj je něco jiného. Vyžaduje někoho, kdo dokáže rozhodovat — o architektuře, o výběru komponent, o rozhraních, o kompromisech mezi náklady a funkčností. Tato rozhodovací kompetence není v každém životopise a nenahrazuje se přidáváním specialistů.

Přebírám komplexní vývoj tam, kde klient nechce udržovat vlastní embedded oddělení — a kde z toho vyplývající rozsah práce a odpovědnost mohou ekonomicky ležet na jediné osobě.

Formy spolupráce

Komplexní projekty se zpravidla realizují jako smlouva s pevnou cenou a pevným příslibem dodání. Rozsah práce se odhaduje před zahájením projektu, cena je zaručena. Pro průzkumnou práci bez jasného koncového bodu je alternativou hodinový kontingent. Detaily na stránce Zakázka.

Barevné schéma

Jazyk