Інфрачервоний інтерфейс
У 1994 році Асоціацією інфрачервоної передачі даних (Infra-Red Data Assotiation) була прийнята перша версія стандарту IRDA. Інтерфейс IRDA дозволяє з’єднуватися з периферійним устаткуванням без кабелю за допомогою Ік-випромінювання з довжиною хвилі 850-900 нм (номінально – 880 нм). Порт IRDA дає можливість встановлювати зв’язок на короткій відстані до 1 метра в режимі “крапка-крапка”. Асоціація навмисно не намагалася створювати локальну мережу на основі Ік-випромінювання, оскільки мережеві інтерфейси дуже складні і вимагають великої потужності, а в цілі інтерфейсу входили низькі потреби ресурсів і економічність.
Порт IRDA заснований на архітектурі комунікаційного порту і використовує універсальний асинхронний приемо-передатчик UART (Universal Asynchronous Receiver Transmitter), що дозволяє працювати із швидкістю передачі даних 2400-115200 біт/с. Дані передаються 10-бітовими символами: 8 битий даних, один стартовий біт на початку і один стоповий біт в кінці посилки. Зв’язок в IRDA напівдуплексний, оскільки передаваний ІК-ЛУЧ неминуче засвічує приймальний фотодіод. Повітряний проміжок між пристроями дозволяє прийняти ІК-ЕНЕРГИЮ тільки від одного джерела в даний момент. На фізичному рівні стандарт IRDA визначає наступний спосіб кодування: логічний “0” передається одиночним ІК-ІМПУЛЬСОМ завдовжки від 1,6 мкс до 3/16 періоду передачі бітового осередку, а логічна “1” передається як відсутність ІК-ІМПУЛЬСА. Мінімальна потужність споживання гарантується при фіксованій довжині імпульсу 1,6 мкс.
Описаний спосіб кодування (асинхронний) використовується на швидкостях до 115200 біт/с. У стандарті IRDA 1.1 цей режим визначається як SIR (Standard Infra-Red). Крім того, стандарт IRDA 1.1 допускає реалізацію високошвидкісного ІК-ІНТЕРФЕЙСА до 4 Мбіт/с – FIR (Fast Infra-Red). В цьому випадку ІК-ІНТЕРФЕЙС реалізується на основі синхронних Data Link Control / Synchronous Data Link Control) з використанням на швидкостях вище 1 Мбіт/с фазоімпульсной модуляції. В даний час існує доповнення до стандарту IRDA – VFIR (Very Fast IR), що описує обмін даними на швидкостях до 16 Мбіт/с. протоколів HDLC/SDLC (High-level
Оскільки ІК-ІНТЕРФЕЙС передбачає тільки напівдуплексний обмін, стандарт IRDA описує архітектуру з одним головним (первинним) і множинними підлеглими (вторинними) пристроями. Схема звернення пристроїв є звичайним протоколом обміну даними, де є фази запитів (Request) і відповідей (Response). Так, первинний пристрій відповідає за організацію з’єднання і за обробку помилок, послані ним кадри називаються такими, що управляють (Command Frames), а пакети вторинних пристроїв іменуються відповідями (Response Frames). Обмін інформацією йде тільки з первинним пристроєм, який завжди виступає ініціатором з’єднання, проте його роль може грати будь-який з пристроїв, що підтримують необхідні для цього функції. За бажанням може бути включений протокол транспортного рівня, що дозволяє здійснювати контроль передачі між додатками у разі одночасної роботи декількох застосувань на одній фізичній лінії.
Кожен пристрій має 32-бітова адреса, що виробляється випадковим чином при встановленні з’єднання. Кожному кадру в межах з’єднання провідний пристрій при старті привласнює 7-бітову адресу з’єднання. Для можливих, але небажаних випадків, коли два пристрої мають однакову адресу, передбачений такий механізм, коли провідний пристрій змінити їх адреси. дає команду всім підлеглим пристроям
Окрім протоколів фізичного рівня, стандарти IRDA визначають стек протоколів програмного рівня.
Протокол IRLAP встановлює правила доступу до ІК-середовищу, процедури відкриття каналу, узгодження абонентів мережі, обміну інформацією (розбиття даних на блоки, контроль помилок) і так далі Перед тим, як почати передачу, пристрій, що не приймає в даний момент часу участі в обміні, повинно прослуховувати канал не менше 500 мс, щоб, що бере участь в обміні, повинна вести передачу не більше 500 мс. Максимальний квант передачі може дорівнювати 100, 200 або 500 мс. Він є максимальним часом, протягом якого пристрій передає дані до того, як перейде до прослуховування підтвердження прийому, і залежить від швидкості передачі і ємкості буфера в приймаючому пристрої. Доступ до середовища передачі регулюється за допомогою спеціального біта PF (Poll/Final), який встановлюється в тілі кадру і виконує функції, аналогічні маркеру. IRLAP допускає передачі без встановлення попереднього з’єднання. Така передача є широкомовною і не вимагає отримання підтвердження станції одержувача. Процедура відкриття каналу передбачає обмін ідентифікаційною інформацією (ID). Ініціатор широкомовного обміну передає ID зумовлена кількість разів і прослуховує канал в інтервалах між слотами. Станція-одержувач випадковим чином вибирає слот і посилає у відповідь свій ID. При виявленні колізії процедура повторюється і застосовується для узгодження параметрів функціонування станцій (швидкість обміну, максимальна довжина пакету). При встановленні з’єднання обмін даними, об’єм яких не повинен перевищувати 64 байти, здійснюється із швидкістю 9600 біт/с. Після того, як з’єднання встановлене, швидкість обміну і величина пакету даних можуть бути збільшені до максимальних. Окрім пакетів з призначеними для користувача даними, в обміні беруть участь спеціальні кадри, службовці для управління потоком, корекції помилок і передачі маркера. переконатися у відсутності трафіку. З іншого боку, пристрій
Протокол управління каналом IRLMP (Link Management Protocol) є обов’язковим, проте його деякі особливості можуть бути опціональними. Протокол IRLMP містить два компоненти: LM-IAS (Link Management Information Access Service) і LM-MUX (Link Management MUltipleXer).
Кожен пристрій IRDA містить таблицю сервісів і протоколів, доступних зараз. Ця інформація може запрошуватися у інших пристроїв. LM-IAS управляє інформаційною базою так, що станції можуть запитати, які служби надаються. Ця інформація зберігається у вигляді об’єктів, з кожним з яких пов’язаний набір атрибутів.
LM-MUX виконує мультиплексування каналів поверх одного з’єднання, що встановлюється протоколом IRLAP. З цією метою визначається безліч точок доступу каналу LSAP (Link Access Point) кожна з унікальним ідентифікатором (селектором). Таким чином, кожне з LSAP-з’єднань визначає логічно різні інформаційні потоки. LM-MUX функціонує в двох режимах: мультиплексування і ексклюзивному. Перший режим дозволяє розділяти одне фізичне з’єднання декільком завданням. В цьому випадку управління потоком має бути забезпечене протоколами верхнього рівня або безпосередньо додатком. Другий режим віддає всі ресурси одному єдиному застосуванню. Також IRLMP передбачає три варіанти доступу: Service
- зі встановленням попереднього з’єднання
- без встановлення попереднього з’єднання (Сonnectionless) і
- режим збору інформації про можливості, сервіси і додатки видаленого пристрою (XID_Discovery).
TINYTP (Tiny Transport Protocol) – транспортний протокол, що здійснює функції управління потоком для будь-якого LSAP-з’єднань незалежно. Кожна точка доступу цього протоколу (TTPSAP TINYTP Service Access Point) ідентифікується з єдиною точкою доступу IRLMP і використовує єдину з нею адресу. TINYTP також управляє сегментацією і збіркою кадрів. На базі TINYTP найчастіше використовуються протоколи верхнього рівня IRCOMM і OBEX.
Протокол IRCOMM – це протокол емуляції послідовного або паралельного портів. IRCOMM надає п’ять типів сервісів: 3-Wire Raw, IRLPT, 3-Wire, 9-Wire і Centronics. Сервіси 3-Wire Raw і IRLPT працюють тільки через одне ексклюзивне з’єднання (поверх LM-MUX без використання TINYTP) і застосовуються, коли необхідно передавати виключно дані. Сервіс 3-Wire інтерфейс RS-232C (сигнали SG, TXD, RXD), використовуючи можливості TINYTP. Сервіс 9-Wire призначений для точнішої емуляції інтерфейсу RS-232C і обробляє, окрім трьох вищезазначених, ще шість сигналів (RTS, CTS, DSR, DTR, CD, RI), що дозволяє використовувати його для підключення модемів з ІК-ІНТЕРФЕЙСОМ. Сервіс Centronics – це не що інше, як віртуальний паралельний інтерфейс на базі TINYTP. емулює 3-проводный
Протокол OBEX (OBject EXchange) забезпечує обмін об’єктами довільного типу між пристроями (наприклад, об’єкти vCard, vCalendar, vNotes і тому подібне). В OBEX використовується поверх багатьох безпровідних інтерфейсів (наприклад, BlueTooth).