Professional Documents
Culture Documents
Komunikačné Rozhrania Digitálnych Systémov
Komunikačné Rozhrania Digitálnych Systémov
Komunikačné Rozhrania Digitálnych Systémov
Inteligentné alebo tiež tzv. „smart” snímače vo svojej štruktúre obsahujú mikrokontrolér, ktorý
však nie je používaný len pre výpočet meranej hodnoty, ale tiež umožňuje komunikáciu (alebo riadi
komunikačný modul). Keďže takýto komunikačný modul môže dáta prijímať aj vysielať, inteligentný
snímač sa tak môže správať ako vzdialená meracia stanica v telemetrickom systéme.
Sériový port je plne duplexné (full duplex) zariadenie, čo znamená súčasný príjem i vysielanie dát.
Port používa dve nezávislé linky, jednu pre vysielanie a jednu pre príjem dát. Zjednodušené porty
podporujú iba jednosmernú komunikáciu (half duplex) a teda využívajú len vysielaciu linku a
signálovú zem. Prenos dát sa uskutočňuje po linkách TxD a RxD. Ostatné linky plnia pomocné funkcie
pre štruktúrovanie a riadenie toku údajov. Signály je možné programovo nastavovať a čítať ich stav.
Riadenie toku dát (handshaking) predstavuje potvrdenie príjmu dát resp. pripravenosť na prenos.
Riadenie toku môže byť hardvérové, alebo softvérové. Hardvérový handshaking je prenos od
vysielača k prjímaču. Vysielač oznamuje, že má pripravené dáta k prenosu, alebo od prijímača k
vysielaču, že prijímač je pripravený dáta prijať pomocou dedikovaného vodiča. Softvérový
handshaking je realizovaný prenosom znakov XON a XOF podľa ASCII tabuľky. Softvérový
handshaking spomaľuje prenos dát. Pri sériovom prenose je dátový bajt prenesený postupne po
bitoch.
Pri synchrónnom prenose sa na vodičoch nastaví úroveň a informácia sa potvrdí impulzom, alebo
zmenou úrovne synchronizačného signálu. Synchronizačný signál je vysielaný aj keď sa neprenášajú
žiadne dáta. Synchronizácia umožňuje rýchlejší prenos dát ako asynchrónny, keďže nevyžaduje
vysielanie dodatočných znakov vyznačujúcich začiatok a koniec prenášaného rámca. Vysielacia a
prijímacia strana musia mať časové základne (generátory taktovacích impulzov), ktoré musia byť
synchronizované. Značky sú vysielané ako nepretržitý reťazec bitov, v medzerách sa automaticky
vkladajú stavové bity. Začiatky a konce všetkých bitov musia korešpondovať s časovou základňou.
Nevýhodou je zložité synchronizovanie, veľkou výhodou však je efektívne využitie kanálu a možnosť
zabezpečenia prenosu proti chybovosti. Dátové prvky majú rovnakú dĺžku trvania, prenos sa používa
pre veľké objemy dát a tam, kde je potrebné počas prenosu zabezpečiť šírku pásma.
V prípade paralelného prenosu sú dáta prenášané paralelne, tzn. jeden bit po jednom vodiči,
pričom spolu vytvoria jeden bajt, prípadne širšiu dátovú informáciu v závislosti na riešení použitej
zbernice. Paralelný prenos je vo väčšine prípadov synchrónny. Synchronizácia medzi komunikujúcimi
zariadeniami môže byť zabezpečená pomocou definovaného dátového slova alebo inými vodičmi,
ktoré sú súčasťou prenosového kanálu. Pre riadenie dátového toku sú používané samostatné
vyhradené vodiče komunikačného kanálu. Takýmto prenosom je možné prenášať dáta veľmi rýchlo,
je však nutné dbať na kapacitu vodičov, čím je obmedzená vzdialenosť medzi komunikujúcimi
zariadeniami (zvyčajne sa paralelný prenos používa len do niekoľkých metrov) a nevýhodou v
porovnaní so sériovým prenosom je potrebný počet vodičov prenosového kanálu.
číslo portu (napr. COM1, COM2), obvykle je spojené s prerušením IRQ a adresou viazanými
na port,
rýchlosť prenosu - tzv. baudrate (napr. 9600 Baud/s),
počet dátových bitov (najčastejšie 8),
parita - 'N' - žiadna parita, 'O' - nepárna, 'E' - párna parita, 'M' - paritný bit má vždy hodnotu 1
a 'S' - paritný bit má vždy hodnotu 0,
stop bity - 1; 1,5; 2,
hardvérové riadenie toku - zapnuté / vypnuté
softvérové riadenie toku - zapnuté / vypnuté
RS-232 používa asynchrónny prenos informácií. Pri asynchrónnom prenose sa dáta prenášajú v
sekvenciách (rámcoch) po vyslaní tzv. štart bitu. Prenášaný rámec je ukončený stop bitom (Obr. 9.2).
Keďže RS-232 je definované ako asynchrónny typ sériovej komunikácie, tak odoslanie môže byť
zahájené v ktoromkoľvek okamihu. To spôsobuje problém na prijímacej strane, ktorá musí zistiť,
ktorý bit má ako prvý prijať. K tomu účelu slúži tzv. štart bit, ktorý predchádza každému prenášanému
slovu (bajtu) a jeho úroveň je definovaná ako logická 0.
Za štart bitom nasledujú po sebe idúce dátové bity. Bit s najnižšou váhou (LSB - least significant
bit) je vysielaný ako prvý. Bit s najvyššou váhou (MSB - most significant bit) je vyslaný ako posledný.
Pri prenose môže nastať situácia, kedy sa náhodne môže zmeniť hodnota prenášaného bitu
(prerušenie, zarušenie linky a pod.). Preto je možné vložiť za dáta jeden bit navyše slúžiaci ako
detektor chyby - ide o paritný bit. Jeho hodnota sa vypočíta z prenášaných dát podľa dohody o
použitom paritnom systéme. Prijímacia strana potom vykoná rovnaký výpočet, a porovnaním
vyhodnotí, či prenos bol správny. Stop bit býva najčastejšie jedno- alebo dvojbitový. V skutočnosti sa
nejedná o bit, ale o minimálny časový interval, po ktorý musí byť linka po odoslaní každého bajtu v
stave logickej 1.
Elektrické charakteristiky výstupov a vstupov sú dané normou RS-232, ktorá využíva pri prenose
invertovanú logiku na rozdiel od moderných číslicových protokolov. Stavy logickej nuly majú napätie
+3 V až +15 V (+25 V), v stave logickej jednotky -3 V až -15 V (-25 V) vzhľadom na signálovú zem.
Rozsah -3 V až +3 V je považovaný za zakázanú oblasť, teda žiaden logický stav (Tab. 9.1). Riadiace
signály však majú kladnú logiku.
Význam pinov rozhrania je sumarizovaný v Tab. 9.2. Na Obr. 2.12 sa nachádzajú varianty
zapojenia konektorov RS-232 (viď tiež Tab. 9.3 a Obr. 9.3).
TxD (Transmitt
3 Výstup Vyslané dáta
Data)
Pripravenosť na
8 Vstup CTS (Clear To Send)
poslanie
DCD (Data Carrier Detect) - Detekcia nosnej. Zariadenie oznamuje terminálu, že na linke bol
detegovaný nosný kmitočet.
RxD (Receive Data) - Tok dát zo zariadenia (DCE) do terminálu (DTE).
TxD (Transmit Data) - Tok dát z terminálu (DTE) do zariadenia (DCE).
DTR (Data Terminal Ready) - Terminál týmto signálom oznamuje zariadeniu, že je pripravený
komunikovať. V plne duplexných komunikačných zariadeniach strácajú riadiace signály
čiastočne svoj význam a programy ich využívajú skôr spôsobom „DTE hlási, že je momentálne
pripravené (nepripravené) prijať dáta” - k tomu môže programátor využiť ako signál DTR, tak
aj signál RTS - a práve tak je možné pre zariadenie DCE obdobne použiť signál DSR alebo CTS.
Preto niektoré programy umožňujú zvoliť, ktoré handshakingové signály sa pre riadenie toku
dát použijú – v nastavení takýchto programov môžeme preto niekedy nájsť viac variánt
hardvérovho riadenia toku.
„hardware (RTS/CTS)”, „hardware (DTR/DSR)” atď. Takto použitý riadiaci signál sa potom
podľa nových definícií nazýva správne READY FOR RECEIVING.
SGND (Signal Ground) - Signálová zem.
DSR (Data Set Ready) - Zariadenie týmto signálom oznamuje terminálu, že je pripravené
komunikovať.
RTS (Request To Send) - Terminál týmto signálom oznamuje zariadeniu, že komunikačná
cesta je voľná.
CTS (Clear To Send) - Zariadenie týmto signálom oznamuje terminálu, že komunikačná cesta
je voľná.
RI (Ring Indicator) - Indikátor zvonenia. Zariadenie oznamuje terminálu, že na linke bol
detegovaný signál zvonenia.
Maximálna dĺžka vedenia je štandardom RS-232 udávaná ako 15 m alebo vodiče s celkovou
kapacitou 2500 pF. To znamená, že pri použití kvalitných vodičov je možné dodržať štandard a pri
zachovaní menovitej kapacity predĺžiť vzdialenosť až na 50 m. Kábel ja taktiež možné predlžovať pri
zníženej prenosovej rýchlosti, pretože potom bude prenos odolnejší voči veľkej kapacite vedenia.
Uvedené parametre počítajú s prenosovou rýchlosťou 19200 Baud/s.
Obr. 9.3 Prepojenia konektorov RS-232
9.2.3 UART/USART
Univerzálny asynchrónny prijímač/vysielač (Universal Asynchronous Receiver/Transmitter -
UART) je typ asynchrónneho prijímača/vysielača, hardvéru počítača alebo mikrokontroléra, ktorý
konvertuje dáta medzi rozhraniami v asynchrónnom prenose. UART sú bežne používané v spojení s
ďalšími komunikačnými štandardmi ako je napríklad rozhranie RS-232 alebo USB.
UART je zvyčajne individuálny (alebo jeho časť), integrovaný obvod a používa sa pre sériovú
komunikáciu cez počítač alebo periférne zariadenia, sériový port. Dual UART alebo DUART kombinuje
dva UART do jediného čipu. Veľa moderných integrovaných obvodov má UART, ktorý tiež môže
komunikovať synchrónne. Tieto zariadenia sa nazývajú USART (univerzálny synchrónny/asynchrónny
prijímač/vysielač - Universal Synchronous/Asynchronous Transmitter/Receiver).
UART slúži k prevodu zasielaných informácií medzi sekvenčné a paralelné porty na každom konci
spojenia. Každý UART obsahuje posuvný register, ktorý je základný spôsob konverzie medzi sériovými
a paralelnými portami, a teda UART je možné použiť na konverziu niekoľkých typov prepojení -
vonkajšie signály môžu byť z mnohých rôznych foriem. Príklady noriem pre napätie signalizácia sú RS-
232, RS-422, RS-485 a samozrejme paralelný port a v neposlednej rade rozhranie SPI a USB.
Obr. 9.5 Bloková schéma obvodu 8251 (8251 A) USART
Na Obr. 9.5 - blokovej schéme USART (8251) sú označené signály smerom k CPU, k modemu i
linke smerom k periférnemu zariadeniu (TxD, RxD). Jednotka riadenia modemu prijíma z modemu
signály DSR a CTS. Stav signálu DSR môže byť testované v stavovom slove USART. Signálom DTR je
ohlasená pripravenosť koncového zariadenia a signálom RTS žiada o vysielanie. Riadenie prenosu dát
môže byť riadené (ale v asynchrónnom režime nemusí) uvedenými signálmi: TxRDY (Transmitter
Ready - vysielač pripravený), RxRDY (Receiver Ready - prijímač pripravený), TxC (Transmitter clock -
hodiny vysielača) a RxC (Receiver Clock - hodiny prijímača). Signál TxE (Transmitter Empty) indikuje
prázdny alebo vypnutý vysielač a signál SYNDET deteguje v synchrónnom režime synchronizačný
signál SYNC prijatý v režime príjmu. Obvod 8251 má plne duplexný prenos.
Každé zariadenie na zbernici je identifikované svojou adresou, ktorá je v rámci vytvorenej siete
(príklad siete na zbernici I2C sa nachádza na Obr. 9.6) jedinečná, preto rozhranie I2C nevyžaduje
výberový signál CS (chip select) ako je to pri SPI ani ďalšiu logiku. Linky SDA aj SCL sú väčšinou
pripojené na napájacie napätie pomocou tzv. pull-up rezistorov, ktoré sú potrebné najmä pri
komunikácii na väčšiu vzdialenosť. Každé zariadenie na zbernici môže na danej linke vyvolať logickú 0
pomocou tranzistorov s otvoreným kolektorom, ktoré sa v zariadeniach pre I2C bežne používajú (Obr.
9.7).
Prenos cez rozhranie I2C prebieha nasledovne (Obr. 9.8 a Obr. 9.9):
1. Dátový transfér je inicializovaný štart bitom (S), ktorý je signalizovaný prechodom SDA do
logickej 0, zatiaľ čo SCL zostáva v logickej 1.
2. SDA nastaví prvý dátový bit na požadovanú logickú úroveň počas SCL v logickej 0. Dáta sú
prijímané počas vzostupnej hrany SCL.
3. Po každom prenesenom bajte je pridaný ACK (z angl. acknowlege) bit, ktorý oznamuje
vysielaču, že môže pokračovať v posielaní dát, teda že dáta boli úspešne prijaté. Ten sa
vytvorí tak, že pred pulzom, pri ktorom má byť ACK pridané, master uvoľní SDA a slave tak
môže modifikovať bit, ktorý je vyhodnotený ako ACK ak je v logickej 0 a NACK ak je v logickej
1.
4. Keď je transfér dát kompletný, vygeneruje sa stop bit (P) tak, že najprv sa ponechá SCL v
logickej 1 a následne sa aj SDA nastaví na logickú 1, čím sa zbernica uvoľní pre ďalšie
zariadenie.
Obr. 9.8 Priebeh signálov SDA a SCL pri zmene dát (hore) a začiatku a konci prenosu (dole)
I2C rozhranie využíva prenos v dátových rámcoch, používa 7- alebo 10-bitové adresovanie.
Dátová štruktúra je na Obr. 9.10. Pre označenie požiadavky čítania alebo zápisu sa používa jeden bit.
Príklad senzorovej siete založenej na I2C sa nachádza na Obr. 9.11.
Synchronizácia hodín jednotlivých zariadení (Obr. 9.12) je zabezpečená logickou funkciou AND,
ktorá je vytvorená pomocou fyzického pripojenia I2C rozhraní na SCL linku. To znamená, že prechod z
logickej 1 do logickej 0 spôsobí, že master zariadenia, ktoré sú na zbernici, začnú počítať medzeru
pulzu SCL v logickej 0. SCL je zadržiavaná v logickej 0 master zariadením, ktoré má najdlhšiu dobu SCL
v logickej 0. Po tom ako všetky master zariadenia dokončili logickú 0, situácia sa opakuje s časovým
intervalom logickej 1, ale tu je interval definovaný najrýchlejším zariadením - s najrýchlejšími
hodinami. Teda synchronizované hodiny sú generované podľa najpomalšieho zariadenia - logická 0 a
podľa najrýchlejšieho zariadenia - logická 1.
Vyjdenávanie (Obr. 9.13), tak ako synchronizácia, sa uskutočňuje len vtedy, ak je v systéme
použitý viac ako jeden master. Master zariadenie môže začať komunikáciu na zbernici, len ak je
voľná. Dve master zariadenia sa môžu trafiť do povoleného časového intervalu a splniť tak
podmienku začiatku komunikácie na zbernici. V takomto prípade dochádza k vyjednávaniu medzi
master zariadeniami. Tento arbitračný proces sa uskutočňuje bit po bite. Počas každého bitu, keď je
SCL v logickej 1, každý master kontroluje, či sa úrovne SDA zhodujú s dátami, ktoré posiela. Táto
procedúra môže trvať aj niekoľko bitov, dokonca môže dôjsť k úplnej zhode. V prípade, že master sa
pokúša poslať logickú 1 a deteguje logickú 0, automaticky stráca prístup na zbernicu a vypína svoj
prenos. Druhý master dokončí svoj prenos. Takto sa počas procesu vyjednávania nestratia
informácie. Druhý, neúspešný master musí počkať na opätovné uvoľnenie zbernice. Ak master, ktorý
takto stratil prístup na zbernicu, umožňuj aj funkciu ako slave, okamžite sa po strate prístupu musí
prepnúť do slave režimu, pretože je možné, že práve na jeho adresu sa pristupuje.
Rozhranie používa štyri logické signály, SCLK sú hodiny (taktovanie) riadené master zariadením,
MOSI je výstup z master zariadenia pripájaný na vstup slave zariadenia, MISO je pripájané na výstup
slave zariadenia a na vstup master zariadenia. Vodič pre výber slave zariadenia je označovaný SS
alebo CS. Polarita indikácie volania CS je volená podµa typu zariadení. Na SPI zbernici môže byť len
jeden master, ale mnoho slave zariadení. Pokiaľ je použitý len jeden slave, je samozrejme možné
vodič CS fixne nastaviť do požadovanej logickej úrovne, čím bude jediný slave stále aktívny. To však
musí byť podporované aj na strane slave zariadenia, pretože existujú obvody, ktoré reagujú na hranu
a tým inicializujú príjem na zbernici. Väčšina slave zariadení v súčasnosti podporuje trojstavový
výstup, preto je možné z liniek MOSI, MISO a SCLK vytvoriť topológiu multi-drop (Obr. 9.14).
SPI rozhranie bolo v princípe navrhnuté pre funkciu s nezávislými slave zariadeniami, teda ku
každému slave zariadeniu vedie jedna CS linka. V niektorých prípadoch, ak to dovoľujú použité
zariadenia je možné použiť kruhovú konfiguráciu (Obr. 9.15), teda výstup prvého slave zariadenia je
pripojený na vstup druhého slave zariadenia a jeho výstup je pripojený na vstup ďalšieho slave
zariadenia atď. V takomto prípade je SPI port každého slave zariadenia navrhnutý tak, aby počas
druhej sady hodinových cyklov postúpil na výstup presnú kópiu prijatých dát počas prvého
hodinového cyklu. Potom sa celé toto prepojenie správa ako jeden veľký kruhový komunikačný
register a je potrebná len jedna linka CS. Takúto komunikáciu je možné nájsť v niektorých
zariadeniach s GPIO (General Purpose Input/Output) portami.
Pre začatie komunikácie najprv master zariadenie nakonfiguruje hodiny, teda SCLK hodinový
(taktovací) signál s frekvenciou menšou alebo rovnou maximálnej frekvencii, ktorú dovoľuje použiť
slave zariadenie. Tieto frekvencie sa rádovo pohybujú v jednotkách MHz. Potom master aktivuje cez
požadovanú logickú úroveň CS vybrané slave zariadenie. V ďalšom texte budeme uvažovať CS aktívne
v logickej 0, ako je tomu pri väčšine zariadení používajúcich SPI rozhranie. Ak je potrebný vyčkávací
interval, musí master tento interval dodržať (napr. niektoré A/D prevodníky pri zostupnej hrane
začnú konverziu a až po určitom čase sú schopné odosielať namerané dáta).
Počas každého hodinového cyklu dochádza k full duplex komunikácii medzi zariadeniami master
a slave. Prenos zvyčajne využíva dva posuvné registre v obidvoch zariadeniach (napr. 16 bitov, často
tiež 8 bitov alebo 12 bitov). Dáta sú zvyčajne posielané systémom MSB prvý, LSB posledný. Počas
prenosu sa teda register master zariadenia vyprázdňuje a napĺňa sa dátami z registra slave
zariadenia. Takto si komunikujúce zariadenia vymenia informácie pomocou výmeny obsahov
registrov (Obr. 9.16). Následne sa dáta v zariadeniach spracujú a môže sa začať nový prenos alebo sa
ukončí komunikácia tým, že master prestane taktovať SCLK a uskutoční deselekciu slave zariadenia
cez linku CS.
Ostatné slave zariadenia, ktoré neboli pomocou CS vybrané, musia ignorovať SCLK a MOSI signály
a tiež nesmú pristupovať na MISO linku.
Niektoré slave zariadenia sú navrhnuté tak, aby ignorovali SPI komunikáciu, ak je počet
hodinových impulzov väčší ako je veľkosť registra, iné ignorujú len ostatné, nadbytočné pulzy tým, že
posielajú stále rovnaký výstupný bit. Často sa tak stane, že na SPI zbernici sa nachádzajú zariadenia s
rôznou dåžkou registrov. Tak je možné odoslať príkaz s dåžkou 32 bitov a dostať odpoveď napr.
dĺžkou 132 bitov.
Výhodou SPI rozhrania je teda full duplex komunikácia, vyššia priepustnosť dát než väčšina I2C,
flexibilita komunikačných protokolov, nie je limitované na 8-bitové dátové slová, jednoduché
hardvérové požiadavky, slave zariadenia používajú hodinový signál od master zariadenia, teda nie sú
potrebné presné oscilátory v slave zariadeniach a nie je potrebná adresácia a tiež nie je štandardom
limitovaná frekvencia použitých hodín. Nevýhodami naopak je potreba väčšieho množstva pinov na
puzdrach zariadení, nemožnosť ovplyvnenia dátového toku slave zariadením, žiaden ACK signál
(master vysiela „do neznáma“ nevie o tom), možnosť len jedného master zariadenia na zbernici,
nedefinované protokoly pre kontrolu chýb, krátka vzdialenosť v porovnaní s RS-232, RS-485, SPI
nepodporuje tzv. „hot plugging“. Napriek uvedeným nevýhodám však prevládajú výhody a preto sa
toto rozhranie používa často s programovateľnými logickými poliami (CPLD - Complex Programmable
Logic Device, FPGA - Field Programmable Gate Array), ktoré sú súčasťou mnohých systémov pre zber
a spracovanie dát.
Štandard prešiel od svojho počiatku dlhým vývojom. V roku 1965 bol vyvinutý firmou Hewlett-
Packard. V roku 1975 bol prijatý ako štandard IEEE 488. Postupne ako sa vyvíjala technika a
technológia v roku 1987 došlo k rozšíreniu štandardu. Pôvodný štandard bol preznačený ako IEEE
488.1 a bol doplnený o presnejšiu špecifikáciu komunikácie vo forme štandardu IEEE 488.2. Ďalšou
štandartizáciou bol doplnený súbor príkazov pre riadenie a programovanie zariadení vyhovujúcich
štandardu IEEE 488.2 nazývaný SCPI - Standard Commands for Programmable Instruments. V roku
1992 bolo uskutočnené revidovanie štandardu IEEE 488.2. Pre potreby väčších prenosových rýchlostí
bol vytvorený aj modifikovaný štandard HS488, ktorý dovoľuje prenosové rýchlosti až 8 MB/s pri
prepojení dvoch zariadení káblom do 2 m a pri vyťažení 15-timi zariadeniami je dosiahnuteľná
rýchlosť 1,5 MB/s.
24 vodičov rozhrania sa delí do 4 skupín (Obr. 9.18, Tab. 9.5 a Tab. 9.6):
1. Dátové vodiče - 8 vodičov (DI01 až DI08) - slúžia pre prenos dát a príkazov medzi prístrojmi
po bajtoch.
2. Vodiče pre riadenie prenosu - 3 vodiče zaisťujúce asynchrónny prenos po dátovej zbernici.
DAV - Data Valid → potvrdenie prítomnosti platných dát na zbernici.
NRFD - Not Ready for data → zariadenie nie je pripravené na prenos.
NDAC - Not data accepted → dáta neboli akceptované.
3. Vodiče pre riadenie rozhrania - 5 vodičov pre všeobecné riadenie a koordináciu procesov na
zbernici.
ATN - Attention
IFC - Interface clear
REN - Remote enable
SRQ - Service request
EOI - End or identify
4. Zemniace vodiče - 8 vodičov slúžiacich pre zemnenie a tienenie
Vodič Popis
DI01- Vstupno/výstupné dátové bity. Týchto 8 vodičov je určených na čítanie a zápis 8 dátových bitov alebo
DI08 príkazových bytov, ktoré sú posielané po zbernici.
NRFD Not Ready For Data. NRFD je určený na handshaking kde zariadenia indikujú nepripravenosť prijímať
nové dátové byty.
DAV Data Valid. Po tejto linke sa odosiela signál o platnosti dátových bitov na linkách DIO1-DIO8. Počas
prenosu sú linky DIO1-DIO8 nastavené a potom je DAV nastavený po pauze ktorá sa nazýva T1 delay.
T1 delay umožňuje nastaviť na dátových linkách stabilné hodnoty pred ich čítaním.
NDAC Not Data Accepted. NDAC linka indikuje že zariadenia ešte nemajú prečítané dáta na dátových linkách
DIO.
ATN Attention. ATN indikuje že dátové linky DIO obsahujú príkazový bajt.
EOI End Or Identify. Táto linka potvrdzuje s posledným dátovým bytom počas zápisu na ukončenie správy.
IFC Interface Clear. Systémový kontrolér môže repetovať zbernicu a vytvoriť zo seba riadiaci kontrolér.
REN Remote Enable. Uplatnený systémovým kontrolérom, kedy aktivuje zariadenia do riadeného módu. Ak
je REN aktívne, zariadenie bude aktivované do riadiaceho módu pokiaľ bude adresované kontrolérom.
Ak je REN neplatné, všetky zariadenia sa okamžite vrátia do lokálneho módu.
SRQ Service Request. Zariadenie na zbernici môže aktivovať túto linku s požiadavkou obslúženia od
riadiaceho kontroléra. Kontrolér môže preskúmať zariadenie a pokiaľ zistí nutnosť obslúženia, vykoná
všetky potrebné akcie.
9.6 CANaerospace
CANaerospace je protokol vyššieho stupňa založený na Controller Area Network. Bol vyvinutý v
roku 1998 firmou Stock Flight Systems.
Podporuje lietadlové systémy s LRU konceptom, kde poskytuje veľmi spoľahlivé spojenie
systémov s efektívnym monitorovaním toku dát a jednoduchou synchronizáciou časových rámcov
redundantných systémov.
- Demokratická sieť – Zariadenia LRU nie sú rozdelené na typy „slave“ a „master“ a tiež nie je
potrebná riadiaca jednotka zbernice. Každý uzol má rovnaké práva v sieti.
- Samo identifikujúci formát dát – Každá správa obsahuje informáciu o typu dát
a o vysielacem uzle
- Číslovanie správ – Každá správa je vzostupne očíslovaná pre určenie poradia
- Message Status Code – Každá správa obsahuje informáciu o integrite prenesených dát, to
umožňuje prijímacím uzlom vyhodnotiť kvalitu prijatých dát
- Emergency Event Signaling – Každý uzol môže vyslať informácie ohľadom výnimočných
a chybových stavov. To umožňuje ostatným uzlom určiť stav siete
- Preddefinovaný identifikátor dát – CANaerospace ponúka zoznam preddefinovaných
identifikátorov normálnych operačných dát. Môžu sa používať aj používateľom definované
zoznamy.
- Jednoduchosť implementácie – je potrebné veľmi malé množstvo zdrojového kódu pre
zjednodušenie testovania a certifikácie lietadlových systémov
- Otvorený štandard
- Bezplatná dostupnosť
- Node-ID – Pri ATM komunikácii predstavuje identifikátor vysielacieho uzla. Pri PTP
komunikácii slúži na adresu cieľového uzla. Ak je pri PTP komunikácii hodnota Node-ID „0“,
správa je určená pre všetky uzly
- Data Type – CANaerospace podporuje viacero typov dát pre každý typ správy. Správy môžu
byť aj v iných jednotkách ako sú základne definované a tým používať aj iný dátový typ.
Použitím bajtu Data Type je možné systém automaticky konfigurovať aj za behu.
- Service Code – Slúži na určenie stavu prenášaných dát (alebo vysielacej jednotky) pre
monitorovanie integrity dát v prijímacích jednotkách
- Message Code – Číslovanie správ, slúži na detegovanie chýbajúcej správy alebo na určenie
veku správy
Tabuľka 9.8: Vybrané identifikátory CANaerospace
Poskytuje dve rýchlosti – „High speed“ (100 Kb/s) a „Low speed“ (12-14 Kb/s) – pričom na jednej
zbernici tieto rýchlosti nemôžu byť kombinované. Je to sériová, jednosmerná, asynchrónna zbernica,
správy môžu byť vyslané v ľubovoľnom čase. Medzi správami sú potrebné aspoň štyri prázdne
periódy a každá správa musí obsahovať identifikátor. Tab. 9.9 sumarizuje charakteristiky ARINC 429.
Dátový signál ARINC 429 je trojstavový „return-to-zero“. Logická hodnota „1“ sa prejaví ako
prechod napätia z 0 V na +10 V a potom späť na 0 V. Logická „0“ je prechod z 0 V na -10 V a späť.
Takéto riešenie signálu má dve výhody. Ak logická „1“ bola 10 V a logická „0“ 0 V, tak v prípade že by
nebol žiaden prenos na zbernici by sa to interpretovalo ako sled nulových hodnôt. Druhá výhoda je,
že napätie po zbernici je diferenčné a vyvážené k zemi.
Nasleduje dátová komunikácia, ktorá sa začína správou „data follows“ a zatvára sa správou „final
word“ pre kontrolu chýb a signalizáciu ukončenia dátového prenosu. Po ukončení prenosu prijímač
skontroluje správu na chyby ako parita a veľkosť súboru. Ak nenašiel žiadne chyby, vyšle správu „data
received OK“ vysielacej stanici.
- Request to send.
- Clear to send.
- Data received OK
- Data received not OK.
- Synchronization lost
- Header information – pre prenos veľkosti súboru bez prenosu dát
- Poll – „Nemám žiadnu informáciu pre teba, ty máš pre mňa?“
Dátové slovo pri ARINC 429 má dĺžku 32 bitov. Obr. 9.23 zobrazuje časový priebeh jedného slova.
Prvých osem bitov (červeným) slúži na adresáciu prijímacej stanice. Ďalšie dva bity (sivým) slúžia na
určenie zdroja signálu. Nasleduje (tyrkysovým) 19 dátových bitov. Po dátových bitoch sú dva bity
(zeleným) na určenie znamienka alebo smeru prenášaného parametra. Môžu byť použité na
signalizáciu stavu zariadenia. Posledný (modrý) bit je paritný bit s nepárnou paritou.
Obr. 9.23 Príklad časového priebehu jedného dátového slova ARINC 429
ARINC 629 nemá radič zbernice, každý terminál rozhoduje sám, kedy môže vysielať. Je to riešené
časovaním prístupu, kde každý terminál čaká na tzv. „terminal gap“. Ak sa tá doba končí, terminál má
dovolené pristupovať na zbernicu. Tento protokol sa nazýva CSMA/CD (Carrier Sense Multiple Access
/ Collision Detection). Tab. 9.10 sumarizuje charakteristiky ARINC 629.
V tomto usporiadaní môže vzniknúť kolízia iba vtedy, ak dva terminálny začnú vysielanie
v rovnakom čase. Takéto okno kolízie môže nastať na začiatku vysielania a má dĺžku väčšinou 1
mikrosekundy.
Na ochranu proti poškodeniu dát prijímacia časť vysielacej stanice monitoruje vlastné vysielanie
a kontroluje či všetky dáta sú správne. Ak sa zistí chyba, zastaví sa vysielanie správy. Ak vysielač
viackrát za sebou spraví chybu, odstaví sa úplne.
Periodické dáta, ako napríklad informácia o výške z inerciálneho senzora, sú vysielané regulárne,
v každej perióde zbernice alebo raz za niekoľko periód.
V základnom móde terminály majú rovnakú príležitosť vysielať periodické alebo aperiodické dáta.
Ak dĺžky prenosov sú konštantné, terminály vysielajú v konštantných intervaloch. V periodickom
móde prenosy môžu prebiehať v ľubovoľnom poradí podľa stavu pri zapnutí. Ak sa zbernica preťaží,
prepne sa do aperiodického módu bez straty údajov.
Správy sa skladajú z 20-bitových slov, 16 bitov pre dáta, 3 bity pre synchronizáciu a 1 pre kontrolu
parity. Jedna správa môže obsahovať 1 až 16 slov, pričom každé slovo v reťazci má označenie do 256.
9.9 MIL-STD-1553
MIL-STD-1553 je štandardná zbernica pre vojenské lietadlá a iné stroje. Je to sériová
komunikačná zbernica pracujúca rýchlosťou 1 MB/s pre integráciu zbraňových a ostatných
avionických systémov. Úplný názov zbernice je „MIL-STD-1553, Aircraft Internal Time Division
Command/Response Multiplex Databus.
Každá správa na zbernici je sledovaná monitorom zbernice (Bus Monitor – BM). Monitor môže
hromadne skladovať dáta alebo pracovať ako záložný radič pre kontrolu stavu systémov na zbernici.
Každá správa na zbernici je zahájená radičom zbernice. Je to dosiahnutý vyslaním príkazu, ktorý
obsahuje adresu vzdialeného terminálu, smer prenosu správy, subadresu v termináli a počet slov. Po
príkazovom slovu nasledujú dátové slová v takom počte ako bolo definované v príkazovom slovu. Ak
vzdialený terminál prijme bezchybne dáta, vyšle stavové slovo.
Radič zbernice môže aj vyzvať vzdialené terminály na poslanie správy. Dva vzdialené terminály
môžu komunikovať medzi sebou, ak radič vyzve jedného na vysielanie a druhého na prijímanie dát.
9.10 SpaceWire
SpaceWire je komunikačná sieť pre kozmické lode podľa štandardu IEEE 1355. Je koordinovaná
Európskou vesmírnou agentúrou (ESA) v spolupráci s medzinárodnými vesmírnymi agentúrami ako
NASA, JAXA a RKA.
Je používaný na celom svete, napríklad v NASA projektoch James Webb Space Telescope, Swift’s
Burst Alert Telescope, Lunar Reconnaissance Orbiter a ďalších. Tiež to používa Ministerstvo obrany
USA pre projekt Operationally Responsive Space.
Uzly v sieti SpaceWire sú prepojené pomocou nízkonákladových, full-duplex, PTP sériových liniek
s nízkou latenciou a smerovačmi prepínania paketov.
Každý prenesený znak sa začína s paritným bitom a bitom riadenia dát. Ak bit riadenia má
hodnotu 0, nasleduje 8-bitový charakter. Ak má hodnotu 1, nasledujú riadiace kódy ako napr. koniec
paketu (end of packet – EOP).
Zariadenia v sieti môžu byť prepojené priamo alebo cez SpaceWire smerovač. V prvom prípade sú
zvyčajne používané v dvojiciach pre zabezpečenie bezporuchovej prevádzky, riadené softvérovo.