DPA

Protokol DPA – Direct Peripheral Access – je jednoduchý bajtově orientovaný protokol pro řízení služeb a periferií zařízení v síti IQRF. Architektura IQRF obsahuje tři základní vrstvy. První vrstvou je operační systém, druhá je vrstva DPA s připravenými plug-in soubory (k dispozici od výrobce) – tzv. HWP – hardware profiles. Třetí vrstva může v případě potřeby obsahovat soubor Custom DPA Handler, pomocí kterého lze přizpůsobit chování transceiveru.

V mnoha případech použití stačí využívat funkčnosti operačního systému spolu s funkčností HWP. Protokol DPA činí komunikaci s vybraným transceiverem velmi snadnou, snadno se oslovují jeho periferie a zasílají se na ně specifické příkazy.

Struktura DPA příkazu

NADR PNUM PCMD HWPID PDATA
Síťová adresa zařízení Číslo periferie Příkaz pro příslušnou periferri Identifikace hardware Volitelná data

Pole NADR (2B) – síťová adresa – může obsahovat hodnoty 0x00 (Koordinátor), 0x01 – EF (adresy Nodů), 0xFF (broadcast), 0xFE (dočasná adresa), 0xFC („local device“), ostatní adresy jsou rezervované.

Pole PNUM (1B) – číslo periferie – např. 0x02 – OS, 0x03 – EEPROM, 0x04 – EEEPROM, 0x05 – RAM, 0x06 – LEDR, 0x07 – LEDG, 0x08 – SPI, 0x09 – IO, 0x0A – teploměr, 0x0D – FRC, 0x20-6F – uživatelské periferie.

Pole PCMD (1B) obsahuje kód příkazu, který přísluší zvolené periferii. Může obsahovat hodnoty 0x00 0x3E.

Pole HWPID (2B) slouží k filtrování cílového hardware. V případě, že je zde uvedena hodnota 0xFFFF, tak k filtrování nedochází.

Pole PDATA může obsahovat až 56 bajtů uživatelských dat (v aktuální DPA verzi).

Odeslání DPA příkazu

DPA příkaz v prostředí IQRF IDE lze odeslat pomocí pop-up menu, makra, či ručně nastavením jednotlivých částí příkazu.

Pop-up menu

Jedním z nejjednodušších příkazů pro ověření funkčnosti cílového Nodu je zapnutí/vypnutí červené LED, kterou obsahuje (TR modul). V přehledném zobrazení IQRF sítě (IQMESH Network Manager – Map View) zvolíte libovolný Nod, kliknete na něj pravým tlačítkem myši a zvolíte příslušný příkaz – LED Red On/Off/Pulse (obr. 6). Pokud chcete na zvolený Nod odeslat jiný příkaz, který máte aktuálně nastaven v terminálu DPA Test – Data to send, a chcete k tomu využít názorné topologické zobrazení, kliknete na zvolený Nod pravým tlačítkem myši a vyberete příkaz Send Packet from DPA Test. Síťová adresa v DPA paketu se nastaví podle zvoleného Nodu.

Makra

Makra slouží ke zjednodušení práce s DPA příkazy. Pod tlačítky maker jsou uloženy DPA příkazy (např. bondování Nodů, zjištění počtu Nodů v síti IQRF, odbondování všech Nodů, nastavení pinů na vstup/výstup, zapnutí/vypnutí určitých pinů, zjištění teploty, vytvoření FRC příkazu). Makra najdete v balíčku Start-up package (DPA-macros.iqrfmcr).

Pokud chcete zaslat zvolený příkaz skrytý pod některým z tlačítek v oblasti maker, stačí kliknout na příslušné tlačítko, upravit v terminálu DPA Test síťovou adresu cílového transceiveru (NADR) a příkaz odeslat stisknutím tlačítka Send. V případě nastavení síťové adresy na FF (hexadecimálně) se jedná o broadcast a příkaz bude zaslán všem Nodům v síti IQRF.

Ruční vytvoření DPA paketu

V prostředí Terminal – DPA Test lze nadefinovat vlastní DPA paket. Zvolte adresu, periferii (např. 0A – Thermometer), příkaz (např. 00 – Get temperature), případně HWPID a PDATA. Při sestavování DPA příkazu lze využít kontextové nabídky. Komunikaci lze vidět v okně Terminal Log (obr. 8), detaily v okně Packet Inspector.

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