Použití škálovatelných mikrokontrolérů k dosažení flexibility návrhu
Contributed By DigiKey's North American Editors
2024-05-15
Vzhledem k tomu, že pokročilé funkce, jako je umělá inteligence („artificial intelligence“, AI) a komplexní, graficky bohatá rozhraní člověk-stroj („human-machine interface“, HMI) jsou v aplikacích stále běžnější, hledají konstruktéři produktů výkonnější mikrokontroléry („microcontroller unit“, MCU). Od konstruktérů se však také žádá, aby vytvářeli cenově optimalizované produkty, které tyto okázalé funkce nebudou mít. Kvůli těmto konkurenčním tlakům je nezbytně nutné vybrat mikrokontrolér, který lze snadno škálovat tak, aby vyhovoval různým požadavkům trhu.
K tomuto tlaku přispívá i rostoucí rychlost inovací. Požadavky na aplikace se mohou neočekávaně změnit, proto je nezbytné mít snadný přístup k alternativním mikrokontrolérům. Je třeba také zvážit možné budoucí změny a opětovné použití. Značných úspor času a nákladů lze dosáhnout, když lze konstrukční prvky znovu použít pro jiné projekty.
Jedním ze způsobů, jak se s těmito výzvami vypořádat, je výběr řady mikrokontrolérů se širokou škálou možností. Dobrým příkladem je řada STM32H7 společnosti STMicroelectronics. Řada sahá od 32bitových mikrokontrolérů základní úrovně s optimalizovanou cenou až po dvoujádrové mikrokontroléry s bohatými sadami funkcí.
V tomto článku jsou zdůrazněna kritéria, která je třeba vzít při výběru řady mikrokontrolérů v úvahu, přičemž jako příklad jsou použity funkce řady STM32H7. Představeny jsou zde také vývojové desky a nástroje dostupné pro mikrokontroléry STM32H7 a v článku je vysvětleno, jak pomocí této infrastruktury zahájit projekty.
Faktory, díky kterým je řada mikrokontrolérů flexibilní a škálovatelná
Při hledání flexibilní řady mikrokontrolérů je třeba vzít v úvahu mnoho faktorů. Zvláště důležité je mít k dispozici možnosti v širokém rozsahu výkonu a úrovní spotřeby energie. Preferovaná řada mikrokontrolérů by měla zahrnovat možnosti s širokým rozsahem taktovacích frekvencí a jader optimalizovaných pro různé cíle. Například Arm® Cortex®-M4 pro nízkou spotřebu a Arm Cortex-M7 pro vysoký výkon.
Řada by měla obsahovat mikrokontroléry se základními funkcemi zpracování i možnosti s rozšířenými funkcemi. Mnoho aplikací vyžaduje ochranu dat a zabezpečenou komunikaci. Pro tyto případy použití jsou nezbytné funkce jako hardwarové šifrování, bezpečné spouštění a kryptografické akcelerátory. Podobně je pro datově náročné aplikace rozhodující digitální signálový procesor („digital signal processor“, DSP) a instrukce s plovoucí desetinnou čárkou.
Řada mikrokontrolérů by měla nabízet také širokou škálu velikostí pamětí RAM a pamětí flash, aby bylo možné vyhovět všemu od jednoduchých aplikací až po ty, které vyžadují rozsáhlé softwarové rámce nebo úložiště dat. Mikrokontroléry by měly mít externí paměťová rozhraní pro aplikace přesahující možnosti interní paměti, aby byla zajištěna potřebná škálovatelnost.
A konečně řady mikrokontrolérů s více periferními možnostmi zvládnou širší škálu aplikací. Je nezbytné zajistit, aby řada mikrokontrolérů obsahovala možnosti s pokročilými vstupy a výstupy, jako jsou USB, ethernet, Bluetooth a Wi-Fi, protože tato rozhraní může být náročné přidávat jako upgrady v pozdějších návrzích. V ideálním případě bude vybraná řada nabízet kompatibilitu pinů v celé své produktové řadě, aby bylo možné provádět upgrade nebo downgrade hardwaru bez zásadních přepracování desek plošných spojů (DPS).
Vývojové nástroje by měly ze softwarového hlediska podporovat celou řadu mikrokontrolérů. K urychlení vývoje by mělo existovat konzistentní softwarové aplikační programovací rozhraní („application programming interface“, API) a robustní sada knihoven, middleware a operační systém v reálném čase („real-time operating system“, RTOS).
Řada STM32H7: případová studie univerzálnosti
Řada STM32H7 od společnosti STMicroelectronics je příkladem řady mikrokontrolérů, která tato kritéria splňuje. Jak je uvedeno v tabulce 1, řada je vysoce škálovatelná, postavená na procesoru Arm Cortex-M7 a zahrnuje základní i pokročilé mikrokontroléry. Řada má čtyři linie, z nichž každá je optimalizovaná pro jiné aplikace.
|
Tabulka 1: Hlavní vlastnosti čtyř linií řady STM32H7. (Zdroj tabulky: autor s použitím zdrojového materiálu od společnosti STMicroelectronics)
Hodnotová linie je k dispozici při rychlostech od 280 do 550 MHz a nabízí 128 kB vestavěné paměti flash a 1 MB paměti RAM. Podporuje řadu komunikačních rozhraní a rozšíření externí paměti a poskytuje cenově výhodné řešení pro systémy orientované na výkon. Jedním z takových mikrokontrolérů je model STM32H750VBT6, který se dodává v pouzdru 100-LQFP 14 × 14 mm.
Linie s jedním jádrem běží také na frekvencích od 280 do 550 MHz. Nabízí až 2 MB paměti flash a až 1,4 MB paměti RAM, což vyhovuje aplikacím, které vyžadují bohaté uživatelské rozhraní a ovládání v reálném čase. Příkladem je model STM32H743IIK6, který se dodává v pouzdru 201-UFBGA 10 × 10 mm.
Linie se dvěma jádry obsahuje sekundární jádro Arm Cortex-M4 optimalizované pro efektivitu. Vestavěný spínaný zdroj napájení zvyšuje energetickou účinnost. Mezi další pokročilé periferie patří TFT-LCD, MIPI-DSI a hardwarový kodek JPEG. Typickým příkladem je model STM32H747AII6, který se dodává v pouzdru 169-UFBGA 7 × 7 mm.
Řada BootFlash se vyznačuje vysokým výkonem, dosahujícím rychlosti až 600 MHz. Je navržena tak, aby usnadňovala spouštění aplikací na místě („execute-in-place“, XiP) v reálném čase a je kromě 620 kB paměti RAM vybavena i 64 kB zaváděcí paměti flash. Některé modely této řady jsou navíc vybaveny volitelným GPU NeoChrom pro lepší grafickou akceleraci. Typickým zástupcem této linie je model STM32H7R3Z8J6 s pouzdrem 144-UFBGA 10 × 10 mm.
Výhody kompatibility s řadami STM32F4 a STM32F7
Řada STM32H7 je součástí širší řady mikrokontrolérů společnosti STMicroelectronics a má pro nejběžnější pouzdra piny kompatibilní se svými příbuznými řadami STM32F4 a STM32F7. Všechny tyto mikrokontroléry jsou založeny na jádrech Arm Cortex-M a sdílejí podobné periferie a rozložení pinů GPIO. Tyto společné rysy usnadňují konstruktérům migraci mezi mikrokontroléry bez významných změn hardwaru. Tato kompatibilita může zkrátit dobu a náklady na vývoj při upgradu produktu nebo navrhování nových produktů na základě různých schopností jednotlivých řad.
Všechny mikrokontroléry jsou navíc podporovány stejným ekosystémem vývoje softwaru, včetně nástroje STM32CubeMX pro konfiguraci a generování inicializačního kódu a nástroje STM32CubeIDE pro vývoj a ladění. Tato kompatibilita zajišťuje, že softwarové komponenty, middleware a aplikační kód lze v rámci projektů zaměřených na obě skupiny opakovaně používat, což vývojové cykly dále urychluje.
Začínáme s mikrokontroléry řady STM32H7
Začátek práce s mikrokontroléry STM32H7 zahrnuje několik klíčových kroků a efektivní využití vývojových desek a nástrojů. Následující průvodce ukazuje krok za krokem, jak s vývojem s těmito výkonnými mikrokontroléry začít.
1. Výběr vývojové desky
Sady Discovery, které jsou ideální pro počáteční zkoumání, se dodávají s integrovaným debuggerem/programátorem a obvykle obsahují různé integrované uživatelské LED diody, tlačítka, senzory a možnosti konektivity. Desky Nucleo, jako je např. model NUCLEO-F767ZI (obrázek 1), představují dobrou rovnováhu mezi flexibilitou a cenovou dostupností. Ke snadnému rozšíření jsou kompatibilní s Arduino Uno a mají rozhraní STLINK pro použití s debuggery/programátory.
Obrázek 1: Vývojová deska NUCLEO-F767ZI představuje jednoduchý, ale flexibilní výchozí bod pro experimentování. (Zdroj obrázku: společnost STMicroelectronics)
Vyhodnocovací desky nabízejí nejkomplexnější sadu periferií a možností připojení pro zkoumání všech funkcí. Například sady Discovery, jako např. STM32H745I-DISCO (obrázek 2) a STM32H750B-DK, umožňují rychle vyhodnotit různá rozhraní s funkcemi, jako jsou například:
- Displej LCD s dotykovým panelem 4,3 palce RGB
- Ethernet v souladu s normou IEEE-802.3-2002
- Technologie Power over Ethernet (PoE)
- USB OTG FS
- Zvukový kodek SAI
- Jeden digitální mikrofon ST-MEMS
- 2× paměť flash 512 Mbit Quad-SPI NOR
- Paměť SDRAM 128 Mbit
- 4 GB vestavěné paměti eMMC
- 2× CAN FD
- Kompatibilní s Arduino Shields
- Integrovaný debugger/programátor STLINK-V3E s funkcí opětovného výčtu USB: hromadné úložiště, virtuální port COM a port pro ladění
Obrázek 2: Vyhodnocovací deska STM32H745I-DISCO nabízí bohatou sadu hardwarových prostředků. (Zdroj obrázku: společnost STMicroelectronics)
2. Nastavení softwarových nástrojů
Společnost STMicroelectronics nabízí pro své mikrokontroléry integrované vývojové prostředí („integrated development environment“, IDE) (obrázek 3). Obsahuje kompilátor, debugger a konfigurátor pro generování inicializačního kódu a nastavení periferií.
Obrázek 3: Snímek obrazovky IDE řady STM32H7. (Zdroj obrázku: společnost STMicroelectronics)
3. Učení a experimentování
Dále je vhodné si přečíst dokumentaci. Vynikajícím místem pro začátek je uživatelská příručka pro vývojovou desku a příslušná referenční příručka řady STM32H7. Tyto dokumenty poskytují důležité informace o architektuře mikrokontrolérů, konfiguraci periferií, Pin-Mux a hardwarových charakteristikách.
Efektivním způsobem, jak se s nástroji seznámit, je experimentování s ukázkovými projekty. Společnost STMicroelectronics nabízí pro různé mikrokontroléry STM32 řadu příkladů projektů. Tyto příklady mohou sloužit jako skvělý výchozí bod pro porozumění tomu, jak používat různé funkce mikrokontrolérů.
A konečně, další podporu může poskytnout komunita vývojářů. Zapojení do zdrojů, jako je např. komunita ST, výukových videí a videí může nabídnout řešení běžných problémů a inspiraci pro možné projekty.
4. Vývoj a ladění
IDE poskytuje vše potřebné k zahájení psaní, kompilace a ladění kódu. Konfigurátor v rámci IDE lze využít k inicializaci periferií a nastavení middlewaru. Integrované rozhraní debuggeru/programátoru STLINK vývojové desky umožňuje ladění v reálném čase. Problémy lze identifikovat pomocí bodů přerušení, sledování proměnných a procházení kódu.
5. Rozšíření projektu
Rozšiřující desky mohou k deskám Discovery a Nucleo přidat funkce, jako je konektivita nebo senzory. Jakmile byla pomocí vývojových desek vytvořena požadovaná funkčnost, může být navržena vlastní deska plošných spojů s použitím schémat vývojové desky jako reference. Jedním z příkladů vlastní desky je kamerová platforma OpenMV4 CAM H7 (obrázek 4) společnosti Seeed Technology Co., Ltd. Využívá jednojádrový model STM32H743.
Obrázek 4: Platforma OpenMV4 CAM H7 je určena pro systémy vidění. (Zdroj obrázku: společnost Seeed Technology Co. Ltd.)
Dalším příkladem je deska ABX00051 Nicla Vision (obrázek 5) od společnosti Arduino, která využívá dvoujádrový model STM32H747.
Obrázek 5: Deska ABX00051 Nicla Vision pomáhá vývojářům vyhodnotit různé obrazové snímače. (Zdroj obrázku: společnost Arduino)
Závěr
Výběr mikrokontroléru při návrhu produktu je vzhledem ke konkurenčním požadavkům na pokročilé funkce a optimalizaci nákladů rozhodující. Řada STM32H7 od společnosti STMicroelectronics je silným příkladem toho, jak může výběr správné řady mikrokontrolérů poskytnout škálovatelné a flexibilní řešení, které řeší potřeby současné i budoucí.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




