You are on page 1of 43

Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

5. Transmisja bezprzewodowa w standardzie IrDA.

5.1. Ogólna charakterystyka standardu IrDA –


wprowadzenie.

Bezprzewodowa transmisja danych cyfrowych wykorzystująca jako medium


fale podczerwone jest atrakcyjną alternatywą dla łączy radiowych, a nawet
przewodowych [121]. Wykorzystując zakres podczerwieni możemy osiągać wysokie
prędkości transmisji (do 155 Mb/s), przy zachowaniu dość dużego zasięgu (do 4 km)
[120, 102]. Zastosowanie tego typu rodzaju transmisji nie zawsze wymaga
maksymalnych (teoretycznych) możliwości. Wśród wielu możliwych zastosowań
istnieją takie, przy których zachowanie zasięgu kilku metrów i prędkości transmisji nie
przekraczającej 1 Mb/s staje się w zupełności wystarczające. Dla tego typu zastosowań
stworzony został właśnie standard IrDA [119].

Standard IrDA, opracowany przez grupę Infrared Data Association, jako główne
zastosowanie obrał tworzenie sieci tymczasowych składających się z wielu stacji
przenośnych. Umożliwiał on przesyłanie danych między urządzeniami peryferyjnymi
i rozbudowany został w rozszerzenia na potrzeby multimedialne. Wszystkie operacje
odbywają się bez konieczności jakichkolwiek fizycznych połączeń – wymaganym
warunkiem jest tylko zapewnienie widoczności i optymalnej odległości pomiędzy
urządzeniami nadawczymi i odbiorczymi.

Obecnie Forum IrDA specyfikuje trzy standardy komunikacji za pośrednictwem


fal podczerwonych. Są to mianowicie: IrDA-Data, IrDA-Control i nowa (jeszcze
w rozwoju) specyfikacja AIr (ang. Advanced Infrared) [12].

Standard IrDA zapewnia transmisję typu punkt – punkt na odległość do 1 metra


w zakresie falowym (850 ÷ 900) nm. Przepływności osiągane przez tą technologię
dochodzą do 16 Mb/s przy zachowaniu kąta transmisji nie przekraczającego 30°.
Kosztem obniżenia szybkości do 75 kb/s można uzyskać zasięg transmisji dochodzący
nawet do 5 m. Rozwój standardu (protokół AIr) ma zapewnić przesyłanie danych
w konfiguracji wielopunkt – wielopunkt. Obecnie oferuje przepływność 4 Mb/s
na odległość 4 metrów, natomiast badania nad technologią zmierzają do podwojenia
tego dystansu z prędkością transmisji do 250 kb/s [12].

- 25 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Zestawienie głównych parametrów standardu IrDA zawiera tabela nr 5.1 [42]:

Tabela nr 5.1 Główne parametry standardu IrDA [42].

Parametr Własność

Częstotliwość podczerwień z zakresu (850 ÷ 900) nm.

Typ połączenia bezpośredni typu punkt – punkt

Liczba kanałów jeden do transmisji mowy lub głosu

obowiązkowo: 2,4 kb/s i 9,6 kb/s


Prędkość transmisji opcjonalnie: 19,2 kb/s, 38,4 kb/s, 57,6 kb/s, 115,2 kb/s
(IrDA-1.0, IrDA-1.1 i IrDA-1.2) oraz 0,576 Mb/s,
1,152 Mb/s, 4 Mb/s (IrDA-1.1)

(0 ÷ 1) m, urządzenia muszą się widzieć,


Zasięg i typ transmisji
wiązka o kącie transmisji 30°

Maksymalna liczba
2 / połączenie
aktywnych urządzeń

Multipleksacja przestrzenna

Bezpieczeństwo na
brak
poziomie łącza

Emulacja portu szeregowy + równoległy

5.2. Stos protokołów – architektura.

Architektura standardu IrDA składa się z kilku protokołów, które z kolei


podzielone są na warstwy. Warstwy korzystają wzajemnie z oferowanych przez siebie
usług [42]. Stos protokołów przedstawiony jest na rysunku nr 5.1 [12].

Warstwy w stosie podzielone są na trzy podstawowe podgrupy:

protokoły implementowane obowiązkowo,


protokoły nieobowiązkowe (opcjonalne),
protokoły multimedialne.

- 26 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Aplikacje

IrCOMM IrOBEX IrLAN IrTran-P IrMC ...

IrLMP-IAS

IrTTP (Tiny TP)

IrLMP-MUX

IrLAP

Warstwa fizyczna Ir-PHY

SIR MIR FIR VFIR ?


(2,4 - 115 kb/s) (576 i 1152 kb/s) (4 Mb/s) (16 Mb/s) (100 Mb/s)

- Protokoły obowiązkowe

- Protokoły nieobowiązkowe (opcjonalne)

- Protokoły multimedialne

Rys. nr 5.1 Szkic architektury IrDA [12].

Do elementów obowiązkowych architektury IrDA należą protokoły [12, 46]:

IrPHY (IrSIR) – (ang. IrDA Physical Layer, IrDA Serial Infrared) – warstwa
fizyczna, która specyfikuje charakterystyki optyczne, kodowanie danych oraz
synchronizowanie ramek;
IrLAP – (ang. IrDA Link Access Protocol) – protokół dostępu do łącza,
który odpowiada za niezawodność połączenia;
IrLMP – (ang. IrDA Link Management Protocol) – protokół zarządzania łączem,
który odpowiada za multipleksowanie usług i aplikacji;
IAS – (ang. Intention Access Service) – protokół dostępu do informacji.

Zastosowanie protokołów nieobowiązkowych zależy od konkretnej aplikacji.


Wśród elementów opcjonalnych należy wymienić [12, 46]:

IrTTP (Tiny-TP) – (ang. IrDA Tiny Transport Protocol) – protokół transportowy


odpowiadający za zapewnienie sterowania strumieniem w kanale. Stanowi
on jeden z bardzo ważnych protokołów rekomendowany dla wielu aplikacji;
IrCOMM – warstwa określająca zasady emulacji standardowych łączy
szeregowych typu RS-232C i równoległych Centronics przy użyciu produktów
zgodnych ze standardem;

- 27 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

IrLAN – (ang. IrDA Local Area Network) – protokół określający zasady


współpracy z sieciami lokalnymi. Zapewnia on urządzeniom, takim jak
notbooki, dostęp do sieci typu LAN za pośrednictwem podczerwieni;
IrPNP – (ang. IrDA Plug & Play) – protokół rozszerzenia technologii
Plug & Play;
IrOBEX – (ang. IrDA Object Exchange Protocol) – opisuje zasady wymiany
obiektów pomiędzy stacjami. Ułatwia transfer plików oraz innych obiektów
danych.

Odrębnymi elementami architektury standardu IrDA są protokoły


multimedialne, które również można zaliczyć do elementów opcjonalnych.
Są to mianowicie [46, 116]:

IrMC – (ang. Infrared Mobile Communications) – rozszerzenia dla potrzeb


telekomunikacji przenośnej. Specyfikacja ta określa zasady współpracy ze
sprzętem telekomunikacyjnym, takim jak np.: telefony komórkowe, pagery, itp.;
IrTran-P – (ang. Infrared Transfer Picture) – standard określający zasady
przesyłu i reprezentacji obrazów cyfrowych.

Wymienione wyżej protokoły, istotne z punktu widzenia użytkownika,


są nieobowiązkowe. Implementuje się je w zależności od potrzeb, co pozwala
zmniejszyć koszty rozwiązań. Pełną kompatybilność komunikujących się urządzeń
zapewniają wspólne protokoły warstwy fizycznej i warstwy łącza danych. Dzięki temu
standard IrDA charakteryzuje się łatwością dodawania nowych usług poprzez dodanie
protokołu warstwy aplikacyjnej. Ponadto cechuje go możliwość zwiększania szybkości
w następnych wersjach, bez utraty kompatybilności ze starszymi. Umożliwia również,
co już zostało wyżej wspomniane, uzyskanie pewnych oszczędności poprzez
implementowanie tylko części (wybranych) protokołów (np. aparat cyfrowy z IrDA
nie musi być koniecznie wyposażony w protokół IrLAN, co nie zmniejszy jego
możliwości zastosowań) [47].

Zintegrowane warstwy protokołu zostały szczegółowo zobrazowane na rysunku


nr 5.2. Rysunek ten przedstawia system z interfejsem IrDA w postaci warstwowej [12].

- 28 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Użytkownik

Użytkownika
Tryb

Aplikacja

IrOBEX

IrCOMM

Wyższa warstwa API


Sterownika
Tryb

Tiny-TP (IrTTP)
IAS System
IrLMP Operacyjny
(SO)

IrLAP

Framer API API ISO

Framer Zegar
Przerwania
Tryb

Sterownik / UART

Układ nadawczo - odbiorczy


Warstwa
Fizyczna

podczerwieni

Rys. nr 5.2 System z interfejsem IrDA [12].

Aby odseparować warstwę sprzętową od reszty stosu, utworzona została


warstwa programowa, zwana „framer”. Jej zadaniem jest przyjmowanie
przychodzących z warstwy fizycznej ramek i prezentowanie ich w warstwie IrLAP [12].

- 29 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

5.3. Protokoły obowiązkowe.

5.3.1. Warstwa fizyczna – IrPHY (IrSIR) [57].


Warstwa fizyczna zawiera optyczny układ nadawczo – odbiorczy. Specyfikuje
medialne optyczne interfejsy – połączenie dwóch urządzeń (węzłów). Na rysunku nr 5.3
przedstawiono schematyczny widok geometrii optycznej interfejsu.

Optyczne
Porty Interfejsu

Węzeł 1

Długość
Łącza

Węzeł 2

Rys. nr 5.3 Interfejs optyczny [57].

Każdy z węzłów można zdefiniować następującymi parametrami optycznymi,


wyróżnionymi na rysunku nr 5.4.

Połowa
Środek Optycznej Linii Złącza Kąta Oś optyczna
(Optical Port Centerline) (Optical Axis)

Optyczna powierzchnia kontaktowa


jest zewnętrznym punktem węzła Optyczne Złącze Interfejsu
zawierającym złącze (Optical Interface Port)

Rys. nr 5.4 Opis pojedynczego węzła w standardzie IrDA [57].

Węzły (nadajnik/odbiornik) mogą być dwojakiego rodzaju:

standardowe – połączenie optyczne od 0 do 1 m;


niskiej mocy – połączenia optyczne krótsze od poprzedniego.

Zatem można wyróżnić trzy typy połączeń optycznych, które przedstawione są


w tabeli nr 5.2.

- 30 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Tabela nr 5.2 Typy połączeń optycznych [57].

Niska moc Standardowa Standardowa


- - -
Niska moc Niska moc Standardowa

Dolna granica odległości łącz [m] 0 0 0

Minimalna górna granica odległości łącz [m] 0,2 0,3 1,0

W warstwie fizycznej przeprowadza się kodowanie i ramkowanie danych.


Ramka danych musi się tak samo zaczynać, jak i kończyć. Odpowiadają za to flagi BOF
(ang. Beinning of Frame) oraz EOF (ang. End of Frame). Pola te są zależne od przyjętej
prędkości transmisji. Ramka jest również cyklicznie sprawdzana nadmiarowo
za pomocą kontroli CRC (ang. Cyclic Redundancy Check) – CRC-16 dla transferu
poniżej 1,152 Mb/s i CRC-32 dla transferu do 4Mb/s.

Warstwa fizyczna musi być przynajmniej częściowo zaimplementowana


