Co je vestavěný systém a jak funguje?

11.04.2022 Embedded systémy #embedded #mcu #systém

Základní přehled pojmu embedded systém.


Embedded System je z definice také známý jako integrovaný systém díky své kombinaci hardwaru a softwaru (také známý jako Firmware). Skládá se z inteligentních výpočetních zařízení, která nás obklopují. Zařízeními mohou být chytrý telefon, chytré hodinky, zařízení pro chytrou domácnost, lékařské vybavení, bezpečnostní alarmy, produkty IoT atd.

Budou spolu mluvit přes internet a běží na dálku bez lidského zásahu. Jedním z faktů je, že se náš svět v blízké budoucnosti připojí k více než 50 miliardám zařízení pomocí nově vznikajících technologií, jako je internet věcí (IoT). Navíc strojové učení a umělá inteligence budou hrát klíčovou roli při navrhování produktů vestavěných systémů. Pro vývoj takových systémů stojí za to znát fungování jejich životního cyklu vývoje softwaru a hardwaru.

Než se seznámíme s fungováním, je důležité znát rozdíl mezi univerzálním PC (počítačem) a vestavěným zařízením.

Embedded System VS General Purpose System

Mnozí si tato dvě slova pletou, ale mezi mikroprocesorem a mikrokontrolérem je primární rozdíl ve vestavěném CPU. Univerzální CPU v počítači, jako je mikroprocesor má k sobě fyzicky připojená externí periferie (hodiny reálného času, USB, Ethernet, HDMI atd.), které jsou viditelné zvenčí. Ale vestavěný mikrokontrolér nebo mikroprocesorová jednotka propojuje několik nebo všechny periferie s CPU na jediném SOC (System On Chip) IC.

Zde jsou některé z klíčových rozdílů mezi operačním systémem pro obecné použití a vestavěným operačním systémem.

Operační systém pro všeobecné použití

  • Spouští se v prostředí Multi-Tasking s jednou nebo více úlohami (někdy známými jako vlákna).
  • Pro provádění paralelních úloh byly implementovány generické algoritmy. Jsou určeny pro rychlejší zpracování a vysokou propustnost.
  • Lze provádět složité operace jako 32bitové a 64bitové sčítání a odčítání.
  • Nelze reagovat a komunikovat s vnějším analogovým světem.
  • Cena je vysoká kvůli vysoké dostupnosti paměti (RAM, ROM).
  • Spotřeba energie a velikost nepředstavují hlavní konstrukční omezení.
  • Není v reálném čase a reaguje v drsném prostředí.
  • Uživatelsky přívětivé rozhraní.

Příklady : Windows, Linux, Mac OS.

Co je vestavěný systém?

Jak název napovídá, může se jednat o hardware nebo software integrovaný pro provádění konkrétní funkce. Využívá mikrokontrolér/mikroprocesor k provedení jedné úlohy. Jedná se o samostatné zařízení s operačním systémem nebo bez něj. Příkladem může být pračka, hudební přehrávač, bankomat, prodejní automat, záznamník dat atd. V dnešní době většina zařízení běží na OS (operační systém). Takže, co je potřeba pro OS?

  • Uživatel potřebuje chytřejší zařízení schopná provádět více úloh za kratší dobu.
  • Podporuje dostatek paměti pro spuštění více aplikací.
  • Opakovaně použitelné a stabilní s více aktualizacemi softwaru.
  • Vhodné pro integrované hlasové ovládání a bezdrátové aplikace, jako jsou protokoly WiFi, ZigBee, Ethernet, Bluetooth, NFC a GSM.

Některé z příkladů vestavěného systému jsou chytré telefony, pračky, klimatizace, kiosky atd.

Aplikace vestavěného systému

Jsou přítomny všude. Většina lidí je používá, aniž by je znala. Krása spočívá v tom, že je pro uživatele neviditelný a přináší bohaté možnosti. Zde jsou některé z aplikací vestavěného systému, které používají výkonný operační systém (OS), jako je Embedded Linux, Android a Windows CE.

Chytré domy

