← Ú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:
- 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.
- 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í.
- Návrh schématu. Vytvoření schématu se zvolenými komponenty, dimenzování kritických komponent, simulace v rozhodujících bodech.
- 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.
- 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.
- 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.
- 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.