Wykład Mikrosystemy Elektroniczne 1
IrDA (Infrared Data Association)
1. Opis ogólny standardu IrDA
IrDA jest protokołem transmisji cyfrowych w podczerwieni, zawdzięczającym swoje
powstanie procesom normalizacyjnym dotyczącym pilotów sterujących odbiornikami TV i
magnetowidami. Dzisiaj Forum IrDA specyfikuje trzy standardy komunikacji za
pośrednictwem wspomnianych fal podczerwonych: IrDA-Data, IrDA-Control oraz nowy -
AIr (Advanced Infrared). Na razie IrDA zapewnia transmisję typu punkt-punkt na odległość
do 1 m w zakresie falowym 850-900 nm. Osiągane przepływności dochodzą do 16 Mb/s, a kąt
transmisji nie przekracza 30°. Po obniżeniu szybkoÅ›ci transmisji do 75 kb/s można
komunikować się na odległość ponad 5 m. W przyszłości protokół AIr zapewni przesyłanie
danych w konfiguracji wielopunkt-wielopunkt. Teraz oferuje przepływność 4 Mb/s na
odległości 4 m lub 250 kb/s po podwojeniu tego dystansu.
Do stowarzyszenia IrDA należą: Acer, Ascom, Agilent Technologies, Apple Computer,
Compaq, Ericsson, Hewlett-Packard, Intel, Linux-IrDA, Matsushita, Microsoft, Motorola,
National Semiconductor, Nokia, Philips, Seiko Instruments, Sony, Toshiba, ZiLOG i wiele
innych.
Rys. 1. Podzespoły wykorzystywane przez interfejs IrDA
2. Stos protokołów
Protokoły komunikacyjne są w IrDA podzielone na warstwy i spełniają wiele funkcji. Stos
protokołów wynika z architektury pokazanej na rys. 2. Warstwy w stosie są zwyczajowo
podzielone na dwie podgrupy:
- protokoły implementowane obowiązkowo,
- protokoły opcjonalne.
Wykład Mikrosystemy Elektroniczne 2
Rys.2. Stos protokołów IrDA
W skład pierwszej wchodzą:
" Warstwa fizyczna (Physical Layer), która specyfikuje charakterystyki optyczne,
kodowanie danych oraz synchronizowanie ramek.
" IrLAP (Link Access Protocol), odpowiadająca za niezawodność połączenia.
" IrLMP (Link Management Protocol) - protokół multipleksowania usług i aplikacji.
" IAS (Intention Access Service), czyli dostęp do informacji.
Zastosowanie protokołów opcjonalnych zależy od konkretnej aplikacji. Do grupy tej należą:
" TinyTP (Tiny Transport Protocol), zapewniajÄ…cy sterowanie strumieniem w kanale. Jest to
bardzo ważna funkcja i z tej racji często rekomendowana dla wielu aplikacji.
" IrOBEX (Object Exchange Protocol), ułatwiający transfer plików oraz innych obiektów
danych.
" IrCOMM, którego głównym zadaniem jest emulowanie portów szeregowego i
równoległego, opartych na 4 typach usług: 3-Wire Raw, 3-Wire, 9-Wire i Centronics.
" IrLAN (Local Area Network), zapewniający dostęp urządzeniom, np. notebookom, do
sieci lokalnej za pośrednictwem podczerwieni.
Wykład Mikrosystemy Elektroniczne 3
Rys. 3. System z interfejsem IrDA
3. Warstwa fizyczna - IrPHy
Warstwa fizyczna zawiera optyczny układ nadawczo-odbiorczy. Dokonuje on konwersji
(kodowania, ramkowania, itd.) sygnału elektrycznego na sygnał optyczny w obu kierunkach
(rys. 4)
Rys. 4. Blok konwertera
Wykład Mikrosystemy Elektroniczne 4
Do pierwszego bloku Encoder/Decoder jest podawany sygnał będący szeregowym
strumieniem danych [1]. W bloku tym jest on kodowany i ramkowany (patrz tabela 2), po
czym podawany jest on [2] na blok IR Transducer Module, który zamienia sygnały
elektryczne na optyczne.
Uwaga. Interfejs IrDA jest interfejsem szeregowym pracujÄ…cym w trybie half-duplex.
W zależności od częstotliwości pracy blok Encoder/Decoder koduje dane za pomocą
różnych algorytmów. W tabeli 2 przyporządkowano algorytmy kodowania (modulowania) do
odpowiednich prędkości transmisji oraz podano inne istotne parametry sygnałów optycznych.
Tabela 2. Zestawienie prędkości transmisji i algorytmów kodowania.
W modulacji RZI (Return-to-Zero-Inverted) 0 jest reprezentowane przez impuls
świetlny, którego czas trwania dla częstotliwości do 115,2 kbit/s wynosi 3/16 czasu trwania
danego bita. Dla prędkości 0,576 Mbit/s i 1,152 Mbit/s czas trwania impulsu świetlnego jest
równy 1/4 czasu trwania nadawanego bita.
Rys. 5. Przykład modulacji RZI
Dla 4Mbit/s używane jest kodowanie 4PPM (Four Pulse Position Modulation), gdzie 0
jest reprezentowane przez impuls świetlny. Dla 16Mbit/s stosuje się kodowanie HHH(1,13).
Wykład Mikrosystemy Elektroniczne 5
Dla częstotliwości transmisji powyżej 0,576Mbit/s stosuje się ramkowanie danych oraz do
przesyłanych danych wprowadza się sumę kontrolną CRC.
Rys. 6. format ramki dla prędkości transmisji 0,576 Mbit/s i 1,152 Mbit/s
gdzie:
STA: Flaga poczÄ…tkowa, 01111110 binarnie,
ADDR: 8-bitowy adres,
DATA: 8-bitowe pole kontrolne plus do 2045 = (2048 - 3) bajtów pola danych,
FCS: CCITT 16- bitowa CRC
STO: Flaga końcowa, 01111110 binarnie.
Warstwa fizyczna musi być przynajmniej częściowo zaimplementowana sprzętowo, a w
niektórych przypadkach jest implementowana sprzętowo całkowicie.
Rys. 7. Implementacja interfejsu UART w standardzie IrDA
Rys. 8. Interfejs optyczny
Na rys. 8 pokazano interfejs optyczny połączenie dwóch urządzeń (węzłów). Każdy z
węzłów można zdefiniować następującymi parametrami optycznymi, wyróżnionymi na rys. 8.
Wykład Mikrosystemy Elektroniczne 6
Rys. 8. Opis pojedynczego węzła w standardzie IrDA
Węzły (nadajnik/odbiornik) mogą być dwojakiego rodzaju:
" standardowe połączenie optyczne od 0 do 1m,
" niskiej mocy połączenie optyczne krótsze od poprzedniego.
Zatem można wyróżnić trzy typy połączeń optycznych, które przedstawiono w tabeli 1.
Tabela 1. Typy i parametry połączeń optycznych w standardzie IrDA
Żeby odseparować resztę stosu od warstwy sprzętowej, stworzono pewnego rodzaju
warstwę programową, nazywaną framer. Jej najważniejszym zadaniem jest przyjmowanie
przybywających z warstwy sprzętowej ramek i prezentowanie ich w IrLAP.
4. Dostęp do łącza IrLAP
Bezpośrednio nad warstwą framer znajduje się warstwa IrLAP, znana jako protokół
dostępu do łącza. Jak już wspomniano, należy ona do obowiązkowych implementacji, a w
modelu OSI odpowiada warstwie drugiej. Opiera siÄ™ na SDLC (Synchronous Data Link
Control) i HDLC (High Level Data Link Control) z rozszerzeniami dla niektórych
charakterystyk komunikacji w podczerwieni.
W swoich założeniach IrLAP ma zapewnić niezawodny transfer danych przy użyciu
mechanizmów, takich jak: retransmisja, sterowanie strumieniem i detekcja błędów.
Sterowanie strumieniem w IrLAP jest niskopoziomowe (low-level), w TinyTP natomiast
wysokopoziomowe (high-level); praktycznie we wszystkich sytuacjach te dwie metody
powinny być stosowane zamiennie (alternatywnie).
Jak już wspomniano, o niezawodność transferu danych dba warstwa niska. Kiedy strumień
światła podczerwonego zostanie przerwany w chwili ustawienia jakiejś przeszkody, np.
książki, IrLAP może powiadomić o zaistniałym problemie wyższe warstwy, które zajmą się
jego rozwiązaniem. W konsekwencji użytkownik zostanie powiadomiony o kłopotach w taki
sposób, aby mógł przedsięwziąć odpowiednie środki - w tym przypadku przesunąć lub zabrać
książkę. Wszystko to odbywa się bez przerwania połączenia i utraty transmitowanych danych.
Właściwości związane z z warstwą IrLAP:
" Aącze punkt-punkt. Wszystkie połączenia należą do typu "jeden do jednego", np. komputer
osobisty z drukarką. Typowa odległość wynosi 1 m, chociaż dostępne są już wersje
zapewniające 10 m i więcej. Nie jest to protokół typowo stosowany w sieciach lokalnych,
gdzie wielu nadawców transmituje do kilku odbiorców.
Wykład Mikrosystemy Elektroniczne 7
" Półdupleks. W określonym czasie światło podczerwone, a więc i dane, transmituje się w
jednym kierunku. Jednak w sytuacjach, w których czas transmisji nie jest czynnikiem
kluczowym, może się zdarzyć "symulowanie" transmisji dupleksowej.
" KÄ…t transmisji jest dosyć wÄ…ski - 15° w stosunku do osi symetrii. W ten sposób
minimalizuje siÄ™ interferencje z innymi urzÄ…dzeniami.
" Interferencje. IrLAP musi uporać się z zakłóceniami, których zródłem mogą być
jarzeniówki, promienie słoneczne, a także inne urządzenia transmitujące na falach
podczerwonych.
" Brak detekcji kolizji. Twórcy technologii nie uwzględnili wykrywania kolizji. W takiej
sytuacji oprogramowanie musi radzić sobie z przypadkami, w których błędy,
spowodowane kolizjÄ…, powodujÄ… utratÄ™ danych.
Rys. 9. Zadania warstwy IrLAP
Połączenie LAP łączy trochę przestarzała relacja master-slave z różnym poziomem
odpowiedzialności. Urządzeniami nadrzędnymi (master) mogą być komputery osobiste lub
PDA, podrzędnymi (slave) urządzenia peryferyjne. Jednak w połączeniu, gdy jedno
urządzenie jest nadrzędne, a drugie podrzędne, to drugie może mieć stos protokołów dla
urządzenia zarówno podrzędnego, jak i nadrzędnego - wiele urządzeń nadrzędnych może
pełnić funkcje urządzenia podrzędnego.
Każde urządzenie IrDA dysponuje tablicą usług i protokołów dostępnych w danej chwili.
Norma przewiduje dwa podstawowe stany funkcjonowania IrLAP: NDM (Normal Disconnect
Mode) i NRM (Normal Response Mode).
NDM
NDM jest domyślnym stanem rozłączonego urządzenia. Urządzenia w tym stanie badają
zajętość medium przed transmisją. Jeśli nie została wykryta żadna aktywność innego
urządzenia przez okres dłuższy niż 500 ms, to wtedy medium jest postrzegane jako zdolne do
ustanowienia połączenia. Ważnym aspektem NDM są jego reguły komunikacji. Klasyczny
problem do rozwiązania polega na takim skonfigurowaniu połączenia, żeby obydwie strony
miały takie same parametry komunikacyjne. Może on się okazać szczególnie trudny, kiedy
urządzeniu brakuje interfejsu użytkownika, niezbędnego przy ustawianiu lub przeglądaniu
parametrów komunikacyjnych. Wspomniane kłopoty nie występują w systemach IrDA, gdzie
cała NDM używa konkretnych parametrów łącza. Podczas procesów łączenia dwie strony
wymieniają informacje i szukają parametrów najlepszych dla każdej z nich.
Wykład Mikrosystemy Elektroniczne 8
NRM
NRM jest trybem funkcjonowania połączonych urządzeń. Kiedy obydwie strony prowadzą
dialog, opierając się na wynegocjowanych w trakcie stanu NDM parametrów
komunikacyjnych, wyższe warstwy stosu używają normalnych ramek poleceń i odpowiedzi
do wymieniania informacji.
Urządzenia nie potrzebują wszystkich usług zdefiniowanych w specyfikacji IrLAP.
Dlatego określono pewne minimalne wymagania. Do najważniejszych należą: detekcja
urządzenia, negocjowanie najlepszych parametrów komunikacyjnych dla obydwu stron i
dokonanie połączenia, wysyłanie danych i wreszcie rozłączanie - zamykanie sesji i powrót do
stanu NDM, oznaczającego gotowość do nowego połączenia.
Wszystkie dane przesyłane przez IrLAP są zorganizowane w postaci ramek. Format ten
pozwala na kontrolę przesyłania danych pomiędzy nadajnikiem a odbiornikiem. Pozwala
odbiornikowi na określenie:
" gdzie ramka zaczyna się i kończy,
" gdzie jest jej przeznaczenie,
" co ma być zrobione z odebraną daną,
" potwierdzenie odbioru danych nadajnikowi,
" detekcję zaistniałych błędów transmisji w odebranej ramce.
Każda ramka posiada następujący format:
" adres (A) pole identyfikujÄ…ce adres dla drugiej stacji (odbiornika/nadajnika w innnej
warstwie),
" kontrola (C) pole, które określa funkcję danej ramki,
" opcjonalna informacja (I) pole zawierajÄ…ce dane.
Każde z tych pół zawiera 8 bitów lub wielokrotność 8-bitów. Wszystkie pola A, C i I są
określane mianem payload data.
Rys. 10. Ramka dla warstwy IrLAP
Rys. 11. Pole adresu
C/R identyfikator kierunku danych: 1 ramka komendy (od podstawowej stacji), 0 ramka
odpowiedzi (wysyłana przez podrzędną stację).
Wykład Mikrosystemy Elektroniczne 9
5. ZarzÄ…dzanie Å‚Ä…czem IrLMP
Warstwa IrLMP, na której spoczywa odpowiedzialność za nadzorowanie łącza, zapewnia
następujące funkcje:
" Multipleksowanie (LM-MUX): LMP umożliwia funkcjonowanie w jednym łączu IrLAP
wielu klientów IrLMP.
" Detekcję, którą cechuje rozwiązywanie konfliktów adresów. Stosuje się ją wtedy, gdy np.
dwa urządzenia mają ten sam adres IrLAP. LMP arbitralnie nakazuje zmianę adresów i
wygenerowanie nowych.
Rys. 12. Architektura warstwy IrLMP
Dostęp do informacji LM-IAS
Wszystkie usługi lub aplikacje muszą mieć kontakt z IAS (Information Access Service).
IAS może być zapytany o dodatkowe informacje na temat usługi.
Na pełną implementację IAS składają się komponenty klienta i serwera. Klient jest
składnikiem generującym zapytania o usługi w innym urządzeniu. Używa do tego celu IAP
(Information Access Protocol), który jest stosowany tylko z IAS. Natomiast serwer jest
składnikiem, który potrafi odpowiadać na zapytania klienta IAS. Urządzenia, które nie
inicjują połączeń LMP, mogą zawierać jedynie serwer IAS.
Baza informacji IAS (IAS Information Base) jest zbiorem obiektów, które są dostępne dla
danego połączenia. Jest używana przez serwer IAS do udzielania odpowiedzi na pojawiające
się zapytania IAS. Baza obiektów składa się z nazwy kategorii i jednego lub więcej
atrybutów. Posługując się analogiami z telekomunikacji, nazwa kategorii odpowiada nazwie
firmy w książce telefonicznej. Klienci będą zasięgali informacji o usłudze używając tej
nazwy. Atrybuty stanowią informację analogiczną do numeru telefonu, adresu i pozostałych
danych biznesowych. Głównym atrybutem jest LSAP-SEL, który jest wymagany do
utworzenia połączenia LMP z usługą.
Warstwa ta kontroluje zawartością pola DeviceInfo w ramce przesyłanej przez IrLAP (pole
information w ramce IrLAP).
Postać pola DeviceInfo pokazano na rys. 13.
Wykład Mikrosystemy Elektroniczne 10
Rys. 13. Format pola DeviceInfo
Dwa pierwsze bajty pola DeviceInfo stanowiÄ… informacjÄ™ o typie urzÄ…dzenia pole Service
Hints. W poniższej tabeli pokazano znaczenie poszczególnych bitów pola Service Hints. 0
na danej pozycji oznacza brak danego urzÄ…dzenia.
Pole Device Nickname składa się z dwóch elementów (rys. 14):
Rys. 14. Format pola Device Nickname
Wszystkie ramki protokołu LMP (LM-PDU) są wysyłane jako dane dla protokołu IrLAP
(w polu Information na rys. 10). LMP wysyła ramkę składającą się najpierw z nagłówka
składającego się z dwóch bajtów, po którym następują dane (rys. 15).
Rys. 15. Nagłówek ramki LM-PDU
Bit C jest bitem kontrolnym. Gdy C=1 to ramka jest komendÄ…, gdy C=0 to ramka zawiera
dane. Bit r jest zarezerwowany i musi być równy 0.
Rys. 16. Ramka LM-PDU z danymi
Rys. 17. Ramka comend LM-PDU kontrolujących połączenie
Wykład Mikrosystemy Elektroniczne 11
6. Tiny Transport Protocol - Tiny TP
Była już mowa o tym, że warstwa fizyczna określa wymagania sprzętowe i
niskopoziomowe ramkowanie danych. Wiadomo też, że IrLAP zapewnia niezawodną,
sekwencyjnÄ… transmisjÄ™ danych, a IrLMP daje multipleksowanie LAP oraz wspomniane
usługi IAS.
TinyTP jest wprawdzie opcjonalną warstwą IrDA, ale jest tak ważny, że właściwie
powinien być postrzegany jako obowiązkowy. TinyTP spełnia dwie funkcje. Po pierwsze
steruje strumieniem w kanale w połączeniu LMP, po drugie dokonuje segmentowania i
powtórnego składania danych - SAR (Segmentation and Reasembly). Do każdego pakietu
IrLMP TinyTP dodaje jeden bajt informacji.
Najważniejszą funkcją TinyTP jest sterowanie strumieniem w kanale. Właściwie IrLAP
steruje strumieniem i równocześnie bada, czy jest potrzebny inny mechanizm sterowania.
Główna korzyść ze stosowania TinyTP polega na tym, że w trakcie połączenia LMP jedna
strona może przerwać nadawanie informacji bez negatywnego wpływu na drugą. Jest to
nieosiągalne przy zastosowaniu "zwykłego" sterowania strumieniem LAP, gdy przerwa w
transmisji odbija siÄ™ niekorzystnie na pracy drugiej strony.
Drugą funkcją TinyTP jest SAR, czyli segmentacja i powtórne składanie danych.
Zasadniczą ideą przyświecającą jej tworzeniu była chęć umożliwienia TinyTP dzielenia
danych o dużej objętości na mniejsze części i składania ich po drugiej stronie (w urządzeniu
odbierającym). Taki fragment podzielonej całości został nazwany SDU (Service Data Unit).
Jego maksymalny rozmiar jest negocjowany w chwili inicjowania pierwszego połączenia
TinyTP/LMP.
7. Protokól IrCOMM
IrCOMM zapewnia emulowanie portów szeregowych standardu RS-232 i równoległych
typu Centronics.
Rys. 18. Umiejscowienie warstwy IrCOMM w typowym systemie
Wykład Mikrosystemy Elektroniczne 12
Rys. 19. Model przedstawiający emulację portów przez IrCOMM
Warstwa IrCOMM dostarcza cztery typy usług:
" 3-żyłowy surowy (3-Wire row),
" 3-żyłowy z kontrolą przepływu (3-Wire),
" 9-żyłowy (9-Wire),
" Centronics.
Połączenie 3-Wire row jest najprostsze. Gdy jest aktywne, wszystkie inne połączenia muszą
być zamknięte. Kontrolą przepływu zajmuje się protokół IrLAP. Wszystkie pakiety IrCOMM
są bezpośrednio przesyłane w ramkach IrLMP.
3-Wire korzysta z protokoły Tiny TP. Dostarcza kontroli przepływu danych.
Centronics emuluje port równoległy komputera PC. Korzysta z protokołu Tiny TP. Używa
identycznych mechanizmów kontroli co 3-Wire.
8. Pozostałe protokoły opcjonalne
IrOBEX został stworzony po to, by umożliwić systemom wszystkich typów i rozmiarów
wymianę danych i poleceń.
IrLAN, który nie został jeszcze w pełni znormalizowany, służy jako wygodne połączenie
między komputerem osobistym a siecią lokalną. IrLAN oferuje m.in. dostęp do sieci lokalnej
za pośrednictwem urządzenia Access Point Device, zwanego czasem IR LAN Adapter.
Wyszukiwarka
Podobne podstrony:
W09 Interfejsy komunikacji bezprzewodowej irDA, BluetoothirdaSchemat IrDAirdawifi bluetooth i irdainterfejs IRDA do PCwięcej podobnych podstron