Custom DPA Handler

Custom DPA Handler je volitelná programová nadstavba pro případ, že funcionalita HWP (hardware profile) není pro danou aplikaci dostačující. Custom DPA Handler lze naprogramovat v jazyce C a následně v kompilované podobě (HEX soubor) nahrát do transceiveru. Custom DPA Handler je určen pro přístup k nestandardním periferiím nebo pro přizpůsobení chování standardních perfiferií. Může se jednat například o generování PWM, odečítání hodnot z externích čidel nebo ADC.

Na webu technologie IQRF je pro další využití uvedena řada praktických příkladů, které lze buď rovnou využít nebo podle potřeby upravit – http://iqrf.org/technology/dpa/dpa-examples.

Generování PWM

PWM zjednodušeně

PWM – pulsně šířková modulace je modulace analogového signálu pomocí dvouhodnotového signálu, k čemuž může sloužit např. napětí, proud nebo světelné pulsy. Signál je zakódován pomocí stavů zapnuto a vypnuto. Poměr mezi těmito stavy se nazývá střída. Může nabývat hodnot mezi 0 – 100 %, kde 0 % znamená vypnuto a 100 % znamená zapnuto. Pomocí PWM lze řídit například otáčky stejnosměrného motoru nebo jas světla.

Potřebná konfigurace pro nastavení PWM

V tomto příkladu je pomocí PWM řízen jas LED. Abyste si mohli tento příklad vyzkoušet, potřebujete mít funkční síť IQRF s jedním Koordinátorem a aspoň jedním Nodem, v němž bude generování PWM probíhat. K tomuto Nodu bude připojeno zařízení, v němž budete pomocí PWM něco řídit (zde bude pomocí PWM měněn jas LED).
V aplikaci IQRF IDE importujte příslušný soubor pro generování PWM do sekce Source (soubor s názvem CustomDpaHandler-UserPeripheral-PWM.c). V tomto souboru můžete provést případné změny, následně jej zkompilujete a tím si připravíte příslušný HEX soubor pro nahrání do Nodu. Pokud nechcete žádné programové úpravy dělat, můžete rovnou importovat připravený HEX soubor do sekce Output HEX. Tento soubor následně nahrajete do Nodu. Zdrojové soubory i jejich kompilované varianty najdete v balíčku Startup Package.

V konfiguraci Nodu je nutné povolit použití Custom DPA Handleru (záložka HWP).

Proto, aby příslušný Custom DPA Handler zajistil správné nastavení PWM, je třeba mu zaslat na příslušnou periferii potřebná data. Ve zdrojového kódu zjistíte, že očekávaná data je třeba zasílat na první uživatelskou periferii (PNUM 0x20), příkaz příslušející této periferii musí být 0x00 (PCMD 0x00), a dále jsou očekávána data ovlivňující nastavení tří parametrů – předřadič (prescaler), frekvence (period), a střída (duty). Tato data je možné zadat v terminálu do políčka PDATA (např. PDATA 0x00.FF.80). Poslední hodnota v rozsahu 0x00 až 0xFF mění hodnotu střídy a s tím i hodnotu jasu připojené LED. Při zaslané hodnotě střídy 0x00 nebude LED svítit, naopak při zaslané hodnotě 0xFF bude svítit naplno.

Pokud tedy chcete zaslat data na Nod s logickou adresou 0x0001, bude datová zpráva vypadat následovně: 00.01.20.00.FF.FF.00.FF.80.

Dále je potřeba prostudovat elektrotechnická schémata všech komponent, které se při daném příkladu používají. Zde je to transceiver (http://iqrf.org/weben/downloads.php?id=337 ) a dále zařízení DK-EVAL-04 (http://www.iqrf.org/weben/downloads.php?id=190).

Zjistíte zde, že PWM výstup je propojen na transceiveru s pinem C5, a ve schématu zapojení zařízení DK-EVAL-04, do kterého je transceiver zapojen, naleznete zase fyzické umístění tohoto pinu. Pokud tedy budete chtít pomocí PWM řídit jas LED, zapojíte její jeden konektor do zdířky označené C5 a druhý konektor do zdířky GND (ground, uzemnění). Pro zjednodušení orientace kam piny na vývojovém vybavení vedou existují připravené polepky (http://doitwireless.com/2015/01/24/labels-for-ckdk-evals/).

Pomocí technologie IQRF můžete přenášet data z jakýchkoli elektronických zařízení nebo tato zařízení pomocí dat řídit. Je pouze potřeba propojit tato zařízení s transceivery IQRF pomocí standardních rozhraní, jako jsou např. UART, SPI či I2C.

V příštím díle si ukážeme, jakým způsobem lze číst data z exter­ního teplotního čidla Dallas, hodnoty z externího čidla osvitu (fotorezistor) či hodnoty napětí pomocí potenciometru.

Ivona Spurná
PR & EDU Specialist
IQRF Smart School Project Manager
ivona.spurna@microrisc.com