Většina produktů ve vaší domácnosti je zabudována, což uživateli poskytuje vynikající zážitek a pohodlí. Příklady jsou domácí bezpečnostní systém, instalační box, digitální fotoaparát, televize, mikrovlnná trouba, vzduchový chladič, lednička a mnoho dalšího.

Kanceláře

Zabývají se také komerčními podnikovými řešeními pro mezisíťové obchodní klienty. Příklady jsou router, modem, tiskárna a brány.

Přeprava

Automobilový průmysl je celosvětově konkurenceschopný. Některé z vestavěných subsystémů v automobilech jsou protiblokovací brzdový systém (ABS), ovládání klimatizace, ovládání zapalování, ovládání airbagů, stěrače s dešťovým senzorem.

Zdravotní péče

Oblast medicíny je kritická a používání vestavěných systémů je noční můra. Zvláštní design může mít katastrofální dopad na společnost nebo jednotlivce. Příkladem jsou monitory krevního tlaku, monitory srdečního tepu, kardiostimulátory, teleskopická kontrola a chirurgie, skenery, přenosné ventilátory.

Průmyslový svět

Nedávné výzvy vestavěných systémů rozšířily jejich pole působnosti směrem k automatizaci. Automatizace je proces, při kterém se úkol provádí opakovaně. Automatizace zvyšuje produktivitu stroje, snižuje náklady na vývoj a dobu návrhu. Příklady jsou průmyslové stroje a řízení, monitorování teploty, 3D tiskové stroje, robotika a průmyslový internet věcí.

Letectví a obrana

Letectví a obrana je drsná oblast, kde jsou bezpečnost a výkon nejdůležitější. K dosažení tohoto cíle musí být vytvořen spolehlivý firmware a vestavěný software. Příklady jsou systémy řízení letu, ovládání, řízení vzduchu a teploty, výkon motoru, turbodmychadla vozidla, navigační systém, vestavěné zobrazování.

Každý komplexní systém na světě lze vytvořit na základě dvou myšlenek, softwaru a hardwaru. Abyste toho dosáhli, musíte začít budovat menší moduly a integrovat je, abyste vytvořili efektivní subsystém. Vestavěný systém lze rozdělit na softwarové a hardwarové komponenty.

Vestavěný hardware

Jádrem každého vestavěného systému je elektronický hardware – který je umístěn na desce s plošnými spoji. Vestavěná vývojová deska je rozdělena do pěti modulů. Jsou to procesor, paměť, vstupní zařízení, výstupní zařízení a řadiče sběrnice.

Hardware abstraction layer (HAL) je základním zdrojem každého vestavěného zařízení a výběr konkrétní komponenty závisí na požadavcích a specifikacích návrháře. Na globálním trhu existuje mnoho variant hardwaru vyráběného pro různé aplikace. Někteří z nich jsou:

Mikrokontrolér (CPU)

Pro vytváření malých aplikací s přesným výpočtem je preferován mikrokontrolér. Ve skutečnosti mají omezené množství berana a jsou méně spolehlivé. Některé ze slavných výrobních společností jsou Altera, Atmel, Renesas, Infineon, NXP a mnoho dalších. Technicky vzato je mikrokontrolér inteligentní zařízení, které počítá dobu provádění úlohy a efektivním způsobem přiděluje paměťové zdroje přiřazené uživatelem.

Systém na čipu (SoC)

SoC se skládá z CPU, periferních zařízení (časovače, čítače), komunikačních rozhraní (I²C, SPI, UART) a obvodů správy napájení na jediném IC.

Pokud by vaše aplikace měla být spolehlivější s vyšším výkonem, nejlepší volbou je nízkonákladový SoC. Podporuje jedno nebo více procesorových jader.

Procesor ASIC

ASIC znamená Application Specific Integrated Circuit .

Nejprve byl čip navržen pro použití pro konkrétní aplikaci a vlastněný jedinou společností. Není tedy povolena žádná autorská práva k produktu. Za druhé, spotřebovává málo energie.

DSP procesor

Možná se divíte, jsou to nejpoužívanější procesory pro audio a video aplikace. Procesory DSP odstraňují šum a zlepšují kvalitu signálu pro váš DVD přehrávač, hudební přehrávač a herní konzole.

