Nový rad mikrokontrolérov PIC16F131xx od spoločnosti Microchip reaguje na vývoj a neustále sa zvyšujúcu miniaturizáciu elektronických zariadení. Ich funkčnosť umožňuje nákladovo efektívne riadenie napájania, ako aj budovanie regulátorov s predvídateľným časom odozvy.
Jednou z kľúčových požiadaviek pre projektantov dnešných vstavaných systémov (tedaembedded) je dosiahnuť predvídateľné časové správanie obvodu. V praxi sa to zužuje na skrátenie času odozvy na zmeny v riadených procesoch: okamžitá reakcia na vstupy zo snímačov, komunikačných portov alebo používateľského rozhrania. Tento efekt sa dá dosiahnuť zvýšením výpočtového výkonu systémov, čo však nie je optimálna metóda, pretože v konečnom dôsledku dochádza k plytvaniu veľkým množstvom energie. Aby sa zabránilo softvérovej obsluhe základných procesov, Microchip používa vo svojich mikrokontroléroch periférie nezávislé od jadra (Core Independent Peripherals) Novinkou tejto technológie je programovateľný obvod logických hradiel (Configurable Logic Block), ktorý bol integrovaný do novej rodiny 8-bitových mikrokontrolérov tohto výrobcu, do obvodov PIC16F131xx.
Parametre a periférie
Nasledujúca časť testu sa zaoberá riešeniami CIP a CLB a tým, ako umožňujú obvodom zachovať si výpočtový výkon na riadenie aplikácie, pričom samy preberajú jednoduchšie úlohy (ovládanie tlačidiel, niektorých displejov, prevod hodnôt preberaných z prevodníkov). Najprv sa však oplatí pozrieť sa na špecifikáciu a konštrukciu mikrokontrolérov PIC16F131xx.
Tieto čipy sú založené na klasickej 8-bitovej harvardskej architektúre. Sú k dispozícii vo formátoch na otvorovú (THT) aj povrchovú montáž (SMD) a sú k dispozícii v puzdrách DIP, DFN, SSOP, TSSOP, SOIC a VQFN – pričom ponúkajú 6, 12 alebo 18 pinov I/O. Hlavnou výhodou čipov je široký rozsah prijateľných napájacích napätí: od 1,8 V do 5,5 V DC. Taktovanie sa vykonáva pomocou 32MHz signálu a minimálny čas vykonávania inštrukcií je 125ns. Čipy poskytujú od 256B do 1024B operačnej pamäte SRAM a až 14 kB programovej pamäte (FLASH).
Na tomto mieste je dôležité uviesť, že návrhári majú k dispozícii bohatý výber hardvérových periférií, ako sú generátory signálu PWM, 8-bitové a 16-bitové čítače/časovače, radič sériovej zbernice EUSART, MSSP (Host Synchronous Serial Port) schopný pracovať v režime podpory rozhrania I2C alebo SPI, konfigurovateľné komparátory so skráteným časom odozvy (50 sn), 8-bitový digitálno-analógový prevodník (DAC) a 10-bitový analógovo-digitálny prevodník s výpočtovou schopnosťou (ADCC), t. j. hardvérové spracovanie načítaných hodnôt. Na tomto mieste je dôležité všimnúť si periférne zariadenia CIP zahrnuté v prezentovaných obvodoch.
Core Independent Peripherals
Perifériá pracujúce nezávisle od jadra, teda CIP (ang. Core Indpendent Peripherals) sú už dlho súčasťou produktov Microchip z rodín PIC® aj AVR®. Umožňujú vykonávať určité úlohy (napr. komunikáciu so senzormi) na pozadí bez využitia výpočtového výkonu CPU, ktorý je k dispozícii výhradne na realizáciu hlavného programu, čo vedie k zníženiu spotreby energie a zjednodušeniu samotného programu. Vyhradené periférne zariadenia možno použiť na spracovanie prenosu údajov (I2C, CAN, USB), časovanie (časovače), generovanie signálov PWM alebo prácu s analógovými signálmi (ADC, OP-AMP, DAC).
Periférium CLB
Najdôležitejšou inováciou zavedenou v mikrokontroléroch PIC16F131xx je zahrnutie nezávislých, konfigurovateľných logických prvkov do ich štruktúry (kvôli spôsobu ich fungovania je tento obvod klasifikovaný ako periférie CIP). Táto technológia sa označuje skratkou CLB z frázyConfigurable Logic Block. Jeho cieľom je zabezpečiť funkčnú bezpečnosť a okamžitý čas odozvy. CLB je založený na štruktúrach známych z FPGA, t. j. ponúka čo najkratší čas spracovania vstupných signálov. CLB pracuje pomocou základných logických hradiel, ktoré môže projektant ľubovoľne konfigurovať podľa potrieb konkrétnej aplikácie. Okrem toho umožňuje miniaturizáciu cieľových zariadení vylúčením externých komponentov a zmenšením rozmerov PCB. Dôležitou výhodou CLB je možnosť presne určiť čas, za ktorý sa úlohy dokončia. Je to preto, že aj keď majú úlohy podobu relatívne zložitých procedúr, vždy sa vykonajú v hardvéri.
Dostupné typy logických hradiel
V mikrokontroléroch PIC16F131xx sa štruktúra CLB skladá z diskrétnych komponentov tvoriacich 32 identických buniek, z ktorých každá je takzvaným základným logickým prvkom (skrátene BLE z angl. Basic Logic Element). Všetky sú taktované nábežnou hranou signálu CLBCLK. V závislosti od potrieb bunka simuluje jeden logický obvod definovaný vo fáze programovania. Môže to byť:
- hradlo AND (max. 4 vstupy);
- hradlo NAND (2 vstupy);
- hradlo OR (max. 4 vstupy);
- hradlo NOR (2 vstupy);
- hradlo XOR (max. 4 vstupy);
- hradlo XNOR (2 vstupy);
- negátor alebo vyrovnávacia pamäť (1 vstup a výstup);
- flip-flop typu D alebo JK;
- konfigurovateľná tabuľka LUT (Lookup Table, do 4 výstupy).
Dôležité: používateľ má široký výber vstupných a výstupných signálov. Stanovené hodnoty môžu pochádzať z 32-bitového registra prístupného z úrovne programu, reprezentovať stav na vstupno-výstupných linkách mikrokontroléra alebo pochádzať z generátora PWM, časovača/počítadla alebo dokonca z vyrovnávacej pamäte sériovej zbernice SPI. To isté platí pre výstupy nakonfigurovaných hradiel, ktoré môžu byť vo fáze programovania pripojené k prevodníku, časovaču, fyzickým výstupným linkám (pinom) čipu. Voliteľne: každá zo 4 skupín buniek môže generovať prerušenie obsluhované programom. Na tomto mieste treba tiež spomenúť, že výstupy buniek BLE sú trojstavové.

