Dokumentace k souborům

Název desky I/O

Soubor je pouze pro čtení a obsahuje název desky vstupů a výstupu jednotky Unipi, přičemž číslo v rozsahu [1-3] odpovídá sekci jednotky.

Vrátí chybu, pokud se jedná o desku s neznámým ID zařízení a není možné získat odpovídající název desky.

/run/unipi/io_group[1-3]/sys_board_name

Sériové číslo desky I/O

Soubor je pouze pro čtení a obsahuje sériové číslo desky vstupů a výstupu jednotky Unipi, přičemž číslo v rozsahu [1-3] odpovídá sekci jednotky.

Pokud sériové číslo není platné, vrátí nulu.

/run/unipi/io_group[1-3]/sys_board_serial

Verze firmwaru

Soubor je pouze pro čtení a obsahuje označení verze firmwaru desky vstupů a výstupu jednotky Unipi, přičemž číslo v rozsahu [1-3] odpovídá sekci jednotky. Číslo verze firmwaru používá následující formát: [0-9,A-F].[0-9,A-F][0-9,A-F].

Pokud je číslo verze neplatné, vrátí chybu.

/run/unipi/io_group[1-3]/firmware_version

UART konfigurace

Soubor umožňuje čtení i zápis a obsahuje nastavení sériových portů dostupných na desce vstupů a výstupů, přičemž číslo v rozsahu [1-3] odpovídá sekci jednotky.

Pokud deska I/O neobsahuje sériový port, soubor je prázdný.

/run/unipi/io_group[1-3]/uart_config

UART délka fronty

Soubor je pouze pro čtení a obsahuje počet přijatých znaků ve vyrovnávací paměti sériového portu na desce vstupů a výstupů, přičemž číslo v rozsahu [1-3] odpovídá sekci jednotky.

Pokud deska I/O neobsahuje sériový port, soubor je prázdný.

/run/unipi/io_group[1-3]/uart_queue_length

Stav životnosti úložiště

Soubory jsou pouze pro čtení a obsahují informace o stavu úložiště.

První soubor udává počet cyklů přemazání paměti oproti maximu [%].

/run/unipi_stats/cycles_used

Druhý soubor udává počet bloků [%], které jsou v pořádku.

/run/unipi_stats/good_blocks

Pro jednotky Neuron je k dispozici třetí soubor indikující počet startů jednotky s aktuální SD kartou.

/run/unipi_stats/power_cycles

V případě, že máte v Neuronu podporovanou SD kartu, je možno následujícími soubory zjistit výrobce karty.

/run/unipi_stats/vendor_1
/run/unipi_stats/vendor_2
/run/unipi_stats/vendor_3

Digitální vstupy

Slouží ke čtení stavu zvoleného vstupu v dané sekci [1-3] jednotky. Více informací, včetně napěťových úrovní pro detekci log.0/1 naleznete v článku o digitálních vstupech.

Soubor je pouze pro čtení a pokud obsahuje hodnotu 0, je na digitálním vstupu detekována logická hodnota 0. Obsahuje-li hodnotu 1, je detekována logická hodnota 1.

/run/unipi/io_group[1-3]/di_[1-3]_[0-9][0-9]/di_value

Digitální výstupy

Slouží ke čtení/nastavení stavu zvoleného tranzistorového výstupu v dané sekci [1-3] jednotky. Více informací naleznete v článku o digitálních výstupech.

Soubor umožňuje čtení i zápis a pokud obsahuje hodnotu 0, je digitální výstup rozepnut. Obsahuje-li hodnotu 1, je sepnut. Zápis hodnoty do tohoto souboru změní stav (sepnut/rozepnut) výstupu dle uvedeného pravidla.

/run/unipi/io_group[1-3]/do_[1-3]_[0-9][0-9]/do_value

Relé výstupy

Slouží ke čtení/nastavení stavu zvoleného relé výstupu v dané sekci [1-3] jednotky. Více informací naleznete v článku o relé výstupech.

Soubor umožňuje čtení i zápis a pokud obsahuje hodnotu 0, je relé výstup rozepnut. Obsahuje-li hodnotu 1, je sepnut. Zápis hodnoty do tohoto souboru změní stav (sepnut/rozepnut) výstupu dle uvedeného pravidla.

/run/unipi/io_group[1-3]/ro_[1-3]_[0-9][0-9]/ro_value

Analogové vstupy