sprzętowo. W niektórych przypadkach jest implementowana całkowicie w sprzęcie.

Definicja warstwy fizycznej IrPHY (IrSIR) określa następujące cechy urządzeń:

prędkość transmisji: 2,4 kb/s ÷ 4 Mb/s (16 Mb/s);


transmisja jest asynchroniczna, półdupleksowa (ang. half –duplex 6));
możliwa jest łączność dwu- lub wielopunktowa;
odległość stacji 1 cm ÷ 1 m (lub więcej);
kąt widzenia co najmniej ± 15°;
stacje mogą wykrywać transmisję przy różnych prędkościach, natomiast kolizje
nie są wykrywane;
długość fali: (850 ÷ 900) nm;
elementarna stopa błędów (BER – ang. Bit Error Ratio) nie większa niż 10-8;
dopuszczalny poziom zakłóceń:
• pole elektromagnetyczne – 3 V/m,
• światło naturalne (słoneczne) – 10 klx,
• światło sztuczne (żarówki, świetlówki, itp.) – 1 klx.

6)
half-duplex (półdupleks) – rodzaj komunikacji pozwalający przesyłać dane w obu kierunkach tym
samym kanałem, jednak nie w tym samym czasie. Przykładowo, karta muzyczna pracująca w trybie
half-duplex może być wykorzystywana do prowadzenia rozmów przez Internet, z tym jednakże
ograniczeniem, że w danym momencie przesyłanie głosu odbywa się w jednym kierunku (możliwe jest
tylko słuchanie albo tylko mówienie) [45].
- 31 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Optyczny układ nadawczo – odbiorczy zawarty w warstwie fizycznej dokonuje


konwersji (kodowania, ramkowania, itd.) sygnału elektrycznego na sygnał optyczny
w obu kierunkach (C) (rysunek nr 5.5).

Active
Output
Interface
IR Transmit Output
Encoder Driver & LED
IR Out

Encoder / IR
(A) Decoder (B) Transducer (C)
Module

IR In
IR Receive Detector &
Decoder Receiver Active
Input
Interface

Transmit Encoder - Koder Przesyłający


Receive Decoder - Dekoder Odbierający
Detector & Receiver - Nadajnik i Odbiornik
Active Output Interface - Aktywne Wyjście Łącza
Active Input Interface - Aktywne Wejście Łącza
Transducer Module - Moduł Przetwornika

Rys. nr 5.5 Blok konwertera [57].

Do pierwszego bloku kodera i dekodera (ang. Encoder/Decoder) jest podawany


sygnał będący szeregowym strumieniem danych (A). W bloku tym jest on kodowany
i ramkowany (patrz tabela nr 5.3), po czym podawany jest on (B) na blok przetwornika
(ang. Transducer Module), który zamienia sygnały elektryczne na optyczne.
W zależności od częstotliwości pracy blok kodera i dekodera koduje dane za pomocą
różnych algorytmów (cechy i właściwości poszczególnych rodzajów kodów
stosowanych w standardzie IrDA przedstawione zastały szczegółowo w dalszej części
pracy – w rozdziałach poświęconych zakresom szybkości transmisji). W tabeli nr 5.3
przyporządkowano algorytmy kodowania (modulowania) do odpowiednich prędkości
transmisji oraz podano inne istotne parametry sygnałów optycznych.

- 32 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Tabela nr 5.3 Algorytmy kodowania i inne istotne parametry – zestawienie [57].

Tolerancja Min. czas Nominalny Max. czas


Prędkość Modulacja
Prędkości trwania czas trwania trwania
transmisji (kod) impulsu impulsu impulsu
[% prędkości]
2,4 kbit/s RZI +/- 0,87 1,41 µs 78,13 µs 88,55 µs
9,6 kbit/s RZI +/- 0,87 1,41 µs 19,53 µs 22,13 µs
19,2 kbit/s RZI +/- 0,87 1,41 µs 9,77 µs 11,07 µs
38,4 kbit/s RZI +/- 0,87 1,41 µs 4,88 µs 5,96 µs
57,6 kbit/s RZI +/- 0,87 1,41 µs 3,26 µs 4,34 µs
115,2 kbit/s RZI +/- 0,87 1,41 µs 1,63 µs 2,23 µs
0,576 Mbit/s RZI +/- 0,1 295,2 ns 434 ns 520,8 ns
1,152 Mbit/s RZI +/- 0,1 147,6 ns 217 ns 260,4 ns
4 Mbit/s
(impuls pojedynczy) 4PPM +/- 0,01 115 ns 125 ns 135 ns
(impuls podwójny) 4PPM +/- 0.01 240 ns 250 ns 260 ns
HHH
16 Mbit/s +/- 0,01 38,3 ns 41,7 ns 45 ns
(1.13)

Ze względu na szeroki przedział prędkości transmisji oferowanych przez


standard IrDA, wyróżnia się cztery rodzaje zakresów:

SIR (ang. Serial Infrared) 2,4 ÷ 115,2 kb/s;


MIR (ang. Medium Infrared) 576 i 1152 kb/s;
FIR (ang. Fast Infrared) 4 Mb/s;
VFIR (ang. Very Fast Infrared) 16 Mb/s.

Każdy z wyżej wymienionych zakresów charakteryzuje się innymi zasadami


modulacji sygnałów. Inne są również niektóre składniki transmitowanej ramki danych.
Odpowiednie prędkości transmisji oraz inne parametry łącza są negocjowane pomiędzy
stacjami zgodnie z protokołem dostępu do łącza – IrLAP.

5.3.1.1. Zakres SIR.

Prędkości oferowane przez zakres SIR należą do standardowych prędkości


transmisji stosowanych na łączach szeregowych. Wynoszą one odpowiednio: 2,4; 9,6;
19,2; 38,4; 57,6 i 115,2 kb/s. Powyższe prędkości stanowią bezpośrednią podstawę
współpracy urządzeń standardu IrDA z typowymi układami transmisji szeregowej,

- 33 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

7)
tzw. UART (ang. Universal Asynchronous Receiver – Transmitter), pracującymi
również jako interfejsy w standardzie RS-232C 8) (ang. Recommended Standard).

Schemat blokowy interfejsu IrDA dla zakresu SIR przedstawia rysunek nr 5.6.

Moduł Moduł
Koder/Dekoder Przetwornika

IR wyjście
Koder Nadajnik

(0) UART (1) (2) (3)

Dekoder Odbiornik
IR wejście

Rys. nr 5.6 Schemat blokowy interfejsu IrDA dla zakresu SIR [57].

Na przedstawionym schemacie blokowym (rysunek nr 5.6), sygnał znajdujący


się po lewej stronie bloku układu UART (0) nie będzie omawiany. Sygnał znajdujący
się pomiędzy blokiem układu UART, a blokiem modułu koder/dekoder (1) jest
strumieniem bitów spakowanych w formie ramki. W punkcie (2) znajduje się sygnał
przesyłany przez łącze pracujące w podczerwieni. Jest on kodowany metodą RZI
(ang. Return to Zero Inverted), tzn.:

„0” logiczne kodowane jest jako impuls o długości 3/16 czasu trwania
transmitowanego pojedynczego bitu (czas jego trwania nie mniejszy niż 1,6 µs);
„1” logiczna kodowana jest jako brak takiego impulsu.

Zobrazowanie sposobu modulacji RZI dla zakresu SIR przedstawia rysunek


nr 5.7.

7)
UART – układ realizujący dwukierunkową, asynchroniczną transmisję szeregową [45].
8)
RS-232C – interfejs szeregowy RS-232C wprowadzony w 1962r, opracowany na potrzeby obsługi
modemów przez stowarzyszenie EIA (ang. Electronic Industries Assocation) [45].
- 34 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Ramka UART

Bit Bity Danych Bit


Startu Stopu

0 1 0 1 0 0 1 1 0 1

Ramka IR

Bit Bity Danych Bit


Startu Stopu

0 1 0 1 0 0 1 1 0 1

Czas Szerokość impulsu


Bitu 3/16 Czasu Bitu

Rys. nr 5.7 Przykład modulacji RZI dla zakresu SIR. [57].

Sygnał w punkcie (3) jest zmodulowanym sygnałem optycznym.

Przy pracy w zakresie SIR znaczniki początku i końca transmitowanej ramki


danych (BOF, EOF) są równe odpowiednio wartościom:

BOF = ‘C0’HEX;
EOF = ‘C1’HEX.

Aby zachować przezroczystość protokołu w nadajniku wprowadza się znak


sterujący nazywany również z języka angielskiego – „control-escape”. Jest on równy
wartości ‘7D’HEX. Nadaje się go automatycznie przed każdym znakiem, który może
zostać odebrany w odbiorniku jako znak sterujący. Po nadaniu znaku sterującego
(„control-escape”) kolejny znak transmitowany jest po zmianie na przeciwną wartości
piątego bitu. Operacja ta odwracana jest w detektorze.

5.3.1.2. Zakres MIR.

Zakres MIR obejmuje dwie prędkości transmisji, mianowicie: 576 i 1152 kb/s.
Podobnie jak zakres FIR i VFIR, wymaga stosowania sterowników komunikacyjnych
charakteryzującymi się większymi możliwościami niż układy UART. Schemat blokowy
interfejsu IrDA pracującego dla zakresu MIR, FIR oraz VFIR przedstawiony jest na
rysunku nr 5.8.

- 35 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Moduły
Koder/Dekoder
Moduł
Przetwornika
SIR
2,4 - 115,2 kb/s

IR wyjście
MIR
576 - 1152 kb/s
Nadajnik

sterownik
komunikacyjny

FIR
4 Mb/s
Odbiornik
IR wejście

VFIR
16 Mb/s

Rys. nr 5.8 Schemat blokowy interfejsu IrDA dla wszystkich zakresów [57].

W zakresie MIR występuje, podobnie jak w zakresie SIR, kodowanie sygnału


metodą RZI, z tą różnicą, iż czas trwania impulsu wynosi 1/4 czasu trwania
nadawanego bitu, a nie tak jak przy SIR – 3/16. Przebiegi obrazujące modulację RZI
dla zakresu MIR przedstawia rysunek 5.9.

1,6 µs lub 3/16

NRZ

< 115,2 kb/s

RZI - IR
0,576 Mb/s
1,152 Mb/s

Szerokość Impulsu
1/4 Czasu Bitu

Rys. nr 5.9 Przykład modulacji RZI dla zakresu MIR [57].

Przy zakresach prędkości wyższych, w celu poinformowania stacji pracujących


z prędkościami z zakresu SIR o zajętości łącza przez stacje szybsze, konieczne jest

- 36 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

okresowe wysyłanie sygnału SIP (ang. Serial infrared Interaction Pulse). Sygnał SIP
jest sygnałem składającym się z impulsu o czasie trwania 1,6 µs, po którym następuje
cisza o czasie trwania 7,1 µs. Z reguły jest on nadawany bezpośrednio za przesłaniem
całej ramki, raz na każde 500 ms. Wysyłanie sygnału SIP trwa dopóki, dopóty trwa
dane połączenie między stacjami szybszymi. Sygnał SIP przedstawiony jest
na zamieszczonym poniżej rysunku nr 5.10.
8,7 µs

1,6 µs

SIP (Serial Infrared Interaction Pulse)

Rys. nr 5.10 Sygnał SIP [57].

