Integrační technologie

Používáme nejmodernější technologie a znalosti k integraci našich komponent do hi-tech systémů.

1
Analýza

Analýza

Prvním krokem při vývoji hardwaru je analýza celého systému.

Při návrhu hardwaru používáme ke kreslení diagramu první úrovně a rozpočtu hluku standardní kancelářský software, někdy i tak jednoduchý jako MS Excel.

Mohli bychom samozřejmě použít i některé sofistikovanější a dražší nástroje, nicméně pro většinu projektů je takový nadstandard zbytečný a jejich přínos obvykle není nijak velký.

Dlouhodobé zkušenosti nám umožňují dosáhnout pomocí standardního (a levného) nástroje stejného efektu jako při použití nástroje sice výkonného, ale drahého.

2
Simulace hardwarových komponent nám ukazuje fyzické limity.

Simulace hardwarových komponent nám ukazuje fyzické limity.

Pro nízkofrekvenční lineární a nelineární analýzu efektivně využíváme nástroje rodiny Spice. Přestože jsou často zdarma, ve většině případů jsou dostačující.

V dalším kroku přistoupíme k simulaci všech hardwarových komponent.

Fyzikální přesnost vychází z pochopení modelu, ne z ceny simulátoru.

3
Mechanický model nám umožňuje navrhnout vynikající vyrobitelný produkt.

Mechanický model nám umožňuje navrhnout vynikající vyrobitelný produkt.

Strojní inženýr vytvoří 3D model produktu z mechanického pohledu. Model je poté upraven a optimalizován tak, aby splňoval požadavky stanovené v hlavní definiční fázi a zároveň byl kompatibilní s elektronickým designem.

Dobrý mechanický design funguje pro desku i pro výrobu.

4
Rádiové frekvence – naše eso v rukávu

Rádiové frekvence – naše eso v rukávu

Používáme nejběžnější značky nástrojů podle jejich účelu. Některé nástroje umožňují úplnou EM analýzu, jiné jsou velmi výkonné v nelineárních simulacích.

Pokud technicky splňují všechny požadavky, využíváme i nástroje, které jsou zdarma, což nám umožňuje minimalizovat náklady na simulační čas a ušetřit část rozpočtu na vývoj.

Jakmile pomocí těchto nástrojů optimalizujeme strukturu PCB, data exportujeme pro další vývojové fáze.

Správná kombinace RF nástrojů přináší spolehlivé výsledky, které nelze dosáhnout s jediným nástrojem.

5
Návrh PCB je obvod vizualizovaný do reálných dat.

Návrh PCB je obvod vizualizovaný do reálných dat.

Když máme všechny potřebné komponenty nasimulované a optimalizované, přejdeme k návrhu PCB. Navrhneme schéma zapojení, propojíme všechny součástky a výsledný model předáme týmu pro návrh PCB.

Ti pak převádějí model do podoby konkrétních desek plošných spojů. Tento proces probíhá ručně a významně se při něm projeví know-how našeho odborného týmu a jeho dlouholeté zkušenosti v oblasti návrhů PCB. Elektronické části je samozřejmě nutno navrhnout také s ohledem na požadovanou fyzickou podobu výrobku.

Jakmile jsou hotovi s layoutem PCB, exportují výrobní a montážní data k finální kontrole.

Vývoj PCB proto probíhá v úzké komunikaci se strojními inženýry s využitím jejich 3D modelů.

6
Hardwarový test je konečnou fází naší práce.

Hardwarový test je konečnou fází naší práce.

Fáze po získání prvních vzorků z výroby je vzrušující.

Používáme řadu pokročilých diagnostických a testovacích přístrojů a ověřujeme, zda naše prototypy opravdu splňují požadavky stanovené v definiční fázi projektu.

Pokud zjistíme, že výrobek v jakémkoliv parametru nevyhovuje, diagnostikujeme příčinu a najdeme řešení.

Testujeme pomocí standardních průmyslových přístrojů, rozšířených o náš vlastní testovací software.

1
Model Architektury

Model Architektury

Než přejdeme k implementaci softwaru, připravíme architekturu v modelu UML.

Pro takové modelování používáme různé nástroje.

Kdysi jsme začínali s Rational Rhapsody a nyní používáme PlantUML, Microsoft Visual Studio, Microsoft Visio, Lucid Chart a Enterprise Architect.

Architekturu vhodně přizpůsobíme, ať už stavíme na operačním systému - Linux nebo Windows - nebo na holém firmwaru.

2
Projektový management je páteří vývoje softwaru.

