Vidíte historickú verziu tejto stránky. Pozrite si aktuálnu verziu.

Porovnať s aktuálnou verziou Zobraziť históriu stránky

« Predchádzajúce Verzia 13 Ďalej »

Protokol GPIO


Podporované typy a verzie zariadení 
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Konfigurácia meraných bodov
Literatúra
Zmeny a úpravy
Revízie dokumentu


Podporované typy a verzie zariadení



Protokol podporuje komunikáciu cez GPIO (General Purpose I/O) rozhrania na počítačoch Raspberry PI a postavených na základe RPI Compute Module. V súčasnosti sú podporené:

  • Raspberry PI (verzia 2 a 3) s na základe knižnice pigpio
  • Techbase NPE-X500 M3  (priemyselný počítač na DIN lištu postavený na RPI Compute Module 3 s voliteľnými priemyselnými vstupmi a výstupmi)

Komunikácia bola otestovaná voči Raspberry PI (verzia 3) a NPE-X500-M3-MAX-3G.

Protokol umožňuje čítanie hodnôt digitálnych a analógových vstupov (v prípade NPE-X500 aj hodnotu užívateľského tlačidla), nastavenie hodnôt digitálnych výstupov (v prípade NPE-X500 aj reléových výstupov, zasvietenie užívateľských LED diód a spustenie bzučiaka).

Konfigurácia komunikačnej linky



  • Kategória komunikačnej linky: API
  • Štandardne stačí pre jedno zariadenie nakonfigurovať jednu linku a na nej jednu stanica. V prípade potreby vypínania komunikácie s vybranými vstupmi/výstupmi môže byť staníc na linke aj niekoľko. Kvôli rozloženiu záťaže alebo kvôli rýchlemu čítaniu digitálnych vstupov je možné nakonfigurovať aj niekoľko liniek a na každej jednu alebo viacero komunikačných staníc.


Parametre protokolu linky


Dialóg konfigurácia linky - záložka Parametre protokolu.
Ovplyvňujú niektoré voliteľné parametre protokolu. Môžu byť zadané nasledovné parametre protokolu linky:


Tab. č. 1


Plný názovPopisJednotka / rozmerImplicitná hodnota

Device Type

Typ zariadenia. V súčasnosti sú podporované:

  • Raspberry PI
  • NPE-X500


-Raspberry PI

Library Name

Názov knižnice s komunikačnými funkciami pre konkrétne zariadenie. Používané hodnoty sú:

  • libpigpio.so pre Raspberry PI
  • libx1000gpio.so pre NPE-X500
--

Read Delay Ms

Oneskorenie po jednom cykle prečítania hodnôt všetkých meraných bodov. Pomocou tohto paramatra je možné riadiť frekvenciu čítania hodnôt jemnejšie, ako pomocou parametrov pollingu v konfigurácii časových parametrov stanice.ms1

Konfigurácia komunikačnej stanice



  • Komunikačný protokol: GPIO Protocol.
  • Adresa stanice: nezadáva sa


Konfigurácia meraných bodov



Možné typy hodnôt bodov: Ai, Ao, Ci, Co, Di, Do.


Formát adresy meraného bodu závisí od typu zariadenia.


Adresy meraných bodov pre Raspberry PI

V nasledujúcej tabuľke id udáva číslo pinu v číslovaní BCM (Broadcom).

Obrázok prevzatý z http://pinout.xyz zobrazuje BCM číslovanie pinov na GPIO konektore:


AdresaPopisTyp boduPríklady

DI,id
DI_UP,id
DI_DOWN,id

GPIO pin bude nakonfigurovaný ako digitálny vstup. Ak bude naň privedené napätie 3.3V, hodnota vstupu bude 1. Ak bude naň privedené napätie 0V (zem), hodnota vstupu bude 0.
Varianty DI_UP a DI_DOWN konfigurujú vnútorné pull-up resp. pull-down rezistory, takže na vstup je cez rezistor pripojené napätie 3.3V (DI_UP) alebo zem (DI_DOWN), takže aj bez pripojenia externého napätia je vstup v definovanom stave. Varianta DI konfiguruje pin tak, že pull-up/pull-down odpory sú odpojené.
Pozn: knižnica pigpio podporuje čítanie z GPIO pinov 0-53.
Di, Ci, AiDI,25
DI_UP,24

DO,id

GPIO pin bude nakonfigurovaný ako digitálny výstup. Ak bude doň zapísaná hodnota 1, na výstupe bude napätie 3.3V. Ak bude doň zapísaná hodnota 0, na výstupe bude napätie 0V (zem).
Pozn: knižnica pigpio podporuje zápis do GPIO pinov 0-53.

Dout, Co, Ao

DO,24

PWM,id

GPIO pin bude nakonfigurovaný ako PWM (pulse width modulation) výstup. Následne je doň možné zapisovať hodnoty 0-255 riadiace šírku impulzu od úplne vypnutého až po úplne zapnutý.