Následující soubory slouží k nastavení režimu a ke čtení hodnoty na analogovém vstupu v dané sekci jednotky [1-3]. Informace o zapojení, technické informace a další podrobné informace naleznete v článku o Analogových vstupech.

Nastavení režimu analogových vstupů

Nastavení režimu AI sekce 1 (s výjimkou některých jednotek např. S5xx):

Soubor umožňuje čtení i zápis a v závislosti na obsažené hodnotě je nastaven režim vstupu.

/run/unipi/io_group1/ai_1_1/mode_ai_voltage_current

Tento vstup je možné nastavit do dvou režimů dle následující tabulky:

Hodnota Režim AI
0 Napětí 0–10V
1 Proud 0–20mA

Nastavení režimu AI sekce 2,3 (a jednotek S5xx):

Soubor umožňuje čtení i zápis a v závislosti na obsažené hodnotě je nastaven režim vstupu.

/run/unipi/io_group[1-3]/ai_[1-3]_[1-9]/mode_ai_voltage_current_resistance

Tento typ vstupu je možné nastavit do několika režimů dle následující tabulky:

Hodnota Režim AI
0 Vypnuto
1 Napětí 0–10V
2 Napětí 0–2.5V
3 Proud 0–20mA
4 Odpor (třívodičová metoda) 0–1960 Ohm
5 Odpor (dvouvodičová metoda) 0–100 kOhm

Čtení analogových vstupů

Poznámka:
Vždy lze číst pouze jeden soubor, dle nastaveného režimu vstupu.


Čtení hodnoty napětí na AI:

Soubor umožňuje pouze čtení a obsahuje měřenou hodnotu napětí v mV.

/run/unipi/io_group[1-3]/ai_[1-3]_[1-9]/in_voltage0_raw

Čtení hodnoty proudu na AI:

Soubor umožňuje pouze čtení a obsahuje měřenou hodnotu proudu v mA.

/run/unipi/io_group[1-3]/ai_[1-3]_[1-9]/in_current1_raw 

Čtení hodnoty odporu na AI (pouze u sekce 2,3 a jednotek S5xx):

Soubor umožňuje pouze čtení a obsahuje měřenou hodnotu odporu v Ohmech.

/run/unipi/io_group[1-3]/ai_[1-3]_[1-9]/in_resistance2_raw

Analogové výstupy

Následující soubory slouží k nastavení režimu a k zápisu analogové hodnoty na výstup v dané sekci jednotky [1-3], na výstupu AOR v první sekci je také umožněno čtení odporu. Informace o zapojení, technické informace a další podrobné informace naleznete v článku o Analogových výstupech.

Nastavení režimu analogových výstupů

Nastavení režimu AO (pouze sekce 1, s výjimkou některých jednotek např. S5xx):

Soubor umožňuje čtení i zápis a v závislosti na obsažené hodnotě je nastaven režim výstupu.

/run/unipi/io_group1/ao_1_1/mode_ao_voltage_current_resistance 

Výstup je možné nastavit do tří režimů dle následující tabulky:

Hodnota Režim AOR
0 Napětí 0–10 V
1 Proud 0–20 mA
2 Čtení odporu 0–2 kOhm

Zápis na analogové výstupy

Napěťový režim je dostupný na libovolném analogovém výstupu, ale proudový režim pouze na výstupu AOR (pouze sekce 1, s výjimkou některých jednotek např. S5xx).

Poznámka:
Vždy lze zapisovat pouze do jednoho souboru, dle nastaveného režimu vstupu.


Zápis hodnoty napětí na AO/AOR:

Soubor umožňuje pouze zápis a požadovaná hodnota napětí se do něj zadává v mV.

/run/unipi/io_group[1-3]/ao_[1-3]_[1-9]/out_voltage0_raw

Zápis hodnoty proudu na AOR:

Soubor umožňuje pouze zápis a požadovaná hodnota proudu se do něj zadává v mA.

/run/unipi/io_group1/ao_1_1/out_current1_raw

Čtení z analogového výstupu

Na speciálním analogovém výstupu AOR (pouze sekce 1, s výjimkou některých jednotek např. S5xx) je také možné čtení hodnoty odporu.

Čtení hodnoty odporu na výstupu AOR:

Soubor umožňuje pouze čtení a obsahuje měřenou hodnotu odporu v ohmech.

/run/unipi/io_group1/ao_1_1/in_resistance2_raw

Uživatelské LED

Slouží ke čtení/nastavení stavu zvolené uživatelské LED dané sekce [1-3] jednotky.