Poznámka: Ve vestavěném výpočetním systému mohou být stovky mikrokontrolérů/mikroprocesorů.

Vstupní zařízení

Vstupní zařízení přebírají vstupy z vnějšího světa. Některé z příkladů vstupních zařízení jsou senzory, spínače, fotodiody, optočleny atd. Přijímají vstup od uživatele a odpovídajícím způsobem reagují.

Výstupní zařízení

Výstupní zařízení jsou indikace nebo výsledky, ke kterým dochází v důsledku vstupních událostí z vnějšku mikrokontroléru. Příklady výstupních zařízení jsou LCD, dotyková obrazovka, LED, motory, sedmisegmentové displeje, bzučák, relé atd.

Sběrnicové ovladače

Řadič sběrnice je komunikační zařízení, které přenáší data mezi komponenty uvnitř vestavěného systému. Některé z řadičů sběrnice jsou sériové sběrnice (I2C, SPI, SMBus atd.), RS232, RS485 a Universal Serial Bus.

Paměť

Pro ukládání dat a správu paměti je zapotřebí paměťová zařízení jako flash a SD karta, EEPROM. Některé z pamětí používaných ve vestavěném systému jsou Non-Volatile RAM, Volatile RAM, DRAM (Dynamic Random Access Memory) atd.

Vestavěný software

Softwarové komponenty jsou základními stavebními kameny vestavěných systémů. Vestavěný software (někdy nazývaný jako firmware ) napsaný pro ovladače zařízení, operační systém, aplikační software, zpracování chyb a ladicí software.

Ovladač zařízení

Ovladače zařízení nebo Board Support Package (BSP) jsou základní softwarové součásti, které řídí periferní zařízení a podporují konektivitu. Je to kus vloženého kódu napsaný pro konkrétní hardware. Periferie může být I2C, SPI, UART, USB, CAN, GPIO atd. Uživatel musí odvodit nízkoúrovňové ovladače pro mikrokontrolér nebo mikroprocesor pomocí specifických řídicích a datových registrů uvedených v datovém listu. Vedle horní části ovladače nízké úrovně musí být napsán ovladač vysoké úrovně pro aplikační software. Kromě toho musí být integrována rozšíření Middleware jako FREERTOS, FATFS, LWIP (zásobník TCP/IP).

Operační systém (OS)

Operační systém je systémový software, který spravuje zdroje, jako je paměť, správa I/O (Input-Output) atd. Ve vestavěném systému existují různé typy operačních systémů. Některé z nich jsou RTOS (operační systémy v reálném čase), VxWorks, RTLinux, Nucleus, µCos, mobilní embedded, samostatné a síťové embedded systémy.

Nejlepší vestavěné programovací jazyky

Většina lidí neví o programovacích jazycích používaných pro vestavěné systémy a svět elektroniky se každým dnem mění. Takže se musíte aktualizovat v tomto konkurenčním světě. Většina hardwarových platforem podporuje více jazyků. Pro usnadnění vývoje firmwaru je nutné naučit se Embedded C, C++ a Micro python.

Jazyk C založil Dennis Ritchie v roce 1972 s operačním systémem Unix. Embedded C je nejrozšířenějším jazykem pro vestavěné systémy z následujících důvodů.

  • Výkonově lepší.
  • Snadné použití.
  • Spolehlivější.
  • Přímo interaguje s operačním systémem.
  • Přenosný a kompatibilní s jakýmkoli hardwarem.
  • Méně nad hlavu a lepší optimalizace kódu.
  • Podporuje prostředí Windows a Linux.

Embedded C++ je vylepšený programovací jazyk s několika výhodami oproti C.

  • Bezpečnost je lepší než jazyk C.
  • Mnohem blíže aplikacím v reálném světě.
  • Vývoj softwaru je snadný.
  • C++ používá objektově orientované paradigma pro abstrakci dat a zapouzdření. Zahrnuje také funkce jako polymorfismus, třídy a dědičnost.
  • Vhodné pro 3D zobrazování a grafické aplikace.

