Warning
This page is located in archive.

Procesorové systémy pro vlastní aplikace

Procesorové systémy vhodné pro vlastní aplikace

Dostupné mikrokontroléry

PIC32MX/PIC32MX levné výkonnější mikrokontroléry na bázi architektury MIPS

  • čipy obsahující řadič USB z této řady začínají s cenou okolo 50 kč, například PIC32MX110F016B-I/SP, který je dostupný i v pouzdře přímo použitelném do nepájivého pole
  • i čipy s plastovými pouzdry a vývody do stran (např. TQFP-44) lze snadno použít i v cela amatérských podmínkách (viz. adaptéry TQFP a QFP/QFN)
  • zajímavým systémem pro malé čipy na bázi mnoha architektur (MIPS, ARM, atd.) může být otevřený systém NuttX, který i na čipech jen s desítkami kB RAM nabízí API, které umožňuje v určité míře programování s využitím shodného API, které používáte pod operačním systémem GNU/Linux

Čipy Espressif na bázi architektury Xtensa

jedná se o čipy ESP8266 a ESP32. Novější je zajímavý i tím, že kromě integrace mnoha rozhraní (WiFi, USB, CAN, ETHERNET) používá variantu architektury Xtensa, která implementuje koncepci registrových oken popsanou v přednášce o vývoji architektur na příkladu architektury SPARC.

Kity včetně antény pro WiFi komunikaci jsou dostupné v řádu 150 kč. Některé kity jsou dodávané i s firmware, který umožňuje začít hardware programovat přímo v jazyce Python (MicroPython).

Malé mikrokontroléry na bázi architektury ARM

V současné době asi nejrychleji se rozšiřující portfólio. Architektura není vlastněná firmou, která by jí vyvíjela pro svoje čipy, ale je nabízená za přijatelných licenčních všem výrobcům polovodičů.

  • pro spojení s mobilním telefonem přes linku Bluetooth Low Energy je zajímavá řada čipů nRF51. Jeden z čipů (nRF51822) se stal základem výukového kitu BBC Micro Bit, který je v masovém měřítku šířený mezi studenty základních škol ve Velké Británii. ČVUT FEL se otevírají semináře především pro učitele středních a základních škol s ukázkami těchto kitů. Další informace o platformě na stránkách skupiny Embedded systémů (http://embedded.fel.cvut.cz/platformy/bbc).
  • Dalších procesorových systémů na bázi variant Cortex-Mx architektury ARM určené pro malé vestavné systému existuje nepřeberné množství. Na ČVUT FEL se této oblasti v těsné spolupráci s firmami STMicroelectronics a dalšími věnuje například Embedded technology club - ETC.
  • Probírat jednotlivé typy není účelné, podstatné často vybrat obvod, který je dobře podporovaný některým vývojovým prostředím. Samsung v rámci projektu Tizen RT také vsadil na základ na bázi systému NuttX. Pokud však není vyžadovaná přenositelnost na jiné architektury než ARM, tak je vhodnou volbou naříkal prostředí mBED, jehož zprávu a vývoj převzala firma ARM. Seznam podporovaných modulů například stránkách projektu určených pro vývojáře. Množství z modulů je dodáváno ve formátu přímo použitelném s nepájivým polem a vstupní požadavky na hardwarovou znalost jsou minimální. Většinou stačí na správné piny přivést napájecí napětí nebo přímo napájet modul přes micro-USB konektor.

Větší procesorové systémy

Většina těchto systémů nabízí jednotku správy paměti a tím jsou vḧodné pro plnohodnotné operační systémy s možností oddělení adresních prostorů pro jednotlivé aplikace/procesy.

Fenoménem v této oblasti je jednodeskový počítač Raspberry-Pi. Výběr čipu hlavně s ohledem na cenu znamenal provedení mnoha ústupků (například nevhodně přes USB připojený řadič sítě Ethernet a v první verzi i volbu zastaralé verze ARM architektury, což znamená nekompatibilitu s moderními variantami většiny distribucí GNU/Linux systému. Verze 2 a 3 jsou již výkonnostně i architekturou dobře použitelné. Výhodou je zájem výrobce čipu zajistit svobodné ovladače pro grafický 3D akcelerátor. Více informací k hardware desky na serveru Embedded Linux Wiki - eLinux.

Přehledy z mnoha systémy vhodnými pro použití nejen se systémem GNU/Linux

Zajímavé jsou především systémy na bázi platformy NXP i.MX6, kde se již podařilo komunitě vytvořit i plně otevřené grafické ovladače. Tato platforma má výhodu i dlouhodobé udržitelnosti na ní vytvořených projektů, protože je určená pro průmyslové a automobilové aplikace, u kterých se předpokládá dlouhodobá dostupnost. U čipů určených pro tablety a telefony je často čip již v době, kdy ho komunita softwarově zvládne, nedostupný.

Dále jsou pro průmyslové a automobilové aplikace vhodné čipy Ti AM33xx, AM43xx atd. Jejich problém je však pro hlavní vývojovou větev operačního systému GNU/Linux nedostupná podpora grafického akcelerátoru a vlastní zkušenosti se snahou použít binární ovladače výrobce vedly většinou k zásadním problémů a použití zastaralých verzí SW a jádra operačního systému. Pokud není potřeba akcelerovaný grafický výstup, jsou čipy v otevřeném SW dobře podporované.

Snadno dostupné a levné jsou například desky založené na čipech firmy |Allwinner Technology. Například Orange Pi Zero je dostupná v ceně okolo 9 dolarů. Orange Pi Zero Plus 2 H5 pak již obsahuje i 64-bitový procesor.

Procesory na bázi architektury RISC-V

Architektura RISC-V je asi první architektura, jejíž specifikace vznikala od začátku jako otevřené dílo a přitom na ní pracovali odborníci takového formátu, jako je profesor David Patterson. Návrhů otevřených architektur existuje více, ale žádný jiný nevykazuje takovou míru promyšlenosti instrukčního souboru i pro optimalizovanou implementaci přímo na polovodiči s minimalizací cest tak, aby mohly varianty navržené pro výkonné čipy dosáhnout propustnosti srovnatelné s dnešní špičkou profesionálních/rozsáhlými týmy vyvíjených architektur jako jsou x86 a MIPS. U tohoto návrhu instrukční sady je šance konkurenceschopný systém navrhnout. Přitom architekturu a kompatibilní CPU je možné imlementovat i ve variantě vhodné pro cenově citlivé prostředí. Například vývojové kity HiFive boards jsou k dispozici v cenách jen mírně překračujících kity z rodiny Raspberry-Pi.

Seznam odkazů na některé naše prezentace a články

Především se jedná o výběr prezentací zaměřených na seznámení začínajících zájemců a profesionálů z firem, kteří ještě nemají s real-time řízením na systému GNU/Linux až tolik zkušeností.

courses/b35apo/documentation/embedded_systems/start.txt · Last modified: 2018/02/11 17:30 (external edit)