Projektový management je páteří vývoje softwaru.

K realizaci vývoje softwaru používáme rodinu nástrojů od společnosti Atlassian.

Ke sledování chyb používáme už dlouhá léta systém JIRA. Často v něm využíváme agilní procesní toky založené na Kanbanu nebo Scrumu.

Oceňujeme také hlavní výhodu systému JIRA – jeho úzké propojení s úložištěm Bitbucket.

3
Systémy řízení verzí

Systémy řízení verzí

Pokud jde o systém správy revizí, začali jsme se systémem SVN, ale v posledních letech jsme přešli na řetězce nástrojů založené na systému Git. Ty oproti SVN přináší výhodu flexibilního větvení a slučování.

Data posíláme do vzdáleného úložiště Bitbucket, které nabízí výkonnou infrastrukturu a integraci s dalšími nástroji společnosti Atlassian.

Používáme technologie kontinuální integrace (CI), jako je Jenkins Server.

4
Nástroje pro kódování

Nástroje pro kódování

Nikdo z týmu nemá dané, jaké konkrétní nástroje musí používat. Většina ráda používá Visual Studio Code (VS Code) nebo MS Visual Studio; někteří zase mají rádi Atom, Eclipse nebo jiné jednoduché editory založené na Linuxu.

Pro zdrojové soubory používáme nástroje statické analýzy kódu, jako je Clang.

Téměř všechny nástroje nabízejí plný výkon vzdáleného debuggeru a různé balíčky pluginů.

5
Programovací jazyky

Programovací jazyky

Většina programovacích jazyků, které používáme, poskytuje silnou podporu operačních systémů Linux i Windows.

Někteří z nás mají rádi Python pro jeho flexibilitu a absenci nutnosti kompilace, zejména pro rychlé softwarové prototypování nebo pro testovací skripty.

Pro webové aplikace máme dobré zkušenosti s JavaScriptem, TypeScriptem a různými webovými frameworky, jako jsou ReactJS a Express, které jsou podporovány runtimy jako jsou NodeJS a Electron.

Na druhou stranu kolegové, kteří se intenzivně zabývají programováním na low-level úrovni pro firmware ARM Cortex, jsou skvělí v C nebo C++.

6
Ovladače zařízení

Ovladače zařízení

Některé projekty vyžadují karty PCIe pro hostitelský počítač. Takové počítače většinou běží na systému Windows, proto podporujeme naše zákazníky vývojem ovladačů pro Windows.

Samozřejmě vytváříme ovladače i pro vestavěný Linux — ve většině případů pro periferie, které nejsou součástí jednotlivých SOM (system on module).

Máme dost zkušeností se starší sadou ovladačů systému Windows (WDK) a novějším Kernel-Mode Driver Framework (KMDF).

Přehled technologií a nástrojů

3D model

DesignSpark Mechanical
AutoDesk Inventor
SolidWorks

Analýza

Python
Matlab
Octave
MS Excel

HW testovací přístroje

RF přístroje Rohde & Schwarz
RF přístroje Keysight
Osciloskopy Rohde & Schwarz
Osciloskopy Tektronix

Kontinuální integrace

Jenkins

Model architektury

Enterprise Architect
PlantUML
MS Visio
Lucidchart
MS Visual Studio

Nástroje pro kódování

MS Visual Studio
Visual Studio Code
Atom
Eclipse
Clang

Nástroje/Framework

ReactJS
Angular
NodeJS
Express
ElectronJS

Návrh PCB

OrCAD Capture CIS
OrCAD PCB Designer
Altium Designer
Mentor PADS
Mentor Expedition

Ovladače zařízení

Windows – Windows Driver Kit (WDK)
Windows – Kernel-Mode Driver Framework (KMDF)
Linux – Linux Kernel Device Model

Programovací jazyky

C/C++
Python
JavaScript/TypeScript

Simulace (nízkofrekvenční)

LTspice
Tina CAD
OrCAD simulator
Micro-Cap

Simulace RF

AWR Microwave Office
PathWave Advanced Design System (ADS)
QUCS Studio

Řízení projektů

Atlassian JIRA (Kanban & Scrum)

Řízení verzí

Atlassian Bitbucket
SVN
Gitea

Brno

Místo pro naši laboratoř a sídlo. Průmyslová oblast "Silicone Valley" uprostřed Evropy.

Pracujeme ve vlastní laboratoři o rozloze 500 m2 vybavené sofistikovanými měřicími přístroji a podrobným simulačním a vývojovým softwarem.