Znaczniki początku i końca ramki są inne niż dla zakresu SIR. Podobnie jak
w protokole HDLC 9) (ang. High Level Data Link Control), znaczniki początku i końca
ramki są identyczne – równe wartości ‘7E’HEX. Flagi początku i końca nie mogą
pojawić się wewnątrz przesyłanego pakietu. Dzięki temu odbiornik ma pewność,
że następujące po nich bity są kolejno pierwszym, drugim itd. bajtem przesyłanych
danych. Ponieważ ciąg bitów ‘7E’HEX (‘01111110’BIN) jest zarezerwowany, dlatego
trzeba odpowiednio zmodyfikować przesyłane dane, aby nie pojawił się on wewnątrz
pakietu i nie został błędnie zinterpretowany. W celu uzyskania przezroczystości
protokołu stosowane jest tzw. szpikowanie zerami (ang. „bit stuffing”). Proces ten
polega na tym, iż po każdych 5 bezpośrednio następujących po sobie bitach o wartości
„1” nadajnik automatycznie wstawia jeden bit o wartości „0”. Odbiornik z kolei,
po odebraniu 5 kolejnych bitów o wartości „1” pomija następujący po nich bit „0”
i w ten sposób przesyłany ciąg danych jest odtworzony. Dodatkowo, aby zapewnić
integralność przesyłanych danych, na końcu pakietu jest dodawana 16-bitowa suma
kontrolna CRC-16, która definiowana jest poprzez wielomian:

CRC (x ) = x 16 + x 12 + x 5 + 1 (5.1)

9)
HDLC (ang. High Level Data Link Control) – zorientowany bitowo protokół transmisyjny
transportujący w trybie dupleksowym ramki HDLC w połączeniach dwupunktowych
lub wielopunktowych. Nadrzędny do swojego pierwowzoru SDLC (ang. Synchronous Level Data Link
Control) [48].
- 37 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Zmiany jakim ulega pakiet danych podczas przygotowania i w czasie samej


transmisji zostały przedstawione poniżej (dane w systemie binarnym).

1) Pakiet do przesłania:
LSB
00110011 10101111 10001111 11100101 MSB

2) Pakiet z nadaną sumą kontrolną CRC:


LSB
00110011 10101111 10001111 11100101 11111011 10001010 MSB

3) Pakiet przygotowany do przesłania (szpikowany zerami):

‘001100111010111110000111110110010111110101110001010’

4) Przesyłany pakiet (z nadanymi flagami początku i końca ramki):

‘01111110001100111010111110000111110110101111101011100010101111110’

5) Końcowy format transmitowanej ramki w zakresie MIR:

‘0111111001111110001100111010111110000111110110101111101011100010101111110’

Jeżeli przez linię transmisyjną nie mają być przesyłane żadne dane, wówczas
nadajnik powinien nieprzerwanie wysyłać sekwencję ‘01111110’BIN. Wysyłanie ciągu
samych jedynek służy do przerwania transmisji i zakomunikowania drugiej stronie,
że wystąpił błąd.

Format ramki dla zakresu MIR stanowi standardowy format protokołu HDLC,
z tym wyjątkiem, iż posiada dwie flagi początkowe (STA – ang. Start Flag). Poza tym
w jej skład wchodzi: pole adresu (ADDR – ang. Address Field), pole informacji i pole
sterujące (DATA – ang. Data Field), pole ciągu kontrolnego ramki (FCS – ang. Frame
Check Sequence) oraz minimalnie jedno pole flagi końcowej (STO – ang. Stop Flag)
(rysunek nr 5.11). Format dla zakresu MIR jest identyczny jak dla zakresu o mniejszej
prędkości przesyłania SIR z jedną małą różnicą – inne wartości znaczników początku
i końca ramki (wartości znaczników początku i końca ramki zostały wymienione
w rozdziale nr 5.3.1.1).
8 bit 8 bit 8 bit 8 bit + 2045 B = (2048 - 3) B 16 bit 8 bit

16 Bit
STA STA ADDR DATA FCS STO

Rys. nr 5.11 Format ramki dla zakresu SIR i MIR [57].

- 38 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

gdzie:

STA – flaga początkowa: ‘01111110’BIN (SIR – ‘11000000’BIN);


ADDR – 8-bitowe pole adresu;
DATA – 8-bitowe pole sterujące + 2045 bajtów pola informacji;
FCS – 16-bitowe pole sumy kontrolnej CRC;
STO – flaga końcowa: ‘01111110’BIN (SIR – ‘11000001’BIN).

5.3.1.3. Zakres FIR.

Zakres FIR obejmuje prędkość transmisji 4 Mb/s. Schemat blokowy interfejsu


IrDA dla zakresu FIR jest identyczny, jak dla zakresu MIR (rysunek nr 5.8). Zakres ten
również wymaga zastosowania sterowników komunikacyjnych. W zakresie tym,
w porównaniu z zakresami SIR i MIR, stosowana jest odmienna metoda modulacji.
Jest ona oznaczona symbolem 4PPM (ang. Four Pulse Position Modulation).
W 4PPM każda para bitów (duobity) kodowana jest następująco (rysunek 5.12):

Jeden kompletny symbol 4PPM

komórka bitowa komórka bitowa komórka bitowa komórka bitowa


1 2 3 4

Ct = 125 ns

Dt = 500 ns

Wartość duobitu Symbol 4PPM

00 1000
01 0100
10 0010
11 0001

Rys. nr 5.12 Modulacja 4PPM [57].

W modulacji 4PPM każda para duobitów reprezentowana jest odrębnym


symbolem danych o czasie trwania Dt. Każdy z symbolów składa się z 4 komórek
bitowych (ang. „chip”), w którym tylko jedna komórka zawiera impuls świetlny.
Dla prędkości 4 Mbit/s nominalny czas trwania komórki bitowej (czas trwania impulsu
świetlnego) wynosi Ct = 125 ns, zgodnie z zależnością 5.2.

- 39 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Dt
Ct = (5.2)
Base

gdzie:

Ct – czas trwania jednej komórki bitowej;


Dt – czas trwania symbolu modulacji 4 PPM (Dt = 500 ns);
Base – ilość komórek bitowych w symbolu 4 PPM (dla 4 Mb/s Base = 4).

W symbolu „1” reprezentuje impuls świetlny. Modulacja 4PPM definiuje tylko


4 możliwe symbole reprezentujące dane. Na rysunku nr 5.13 został przestawiony
przykład kodowania ciągu danych. W przykładnie tym pokazana jest kolejność
kodowania danych przygotowanych do transmisji – kodowanie zaczyna się od bitu
najmniej znaczącego LSB.

Wynik podziału danych Wynik kodowania duobitów


Bajt danych
na duobity na symbole 4PPM
X'1B' 00 01 10 11
0001
0010
0100
1000
0001 0010 0100 1000
X'0B' 00 00 10 11 0001 0010 1000 1000
X'A4' 10 10 01 00 1000 0100 0010 0010

Pierwsza komórka bitowa dostarczona / odebrana


przez wartswę fizyczną
Ostatnia komórka bitowa dostarczona / odebrana
przez warstwę fizyczną

Rys. nr 5.13 Przykład obrazujący kolejność kodowania danych w modulacji 4PPM [57].

Przy prędkości 4 Mb/s stosuje się inne zasady rozpoznawania początku i końca
ramki. Wykorzystuje się tutaj symbole niedozwolone – takie, które nie odpowiadają
żadnemu duobitowi. Bezpośrednio przed polem flagi początku ramki znajduje się
preambuła, tzw. pole wstępu. Podczas trwania preambuły, odbiornik rozpoczyna
szukanie flagi początku, aby ustalić synchronizację. Format stosowanej preambuły dla
zakresu FIR przedstawia się następująco: ‘1000 000 1010 1000’4PPM. Flagi początku,
jak i końca ramki wynoszą odpowiednio:

‘0000 1100 0000 1100 0110 0000 0110 0000’4PPM – znacznik początku ramki;
‘0000 1100 0000 1100 0000 0110 0000 0110’4PPM – znacznik końca ramki.

Ponieważ znaki sterujące zawierają niedozwolone sekwencje bitów,


tzn. symbole modulacji 4PPM nie występujące w ciągu danych, nie ma konieczności

- 40 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

stosowania dodatkowych czynności, aby zapewnić przezroczystość protokołu.


Takie czynności miały jedynie miejsce przy zakresach SIR i MIR.

Aby zapewnić integralność przesyłanych danych na końcu pakietu jest


dodawana 32-bitowa suma kontrolna CRC-32. Suma kontrola CRC-32 jest obliczona
przed nastąpieniem kodowania 4PPM i jej wartość jest zależna od danych użytecznych.
Składa się ona z danych 4PPM wynikających z algorytmu zawartego w normie
IEEE 802 CRC32. Wielomian sumy CRC-32 zdefiniowany jest zależnością 5.3:

CRC (x ) = x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + ... (5.3)

... x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x + 1

Obliczona suma kontrolna dla każdego pakietu składa się z 4 bajtów, z których
każdy kodowany jest następnie w ten sam sposób, co dane sygnału użytecznego.

Format ramki dla zakresu FIR przedstawia rysunek nr 5.14.

32 Bit
PA STA DATA STO
FCS

Rys. nr 5.14 Format ramki dla zakresu FIR [57].

gdzie:

PA – preambuła: ‘1000 0000 1010 1000’4PPM;


STA – flaga początkowa: ‘0000 1100 0000 1100 0110 0000 0110 0000’4PPM;
DATA – dane informacji;
FCS – 32-bitowe pole sumy kontrolnej CRC;
STO – flaga końcowa: ‘0000 1100 0000 1100 0000 0110 0000 0110’4PPM.

5.3.1.4. Zakres VFIR.

Zakres VFIR jest rozszerzeniem zakresu FIR, zwiększający prędkość


przesyłania danych do 16 Mb/s. Stosowana jest tu inna, niż w przypadku FIR, technika
modulacji. Jest ona odmianą kodu RLL (ang. Run Length Limited) – HHH(1,13).
Jak sama nazwa wskazuje mamy w tym zakresie do czynienia z kodowaniem metodą
ograniczonej długości. Aby dopasować modulację w celu osiągnięcia wysokich
prędkości, kod HHH(1,13) został zmodyfikowany poprzez dodanie prostego
szyfratora/deszyfratora – dzięki czemu zoptymalizowano cykl jego pracy. Modulacja

- 41 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

kodem HHH(1,13) polega na tym, iż każdy bit informacji zapisywany jest dwoma
bitami kodu HHH(1,13). Przy zastosowaniu modulacji HHH(1,13) każdy bit informacji
zapisywany jest dwoma bitami kodu RLL. Ciągi są tak dobrane, aby jedynka logiczna
„1” (reprezentująca impuls świetlny) nie pojawiała się częściej, niż co jedno zero
logiczne „0” i nie rzadziej, niż co trzynaście zer – (1,13). Metoda ta pozwala
na zachowanie możliwie długich przerw, co zwiększa znacznie gęstość zapisanej
informacji. Określenie sposobu kodowania za pomocą kodu HHH(1,13) określa jego
tabela przejść (tabela nr 5.4). Tabela przejść poszczególnych stanów została
zdefiniowana na podstawie praw i równań logiki Boole’a.

Tabela nr 5.4 Tabela przejść dla kodu HHH(1,13) [57].

Aktualny Stan: Stan następny / Wewnętrzne wyjście: N = (n1, n2, n3) / C = (c1, c2, c3)

S = (s1, s2, s3) Wewnętrzne wejście: (b1, b2, b3, b4, b5, b6)

00xxxx 01xxxx 10xxxx 1100xx 1101xx 111011 1110xx 111xx