Zhrnutie: konštruktér má k dispozícii plne konfigurovateľnú štruktúru podobnú FPGA implementovanú v modernom 8-bitovom mikrokontroléri. Na ukladanie nastavení je k dispozícii 102 bajtov vnútornej pamäte. Otázkou teda zostáva - ako sa konfigurácia vykonáva?
Konfigurácia a programovanie
Konfigurácia FPGA sa často považuje za prísnu špecializáciu, ktorá si vyžaduje rozsiahle znalosti. Nástroje na prácu s produktmi PIC16F131xx boli pripravené tak, aby ich používanie nebolo príliš zložité. Dokonca aj nepokročilí programátori môžu v krátkom čase zvládnuť základy a dosiahnuť požadované výsledky.
Predovšetkým proces konfigurácie CLB sa vykonáva pomocou špecializovaného softvéru s názvom CLB Synthetizer, ktorý je založený na grafickom rozhraní. Jeho používanie sa rovná príprave vývojového diagramu, takže program zostáva čitateľný aj pre tých, ktorí nepoznajú celú funkcionalitu prostredia.
Program je k dispozícii ako prídavný modul (plug-in) k vlastnému vývojovému prostrediu Microchip, teda MPLAB® X. Nástroj je možné používať aj v bežnom prehliadači, keďže je k dispozícii ako webová aplikácia. Výsledkom práce v CLB Synthetizeri je konfiguračný súbor, ktorý je potom potrebné importovať do projektu, alebo zdrojový súbor jazyka VERILOG (rozšírenie .clb).