Micro Python je open source objektově orientovaný software používaný pro aplikace v reálném čase. Je čitelný pro člověka a snadno se kóduje. Programovací rozhraní API používají vestavěné zpracování výjimek a chyb. Tento jazyk je vhodný pro vývojáře, kteří nemají zájem procházet nízkoúrovňové hardwarové detaily. Je užitečný pro analýzu dat senzorů a zařízení. Uživatel může napsat testovací případy v pythonu pro ladění hardwaru. Je však zcela v rukou vývojáře, zda pro danou aplikaci zvolí C, C++ nebo Python.

Jak funguje vestavěné zařízení?

Každé vestavěné výpočetní zařízení může být váš počítač nebo mobil, který má nějaké vstupy a odpovídající výstupy.

Zde je příklad toho, jak funguje vestavěný systém.

  1. Přebírá analogový/digitální vstup od uživatele. Příklady jsou tlačítkový spínač, klávesnice, senzor, dotyková obrazovka.
  2. Poté zpracuje daný vstup. Zpracování může být kalkulace nebo konverze. Například ADC (Analogově digitální převodník) převádí analogový vstup snímače na digitální výstup.
  3. Po převodu analogové hodnoty na digitální výstup je potřeba ovládání pomocí výstupních zařízení. Příklady jsou motor, LCD a dotyková obrazovka.

Zajímavosti

  • V reálném čase a reaktivní.
  • Systém je vždy připraven přijmout vstup, zpracovat vstup a dát správný
  • Nízká spotřeba energie, kompaktní velikost, nízká cena.
  • Očekává se, že bude fungovat bez lidské účasti.
  • Schopnost pozorovat, reagovat a řídit vnější prostředí v rámci deterministického období.

Životní cyklus vývoje vestavěného softwaru

Musí být napsán správný vestavěný software, který splňuje požadavky zákazníka a přináší na trh vysoce kvalitní produkty. Abyste toho dosáhli efektivně, zde je sedm kroků k vytvoření vašeho vestavěného produktu.

Krok 1: Analýza požadavky

Nejprve musíte znát a rozumět specifikacím koncového uživatele.

Krok 2: Analýza komponent

Analyzujte komponenty (software a hardware) potřebné k výrobě produktu.

Krok 3: Návrh

Je to nejkritičtější fáze vývojového cyklu. Vývojář potřebuje vyvinout vestavěný hardware a software jednotlivě a oba integrovat.

Krok 4: Vývoj

Programátor vyvíjí prototyp pomocí dostupných hardwarových a softwarových nástrojů, aby odpovídal specifikacím zákazníka.

Poznámka : Prototyp je vzorová verze vytvořená pro testování konceptu.

Krok 5: Testování

Vývojář zkoumá aplikaci spuštěním testovacích případů softwaru, aby prokázal možný potenciál prototypu.

Krok 6: Implementace

Po otestování produktu vývojář zkontroluje výsledek v reálném prostředí, aby realizoval Proof Of Concept .

Poznámka: Proof Of Concept je technika používaná k ověření nápadu, ale nemusí být realizovatelná.

Krok 7: Podpora a upgrade

V závislosti na požadavcích uživatele je třeba poskytovat podporu a upgrade, aby bylo možné v pravidelných intervalech přidávat nové funkce.

Závěr

Návrh vestavěného systému by měl splňovat výkon a zabezpečení s přidanou bezpečností. Abychom toho dosáhli, je třeba se zaměřit na implementaci prototypu a integraci futuristických technologií, jako je MQTT, big data a cloud computing. Při vývoji aplikací HMI (Human-Machine Interface) a GUI je navíc třeba vzít v úvahu uživatelské rozhraní. Důležité je, že vestavěný software musí být optimalizován pro mikroprocesory a mikrokontroléry s omezenou pamětí a výkonem.

Literatura

[1] What is Embedded System and How it Works?. Codrey Electronics [online]. Codrey, 2020 [cit. 2022-04-11]. Dostupné z: https://www.codrey.com/embedded-systems/embedded-systems-introduction/