Bluetooth изнутри

В стандарте Bluetooth предусмотрена дуплексная передача на основе разделения времени (time division duplexing). Основное устройство передает пакеты в нечетные временные сегменты, а подчиненное устройство – в четные (рис. 2). Пакеты в зависимости от длины могут занимать до пяти временных сегментов. При этом частота канала не меняется до окончания передачи пакета (рис. 3).

Протокол Bluetooth может поддерживать асинхронный канал данных, до трех синхронных (с постоянной скоростью) голосовых каналов или канал с одновременной асинхронной передачей данных и синхронной передачей голоса. Скорость каждого голосового канала – 64 Кбит/с в каждом направлении, асинхронного в асимметричном режиме – до 723,2 Кбит/с в прямом и 57,6 кбит/с в обратном направлениях или до 433,9 Кбит/с в каждом направлении в симметричном режиме.

Рис. 2. Временные диаграммы работы канала
Рис. 3. Передача пакетов различной длины

Синхронное соединение (SCO) возможно только в режиме точка-точка. Такой вид связи применяется для передачи информации, чувствительной к задержкам – например, голоса. Основное устройство поддерживает до трех синхронных соединений, вспомогательное – до трех синхронных соединений с одним основным устройством или до двух – с разными основными устройствами. При синхронном соединении основное устройство резервирует временные сегменты, следующие через так называемые SCO-интервалы. Даже если пакет принят с ошибкой, повторно при синхронном соединении он не передается.

При асинхронной связи (ACL) используются временные сегменты, не зарезервированные для синхронного соединения. Асинхронное соединение возможно между основным и всеми активными подчиненными устройствами в пикосети. Основное и подчиненное устройства могут поддерживать только одно асинхронное соединение. Поскольку в пикосети может быть несколько подчиненных устройств, конкретное подчиненное устройство отправляет пакет основному, только если в предыдущем временном интервале на его адрес пришел пакет от основного устройства. Если в адресном поле ACL-пакета адрес не указан, пакет считается “широковещательным” – его могут читать все устройства. Асинхронное соединение позволяет повторно передавать пакеты, принятые с ошибками.

72 бита 54 бита 0—2745 бит
Код
доступа
Заголовок Передаваемая
информация
Рис. 4. Структура пакета

Стандартный пакет Bluetooth содержит код доступа длиной 72 бита, 54-битный заголовок и информационное поле длиной не более 2745 бит (рис. 4). Однако пакеты могут быть различных типов. Так, пакет может состоять только из кода доступа (в этом случае его длина равна 68 битам) или кода доступа и заголовка.

4 бита 64 бита 4 бита
Преамбула Слово синхронизации Трейлер
Рис. 5. Структура кода доступа

Код доступа идентифицирует пакеты, принадлежащие одной пикосети, а также используется для синхронизации и процедуры запросов. Он включает преамбулу (4 бита), слово синхронизации (64 бита) и трейлер – 4 бита контрольной суммы (рис. 5).

3 бита 4 бита 1 бит 1 бит 1 бит 8 бит
AM_ADDR ТYPE FLOW ARQN SEQN НЕС
Рис. 6. Структура заголовка

Заголовок содержит информацию для управления связью и состоит из шести полей (рис. 6):

  1. AM_ADDR – 3-битный адрес активного элемента (active member address);

  2. TYPE – 4-битный код типа данных;

  3. FLOW – 1 бит управления потоком данных, показывающий готовность устройства к приему;

  4. ARQN – 1 бит подтверждения правильного приема;

  5. SEQN – 1 бит, служащий для определения последовательности пакетов;

  6. HEC – 8-битная контрольная сумма.

Информационное поле, в зависимости от типа пакетов, может содержать либо поля голоса, либо поля данных, либо оба типа полей одновременно.


Установка соединения Стартовая страница Безопасность
Hosted by uCoz