000 000/010 001/010 010/010 111/010 111/001 111/010 011/010 011/010

001 000/001 001/001 100/001 100/010 100/010 100/010 100/010 100/010

010 000/100 001/100 010/100 111/100 111/101 111/100 011/100 011/100

011 000/101 001/101 100/101 100/100 100/100 100/100 100/100 100/100


*)
100 000/000 001/000 010/000 011/000 011/000 011/000 011/000 011/000

111 100/000 100/000 111/000 100/000 100/000 100/000 100/000 100/000

*) Stan S = (s1, s2, s3) = (1, 0, 0) jest wymaganym stanem początkowym podczas jednego cyklu
kodowego.
Znak „x” oznacza stan dowolny („1” lub „0”).

Szczegóły konstrukcji kodu HHH(1,13) oraz metody jego implementacji


wymagają interpretacji zapisu tabeli przejść, która odwzorowuje poszczególne stany
wewnętrznych wejść, pokazuje stany następne oraz stany wewnętrznych wyjść.
Znaczenie poszczególnych oznaczeń (poszczególnych stanów):

o Dane wejściowe *): D = (d1 , d 2 ) ;


~
*) Pierwsze dane wejściowe poddane kodowaniu: D ≡ D = (α , β ) ;
o Stan aktualny: S = (s1 , s 2 , s3 ) ;

o Stan następny: N = (n1 , n2 , n3 ) ;

- 42 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

o Dane wewnętrzne: ( )
B 1 = B 11 , B 1 2 = (b1 , b2 ) ,

B2 = (B 2
1 , B22) = (b , b ) ,
3 4

B3 = (B 3
1 , B32) = (b , b ) ;
5 6

o Wewnętrzne słowo kodowe: C = (c1 , c 2 , c3 ) ;

o Wyjście kodera: Y = (Y1 , Y2 , Y3 ) .


Stany N i C są wynikiem wyrażeń algebry Boole’a na składnikach: S, B1, B2 i B3
– wzory 5.4 ÷ 5.9:
n1 = (s1 s 3 ) + (s3 b1 ) + (s1b1b2 b3 ) + (s1b1b2 b4 b5 b6 ) , (5.4)

n2 = (s 3b1 ) + (s1 s 2 b1b2 ) , (5.5)

n3 = (s3 b2 ) + (s1b1b2 ) + (s1 s 2 b1b2 ) , (5.6)

c1 = s1 s 2 , (5.7)
c 2 = s1 s 2 c3 , (5.8)

c3 = s1 s 3 (b1 + b2 ) + (s1 s 3b1b2 b3b4 ). (5.9)

Wektory B1, B2, B3 i Y są wyjściami, tzw. zatrzasków – w każdym cyklu


kodowania, są one uaktualniane według zależności:

B1 ← B 2 ← B 3 ← D , (5.10)
S←N, (5.11)
Y ←C. (5.12)

Format ramki dla zakresu VFIR jest zbliżony do formatu jego poprzednika,
czyli zakresu FIR. Ramka została rozbudowana o dwa pola, mianowicie: pole FB
(ang. Flush Byte) i pole NULL. Pole FB pozwala na poprawne dekodowanie sumy
kontrolnej CRC32, natomiast pole NULL pozwala na zakończenie odbierania pakietu
w przypadku, gdyby flaga końca ramki nie została rozpoznana. Format ramki dla
zakresu VFIR przedstawia rysunek nr 5.15.

32 Bit
PA STA DATA FB STO NULL
FCS

Rys. nr 5.15 Format ramki dla zakresu VFIR [57].

- 43 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

gdzie:

PA – preambuła: ‘100’010’010’001’001’001’000’100’HHH(1,13);
STA – flaga początkowa:
‘100’101’010’100’100’010’000’001’001’010’101’001’000’001’010’000’HHH(1,13);
DATA – dane informacji;
FCS – 32-bitowe pole sumy kontrolnej CRC;
FB – pole Flash Byte: ‘00’00’00’00’HHH(1,13);
STO – flaga końcowa:
‘001’001’010’101’001’000’100’000’100’101’010’100’100’000’100’000’HHH(1,13);
NULL – pole sekwencji NULL: ‘000’000’000’000’000000’000’000’HHH(1,13).

5.3.2. Protokół dostępu do łącza – IrLAP [55].


Bezpośrednio nad warstwą fizyczną, a dokładniej nad warstwą pomocniczą
„framer” standardu IrDA, znajduje się protokół dostępu do łącza IrLAP. Należy on do
obowiązkowych implementacji i odpowiada warstwie łącza danych – drugiej warstwie
modelu OSI. Protokół IrLAP opiera się na protokole SDLC (ang. Synchronous Data
Link Control) i HDLC (ang. High Level Data Link Control) z rozszerzeniami dla
niektórych charakterystyk komunikacji drogą fal podczerwonych. Charakteryzuje się
identycznymi formatami ramki, ponadto wykorzystywana jest większość typów ramek
protokołu HDLC. Istniejące między nimi różnice dotyczą przede wszystkim sposobu
wskazywania początku i końca ramki (flagi początku BOF i flagi końca EOF)
oraz zastosowanie innego sposobu osiągania przezroczystości protokołu.
Wyżej wymienione różnice zostały szczegółowo przedstawione w podrozdziałach
poświęconych zakresom uzyskiwanych prędkości transmisji w opisie warstwy fizycznej
IrPHY (IrSIR).

W założeniach technologicznych, protokół IrLAP ma zapewnić niezawodny


przesył danych przy użyciu następujących mechanizmów:

retransmisja;
sterowanie strumieniem danych;
detekcja błędów.

W pełni obrazowo podstawowe zadania warstwy IrLAP przedstawia rysunek


nr 5.16.

- 44 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Warstwa Wyższa Warstwa Wyższa


(Upper Layer) (Upper Layer)

Żądanie Potwierdzenie Odpowiedź Zapytanie


(Request) (Confirm) (Response) (Indication)

Warstwa Warstwa
IrLAP IrLAP

Ramka (Ramki)

Ramka (Ramki)

Rys. nr 5.16 Zadania warstwy IrLAP [55].

Sterowanie strumieniem danych w warstwie IrLAP jest „niskopoziomowe”


(ang. low-level), natomiast w warstwie IrTTP – „wysokopoziomowe” (ang. high-level).
Praktycznie we wszystkich zaistniałych sytuacjach, te dwie metody powinny być
stosowane alternatywnie [12].

Nad niezawodnością transferu danych czuwa warstwa niska. Gdy nastąpi


sytuacja, w której strumień światła podczerwonego zostanie przerwany w wyniku
napotkania na swojej drodze jakiejś przeszkody (np. książki, czy innego przedmiotu),
wówczas IrLAP może poinformować warstwy wyższe o zaistniałym problemie.
One z kolei zajmą się jego rozwiązaniem. Ostatecznie użytkownik zostanie
powiadomiony o zaistniałym kłopocie w taki sposób, aby mógł podjąć odpowiednie
środki w celu wyeliminowania przeszkody stojącej na drodze sygnału świetlnego.
Całe zajście odbywa się bez przerwania połączenia i utraty transmitowanych danych
[12].

Cechy warstwy IrLAP [12]:

Łącze punkt – punkt: Wszystkie połączenia są typu „jeden do jednego”.


Typowa odległość wynosi 1 m. Protokół nie jest typowo stosowany w sieciach
lokalnych, gdyż założenie tych sieci przewiduje transfer danych między
wieloma nadawcami i kilkoma odbiorcami.
Transfer półdupleksowy: W określonym czasie transfer danych (światło
podczerwone) następuje tylko w jednym kierunku. Istnieje jednak alternatywa,
w której czas transmisji nie stanowi kluczowego zagadnienia, dopuszczająca
„symulowanie” transmisji dupleksowej.

- 45 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Dość wąski kąt transmisji: Kat transmisji wynosi 15° w stosunku do osi
symetrii. W wyniku zachowania tak małego kąta transmisji, minimalizuje się
efekt interferencji z innymi urządzeniami.
Interferencje: Warstwa IrLAP ma również za zadanie zniwelowanie zakłóceń
pochodzących z naturalnych i sztucznych źródeł światła oraz z innych urządzeń
komunikujących się za pomocą fal podczerwonych.
Brak detekcji kolizji: Projektanci standardu IrDA nie zapewnili opcji
wykrywania kolizji między wysyłanymi danymi. Problemem tym zajmuje się
załączone do sprzętu oprogramowanie, które musi kontrolować i naprawiać
błędy wynikłe z wystąpieniem kolizji, a tym samym zapewnić niemożność
utraty przesyłanych danych [12].

5.3.2.1. Tryby pracy.

Każde urządzenie IrDA posiada tzw. tablicę usług i protokołów dostępnych


w danej chwili. Łącze może znajdować się w dwóch stanach (przewidziane przez
specyfikację warstwy IrLAP): stanie połączenia (ang. connection) lub stanie rywalizacji
(ang. contention). Powyższe stany odpowiadają dwóm trybom pracy, odpowiednio:
NRM (ang. Normal Response Mode) oraz NDM (ang. Normal Disconnected Mode).

NDM

NDM jest trybem domyślnym rozłączonego urządzenia. W stanie tym


urządzenia badają wzajemną zajętość medium przed transmisją. Medium jest
postrzegane, jako zdolne do ustanowienia połączenia (transmisji), wtedy i tylko wtedy,
gdy nie została wykryta żadna aktywność innego urządzenia przez okres dłuższy niż
500 ms. Istotną sprawą w stanie NDM są reguły komunikacji. Podstawowym
napotykanym problemem jest ustanowienie identycznej konfiguracji połączenia
– parametrów komunikacyjnych. Może stać się to trudne w realizacji, jeśli urządzenia
nie będą wyposażone w interfejs użytkownika, który jest niezbędnym elementem przy
konfiguracji lub przeglądaniu parametrów komunikacyjnych. Problem taki nie
występuje w urządzeniach IrDA, w których NDM używa konkretnie sprecyzowanych
parametrów łącza. Podczas nawiązywania połączenia, obydwie łączące się strony,
wymieniają informacje sterujące i poszukują najlepszych parametrów komunikacyjnych
dla każdej z osobna. Komunikacja oparta jest na zasadzie rywalizacji, ponieważ żadna
ze stron chcących nawiązać połączenie nie pełni funkcji nadrzędnej.

- 46 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

NRM

NRM jest stanem funkcjonowania połączonych urządzeń. W trybie tym jedna


ze stacji pełni funkcję stacji nadrzędnej (ang. primary), która odpowiada za sterowanie
łączem. Pozostałe stacje są stacjami podrzędnymi (ang. secondary) i uzyskują dostęp do
łącza jedynie na wyraźne życzenie stacji nadrzędnej. Po wynegocjowaniu w trakcie
stanu NDM parametrów komunikacyjnych, obydwa urządzenia chcące nawiązać
komunikację prowadzą wzajemny dialog. W tym celu warstwy wyższe stosu
wymieniają się informacjami używając normalnych ramek poleceń i odpowiedzi.
Urządzenia biorące udział w transmisji nie muszą wykorzystywać wszystkich
dostępnych usług, które oferuje warstwa IrLAP. Określone zostały jedynie
najważniejsze wymagania, które należy spełnić w tym celu – będące optymalnym
minimum. Do najważniejszych należą: detekcja urządzenia, negocjowanie najlepszych
parametrów komunikacyjnych dla dwóch stron biorących udział w transmisji,
dokonanie połączenia i na zakończenie – rozłączenie, na które składa się zamknięcie
sesji (ostatnia ramka posiada znacznik końca transmisji) i powrót do stanu NDM
oznaczającego gotowość do ponownego połączenia.

