Osm krát kolik je dvaatřicet? Správně. Co když ale přecházíte z osmibitových mikrokontrolérů na 32bitový systém? Tady již prosté znaménko nemusí stačit. V Microchipu však dělají vše pro to, aby i taková změna proběhla hladce. Vývojáři k tomu právě dostali nové MCU PIC32C.
Souhra výkonu, spotřeby i periférií
Obvody rodiny PIC32C se aktuálně rozrůstají o skupinu PIC32CM PL10 s jádrem Arm® Cortex®-M0+, které lze taktovat až na 24 MHz [1]. Novinky jsme již na stránkách DPS Elektronika od A do Z krátce představili v [2]. Pro mikrokontroléry je příznačné bohaté zastoupení periférií CIP nezávislých na jádru (Core Independent Peripheral), včetně možnosti napájet v prostředí s vysokou mírou rušení ze zdroje 5 V (jinak také již od 1,8 V), podpory dotykového ovládání, funkční bezpečnosti (ISO 26262, ASIL B) a v neposlední řadě také integrované sady nástrojů.
Čipy se tak uplatní nejen ve spotřební elektronice, např. u domácích spotřebičů nebo nositelných zařízení, ale i v průmyslové automatizaci, kde pomohou s monitorováním a řízením. A pak zde ještě máme široké pole automobilového průmyslu, pro ilustraci třeba ovládání funkcí vozidla, infotainment apod. Také zde budeme těžit z možnosti PDID (Programming and Debugging Interface Disable), zamezující neoprávněnému zásahu do firmwaru a využijeme též funkce CFD pro sledování hodin (Clock Failure Detection), sloužící k nepřetržitému dozorování taktu s cílem předcházet zamrznutí systému. Poplatně jednotné strategii nabízí prvky PL10 rovněž vývodovou kompatibilitu s MCU AVR®.
Za citlivou reakcí na povely, zadávané moderně a bez tlačítek pouhými doteky, hledejte vlastní kontrolér PTC (Peripheral Touch Controller) až s 29 kanály. Společně s analogově – číslicovým převodníkem ADC (single – ended i rozdílově), rozlišujícím na svislé ose s 12 bity, pak lze při měření spojitého signálu předpokládat vysokou odolnost vůči rušení, podepřenou rychlostí vzorkování 800 kS/s a třeba též automatickou kompenzací offsetu či chyby zesílení. Z titulu převzorkování a decimace hardwarovou cestou si zajistíme dalších pět bitů a spolehnout se můžeme i na dva analogové komparátory AC s okénkovou funkcí. Díky tzv. MVIO (Multi-Voltage I/O) lze navíc pohodlně pracovat s dalšími obvody, využívajícími pro své vstupy či výstupy odlišné hladiny napětí. Externí prvky, sloužící k posunu úrovní, již proto nejsou zapotřebí. A hodit se může i vlastní konfigurovatelná logika (CCL) se čtyřmi tabulkami LUT nebo čtyřkanálový Event System (EVSYS).
Doplňkové periférie CIP nám přímo na čipu pomáhají odlehčit práci CPU tím, že převezmou pevně dané, opakující se úlohy, které mohou být rovněž klíčové z časového hlediska. Zlepšujeme tak nejen vlastnosti, sledované v reálném čase, ale i samotné nakládání s dostupnou energií. Mikrokontroléry PL10 dále podporují standard CMSIS (Cortex Microcontroller Software Interface Standard) a pro účely svižnějšího vývoje umožní opakované využití kódu v různých aplikacích. Vedle podpory ze strany ekosystému MPLAB® od Microchipu naše MCU dále skloňují standardní nástroje či integrovaná prostředí IDE, takže si mohou programátoři svobodněji vybírat, jak vše nakonec navrhnou, odladí a uvedou do provozu. Kompatibilní nástroje třetích stran zde zahrnují Microsoft® Visual Studio Code® (VS Code®), IAR™ Systems, Arm Keil®, SEGGER, Zephyr® a MikroElektronika. A ke slovu se rovněž dostává umělá inteligence s MPLAB AI Coding Assistant.
Zatím jen 64 kB Flash
Ať již navrhujete rozhraní HMI pro kapacitní dotykové ovládání, průmyslové řízení s odolností vůči rušení nebo např. propojená zařízení internetu věcí, napájená z baterie, nové mikrokontroléry PIC32CM PL10 rády stanou v samotném centru dění. Případně některými z mikrokontrolérů PL10 ve stávajícím návrhu vhodně doplníte ještě větší MCU či rovnou MPU. Snesou přitom teplotní rozpětí od -40 °C až do +85 °C, resp. až +125 °C, zde jako „Extended“, resp. dle AEC-Q100, Grade 1. A obávat se nemusíte ani případné záměny osmi bitů za třicet dva. Obvody jsou totiž vývodově kompatibilní s rodinou 8bitových MCU AVR® Dx, přičemž vývojáři zde opět naleznou oblíbené periférie typu MVIO, CCL či EVSYS, které jsme zmiňovali výše. Programovatelných vstupů / výstupů může být coby pinů až 55, externích přerušení pak do šestnácti [3].
Celkem jedenáct součástek výrobce v základním náhledu odliší velikostí paměti Flash (128 kB, 64 kB nebo jen 32 kB), ale také počtem vývodů pouzder (20, 28, 32, 48 i 64). K dispozici máme SSOP, VQFN (zde také s wettable flanks), SPDIP či TQFP. Tomu dále odpovídá SRAM s kapacitou 4, 8 či 16 kB. Dlužno dodat, že v době psaní tohoto článku byly aktivní pouze čtyři 64kB varianty MCU a s verzemi na obou koncích nabídky výrobce do budoucna teprve počítá. S klesajícím počtem vývodů se nám pochopitelně snižují dostupné možnosti jednotlivých čipů. Pokud ale pro daná provedení změníme velikost paměti Flash / RAM, takže v přehledu nyní „migrujeme“ na svislé ose, obejdeme se každopádně bez úpravy kódu. Součástky jsou vývodově i funkčně zcela kompatibilní. Za jedno provedení obvodu PIC32CM6408PL10032 s pamětí programu 64 kB zaplatíme při odběru 5 000 kusů okolo 0,6 euro.
Chodí ze spaní
Jedním ze způsobů, jak firma Microchip Technology bojuje se spotřebou energie, a naše novinky nejsou žádnou výjimkou, bude i tzv. SleepWalking neboli jakási „náměsíčnost“. Nejedná se přitom o nic zase tak nového [4]. Funkce je k dispozici právě u systémů, založených na jádru Arm® Cortex®, kde umožňuje dočasné asynchronní probouzení periférií, které konkrétní úlohu zastanou bez účasti CPU. Procesor tak může dále bez vyrušení setrvat v klidovém režimu.
Interní timer u mikrokontrolérů běžně probouzí CPU a kontroluje se splnění určitých podmínek. Jedná se třeba o průběžné sledování napětí baterie s A/D převodníkem. Jenže CPU společně s pamětí RAM obvykle spotřebují nemálo energie. Proč tedy procesor zbytečně probouzet a ověřovat či řešit každou situaci v jeho bdělém stavu? Díky SleepWalkingu proto CPU zůstává stále v režimu s nízkou spotřebou energie, pokud ovšem nedojde k nějaké závažné události. A přesně o tom rozhodují periférie s pomocí svého systému EVSYS, které si pro takové účely umí vyžádat i hodinový signál.
Odkazy:
[1] Tisková zpráva, https://www.microchip.com/en-us/about/news-releases/products/pic32cm-pl10-mcus-expand-microchip-arm-cortex-m0-portfolio
[2] Mikrokontroléry PIC32CM PL10. PTC, 5 V i funkční bezpečnost, https://www.dps-az.cz/zpravy/id:104531/mikrokontrolery-pic32cm-pl10-ptc-5-v-i-funkcni-bezpecnost
[3] Mikrokontroléry PIC32CM PL10, https://www.microchip.com/en-us/products/microcontrollers/32-bit-mcus/pic32-sam/pic32cm-pl10
[4] What is SleepWalking? How it Helps to Reduce Power Consumption, https://ww1.microchip.com/downloads/en/DeviceDoc/90003183A.pdf
robenek@dps-az.cz