Soubor umožňuje čtení i zápis a pokud obsahuje hodnotu 0, LED nesvítí. Obsahuje-li hodnotu větší nebo rovno 1, LED svítí. Zápis hodnoty do tohoto souboru změní stav (svítí/nesvítí) LED dle uvedeného pravidla.

/run/unipi/io_group[1-3]/leds/unipi:green:uled-x[0-9]/brightness

Čítač

Funkce čítače je k dispozici pro každý digitální vstup jednotek Unipi. Více o této funkci naleznete v článku o digitálních vstupech.

Soubor umožňuje čtení i zápis a obsahuje celkový počet impulsů v rozsahu 0-4294967295 detekovaných digitálním vstupem dané sekce [1-3] jednotky. Zápis hodnoty do souboru nastaví zvolený čítač na požadovanou hodnotu. Zapsáním hodnoty 0 lze čítač resetovat.

/run/unipi/io_group[1-3]/di_[1-3]_[0-9][0-9]/counter

Debounce

Funkce Debounce slouží k potlačení zákmitů na digitálním vstupu. Tento soubor obsahuje čas ve stovkách µs (je-li jeho hodnota 10, odpovídá to 1 ms). Po tutu nastavenou dobu je reakce na změnu hodnoty na vstupu ignorována, aby se zabránilo náhodným sepnutním vstupu v důsledku indukce na kabeláži atp. Nastavení je dostupné pro každý jednotlivý vstup zvolené sekce [1-3] jednotky.

Soubor umožňuje čtení i zápis. Z výroby obsahuje hodnotu 50, která odpovídá době 5 ms. Hodnota 0 znamená, že je funkce debounce vypnutá.

/run/unipi/io_group[1-3]/di_[1-3]_[0-9][0-9]/debounce

DirectSwitch

Funkce DirectSwitch se nastavuje na digitálních vstupech, ale jeho funkce je vázána i na digitální, či relé výstupy se shodným označením. Všechny parametry DirectSwitch lze nastavit jednotlivě pro každý digitální vstup zvolené sekce [1-3] jednotky. Více o této funkci naleznete v článku o digitálních vstupech.

DirectSwitch enable

Soubor umožňuje čtení i zápis a pokud obsahuje hodnotu 0, je funkce DirectSwitch vypnuta. Obsahuje-li hodnotu 1, funkce je zapnuta. Zápis hodnoty do tohoto souboru změní stav (zapnuto/vypnuto) funkce DirectSwitch dle uvedeného pravidla.

/run/unipi/io_group[1-3]/di_[1-3]_[0-9][0-9]/direct_switch_enable

DirectSwitch polarity

Soubor umožňuje čtení i zápis a pokud obsahuje hodnotu 1, funkce DirectSwitch (je-li zapnuta) nastaví výstup do stavu odpovídajícího negované hodnotě vstupu. Obsahuje-li hodnotu 0, je stav výstupu shodný s hodnotou na vstupu. Zápis hodnoty do tohoto souboru nastaví polaritu (shoda/negace) funkce DirectSwitch dle uvedeného pravidla.

/run/unipi/io_group[1-3]/di_[1-3]_[0-9][0-9]/direct_switch_polarity

DirectSwitch toggle

Soubor umožňuje čtení i zápis a pokud obsahuje hodnotu 1, funkce DirectSwitch (je-li zapnuta) změní stav výstupu s každou náběžnou hranou na vstupu, zároveň je ignorováno nastavení DirectSwitch polarity. Obsahuje-li hodnotu 0, funkce toggle je vypnuta. Zápis hodnoty do tohoto souboru změní stav (zapnuto/vypnuto) funkce toggle dle uvedeného pravidla.

/run/unipi/io_group[1-3]/di_[1-3]_[0-9][0-9]/direct_switch_toggle

PWM - pulzně šířková modulace

PWM lze nastavit pouze pro digitální výstupy. Aby bylo možné funkci PWM použít, je nutné nastavit hodnotu digitálního výstupu na hodnotu 0. Více o této funkci naleznete v článku o digitálních výstupech.


Délka jednoho cyklu Tc se nastavuje pomocí hodnot PWM Prescale a PWM Cycle. Výpočet popisuje následující vzoreček:

Hodnota PWM cycle má přímý vliv na rozlišení střídy PWM dle následujícího vzorce:

rozlišení = PWM_cycle + 2

