Пример обмена данными в пикосети

Рассмотрим работу пикосети на примере. Пусть пикосеть состоит из главного и трех активных подчиненных устройств. Для простоты предположим, что все устройства используют кадры, занимающие один слот. На рис. 1 показано, каким образом главное устройство распределяет слоты между членами пикосети.

Рис. 1. Разделение среды

Для дуплексного обмена главное устройство всегда выделяет каждому каналу пару слотов: первый слот используется для передачи данных от главного устройства к подчиненному, а второй — в обратном направлении.

В примере, показанном на рисунке, существует один канал SCO между главным устройством и первым подчиненным устройством. Как мы уже знаем, каналам SCO всегда выделяется фиксированная часть пропускной способности среды, величина которой зависит от того, каким образом будет использоваться метод прямой коррекции ошибок (FEC) голосовой информации.

  • Если метод FEC не применяется, то для канала SCO выделяется каждая третья пара слотов, как это и показано на рисунке. Такое распределение слотов обеспечивает передачу потоков со скоростью 64 Кбит/с в каждом направлении. Убедимся в этом. Кодек РСМ оцифровывает голос с частотой 8 кГц (период 125 мкс), представляя каждый замер одним байтом. Каждый кадр переносит 30 байт (240 бит), то есть 30 замеров. Кадры канала SCO в одном направлении повторяются через каждые 6 слотов, поэтому период повторения кадров равен 6 х 625 = 3750 мкс. Соответственно, скорость передачи данных в канале SCO (в одном направлении) равна 240/(3750 х 10-6) = 64 Кбит/с.
  • В том случае, когда используются биты 2/3 алгоритма FEC, то в поле данных кадра размещается не 30, а 20 замеров, поэтому для достижения скорости в 64 Кбит/с такому каналу SCO нужно выделять каждую вторую пару слотов.
  • Наконец, биты 1/3 алгоритма FEC приводят к тому, что кадр переносит только 10 замеров голоса, так что такой канал занимает все слоты разделяемой среды.

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

Оставшаяся от каналов SCO пропускная способность служит для передачи асинхронных данных. Для этого в пикосети имеется канал ACL. Этот канал соединяет один источник (главное устройство) с несколькими приемниками (все подчиненные устройства пикосети). Его не нужно устанавливать, он существует всегда.

Потребности подчиненных устройств в передаче асинхронных данных главное устройство узнает путем их периодического опроса. Для этого оно использует служебный кадр с МАС-адресом устройства. Если у главного устройства есть данные для этого подчиненного устройства, то оно может совместить передачу данных с опросом в одном кадре.

На рис. 1 показано, что главное устройство использовало слоты 3 и 4 для обмена кадрами со вторым подчиненным устройством, слоты 9 и 10 — для обмена с первым подчиненным устройством и слоты 11 и 12 — для обмена с третьим подчиненным устройством.

Метод опроса исключает коллизии при доступе к каналу ACL, но скорость доступа к этому каналу для каждого отдельного устройства не определена, она зависит от количества устройств, которые хотят передавать асинхронные данные.

Таким образом, в сети Bluetooth совмещаются приемы коммутации каналов (для каналов SCO) и коммутации пакетов (для канала ACL).

В том случае, когда каналы SCO в сети не используются, вся пропускная способность среды отводится каналу ACL. При наличии кадров, состоящих из 5-ти слотов, максимальная скорость передачи данных при битовой скорости 1 Мбит/с составляет 432,6 Кбит/с в каждом направлении (.без прямой коррекции ошибок). Допустимо также несимметричное деление пропускной способности канала ACL, тогда максимальная скорость достигает 723,2 Кбит/с в одном направлении при скорости 57,6 Кбит/с в обратном. Не нужно забывать, что это — суммарные скорости передачи данных в канале ACL, а не скорости потоков данных отдельных устройств. Когда несколько устройств используют канал, скорость
делится между всеми устройствами.