5.3.2.2. Format ramki IrLAP.

Format ramki IrLAP oparty jest na formacie występującym w protokole HDLC


(rysunek nr 5.17). Każda ramka posiada 3 pola, które stanowiąc całość nazywane
są danymi ładunku użytecznego. W skład danych ładunku użytecznego wchodzą:

pole adresu (A) – (ang. address field);


pole sterujące (C) – (ang. control field);
pole informacji (I) – (ang. information field).

Każde z tych pól ma rozmiar 8 bitów, lub wielokrotności 8 bitów (w zależności


od zakresu transmisji).

- 47 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Początek Dane ładunku użytecznego Suma kontrolna Koniec


Preambuła ramki Ramka IrLAP ramki ramki
(BOF lub STA) FCS (EOF lub STO)

8 bitów 8 bitów 8 * M bitów

Pole adresu Pole sterujące Pole informacji


(Address Field) (Control Field) (Information Field)

A A A A A A A C
R

MSB LSB

Rys. nr 5.17 Format ramki IrLAP [55].

Pola BOF (STA) i EOF (STO) są zależne od przyjętej prędkości transmisji


(szczegółowe formaty tych pól zostały przedstawione w rozdziale 5.3.1 opisującym
warstwę fizyczną).

Pole adresowe (A) określa adres stacji podrzędnej biorącej udział w połączeniu.
Zawiera w swojej architekturze bit C/R, będący najstarszym bitem w szeregu
8 bitowym. Bit C/R określa, czy ramka jest rozkazowa (ang. Command),
czy odpowiedzi (ang. Response). W określaniu pola adresu występują dwie wartości
szczególne. Jeśli adres ma wartość ‘00’HEX, wówczas zarezerwowany jest jako pusty
(ang. NULL) i nie stanowi on adresu jakiejkolwiek stacji. Natomiast jeśli adres
przyjmuje wartość ‘7F’HEX, jest adresem rozgłoszeniowym (ang. broadcast) – ramki
zawierające taki adres są kierowane do wszystkich stacji. Adresu takiego może użyć
jedynie stacja nadrzędna lub stacja nie zaangażowana w połączenie.

Pole sterujące (C) określa funkcję ramki. Wyróżniamy trzy podstawowe typy
ramek: ramka nienumerowana (ang. unnumbered), nadzorcza (ang. supervisory)
i informacyjna (ang. information). Ramki nienumerowane służą do nawiązania
i rozwiązania połączenia, zgłaszania błędów proceduralnych oraz przekazywania
danych bez nawiązania połączenia. Ramki nadzorcze stosuje się do potwierdzania
odbioru ramek, sygnalizacji błędów transmisji, żądania retransmisji, zgłaszania
zajętości lub zwolnienia stacji. Podstawowym zadaniem ramek informacyjnych jest
przesyłanie danych oraz sprawdzanie właściwej kolejności nadchodzących ramek

- 48 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Ostatnim polem wchodzącym w skład tzw. danych ładunku użytecznego,


jest pole informacyjne (I). Może ono znajdować się tylko w ramkach nienumerowanych
lub informacyjnych. Jego długość musi zawierać całkowitą liczbę bajtów, jednak ilość
tych bajtów nie jest wartością ściśle określoną.

Pole cyklicznej sumy kontrolnej ramki (FCS) jest zależne od zakresu żądanej
prędkości transmisji. Kontrola błędów obejmuje pola: adresowe, rozkazowe
oraz informacyjne. Jej wartość jest wyliczana według algorytmu CRC-CCITT.

5.3.2.3. Ustalanie parametrów łącza.

Przed zestawieniem połączenia między dwoma stacjami: nadrzędną i podrzędną,


następuje ustalanie najkorzystniejszych parametrów połączenia. Proces ten, nazywany
negocjacją (ang. negotiation), polega na wzajemnej wymianie między stacjami ramek
nienumerowanych. Istnieje jednak możliwość zmiany parametrów połączenia, już po
zakończeniu inicjalizacji łącza. Służą temu ramki sterujące.

W procesie negocjacji ustalane są następujące parametry:

prędkość transmisji;
czas automatycznego rozłączenia;
maksymalny i minimalny czas zwrócenia prawa nadawania;
rozmiar pola danych;
wielkość okna (maksymalna liczba nie potwierdzonych ramek);
liczba flag początku ramki.

Wszystkie stacje uczestniczące w negocjacji wysyłają odpowiedzi


(specjalne skonstruowane ramki), które zawierają pełny zestaw wartości akceptowanych
przez nie parametrów. Każdy parametr określony jest trzema polami: identyfikatorem,
długością i wartością. Pole wartości jest polem bitów, w którym każdy bit odpowiada
za wartość poszczególnego parametru. Jeśli transmisja zachodzi w trybie rywalizacji
NDM, przyjmowane są standardowe i niezmienne parametry. Prędkość transmisji
ustawiana jest na 9,6 kb/s, zaś format znaku jest typu: 1 bit startu, 8 bitów danych i 1 bit
stopu.

Specyfikacja techniczna IrLAP określa dwa typu parametrów negocjowanych


pomiędzy stacjami. Są to mianowicie:

- 49 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

typ 0 – dobierane w taki sposób, aby były akceptowane przez każdą stację
(np. prędkość transmisji);
typ 1 – pozbawione wszelkich ograniczeń doboru.

Przebieg negocjacji dla parametrów typu 0 jest następujący:

• stacja nadrzędna (ang. primary station) wysyła ramkę z akceptowalnymi przez nią
parametrami;
• stacja podrzędna (ang. secondary station) porównuje otrzymane parametry
z parametrami akceptowalnymi przez siebie i wysyła odpowiedź do stacji
nadrzędnej.
• parametry łącza będą tak wybrane, aby mogły zapewnić jak najlepszą transmisję
pod względem szybkości i funkcjonalności.

Negocjacja dla parametrów typu 1 jest mniej skomplikowana i wykonywana


niezależnie przez każdą stację. Nie mają znaczenia możliwości innych stacji.
Gdy połączenie zostanie nawiązane możliwość zmiany parametrów typu 1 jest
ograniczona.

Specyfikacja IrLAP standardu IrDA umożliwia również komunikację


ze stacjami pracującymi z prędkością 2,4 kb/s, będącą najmniejszą prędkością
transmisji oferowaną przez standard. Stacje takie z uwagi ten parametr nie mogą brać
udziału w negocjacjach.

5.3.3. Protokół zarządzania łączem – IrLMP [56].


Warstwa IrLMP, która odpowiada za nadzór nad łączem, zapewnia następujące
funkcje:

zmienia liczbę stacji w sieci w czasie jej pracy;


rozpoznaje usługi oferowane przez inne stacje;
umożliwia pracę wielu niezależnym, współbieżnym aplikacjom na jednym łączu
IrLAP;
umożliwia detekcję, która rozwiązuje zaistniałe konflikty adresów. Stosuje się ją
wtedy, gdy np. dwa urządzenia mają ten sam adres IrLAP. Wtedy IrLMP
nakazuje zmianę adresów i generację nowych.

Protokół IrLMP składa się z dwóch części:

multipleksera (LM-MUX – ang. Link Management Multiplexer) – umożliwiającego


dokonywanie wielu połączeń na jednym łączu;

- 50 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

systemu dostępu do informacji (LM-IAS – ang. Link Management Information


Access Service) – umożliwiającego, biorącym w połączeniu stacjom, uzyskać dostęp
do informacji o możliwościach i stanie innych stacji. Często LM-IAS traktowany
jest jako osobny protokół obowiązkowy i nazywany po prostu IAS.

Architekturę warstwy IrLMP na tle całkowitej architektury standardu IrDA


przedstawia rysunek nr 5.18.

Usługi LM-IAS Aplikacje Usługi Transportowe


(LM-IAS Services) (Transport Services)

Zarządzanie
informacją/
Usługa dostępu Jednostki Transportowe
do informacji (Transport Entities)
(LM-IAS) Usługi LM-MUX
(LM-MUX Services)

Usługi IrLAP
Multipleksacja (LM-MUX) (IrLAP Services)

IrDA IrLAP

Rys. nr 5.18 Architektura warstwy IrLMP na tle architektury standardu IrDA [56].

5.3.3.1. Multiplekser (LM-MUX).

Część protokołu IrLMP, którą stanowi multiplekser (LM-MUX) ma za zadanie


dostarczenie usług: systemowi informacji o łączu (LM-IAS), opcjonalnemu protokołowi
transportowemu (IrTTP) i aplikacjom. Ponadto, multiplekser umożliwia utworzenie
wielu połączeń z wykorzystaniem protokołu IrLAP. Każde połączenie charakteryzuje
się tym, że posiada swój odrębny strumień danych, który nie zakłóca innych
pozostałych połączeń. Wyróżnia się dwa tryby pracy multipleksera: tryb wielokrotny
i tryb wyłączający.

Tryb wielokrotny

Przy pracy multipleksera w trybie wielokrotnym, multiplekser akceptuje dane


pochodzące od któregokolwiek z jego klientów. Mogą one pochodzić zarówno od
jednostek transportowych, czy wprost od przypisanych aplikacji. Sterowanie
przepływem jest wykonywane dla wszystkich połączeń, zatem klient pobiera
z multipleksera wszystkie nadchodzące ramki. Takie rozwiązanie nie jest jednak
pozbawione wad. Może nastąpić sytuacja, w której multiplekser przestanie przyjmować

- 51 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

ramki, np. w wyniku przepełnienia buforów. Spowoduje to wstrzymanie wszystkich


połączeń korzystających z multipleksera, co może w pewnych sytuacjach doprowadzić
do wzajemnej blokady. W trybie wielokrotnym może wystąpić również sytuacja
odrzucenia nie zaakceptowanych danych. Prowadzi to do tego, że klient musi zapewnić
mechanizm umożliwiający retransmisję zgubionych ramek.

Tryb wyłączający

W trybie wyłączającym, w odróżnieniu od poprzedniego trybu, tylko jedno


połączenie uzyskuje dostęp do medium transmisyjnego. Sterownie przepływem
strumienia w tym przypadku może odbywać się na poziomie warstwy IrLAP.
Wejście w tryb wyłączający może nastąpić tylko po nawiązaniu połączenia, w wyniku
czego możliwe jest wysyłanie ramek nienumerowanych przez stacje nie zaangażowane
w dane połączenie. Przyjmowane w trybie wyłączającym ramki są buforowane dopóki,
dopóty klient jest w stanie je odebrać. Nadchodzące ramki nienumerowane nie są
buforowane, zatem muszą być od razu zaakceptowane przez urządzenie odbiorcze.
Ramki nienumerowane wysyłane przez stację, która jest zaangażowana w połączenie,
w trybie wyłączającym są odrzucane przez multiplekser.

Aby istniała możliwość pozwalająca różnym, a zarazem dowolnym klientom


IrLMP, korzystać z pojedynczego łącza IrLAP, musi istnieć na wyższym poziomie
schemat adresowania. Istnieją ku temu, tzw. charakterystyczne punkty dostępu do łącza
LSAP (ang. Link Service Access Point), mające wielkość jednego bajtu.

5.3.3.2. System dostępu do informacji o łączu (LM-IAS).

Druga część protokołu IrLMP, tzw. protokół dostępu do informacji o łączu