Z toho vychází, že pokud je hodnota PWM cycle 1, je rozlišení rovno 3. Můžeme tedy nastavit tři hodnoty střídy - 0 %, 50 % a 100 %. V případě, kdy to výpočet umožňuje je tedy vhodné nastavit PWM cycle na co nejvyšší hodnotu.

Hodiny PWM standardně běží na 48 MHz, proto se přípustné frekvence PWM pohybují od 24 MHz do ~ 0,0111 Hz. Je třeba poznamenat, že v horní hladině tohoto rozsahu bude čtvercová vlna PWM poměrně nepravidelná, vzhledem k době po kterou tranzistory mění svůj stav.

Střída PWM

Nastavení střídy PWM (PWM duty-cycle) je dostupné jednotlivě pro každý digitální výstup zvolené sekce [1-3] jednotky.

Soubor umožňuje čtení i zápis a lze do něj zapsat hodnoty v rozsahu 0-65535. Korektní hodnoty střídy jsou však v rozsahu 0-100 [%], nastavení vyšší hodnoty bude vždy vyhodnoceno jako 100 [%].

/run/unipi/io_group[1-3]/do_[1-3]_[0-9][0-9]/pwm_duty_cycle

PWM cycle

Nastavení frekvence cyklu PWM je společné pro všechny digitální výstupy zvolené sekce [1-3] jednotky a změna nastavení jednoho výstupu ovlivní všechny soubory.

Soubor umožňuje čtení i zápis a může obsahovat hodnoty v rozsahu 0-65535.

/run/unipi/io_group[1-3]/do_[1-3]_[0-9][0-9]/pwm_frequency_cycle

PWM prescale

Nastavení PWM prescale je společné pro všechny digitální výstupy zvolené sekce [1-3] jednotky a změna nastavení jednoho výstupu ovlivní všechny soubory.

Soubor umožňuje čtení i zápis a může obsahovat hodnoty v rozsahu 0-65535.

/run/unipi/io_group[1-3]/do_[1-3]_[0-9][0-9]/pwm_prescale

Master Watchdog

Funkce Master Watchdog (MWD) nepřetržitě monitoruje příkazy z aplikace běžící na jednotce. Pokud během definovaného času watchdog_timeout nejsou detekovány žádné příkazy, procesor modulu se automaticky restartuje (pokud je povoleno) a použije uloženou výchozí konfiguraci. Tato funkce zajišťuje nastavení bezpečné konfigurace v případě mimořádných situací, např. při selhání řídící jednotky, přerušení komunikace, či problémech se softwarem tak, aby se zabránilo poškození ovládaných zařízení, či ohrožení osob.

Watchdog status

Hodnota souboru indikuje několik stavů MWD, které mohou nastat i současně. Každý stav je indikován jedním bitem, kde:

  • bit 0 indikuje, zda je MWD povolen (1 = povoleno)
  • bit 1 indikuje, zda byla sekce restartována funkcí MWD
  • bit 2 indikuje, zda od poslední komunikace uplynul watchdog_timeout

Kromě čtení stavů MWD je umožněn i zápis do souboru pro povolení/zakázání MWD. Povolení funkce se provádí zápisem 1 do tohoto souboru a zakázání zápisem 0.

/run/unipi/io_group[1-3]/watchdog_status

Pozor:
Bezprostředně po povolení MWD (než uplyne watchdog_timeout) je nutné uložit výchozí konfiguraci, jinak MWD zareaguje a vyrestartuje sekci I/O, čímž se načte uložená výchozí konfigurace, kde je MWD stále zakázán.

Watchdog timeout

Výchozí hodnotou je 2500, maximální možná hodnota je 65535 a minimální hodnotu timeoutu důrazně doporučujeme volit vyšší než 100.

Soubor umožňuje čtení i zápis a obsahuje hodnotu v ms.

/run/unipi/io_group[1-3]/watchdog_timeout

Výchozí konfigurace

Po zapsání hodnoty 1 dojde k uložení aktuální konfigurace sekce do její trvalé paměti. Při odpojení a připojení zařízení k napájení či restartu sekce se načte a použije uložená konfigurace.

Soubor umožňuje pouze zápis a poté se vždy automaticky resetuje do hodnoty 0.

/run/unipi/io_group[1-3]/save_initial_state

Restart sekce I/O

Po zapsání hodnoty 1 dojde k restartu celé sekce, podobně jako při odpojení a připojení zařízení k napájení.

Soubor umožňuje pouze zápis a poté se vždy automaticky resetuje do hodnoty 0.

/run/unipi/io_group[1-3]/reboot_group