Konštrukcia schémy prebieha preťahovaním symbolických blokov a ich vzájomným spájaním a s preddefinovanými vstupnými/výstupnými linkami. Činnosť v MPLAB® možno opísať v siedmich krokoch:
- Nastavenie taktovacích (hodinových) signálov.
- Nastavenie digitálnych blokov, ako sú UART, I2C, TMR a iných.
- Pridanie analógových periférií, ako sú ADCC, DAC.
- Pridanie periférie CLB do projektu vytvorením blokovej schémy s komponentmi zahrnutými v bunkách BLE a definovaním prepojení medzi nimi a vstupnými signálmi.
- Syntéza (vytvorenie konfiguračného súboru)
- Nakoniec je potrebné definovať a priradiť funkcie vstupom/výstupom mikrokontroléra použitého v projekte.
- Nakoniec sa vygeneruje kód Melody.
Na vzdelávacie účely spoločnosť Microchip pripravila niekoľko praktických príkladov použitia CLB na vykonávanie rôznych úloh. Patria medzi ne napr:
- obsliha presúvateľného registra programovateľný LED diód WS2812;
- hadvérový debouncing signálov prichádzajúcich z tlačidiel;
- kódovanie/dekódovanie modulácie Manchester;
- multiplexovanie 4-bitovej hodnoty do signálov ovládajúcich 7-segmentový displej;
- spracovanie frekvencie.
Jedna z týchto aplikácií, vytvorenie ovládača 7-segmentového LED displeja, je znázornená na nasledujúcom videu. A tu treba zdôrazniť, že výsledkom takejto konfigurácie CLB je programovanie, ktoré prebieha úplne nezávisle od jadra mikrokontroléra. V praxi by nahradil špecializovaný čip ovládača, čím by sa zjednodušili a zmenšili obvody navrhovaného zariadenia, ako aj znížili jeho energetické nároky.
Vývojová sada Curiosity Nano
Pomocou kolíkových konektorov možno dosku pripojiť k prototypovému obvoduPlatforma Curiosity Nano bola vytvorená s cieľom poskytnúť zákazníkom spoločnosti Microchip súpravy na demonštráciu možností najnovších mikrokontrolérov tohto výrobcu. Dosky sú pripravené v pohodlnom formáte: s integrovaným debuggerom, programátorom a prístupom k pinom mikrokontroléra. To z nich robí vynikajúci školiaci a vzdelávací nástroj. Samozrejme, pre rodinu PIC16F131xx bola vyvinutá aj špeciálna doska Curiosity Nano.
Model EV06M52A je vývojová sada vybavená mikrokontrolérom PIC16F13145. Obvod obsahuje konektor USB C na napájanie a programovanie. Napätie dodávané mikrokontroléru pochádza zo stabilizátora LDO MIC5353. Voliteľne možno do obvodu umiestniť kremenný rezonátor pre hodiny RTC (32,768 kHz). Stav napájania a programovania je indikovaný zelenou LED diódou. Ďalšia, žltá LED dióda je pripojená k jednému z výstupov mikrokontroléra, ktorý môže byť ovládaný mikrokontrolérom. Na doske sa nachádza aj tlačidlo.

Adaptéry
Funkcionalitu vývojovej sady je možné rozšíriť pomocou adaptérov určených pre dosky Curiosity Nano.
Adaptér AC164162Uvedené produkty sú vybavené univerzálnym konektorom (samica) na zabudovanie dosky Curiosity Nano. V prípade AC164162 je obvod vybavený niektorými zaujímavými funkciami, napríklad 3 konektormi zodpovedajúcimi štandardu MicroBUS™, ktorý sa používa v moduloch Microe výrobcu Click. Na tomto mieste je vhodné zdôrazniť, že v katalógu TME je k dispozícii viac ako tisíc rôznych modelov takýchto dosiek. Na doske plošných spojov sa nachádza aj rozširujúci konektor Xplained Pro. Okrem toho sa celok môže napájať z nabíjateľných batérií, keďže adaptér má integrovaný obvod pre nabíjanie a riadenie napájania kompatibilný s lítium-iónovými a lítium-polymérovými článkami.
Text/FotoTransfer Multisort Elektronik Sp. z o.o
zdroj: www.tme.eu