LM-IAS jest bezpośrednim klientem multipleksera (LM-MUX) i pracuje w trybie
klient – serwer (ang. client – server). Wewnętrzną organizację protokołu LM-IAS
przedstawia rysunek nr 5.19.

- 52 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Miejscowa rejestracja

Interfejs Baza
systemu dostępu Informacji
do informacji

Protokół dosępu Klient IAP Serwer IAP


do informacji FSM FSM
IAP

Interfejs
Usługi multipleksera
LM-MUX

Rys. nr 5.19 Wewnętrzna organizacja IAS [56].

Wszystkie usługi lub aplikacje muszą mieć dostęp do IAS. Sam system dostępu
do informacji może zostać dodatkowo zapytany o dodatkowe informacje na temat
usługi.

Klient jest składnikiem, który generuje zapytania o daną usługę w innym


urządzeniu. Używa wówczas tzw. protokołu dostępu do informacji IAP
(ang. Information Access Protocol). Protokół IAP stosowany jest wyłącznie w LM-IAS.
Serwer jest składnikiem, który odpowiada na zadane pytania pochodzące od klienta.
Urządzenia nie inicjujące połączeń LMP zawierają jedynie serwer IAS.

Składniki aplikacji, które maja być widoczne przez aplikacje innych stacji,
reprezentują oferowane przez siebie możliwości poprzez tworzenie obiektów. Obiekty
wyposażone są w nazwy kategorii i jednego lub więcej atrybutów, które niosą istotną
informację umożliwiającą nawiązanie połączenia. Aby w pełni móc wyobrazić sobie,
co to jest dokładnie kategoria i atrybuty, można zastosować analogię do
telekomunikacji. Wówczas kategorię będzie stanowić nazwa jakiejś dowolnej firmy,
bądź nazwisko abonenta w książce telefonicznej, natomiast jako atrybuty należy
rozumieć informacje dodatkowe odnoszące się bezpośrednio do danej firmy lub
abonenta, np.: numer telefonu, adres i pozostałe dane teleadresowe. Aplikacja
poszukująca konkretnych cech transferowych przeszukuje owe obiekty wewnątrz
tzw. zdalnej bazy informacji IAS (ang. IAS Information Base). Jeśli wymagane obiekty
istnieją, wówczas parametry komunikacyjne są przeglądane i udostępniane w postaci
listy dostępnych urządzeń. Baza informacji IAS jest używana przez serwer IAS w celu
udzielania rzetelnych odpowiedzi na nadchodzące zapytania od klientów IAS.

- 53 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Głównym atrybutem obiektów jest LSAP-SEL (ang. Link Service Access


Point-Selector), który jest wymagany do utworzenia połączenia LMP z dowolną usługą.

Obiekt IAS złożony jest z następujących części:

Nazwy klasy (do 60 oktetów);


Atrybuty:
• Do 256 atrybutów;
• Typy wartości atrybutów:
Łańcuch znaków (do 256 oktetów);
Sekwencja bajtów (do 1024 oktetów).
• Liczba całkowita ze znakiem (32 bity).

5.3.3.3. Format ramki IrLMP.

Warstwa IrLMP kontroluje zawartość pola „DeviceInfo” w ramce przesyłanej


przez IrLAP (pole „DeviceInfo” zawiera się w polu „Pole informacji” ramki IrLAP
– patrz rysunek 5.17). Pole to może być puste, tzn. mieć zerową długość, lecz z reguły
zawiera jeden lub więcej bajtów określających typ urządzenia (ang. hints).
Usługi „hints” są użyteczne, kiedy urządzenia oferujące różne usługi istnieją w tym
samym czasie na jednym obszarze IR (obszarze, w którym występuje połączenie
bezprzewodowe wykorzystujące podczerwień), np.: laptopy, drukarki, itp. Opcjonalnie
występuje również pole „Device NickName”, z którego korzysta się w przypadku,
gdy wiele urządzeń tego samego typu (i potencjalnie podobne usługi) istnieje w tym
samym czasie i obszarze IR (np.: kilka telefonów PDA). Format pola „DeviceInfo”
przedstawia rysunek nr 5.20.

Usługa Hints (Service Hints) Pole Device NickName

n bajtów 0 do 23 - n bajtów

Rys. nr 5.20 Format pola „DeviceInfo” [56].

Dwa pierwsze bajty pola „DeviceInfo” stanowią informację o typie urządzenia


(pole „Service Hints”). W tabeli nr 5.5 zostało przedstawione znaczenie poszczególnych
bitów pola „Service Hints”, gdzie logiczne „0” na danej pozycji bitowej określa brak
danego urządzenia.

- 54 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Tabela nr 5.5 Znaczenie poszczególnych bitów pola „Service Honts” [56].

BAJT 1 BAJT 2
Bit Funkcja Bit Funkcja
0 Kompatybilny PnP (PnP Compatible) 0 Telefon (Telephony)
1 PDA / Palmtop (PDA / Palmtop) 1 Serwer Danych (File Server)
2 Komputer (Computer) 2 Zarezerwowany (rsvd)
3 Drukarka (Printer) 3 Zarezerwowany (rsvd)
4 Modem (Modem) 4 Zarezerwowany (rsvd)
5 Fax (Fax) 5 Zarezerwowany (rsvd)
6 Dostęp LAN (LAN Access) 6 Zarezerwowany (rsvd)
7 Rozszerzenie (Extension) 7 Rozszerzenie (Extension)

Pole „Device NickName” składa się z dwóch komponentów (rysunek nr 5.21).

Skót nazwy (Character Set) Nazwa (Name)

1 bajt 0 do 23 - (n+1) bajtów

Rys. nr 5.21 Format pola „Device NickName” [56].

Wszystkie ramki protokołu IrLMP (LM-PDU) są wysyłane jako dane dla


protokołu IrLAP (zawierają się w „Polu Informacji” ramki IrLAP). IrLMP wysyła
ramkę składającą się z dwubajtowego nagłówka (rysunek nr 5.22), po którym następują
dane (rysunek nr 5.23).

7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

C DLSAP-SEL r SLSAP-SEL

Rys. nr 5.22 Nagłówek ramki protokołu IrLMP [56].

7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

C DLSAP-SEL r SLSAP-SEL Dane ...

Rys. nr 5.23 Ramka IrLMP z danymi [56].

- 55 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

gdzie:

C – bit kontrolny;
• C = 1 – ramka jest komendą,
• C = 0 – ramka zawiera dane.
r – bit zarezerwowany, musi być równy r = 0;
DLSAP-SEL – określa miejsce końcowe przeznaczenia ramki;
SLSAP-SEL – określa nadawcę ramki.

Ramka IrLMP dodaje kolejne dwa bajty informacji do przesyłanych ramek.

5.4. Protokoły opcjonalne.

5.4.1. Protokół transportowy – IrTTP (TinyTP) [59].


W poprzednich rozdziałach zostały szczegółowo przedstawione protokoły
implementowane obowiązkowo: warstwa fizyczna określająca wymagania sprzętowe
i niskopoziomowe ramkowanie danych, warstwa IrLAP zapewniająca niezawodną
i sekwencyjną transmisje danych oraz warstwa IrLMP umożliwiająca multipleksowanie
LAP i dostarczanie usług IAS.

Protokół transportowy IrTTP, mimo iż stanowi protokół opcjonalny


(nieobowiązkowy), jest na tyle ważnym składnikiem całego standardu IrDA,
że powinno się go traktować jako element obowiązkowy. Jeżeli przetwarzanie danych
z jednego kanału multipleksowanego zależy od przepływu danych w innym kanale,
istnieje możliwość wzajemnej blokady. Problemu tego nie jest w stanie rozwiązać
protokół IrLMP, gdyż nie zapewnia sterowania przepływem dla każdego strumienia
danych z osobna i nie przetrzymuje odebranych ramek. Ponadto, dane mogą być
odrzucone z powodu zapełnienia buforów. Klient powinien wówczas posiadać własny
mechanizm, dzięki któremu sterowałby przepływem danych i miał możliwość
akceptowania wysyłanych ramek. Inną własnością, jaką powinien charakteryzować się
taki mechanizm jest zapewnienie odtwarzania i retransmisji zgubionej informacji.

Powyższe problemy rozwiązuje protokół IrTTP, który zapewnia:

niezależne sterowanie przepływem strumieni danych,


segmentację oraz powtórne składanie informacji SAR (ang. Segmentation
and Reassembly).

- 56 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Protokół IrTTP dodaje do każdego pakietu IrLMP jeden bajt informacji.


Obydwa zadania, które spełnia warstwa IrTTP stanowią podstawę zastosowań tego
protokołu.

Sterowanie przepływem strumienia w kanale jest najważniejszą funkcją


protokołu IrTTP. Faktycznie w standardzie IrDA funkcję tą spełnia protokół IrLAP.
On też sprawdza, czy nie ma konieczności zastosowania innego mechanizmu
sterowania. Korzyść z zastosowania w tym celu protokołu IrTTP jest taka, że w trakcie
połączenia LMP jedna ze stron biorąca w niej udział, może nagle przerwać nadawanie
informacji i nie ma to wówczas żadnego negatywnego wpływu na drugą stronę.
Taka sytuacja jest nieosiągalna przy sterowaniu przepływem oferowanym przez IrLAP,
gdzie przerwanie transmisji odbija się niekorzystnie na pracy drugiej strony biorącej
udział w połączeniu. Mechanizm kontroli przepływu stosowany przez IrTTP oparty jest
na zasadzie udzielaniu drugiej stronie tzw. kredytu. Stosowany mechanizm kontroli
można przedstawić następująco:

Kredyty są udzielane przez każdą ze stron biorąca udział w połączeniu.


Udzielanie kredytu odpowiada zezwoleniu na wysyłanie przez LMP jednej
ramki. Jeśli urządzenie wysyła kredyt, to jest zdolne do przyjęcia ramki.
Ich liczba zależy od wielkości posiadanego bufora. Istnieje jedna główna zasada
mówiąca, że: jak długo urządzenie ma wolny bufor, to tak długo może wysyłać
od 1 do 127 kredytów do jakiegokolwiek urządzenia;
Wysyłanie danych powoduje stopniowe wyczerpywanie się ilości kredytów
– 1 kredyt na wysłaną ramkę;
Okresowo następuje wysyłanie jednocześnie większej ilości kredytów.
Zastosowana w tym protokole „polityka kredytów” jest brana przez odbiorcę
z dużą ostrożnością. Zakłóca ona bowiem przepustowość połączenia, ponieważ
nadawcy stale ubywają udzielane kredyty i musi wówczas czekać na następne;
Jeśli urządzenie wysyłające nie ma żadnego kredytu, nie może wysyłać żadnych
danych;
Ramka kredytu może być zawsze wysyłana i nie podlega żadnej kontroli.

W powyższym opisie była mowa o wysyłającym oraz odbiorcy, jak gdyby role
ich były z góry ustalone. Są one jednak wspólne dla obu stron. Połączenie LMP wysyła
wiadomość oraz ją otrzymuje. Wskutek tego obie strony biorące udział w połączeniu
mogą na równorzędnych zasadach używać kredytu. Bajt kredytu jest częścią składową
ramki LMP.

- 57 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Drugą funkcją spełnianą przez IrTTP jest segmentowanie w jednostce


wysyłającej i powtórne składanie przesyłanej informacji SAR. Warstwa IrTTP dzieli
dane o dużej objętości na mniejsze części i składa je ponownie w urządzeniu
odbiorczym. Jeden fragment podzielonej całości nazwany został SDU (ang. Service
Data Unit). Maksymalny rozmiar fragmentu SDU jest negocjowany w chwili inicjacji
pierwszego połączenia IrTTP/LMP.

