Nové možnosti periferií nezávislých na jádru v systémech firmy Microchip.
Největší podíl na trhu mikrokontrolérů, které se používají ve vestavěných systémech (embedded), mají systémy s 32bitovou architekturou. Nicméně často se také používají systémy s 8- a 16bitovými jádry. Mikrokontroléry tohoto typu jsou postaveny na dobře známých jádrech, která byla díky své dlouhé přítomnosti na trhu komplexně otestována a zdokonalena. Nástroje pro tyto mikrokontroléry byly také v průběhu let vylepšeny a konstruktér má nyní k dispozici sadu vynikajících kompilátorů a knihoven funkcí, což výrazně zlepšuje proces vývoje softwaru. Moderní systémy také implementují další funkce, které rozšiřují škálu aplikací, ve kterých lze mikrokontroléry používat.
Důležitým faktorem, který ovlivňuje neustálý vývoj „jednodušších” 8bitových a 16bitových mikrokontrolérů je trh s aplikacemi internetu věcí (Internet of Things, IoT). Vzhledem k velkému počtu zařízení a aplikací pracujících v tomto segmentu jsou na tyto systémy kladeny velké nároky týkající se nízké spotřeby elektřiny. To platí zejména pro inteligentní senzory s bezdrátovým připojením, nositelná elektronická zařízení (wereables), informační systémy nahrazující tradiční cenovky v obchodech, beacony atd. Velmi často jsou tato zařízení napájena bateriemi a uživatelé vyžadují maximálně dlouhou provozní dobu bez nutnosti výměny baterií. V těchto aplikacích jsou bezkonkurenční 8- a 16bitové mikrokontroléry. Lze je totiž snadno uvést (a rychle vzbudit) do režimu snížené spotřeby energie, v němž jejich periferie a/nebo jádro setrvávají v energeticky úsporném režimu a jsou aktivovány/vzbuzeny pouze na dobu potřebnou k provedení nezbytných činností.
Moderní mikrokontroléry používají periferní moduly, které mohou pracovat nezávisle na CPU a provádět určité úkoly (které byly z tradičního hlediska prováděny programově pomocí CPU) samostatně a hardwarově. To podporuje nízkou spotřebu energie a uvolňuje výpočetní výkon relativně malého mikrokontroléru, jehož jádro lze použít k provádění klíčových aplikačních úloh. Použití těchto modulů zkracuje dobu vývoje nové aplikace. Kromě toho lze tyto různého druhu periferní moduly implementované v mikrokontrolérech interně spojovat do větších bloků, které umožní provádění složitějších funkcí. Pro snadnější konfiguraci periferních zařízení pracujících nezávislé na jádru (CIP) poskytuje výrobce konstruktérům nástroje s grafickým a uživatelsky přívětivým rozhraním.
Mikrokontrolér řady AVR128DB v pouzdře TQFP48
Mikrokontroléry vyznačující se výše uvedenými vlastnostmi nemohly chybět v nabídce firmy Microchip.
Řada mikrokontrolérů AVR128DB kombinuje výkon jádra AVR® s malou spotřebou proudu se sadou periferních zařízení pracujících nezávisle na jádru (Core Independent Peripherals, CIP) a velkým počtem vestavěných analogových periferií. Schopnost pracovat s napájecím napětím 5V zvyšuje odolnost proti rušení.
Níže probereme především periferie CIP, které jsou dostupné v systémech řady AVR128DB, ačkoli funkčnost samotných systémů je mnohem větší. V mikrokontrolérech řady AVR128DB najdeme mimo jiné A/C měniče a 10bitový DAC (tedy C/A měnič), RTC systém (hodiny reálného času), generátory PWM (včetně 12bitových generátorů TCB přizpůsobených pro práci v napájecích systémech), hardwarová rozhraní USART, SPI a TWI), referenční zdroje napětí užitečné pro přesná měření, komparátory, možnost generovat externí přerušení na všech I/O pinech. Systémy AVR128DB jsou také vybaveny vestavěnými provozními zesilovači (až 3 kusy). V kombinaci s analogově digitálními měniči umožňují rozsáhlé a přesné zpracování vstupních signálů. Mikrokontroléry mají také vstupní / výstupní port přizpůsobený pro práci s různými logickými úrovněmi (od 1,8 V do 5,5 V), proto se používání externích měničů stává zbytečným. Je to další krok k miniaturizaci a energetické účinnosti obvodů, ve kterých budou použity systémy vyráběné firmou Microchip. Seznamte se s naší úplnou nabídkou.
Event Systém je výkonný nástroj pro snížení zátěže jádra mikrokontroléru. Umožňuje vytvořit jednoduché závislosti mezi událostmi. Podmíněné příkazy se provedou bez účasti jádra (nebo dokonce i bez jeho vzbuzení). Příkladem může být ovládání tlačítek, které je nezávislé na kódu programu. Překročení nastaveného rozdílu potenciálů na komparátoru může mít za následek například spuštění měniče na konkrétním pinu, zahájení počítání atd. Tato funkce snižuje množství kódů nezbytných pro provoz zařízení a zvyšuje rychlost odezvy celého mikrokontroléru.
Podobnou vymožeností jsou konfigurovatelné logické bloky CLC, které jsou aktivní také v režimu snížené spotřeby energie. Umožňují provádět logické operace se signály z externích a interních zdrojů (čítač, registr) a přenést výsledek operace na některou z periferií nebo některý z výstupních pinů. Tím se zabrání použití podmíněných příkazů v kódu programu. Modul CLC plní funkce logických hradel (AND, OR, XOR, NOT a jejich kombinací), západek nebo klopných obvodů bez energeticky náročného postupu vzbuzování jádra.
Modul ZCD je určen ke spuštění přerušení, když signál AC překročí prahovou hodnotu s nulovým potenciálem (vzhledem k GND mikrokontroléru). Vestavěný do mikrokontroléru systém může vzorkovat napětí přímo z elektrického vedení – jediným nezbytným pasivním prvkem v tomto případě bude sériově zapojený rezistor omezující intenzitu proudu a (volitelně) pull up rezistor. Ekvivalentní analogový obvod by vyžadoval použití mnohem většího počtu komponent. Funkce ZCD umožňuje efektivní řízení triaku (stmívání světel, regulace vytápění), monitorování kvality elektrické energie (měření periody) nebo omezení rušení EMI v obvodech, které řídí napájení daného zařízení střídavým proudem (zapíná se při sinusovce blízké nule, eliminuje náhlé skoky napětí a jimi generovaná elektromagnetická rušení). Navíc je možné periferii nakonfigurovat tak, aby signalizovala určitý typ překročení (vzestupná, sestupná křivka nebo obojí). Signál ZCD nemusí být zpracováván softwarově a může být vyveden na některý z I/O pinů mikrokontroléru.
I ty nejlépe navržené digitální systémy provádějící bezchybný a opakovaně revidovaný kód se mohou „zaseknout“. Tento problém může vzniknout z řady důvodů, které někdy nesouvisejí s funkcemi prováděnými kódem. Může se jednat o překročení povolené provozní teploty nebo rušení na napájecím vedení. Základní ochranou proti takovým situacím jsou Watchdog timery (WDT), které pracují nezávislé na prováděném programu. Pokud provedení příkazu trvá déle, než bylo stanoveno, WDT resetuje mikrokontrolér. Pro řadu AVR128DB je možné naprogramovat „časové okno“ (Window Mode Watchdog Timer, WWDT), ve kterém má být program spuštěn. V případě takové kontroly bude provoz zařízení přerušen a obnoven od začátku, a to jak v případě příliš dlouhé, tak i příliš krátké doby mezi odezvami z jádra. V druhém případě existuje možnost, že některé pokyny nebyly provedeny, což může mít negativní důsledky – zejména pokud opomenutý provozní blok přímo souvisel s ochranou obvodu nebo operátora zařízení (např. nezaznamenaný signál z koncového spínače).
Cyclic Redundancy Check (CRC/SCAN)
Generování a ověřování kontrolního součtu je běžně používaný způsob zajištění účinné komunikace mezi systémy v mikroprocesorových systémech. Implementace programu takového ověření bohužel spotřebovává spoustu výpočetního výkonu zapojených systémů a navíc může opozdit jejich práci. Zejména u 8bitových jednotek pracujících s omezenou (z důvodu úspory energie) frekvencí. Nejnovější mikrokontroléry firmy Microchip (PIC i AVR) jsou vybaveny periferiemi, jež automaticky generují kontrolní součet (i ve formě 32\bitového polynomu) a umisťují jej do registru, který je pro program dostupný. Funkce označována jako SCAN umožňuje CRC systému přímý přístup do paměti mikrokontroléru, což navíc zlepšuje práci s kontrolními součty.
Příklad použití CIP modulů v konkrétních aplikacích a výhody jejich použití při vytváření obvodů provádějících složité funkce jsou zobrazeny v následujících videích připravených výrobcem.
Text připravila společnost Transfer Multisort Elektronik Sp. z o.o.
Původní zdroj textu: www.tme.eu