Dosáhněte obchodního úspěchu překlenutím propasti mezi softwarem a har – Contec eShop
Přejít na obsah

Zprávy

Dosáhněte obchodního úspěchu překlenutím propasti mezi softwarem a hardwarem ve vestavěných systémech

podle Contec Americas 08 Feb 2023 0 komentáře
Achieve business success by bridging the gap between software and hardware in embedded systems

Fáze návrhu a prototypování technologických řešení jsou obvykle dlouhé a klíčové pro obchodní úspěch. Počáteční kapitálové investice v těchto projektech mohou být vysoké. V důsledku toho jsou sázky a očekávání vysoká! Vzhledem k tomu, že stále trpíme důsledky pandemie, jako jsou zpoždění dodávek a nedostatek elektronických součástek, v mnoha případech firmy čelí obrovskému tlaku na včasné uvedení na trh a odeslání závazných zásob.

Také probíhá neustálý boj o hardwarové zdroje, protože aplikace často vyžadují rostoucí výpočetní kapacitu. To znamená, že hardware bude pravděpodobně na začátku předimenzovaný a časem zastaralý. Budete proto muset svůj návrh neustále revidovat, abyste do svých technologických produktů přidávali další hardwarové funkce a zbytečně zvyšovali náklady a investice.

A konečně, najít zkušené pracovníky se znalostmi vestavěných systémů, hardwaru a softwaru zároveň není vždy snadné. V některých společnostech vedou a vyvíjejí technologické projekty inženýři bez zkušeností s vestavěnými systémy. V důsledku toho si mohou zvolit vývojářské sady (Jetson Nano, Arduino, Raspberry PI) kvůli znalosti těchto systémů a standardním funkcím, které usnadňují integraci s jinými systémy. Vývojářské desky mají jedinečné průmyslové využití a více si o nich můžete přečíst v tomto blogovém příspěvku. To však nemusí platit pro hromadnou výrobu.

Všechny tyto faktory mohou negativně ovlivnit rozhodnutí o programování jazyka, architektuře algoritmů a celkovém vývoji aplikačního softwaru. Někdy se rozhodnutí omezí na použití standardního operačního systému namísto přizpůsobeného nebo specializovaného s kódem Stack Overflow namísto proprietárního algoritmu. To vede k nevyužitým zdrojům, nadměrně velkým hardwarovým komponentám, zbytečným zpožděním, dodatečným nákladům na redesign nebo recertifikaci. Zpočátku se to tedy může zdát jako nákladově efektivní řešení, ale později se může stát, že to nebylo to nejnákladově efektivnější řešení. A co je horší, během běžného provozu může hardware pracující na plný výkon vést k zahřívání, zkrácení průměrné doby mezi poruchami a vyšším nákladům na opravy.

Architektura algoritmů

Pojďme analyzovat běžnou cestu, kterou se firmy vydávají k architektuře algoritmů. Bohužel někteří inženýři pracující s vestavěnými systémy se usadí a programují bez jakéhokoli plánu nebo návrhu. Problém je v tom, že až dodatečně zjistíte, zda je váš algoritmus efektivní, nebo neefektivní.

Popíšeme dva příklady ideálních algoritmů: lineární a logaritmický. Předpokládejme, že každá základní operace trvá sekundu. V případě lineárních algoritmů se s rostoucím počtem vstupů prodlužuje i doba provádění, jak je vidět v tabulce 1. Pokud by se tento algoritmus choval logaritmicky, s rostoucím počtem vstupů by jeho doba provádění zůstala stabilní (tabulka 2). Například binární vyhledávací algoritmy vykazují logaritmické chování.

Tabulka 1. Vztah mezi vstupy a dobou provádění lineárního algoritmu.

Vstup

Doba provedení

10

0,00000001

100

0,0000001

1 000

0,000001

1 000 000 000

1

Tabulka 2. Vztah mezi vstupy a dobou provádění logaritmického algoritmu.

Vstup

Doba provedení

10

3.3E-09

100

6.6E-09

1 000

1.0E-08

1 000 000 000

3.0E-08