5.4.2. Emulacja łączy – IrCOMM [50].


W czasie, gdy standard IrDA wszedł na rynek i zaczął się szybko rozwijać,
zaistniało silne zapotrzebowanie na to, aby aplikacje PC, które charakteryzowały się
szeregowymi i równoległymi portami, mogły w pełni korzystać z nowego sposobu
komunikacji wykorzystującej podczerwień bez konieczności zmiany ich kodu.
Konstruktorom zależało szczególnie na tym, by stworzyć sposób emulacji wyżej
wymienionych łączy komunikacyjnych z wykorzystaniem urządzeń standardu IrDA.
Łączność za pomocą podczerwieni różni się znacząco od szeregowego
lub równoległego sposobu łączności. Zarówno szeregowe, jak i równoległe połączenie
ma indywidualne obwody, po których sygnały mogą być nadawane niezależnie
i zarazem jednocześnie. Łączność bezprzewodową wykorzystującą podczerwień można
traktować, jako ich przeciwieństwo. Charakteryzuje się ona bowiem pojedynczym
kierunkiem przesyłu danych, a wszystkie informacje w ramkach danych muszą być
zgodne z warstwą IrLMP lub wyższą.

W celu rozwiązania powyższych problemów został opracowany protokół


IrCOMM. Określał on w pełni sposób emulacji standardowych łączy komunikacyjnych
komputera z wykorzystaniem urządzeń standardu IrDA. Powstałe rozwiązanie
pozwalało na zastąpienie połączeń kablowych łączem w podczerwieni i zakładało
całkowitą zgodność stosowanych urządzeń z oprogramowaniem stworzonym
na potrzeby połączeń przewodowych. IrCOMM jest opcjonalną warstwą protokołu
IrDA, która używana jest tylko do pewnych zastosowań. Jeśli mówimy o nowych
rozwiązaniach, lepiej jest unikać warstwy IrCOMM i używać innych warstw stosu IrDA
w aplikacjach takich jak np.: IrOBEX, IrLAN, czy IrTTP. Takie rozumowanie wynika
stąd, iż maska IrCOMM oraz inne cechy tej warstwy są przystosowane do niższych
warstw protokołów.

Umiejscowienie warstwy IrCOMM w typowym systemie przedstawia rysunek


nr 5.24.

- 58 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Aplikacja Zapisu (Legacy Application)

Interfejs portu
(np. VCOMM)
zapis / odczyt kontrola

Jednostka Emulacji Portu (Port Emulation Entity)

ogólne parametry kontrolujące


dane (TX, RX)
układ parametrów portu
Interfejs usługi
IrCOMM
porada IAS
"FixedPortName"
IrCOMM

IrTTP

IrLMP

IrLAP

SIR

Podczerwień

Rys. nr 5.24 Umiejscowienie protokołu IrCOMM w typowym systemie [50].

Protokół IrCOMM w swoich założeniach przewiduje emulację czterech typów


łączy (cztery typy usług):

3 – przewodowy, prosty RS-232C (ang. 3-wire raw);


3 – przewodowy RS-232C (ang. 3-wire);
9 – przewodowy RS-232C (ang. 9-wire);
Centronics 10).

Model obrazujący emulację portów przez warstwę IrCOMM przedstawiony jest


na rysunku nr 5.25.

Aplikacja Zapisu (Legacy Application)

Interfejs portu
(np: VCOMM)
zapis/odczyt kontrola

Sterownik (Driver for V.24)

dane (TX, RX) wbudowane konstrukcyjnie


sygnały (hard-wired signals)
V.24

RS-232

Rys. nr 5.25 Model przedstawiający emulację portów przez IrCOMM [50].

10)
Centronics – nazwa określająca interfejs równoległy, który stał się standardem w zakresie przyłączeń
drukarek do komputerów. Standard Centronics obejmuje część sprzętową (złącze i układy
pomocnicze) oraz protokół wymiany danych [45].
- 59 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

5.4.2.1. 3 – przewodowy, prosty RS-232C.

Emulacja 3-przewodowego, prostego łącza RS232C stosowana jest wyłącznie


wtedy, gdy wystarczające jest używanie pojedynczego połączenia w trybie
wyłączającym. Takie zastosowanie tej usługi uwarunkowane jest tym,
iż w przeciwieństwie do pozostałych, wykorzystuje ona sterowanie przepływem
na poziomie protokołu IAS.

Dzięki tej usłudze użytkownik może emulować zarówno łącze szeregowe,


jak też równoległe. Spowodowane jest to tym, iż przesyłane są tylko strumienie
zawierające czyste dane – nie zawierają w sobie żadnej informacji sterującej
(brak kanału sterującego). Emulacja łącza równoległego IrLPT (ang. Infrared Line Print
Terminal) przeznaczona jest tylko do usługi drukowania, natomiast emulacja łącza
szeregowego może być wykorzystana zarówno w usłudze drukowania, jak też w innym,
szerszym zakresie.

Aby umożliwić pracę z typowymi aplikacjami, linie sterujące łączy


szeregowych i równoległych utrzymywane są w odpowiednich stanach logicznych.

5.4.2.2. 3 – przewodowy RS-232C.

Emulacja 3-przewodowego łącza RS-232C wykazuje pewne różnice


w porównaniu z łączem prostym. Do głównych różnic należą dwie zasadnicze cechy:

sterownia przepływem stosuje mechanizmy protokołu transportowego IrTTP;


oprócz samych danych, przesyłane są również pewne informacje sterujące.

Dodatkowe informacje, przesyłane w kanale sterującym (informacje sterujące)


dotyczą przede wszystkim:

wyboru rodzaju usługi;


informacji wymiany ustaleń parametrów portu szeregowego;
informacji wymiany statusu portu.

Na początku dokonania połączenia wymagane jest określenie rodzaju usługi,


czyli określenie emulacji portu szeregowego, bądź równoległego. Przy wyborze portu
szeregowego należy dokonać kolejnych ustaleń, na które składają się: określenie
prędkości transmisji, długości i formatu znaku, sposobu sterowania przepływem
i określenie znaków sterujących. Po nawiązaniu połączenia, jak również w czasie jego
trwania istnieje możliwość zmiany każdego z tych parametrów. W odróżnieniu od portu

- 60 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

szeregowego, wybór portu równoległego nie wymaga określania żadnych następnych


ustaleń, co powoduje ignorowanie wszelkich informacji sterujących.

Podobnie, jak w przypadku łącza 3-przewodowego prostego, w celu


zapewnienia możliwości pracy z typowymi aplikacjami, linie sterujące złączy RS-232C
i Centronics utrzymywane są w odpowiednich stanach logicznych.

5.4.2.3. 9 – przewodowy RS-232C.

Typ 9-przewodowy RS-232C, w przeciwieństwie do usług związanych z łączem


3-przewodowym obu typów, umożliwia tylko emulację portu szeregowego. Zapewnia
zarówno wymianę danych, jak i wymianę informacji sterujących, które odpowiadają
odpowiednim stanom sygnałów sterujących złączy RS-232C. Używa się go zwykle przy
współpracy z modemami.

Podczas zestawiania połączenia, czyli jego inicjalizacji, należy określić


parametrów łącza. Proces ten przebiega w identyczny sposób, jak dla łącza
3-przewodowego z tą różnicą, iż nie ma tutaj możliwości wyboru emulacji portu
równoległego oraz konieczne jest konkretne sprecyzowanie parametrów związanych
z liniami sterującymi modemem. Wszelkie zmiany ustaleń są możliwe także w czasie
trwania połączenia.

Emulacja szeregowego łącza 9-przewodowego charakteryzuje się również


możliwością połączenia stacji w tzw. trybie pseudomodemowym
11)
(ang. „null – modem”) . Połączenia „null – modem” jest połączeniem kablowym
zastępującym modem. Przykład połączenia pseudomodemowego przedstawia rysunek
nr 5.26.
(sygnały i odpowiadające im (sygnały i odpowiadające im
piny w złączce) piny w złączce)

FG 1 FG 1
TD 2 TD 2
RD 3 RD 3
DTE RTS 4 RTS 4 DCE
(komputer) CTS 5 CTS 5 (modem)
DSR 6 DSR 6
SG 7 SG 7
CD 8 CD 8
DTR 20 DTR 20
RI 22 RI 22

Rys. nr 5.26 Przeplot w kablu typu „null-modem” [50].

11)
„Null–modem” – Specjalnie przerobiony kabel szeregowy, który umożliwia połączenie dwóch
komputerów, dzięki czemu możliwe jest przesyłanie pomiędzy nimi danych oraz np. granie w gry
komputerowe. Nazwa kabla wzięła się stąd, że to połączenie odbywa się bez pośrednictwa modemu
(ang. „null” oznacza tutaj brak). Kabel „null–modem” jest kablem z przeplotem, w którym przewód
podłączony do pinu nr 2 w jednej wtyczce biegnie do pinu nr 3 drugiej [49].
- 61 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

5.4.2.4. Centronics.

Łącze równoległe Centronics operuje wykorzystując kanał sterujący dla portu


Centronics. Używa protokołu transportowego IrTTP. Emulacja łącza równoległego
Centronics zapewnia pracę portu w jednym z pięciu trybów, mianowicie:

port jednokierunkowy (ang. Compatibility Mode) – niezgodny ze standardem


IEEE-1284 12);
port dwukierunkowy w trybie półbajtowym (ang. nibble mode) – informacja
zwrotna przesyłana jest stopniowo, w porcjach po 4 bity;
port dwukierunkowy w trybie bajtowym (ang. byte mode) – informacja zwrotna
przesyłana jest w porcjach składających się z 8 bitów;
port w trybie ECP (ang. Enhanced Capabilities Port) – zmodyfikowany port
równoległy pozwalający na swobodną transmisję w obie strony. Pozwala
na transmisję danych z szybkością od 2 Mb/s do 5 MB/s (inna nazwa: Zippy);
port w trybie EPP (ang. Enhanced Parallel Port). – najbardziej zaawansowany
tryb pracy portu równoległego, tworzący dwukierunkową magistralę 8-bitową
mogącą przesyłać zarówno dane, jak i adresy. Pozwala na transmisję danych
od 150 kB/s do 2 MB/s.

Wszystkie wyżej wymienione tryby zapewniają wymianę informacji,


która odpowiada stanom sygnałów sterujących łącza równoległego.

5.4.3. Współpraca z sieciami lokalnymi LAN – IrLAN [53].


Protokół IrLAN został stworzony w celu umożliwienia współpracy urządzeń
pracujących zgodnie ze standardem IrDA z sieciami lokalnymi. Jest to protokół mało
rozpowszechniony w świecie i nie został jeszcze w pełni znormalizowany. W swoich
założeniach zapewnia między innymi: dostęp stacji, nie wyposażonych w karty
sieciowe, do zasobów sieci lokalnej poprzez urządzenie dostępowe, połączenie do sieci
13)
LAN poprzez innym komputer już połączony oraz utworzenie sieci LAN dwóch
komputerów łączących się ze sobą.