Pozn: knižnica pigpio podporuje PWM prácu s GPIO pinmi 0-31.

Dout, Co, AoPWM,12
REVISON

Hodnota revízie hardvéru (číslo z riadku "Revision" zo súboru /proc/cpuinfo. Napr. pre RPI 3 je v tomto súbore riadok "Revision        : a02082" a hodnota revízie (po prevode z hexadecimálneho tvaru) je 10494082.

CiREVISON




Adresy meraných bodov pre NPE-X500

V nasledujúcej tabuľke id udáva číslo vstupu/výstupu (napr. DI, DO, AO). Počet vstupov a výstupov závisí od konkrétneho modelu. Poznámky hovoria o modele NPE-X500-M3-MAX-3G, ktorý bol testovaný.
Pozn 1: výstupné body, ktorých adresy obsahujú _BUF, používajú buffrovaný zápis. To umožňuje hodnoty takýchto objektov nielen zapisovať, aj vyčítavať, čo môže byť užitočné napr. po štarte KOM procesu.
Pozn 2: pri testovanom modele trvalo čítanie digitálneho vstupu menej ako 1ms, čítanie analógového vstupu cca 20 ms.

AdresaPopisTyp boduPríklady

DI,id

Digitálny vstup (DI)
Pozn: testované zariadenie malo vstupy DI1-DI4. Hodnota 0 znamená, že vstup je pripojený k zemi, hodnota 1 znamená, že vstup má od zeme odpojený a má napätie 3.3 V dodávané zariadením.
Di, Ci, AiDI,1
DI,2

DO,id
DO_BUF,id

Digitálny výstup (DO). Ak je buffrovaný (DO_BUFF), hodnota je aj načítavaná (po štarte aj periodicky).
Pozn: testované zariadenie malo výstupy DO1-DO4 typu open collector, t.j. zápisom hodnoty 1 sa výstup pripojí k zemi.

Dout, Co, Ao

DO,1
DO_BUF,4

DIO,id
DIO_BUF,id

Digitálny vstup/výstup. Podľa typu bodu je GPIO port nakonfigurovaný ako vstupný (Di, Ci, Ai) alebo výstupný (Dout, Co, Ao).
Ak bod konfigurovaný ako výstup aj je buffrovaný (DIO_BUFF), hodnota je aj načítavaná (po štarte aj periodicky).
Pozn: testované zariadenie malo digitálne vstupy/výstupy DIO1-DIO4, pričom boli konfigurovateľné po dvojiciach (t.j. 1 a 2 resp. 3 a 4 museli byt nakonfigurované rovnako - buď ako vstup alebo ako výstup).

Vstup: Di, Ci, Ai
Výstup: Dout, Co, Ao
DIO,2
DIO_BUF,3
RELAY,id
RELAY_BUF,id

Reléový výstup. Ak je buffrovaný (RELAY_BUFF), hodnota je aj načítavaná (po štarte aj periodicky).
Pozn: testované zariadenie nemalo reléové výstupy, takže táto funkcionalita nie je otestovaná.

Dout, Co, AoRELAY,1
RELAY_BUF,2
AI,id

Analógový vstup (AI).
Pozn: testované zariadenie malo analógové vstupy AI1-AI4 s 12-bitovým A/D prevodníkom, ktoré prevádzali vstupné napätie 0-10 V na číslo 0-4095.

Ci, Ai

AI,1
AI,3

LED,id
LED_BUF,id
LED výstup. Ak je buffrovaný (LED_BUFF), hodnota je aj načítavaná (po štarte aj periodicky).
Pozn: testované zariadenie malo dve LED diódy (červená LED,1 a zelená LED,2), ktoré sa rozsvietili po zapísaní hodnoty 1 a zhasli po zapísaní hodnoty 0.
Dout, Co, AoLED,1
LED_BUF,2
BUZZER
BUZZER_BUF
Bzučiak. Ak je buffrovaný (BUZZER_BUFF), stav bzučiaka je aj načítavaný (po štarte aj periodicky).
Pozn: testované zariadenie malo bzučiak, ktorý začal vydávať tón po zapísaní hodnoty 1 a stíchol po zapísaní hodnoty 0.
Dout, Co, AoBUZZER
BUZZER_BUF
BUTTON
BUTTON_BUF
Stav užívateľského tlačidla (user button).
Pozn: testované zariadenie malo tlačidlo, ktoré sa chovalo ako DI - štandardne malo hodnotu 1 a v stlačenom stave malo hodnotu 0.
Di, Ci, AiBUTTON


Literatúra



Zmeny a úpravy




Revízie dokumentu



      • Ver. 1.0 - 30. august 2018 - Vytvorenie dokumentu.


Súvisiace stránky:

  • Žiadne štítky