Když už máme jednou integrovat, učiňme tak naplno. V režii společnosti Microchip to znovu, a nyní ještě lépe, znamená spojení vestavného řízení přímo s programovatelnou logikou. S mikrokontroléry PIC, které zde využijí konfigurovatelných logických bloků, výsledný návrh nejen zjednodušíme, ale polepšíme si také v otázce spolehlivosti nebo časové prodlevy. Ať již na signálové trase nebo cestou na trh.
Závisí na křemíku, ne instrukcích
Rodiny obvodů, které dle dubnové zprávy výrobce [1] aktuálně vstupují do hry, máme rovnou dvě. Díky obvodům skupiny PIC16F13276 nebo též PIC18-Q35 se proto v rámci jediného prvku s nízkou vlastní spotřebou mikrokontrolér chytře potkává s programovatelnou logikou na způsob CPLD (Complex Programmable Logic Device). To vše poplatně výše zmiňovaným HW blokům CLB (Configurable Logic Block), které si dokážeme sami pohodlně konfigurovat a těžit z jejich paralelního chodu. Nejde každopádně o nic ojedinělého. Firma Microchip na logiku CLB v kontextu periférií CIP, nezávislých na jádru (Core Independent Peripheral), vsadila už v případě základních MCU PIC16F13145 z ledna roku 2024 – na stránkách DPS Elektronika od A do Z jsme toto výchozí řešení krátce představili v [2].
Tak či onak ale nebudeme konfigurovatelné logické bloky CLB zaměňovat s moduly CLC ve významu „Configurable Logic Cell“, které firma Microchip do svých mikrokontrolérů integruje dlouhodobě (viz také [3], kde jsme v podobném duchu ilustrovali např. detekci posunu, generování doplňkových průběhů nebo sledování většího počtu parametrů; resp. [4], zde již v oblasti programovatelného generátoru PRG, tedy „Programmable Ramp Generator“, coby flexibilní analogové periférie, navržené s cílem zjednodušit aplikace, vyžadující lineární změnu napětí).
Nové moduly CLB vnímáme spíše jako další krok ve vývoji těchto flexibilních pomocných struktur, takže lze nyní s mikrokontroléry vstoupit i do prostředí, které obvykle bývalo pod správou samostatných programovatelných logických obvodů. Bloky CLB zcela obchází procesor a neřeší jeho instrukční cykly, sekvenční běh, priority, ale ani taktovací kmitočty, což dále zlepšuje odezvu celého systému. Vedle závislosti na softwaru, včetně jeho nevyzpytatelnosti, snižují také výkonovou spotřebu, protože se stabilními výstupy lze počítat i v režimu spánku. A to stále hovoříme pouze o jedné z celé řady dostupných periférií. Bude ale její kapacita stačit?
Stačí jedna součástka
Představa přidružené hardwarové logiky s rychlou odezvou a předvídatelnými výstupy, která se navzdory jednomu celku dokáže oprostit od závislosti na CPU? To zní lákavě – třeba u systémů s důrazem na správné časování, při řízení motorů, v průmyslové automatizaci, automobilovém průmyslu apod. Za zmínku stojí též rostoucí kapacita či výkonnost celé periférie, kdy výrobce u modernizovaných obvodů rodiny PIC16F13276 (40/44 vývodů a 28 kB paměti Flash) aktuálně slibuje 32 logických prvků, stejně jako v případě starších MCU PIC16F13145, zatímco u mikrokontrolérů PIC18‑Q35, zde o nejvyšším výkonu (16 až 64 kB Flash a od 28 do 48 pinů), bude k dispozici rovnou jejich čtyřnásobek, tedy 128 BLE (žádný Modrozub, pouze „Basic Logic Element“) pro návrh paralelní deterministické logiky, fungující na jediném čipu společně s vestavným řízením. Vývojáři již proto nemusí při souběžném řešení různých úloh mikrokontroléry zase tak často doplňovat o samostatná pole CPLD. Skvělé.
A nyní to podstatné. Obě nové rodiny obvodů PIC počítají s automatickou funkcí (natažením konfigurace) nezávislé logiky ihned po zapnutí napájení či resetu, aniž by modul CLB musel čekat na spuštění procesoru a jeho režii. Tím se zároveň odlišují od prvně představených mikrokontrolérů PIC16F13145 (maximum v podobě 20 vývodů a 14 kB paměti Flash), které podobný „CPU-less boot“ neumožňovaly. Vedle rychlosti jsme proto opět u předvídatelného chování a spolehlivosti, tedy předpokladů, které z pohledu funkční bezpečnosti rozhodně nelze brát na lehkou váhu.
Rychle k cíli
Nové integrované obvody od firmy Microchip jsou dále kompatibilní se stávajícími návrhy, vystavěnými na mikrokontrolérech PIC16 nebo PIC18, takže vývojáři mohou nasadit hardwarově založenou logiku bez nutnosti kompletního přepracování systému. A hodit se bude i funkce PDID (Programming and Debugging Interface Disable), skýtající ochranu pro případ neoprávněné manipulace (anti-tamper), kdy své návrhy zabezpečíme proti neautorizovanému přístupu či úpravám.
O nadřazenosti hardwaru nad softwarem v časové rovině jsme již hovořili. Co když ale chcete zpoždění signálu, kritické cesty nebo případná rizika na časové ose vyhodnotit sami, a ještě s předstihem? V tom případě sáhněte již na počátku vývoje po nástroji pro analýzu časování rychlých bloků CLB a zbytečně zde neprotahujte ani dobu potřebnou k ladění. Také je dobré vědět, kolik za oba mikrokontroléry při sériové výrobě zaplatíme. V případě MCU PIC16F13276 ceny startují na 32 centech, zatímco pro výkonnější variantu PIC18‑Q35, která také z celé trojice, pozor, jako jediná skloňuje DMA, výrobce stanovuje zhruba dvojnásobek [5],[6].
Pro úplnost ještě zmiňujeme podporu ze strany nástroje pro konfiguraci CLB od firmy Microchip, který je nyní k dispozici v Microsoft® Visual Studio® Code (VS Code®) a pomáhá zkrátit dobu vývoje logických obvodů cestou intuitivního grafického rozhraní s možností uchopení a přetažení jednotlivých prvků. Integrovaný syntezátor CLB návrh logiky dále spojí s okamžitou časovou analýzou, simulacemi a také možnostmi pro ladění hardwaru, takže si mohou vývojáři ověřovat funkce, sledovat činnost systému v reálném čase a potvrdit i přesné časování, které zde také očekávají, aniž by přitom psali kód v HDL nebo museli ručně konfigurovat registry.
Na nové mikrokontroléry PIC16F13276 či PIC18‑Q35 každopádně pamatuje i celý vývojový ekosystém výrobce, který zde zahrnuje integrované vývojové prostředí (IDE) MPLAB® X a konfigurátor kódu MPLAB Code Configurator (MCC). Z pohledu vývojových sad poté ještě obdržíme PIC18F56Q35 Curiosity Nano (EV55P36A) nebo PIC16F13276 Curiosity Nano (EV18Z11A) coby hardwarové platformy pro rychlé prototypování a testování s plnou podporou programování či ladění.
Odkazy:
[1] Tisková zpráva, https://www.microchip.com/en-us/about/news-releases/products/programmable-logic-redefined-for-simpler-smarter-fully-integrated-designs
[2] Logické funkce vyřešíte díky CLB. Třeba na MCU PIC16F13145, https://www.dps-az.cz/zpravy/id:97391/logicke-funkce-vyresite-diky-clb-treba-na-mcu-pic16f13145
[3] Jednoduchý život s logikou, https://www.dps-az.cz/clanky/id:56778/jednoduchy-zivot-s-logikou
[4] Vyrábíme signály s MCU PIC. Jak na to, https://www.dps-az.cz/clanky/id:54615/vyrabime-signaly-s-mcu-pic-jak-na-to
[5] Obvody PIC16F13276, https://www.microchip.com/en-us/products/microcontrollers/8-bit-mcus/pic-mcus/pic16f132
[6] Obvody PIC18-Q35, https://www.microchip.com/en-us/products/microcontrollers/8-bit-mcus/pic-mcus/pic18-q35
robenek@dps-az.cz