Tyto dva příklady se v reálném životě obvykle nevyskytují, protože algoritmy se stěží chovají lineárně nebo logaritmicky. Jako příklad výsledků, kdy před zahájením programování nebylo provedeno žádné plánování ani návrh, lze použít algoritmus „hloupého řazení“. Jedná se o strukturovací algoritmus založený na náhodném testu ve skupině karet s faktoriálním chováním (tabulka 3). Pokud máme 100 vstupů, máme na jeho vyřešení 3,2E+183 let. Podle NASA je stáří vesmíru 13,7E9 let, což znamená, že kdybychom algoritmus spustili v den vzniku vesmíru, stále by běžel bez řešení. Abyste se vyhnuli plýtvání hardwarovými zdroji, je třeba se vyhnout faktoriálním algoritmům, jako je algoritmus „hloupého řazení“.

Tabulka 3. Vztah mezi vstupy a dobou provádění faktoriálního algoritmu.

Vstup

Doba provedení

Trvání v letech

10

10

3.171E-7

100

1.0E+191

3.2E+183

1 000

?

?

1 000 000 000

?

?

Hardware má ve skutečnosti svá omezení. Obecně platí, že časové rámce vestavěných systémů jsou pro lidi obtížně pochopitelné. Z tohoto důvodu pro tuto analýzu definujeme srozumitelnější rámce. Pro typický procesor s frekvencí 3,9 GHz, který je součástí běžných počítačů z roku 2014, můžeme říci, že jeden cyklus CPU trvá 1 sekundu, přičemž časy jsou uvedeny v tabulce 4. V těchto případech by čtení souboru z pevného disku mohlo v nejhorším případě trvat 1,5 roku nebo čtení souboru z paměti RAM 32 sekund. Jak vidíte, špatně navržený algoritmus bude plýtvat zdroji. V důsledku toho si můžete myslet, že potřebujete robustnější hardware s vyššími funkcemi, když potřebujete zkontrolovat, jak vyvíjíte software.

Tabulka 4. Doby provádění běžných procesů v počítači v měřítku, které je snáze pochopitelné.

Aktivita

Čas

Lidské měřítko

Cyklus CPU

0,256 ns

1 sekunda

Mezipaměť L1

1,026 ns

4 sekundy

Mezipaměť L2

3,077 ns

12 sekund

Mezipaměť L3

6,154 ns

24 sekund

R.A.M. Paměť

8,4 ns

32 sekund

Pevný disk – v nejlepším případě

2,9 ms

132 dní

Pevný disk – nejhorší případ

12 ms

1.5 let

SDD

85 μs

3 dny a 20 hodin

Změna kontextu

10 μs

10,8 hodin

Kvantové

100 ms

12,4 let

Jak dosahujete obchodního úspěchu při vývoji technologických produktů?

S pečlivou architekturou algoritmů. Musíte sestavit tým, který zahrnuje alespoň jednoho zkušeného inženýra v oblasti vestavěných systémů. Tento profesionál bude nejlépe vybaven k návrhu algoritmů, které budou běžet na konkrétním hardwaru. Tato osoba v podstatě vylepší software tak, aby co nejlépe odpovídal hardwaru (ne naopak), což vám zase zajistí lepší návratnost investic a ušetří vám spoustu provozních a výrobních starostí.

Systémový inženýr bude strategicky plánovat, programovat a vyhýbat se běžným chybám při vývoji softwaru. Bude schopen předvídat možnosti hardwaru. To znamená, že lze snížit počet výzev a snáze dosáhnout obchodního úspěchu. Kdo ví! Možná se ve vaší firmě stanete hrdinou Průmyslu 4.0, internetu věcí, robotiky nebo zpracování obrazu.

Pokud chcete o tomto tématu pokračovat ve čtení, můžete se podívat tento blog. Můžete také podívejte se na tuto stránku pro více informací o vestavěných systémech.

Předchozí příspěvek
Další příspěvek

Zanechte komentář

Upozorňujeme, že komentáře musí být před zveřejněním schváleny.

Děkujeme za přihlášení k odběru!

Tento email byl zaregistrován!

Nakupujte vzhled

Vyberte možnosti

Možnost úpravy
Back In Stock Notification
Porovnejte
Produkt SKU Popis Sbírka Dostupnost Typ produktu Další podrobnosti

Vyberte možnosti

this is just a warning
Přihlášení
Nákupní vozík
0 položky