12)
IEEE-1284 - standard komisji IEEE zawierający wspólną specyfikację portów równoległych EPP
i ECP [49].
13)
LAN – (ang. Local Area Network) Rodzaj sieci komputerowej, która jest zlokalizowana na małym obszarze
geograficznym – jeden lub kilka budynków. LAN pozwala użytkownikom korzystać z tych samych zasobów,
jak: drukarki, modemy, pliki i programy znajdujące się na serwerze. Sieć LAN korzysta z okablowania typu
skrętka czy kabel koncentryczny, rzadziej medium transmisyjnym jest podczerwień, czy światłowód. Sieci LAN
charakteryzują się bardzo dużą szybkością transmisji danych, zwykle od 10 Mb/s do 100 Mb/s, choć znane są
i szybsze rozwiązania [49].

- 62 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Obecnie sprecyzowane są zasady współpracy standardu IrDA ze standardami


14)
802.3 (Ethernet ) i 802.5 (Token Ring). Rodzaj użytej do współpracy sieci lokalnej
stwarza konieczność zmiany niektórych parametrów określanych poprzez protokół
IrLAN. Należy wymienić tu przede wszystkim np.: długość i format ramki.

Warstwa IrLAN umożliwia zastosowanie trzech konfiguracji sieci:

z punktem dostępu (ang. access point mode);


partnerską (ang. peer-to-peer mode);
z komputerem nadrzędnym (ang. hosted mode).

5.4.3.1. Tryb z punktem dostępu.

Tryb pracy z punktem dostępu charakteryzuje się występowaniem stacji


wyposażonych w łącza standardu IrDA oraz w tzw. punkt dostępu (ang. access point),
który oprócz posiadania łącza podczerwonego, posiada również interfejs sieciowy.
Stacje z punktem dostępu nazywane są również stacjami z sieciowymi adapterami
podczerwieni (ang. LAN IR Adapter). Zadaniem punktu dostępu jest przetworzenie
informacji w taki sposób, aby stacje nie wyposażone w karty sieciowe, miały dostęp do
zasobów sieci lokalnej. W trybie tym, każda stacja posiada swój własny unikatowy
adres sieciowy. Inną ważną zaletą trybu z punktem dostępu jest to, iż punkt dostępu
optymalizuje użycie łączy, poprzez eliminację niepożądanych fragmentów informacji.
Na rysunku nr 5.27 przedstawiono schemat trybu pracy z punktem dostępu.
NIC
(ang. Network Interface Controller)
Most LAN (LAN Bridge) kontroler łącza sieciowego
IrLAN
NIC Sieć
IrLMP/IrTTP (Network)
Control Dane LSAP

Control Dane LSAP Control Dane LSAP

IrLMP/IrTTP IrLMP/IrTTP

IrLAN IrLAN

Klient (Client) Klient (Client)

Rys. nr 5.27 Tryb z punktem dostępu [53].

14)
Ethernet - Najbardziej popularny standard tworzenia sieci LAN, istniejący od 1976 roku. Określa on
takie parametry sieci, jak: szybkości transmisji danych równą 10 Mb/s, dopuszczalne rodzaje kabli
(kabel koncentryczny, skrętka, światłowód), minimalne i maksymalne długości kabli pomiędzy
komputerami, itp. Nowsze odmiany Ethernetu różnią się szybkościami pracy – Fast Ethernet pozwala
na transfer danych z szybkością 100 Mb/s, a Gigabit Ethernet z 1000 Mb/s (1 Gb/s) [49].
- 63 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

5.4.3.2. Tryb partnerski.

Tryb partnerski charakteryzuje się tym, iż nie ma w nim połączenia z fizyczną


siecią lokalną. Istnieje jednak możliwość stworzenia sieci tymczasowej (ang. ad-hoc).
Sieć taka wykorzystuje elementy protokołu IrDA, jako niższe warstwy logiczne sieci.
Cecha ta powoduje, że sąsiadujące ze sobą komputery mogą wymieniać się między
sobą danymi, w identyczny sposób, jak połączone ze sobą komputery pracujące w sieci
przewodowej. Rysunek nr 5.28 przedstawia tryb partnerski zestawiony z dwóch
użytkowników.

Klient (Client)

IrLAN IrLAN

IrLMP/IrTTP
Dostawca Klient
(Provider Control) Dane (Client Control)

Klient Dane Dostawca


(Client Control) (Provider Control)
IrLMP/IrTTP

IrLAN IrLAN

Klient (Client)

Rys. nr 5.28 Tryb partnerski [53].

5.4.3.3. Tryb z komputerem nadrzędnym.

W trybie z komputerem nadrzędnym również mamy dostęp do sieci lokalnej.


Połączenie z siecią LAN jest realizowane podobnie, jak w przypadku trybu z punktem
dostępowym, poprzez wyróżniony komputer nadrzędny, który oprócz łącza standardu
IrDA, wyposażony jest także w interfejs sieciowy i wymagane do niego
oprogramowanie. Różnica jest tylko taka, że w trybie z komputerem nadrzędnym
wszystkie stacje współdzielą jeden wspólny adres sieciowy. Każdy komputer może
komunikować się zarówno z komputerem nadrzędnym, jak również ze sobą nawzajem.
Schemat trybu z komputerem nadrzędnym obrazuje rysunek nr 5.29.

- 64 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

Obsługa Klienta

Most S/W

IrLAN - Dostawca
IrLMP NIC Sieć
Control LSAP Dane LSAP (Network)

Control LSAP Dane LSAP


IrLMP
IrLAN - Klient

System Obsługi Klienta

Rys. nr 5.29 Tryb z komputerem nadrzędnym [53].

5.4.4. Protokół rozszerzenia technologii „Plug & Play” – IrPNP [54].


Technologia „Plug & Play” (PnP) pozwala instalować i dowolnie konfigurować
nowe urządzenia, takie jak: drukarki, dyski twarde, modemy itp. w sposób szybki
i prosty. Aby zminimalizować szansę wystąpienia błędnej konfiguracji, technologia
„Plug & Play” wyręcza indywidualnego użytkownika wybierając odpowiednie
sterowniki urządzeń zewnętrznych i odpowiednie ustawienia, np. przerwanie.
Dodatkowo stwarza możliwość stosowania dużej gamy nowych urządzeń. Obecnie
używane systemy operacyjne (np. Microsoft Windows 2000, czy Microsoft Windows
XP) wspierają dynamiczną konfigurację urządzeń „Plug & Play”, w taki sposób,
że urządzenia zewnętrzne mogą być dodawane i usuwane bez wymaganego restartu
serwera.

IrPNP jest standardem, który określa rozszerzenia protokołu zarządzania łączem


IrLMP o zagadnienia związane z technologią „Plug & Play”. Zadaniem procedur tego
standardu jest informowanie systemu operacyjnego o wszelkich zmianach,
które zachodzą w środowisku standardu IrDA. Do głównych zadań należy zaliczyć
informowanie o włączeniu i wyłączeniu się stacji. Z chwilą wykrycia
i zidentyfikowania urządzeń następuje ich logiczne przyłączenie do systemu bez
jakiejkolwiek dodatkowej ingerencji użytkownika.

- 65 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

5.4.5. Protokół wymiany obiektów – IrOBEX [51].


Protokół IrOBEX jest opcjonalną warstwą standardu IrDA zaprojektowaną
w celu umożliwienia, systemom dowolnych rozmiarów, wymiany szerokiego zakresu
różnych danych oraz rozkazów za pomocą sprecyzowanych i standardowych modeli.
Innymi słowy, protokół ten określa zasady wymiany obiektów pomiędzy stacjami.
Stacjami mogą być zarówno komputery klasy PC, jak też inne urządzenia typu:
urządzenia telekomunikacyjne (telefony), elektroniczne przyrządy biurowe, sprzęt
gospodarstwa domowego, urządzenia przemysłowe, jak również urządzenia medyczne.
Obiektami mogą być np. pliki oraz wszelkiego rodzaju informacje sterujące
i diagnostyczne. Warstwa korzystająca z pojedynczych adresów wspólnych dla aplikacji
na którymkolwiek komputerze PC albo w systemie operacyjnym, bierze dowolny obiekt
danych i wysyła go do jakiegokolwiek urządzenia z portem podczerwieni. Warstwa ta
dostarcza również kilka narzędzi, za pomocą których obiekt może zostać rozpoznany
i inteligentnie zarządzany po stronie odbiorcy. Protokół IrOBEX pełni bardzo podobną
15)
rolę jak HTTP w Internecie. Główna cechą warstwy jest to, iż została tak
zdefiniowana, że możliwe jest jej użycie poza środowiskiem zgodnym ze standardem
IrDA.

IrOBEX został stworzony do „pakowania danych” w łączności za pomocą


standardu podczerwieni IrDA i w skutek tego umożliwił znaczne uproszczenie
wzajemnej komunikacji aplikacjom. Główne kryteria brane szczególnie pod uwagę
podczas projektowania protokołu, to:

prostota (ang. simple) – stanowiąca wsparcie dla najbardziej potrzebnych


aplikacji (operacji);
zwięzłość (ang. compact) – minimalne wyczerpywanie zasobów systemowych
małych urządzeń;
krzyżowanie wielu platform sprzętowych (ang. cross platform) – możliwość
implementacji na wielu platformach sprzętowych;
elastyczność (ang. flexible) – wsparcie obróbki danych dla zastosowań
przemysłowych, a także dopasowanie do znormalizowanych standardów;

15)
HTTP (ang. HyperText Transfer Protocol) – Protokół wymiany danych pomiędzy komputerem
klienta (np. użytkownika internetu) – a serwerem stron WWW. Z protokołu HTTP korzystają
przeglądarki stron WWW, co można poznać po oznaczeniach „http://” używanych na początku
adresu internetowego [49].
- 66 -
Optyczny system transmisji małego zasięgu IrDA / Transmisja bezprzewodowa w standardzie IrDA

rozciągliwość (ang. extensible) – dostarczanie ścieżki dostępu do takich


późniejszych potrzeb jak: bezpieczeństwo, kompresja, czy innych rozszerzonych
cech bez obciążania bardziej ograniczonych implementacji;
zdolność badania i usuwania błędów programu (ang. testable & debuggable).

Usytuowanie protokołu IrOBEX w standardzie IrDA przedstawia rysunek


nr 5.30.

OBEX
The Wide World Aplikacje i Usługi
of Application

OBEX - Struktura Aplikacji

OBEX - Protokół

IrTTP

LM-IAS

IrLMP LM-MUX

IrLAP

Rys. nr 5.30 Usytuowanie protokołu IrOBEX w standardzie IrDA [51].

Specyfikacja protokołu IrOBEX składa się z dwóch zasadniczych części:


protokołu (ang. OBEX Session Protocol) i struktury aplikacji (ang. OBEX Application
Framework).

Na protokół OBEX składają się dwa elementy: model obiektu (ang. Object
Model) oraz protokół sesji (ang. Session Protocol). Protokół sesji wyszczególnia
przepisy konwersji rządzącej zamianą obiektów, tzn. buduje dialogi między dwoma
urządzeniami, które chcą wymienić między sobą dane. Podczas zawarcia kontaktu,
włącza opcję negocjacji poprzez ustalenie operacji „get” (pobierz) i „put” (wyślij).
Pozwala to ustawić sposób przekazywania danych bez zamykania aktualnego
połączenia. Model obiektu dostarcza łatwo przystosowujący się oraz rozciągliwy
mechanizm dla obiektów i niesie informację opisującą dany obiekt.

Struktura aplikacji OBEX jest konieczna, aby zapewnić pełną operatywność


między urządzeniami używającymi IrOBEX. Jest ona podstawą zbioru standardowych
usług OBEX, które w pełni spełniają wszelkie wymagania dla wymiany obiektów.

- 67 -

You might also like