Bluetooth. Уровень радиосвязи. Структура кадра.

В самом низу находится физический (радиотехнический) уровень, который вполне соответствует представлениям моделей OSI и 802 о том, каким должен быть этот уровень. На нем описываются радиосвязь и применяемые методы мо­дуляции. Многое здесь направлено на то, чтобы сделать систему как можно де­шевле и доступнее массовому покупателю.

Уровень немодулированной передачи чем-то напоминает подуровень MAC, но включает в себя и некоторые элементы физического уровня. Здесь описыва­ется то, как главный узел управляет временными интервалами и как эти интер­валы группируются в кадры.

Далее следует уровень, содержащий группу связанных между собой протоко­лов. Протокол управления соединением устанавливает логические каналы меж­ду устройствами, управляет режимами энергопотребления, идентификацией, а также качеством предоставляемых услуг. Подуровень адаптации протоколов управления логическими соединениями (часто называемый L2CAP) скрывает от верхних уровней технические детали нижних уровней. Его можно считать анало­гом обычного подуровня LLC из семейства стандартов 802. Однако устроен он по-другому. Аудиопротоколы и протоколы управления, как следует из их назва­ния, занимаются соответственно передачей звука и управлением. Приложения могут обращаться к ним напрямую, минуя протокол L2CAP.

Следующий уровень называется связующим, он содержит множество разно­образных протоколов. Для совместимости с сетями 802.x IEEE поместил сюда, например, LLC. Впрочем, протоколы высокочастотной (ВЧ) связи, телефонии и определения сервисов всегда принадлежали Bluetooth. Протокол ВЧ-связи эму­лирует работу стандартного последовательного порта ПК, к которому обычно подключаются клавиатура, мышь, модем и другие устройства. Он позволяет последователям этих традиционных устройств нетрадиционно обходиться без проводов. Протокол телефонии является протоколом, работающим в реальном масштабе времени. Он используется тремя соответствующими профилями, ори­ентированными на передачу речи. В его задачи входят установка и разрыв теле­фонного соединения. Наконец, протокол определения сервисов используется для поиска доступных в сети сервисов.

На самом верхнем уровне находятся приложения и профили. Они работают с протоколами нижних уровней, которые обеспечивают их функционирование. Каждому приложению сопоставлен свой набор протоколов. Специфические уст­ройства типа гарнитур используют только те протоколы, которые необходимы для их работы.

Уровень радиосвязи.

Уровень радиосвязи переносит информацию бит за битом от главного узла к под­чиненным и обратно. В реальности это маломощная приемопередающая система с радиусом действия порядка 10 м. Она работает в нелицензируемом диапазоне 2,4 ГГц. Диапазон разделен на 79 каналов по 1 МГц в каждом. В качестве метода модуляции применяется частотная манипуляция с 1 битом на герц, что дает сум­марную скорость 1 Мбит/с. Однако большая часть спектра занята служебной ин­формацией. Для распределения каналов применяется расширенный спектр со скачкообразной перестройкой частоты (1600 скачков частоты в секунду, время пребывания — 625 мкс). Все узлы пикосетей перестраивают частоты одновремен­но; последовательность частот генерируется главным узлом.

Уровень немодулированной передачи.

Уровень немодулированной передачи — это наиболее близкий к МАС-подуровню элемент иерархии Bluetooth. Он трансформирует простой поток бит в кадры и определяет некоторые ключевые форматы. В простейшем случае главный узел каждой пикосети выдает последовательности временных интервалов по 625 мкс, причем передача данных со стороны главного узла начинается в четных тактах, а со стороны подчиненных узлов — в нечетных. Это, по сути дела, традиционное временное уплотнение, в котором главная сторона получает одну половину временных интервалов, а подчиненные делят между собой вторую. Кадры могут быть длиной 1, 3 или 5 тактов.

Все кадры передаются между главным и подчиненными узлами по логическому каналу, называемому соединением. Существует два типа соединений. Первый называется ACL (AsynchronousConnectionless — асинхронный без установления связи), он используется для коммутации пакетов данных, которые могут появиться в произвольный момент времени. Такие данные появляются с уровня L2CAP на передающей стороне и доставляются на тот же уровень на принимающей стороне. Трафик ACL доставляется по принципу максимальных прилагаемых усилий для обеспечения сервиса. Никаких гарантий не дается. Кадры могут теряться и пересылаться повторно. У подчиненного узла может быть только одно ACL-соединение со своим главным узлом.

Второй вид соединения называется SCO (SynchronousConnectionOriented — синхронный с установлением связи). Он предназначен для передачи данных в реальном масштабе времени — это требуется, например, при телефонных разговорах. Такой тип канала получает фиксированный временной интервал для передачи в каждом из направлений. Из-за критичной ко времени передачи природы SCO кадры, переданные по данному типу канала, никогда не пересылаются заново. Вместо этого может быть использована прямая коррекция ошибок, обеспечивающая более надежное соединение. У подчиненного узла может быть до трех соединений типа SCO с главным узлом, каждое из которых представляет собой аудиоканал РСМ с пропускной способностью 64000 бит/с.

 

Существует несколько форматов кадров, наиболее важный из которых показан на рис. 11.3. В начале кадра указывается код доступа, который обычно служит идентификатором главного узла. Это позволяет двум главным узлам, которые расположены достаточно близко, чтобы «слышать» друг друга, различать, кому из них предназначаются данные. Затем следует 54-битный заголовок, в котором содержатся поля, характерные для кадра подуровня MAC. Далее расположено поле данных, размер которого ограничен 2744 битами (для передачи из пяти так­тов). Если кадр имеет длину, соответствующую одному тактовому интервалу, то формат остается таким же, с той разницей, что поле данных в этом случае состав­ляет 240 бит.

Рисунок 11.3 – Структура кадра Bluetooth

 

Поле Адрес идентифицирует одно из восьми устройств, которому предназначена информация. Поле Тип опре­деляет тип передаваемого кадра (ACL, SCO, опрос или пустой кадр), метод кор­рекции ошибок и количество временных интервалов, из которых состоит кадр. Бит F (Flow — поток) выставляется подчиненным узлом и сообщает о том, что его буфер заполнен. Это такая примитивная форма управления потоком. Бит А (Acknowledgement — подтверждение) представляет собой подтверждение (АСК), отсылаемое заодно с кадром. Бит S (Sequence — последовательность) использу­ется для нумерации кадров, что позволяет обнаруживать повторные передачи. Это протокол с ожиданием, поэтому 1 бита действительно оказывается достаточ­но. Далее следует 8-битная контрольная сумма заголовка. Весь 18-битный заго­ловок кадра повторяется трижды, что в итоге составляет 54 бита, как показано на рис. 4.34. На принимающей стороне несложная схема анализирует все три ко­пии каждого бита. Если они совпадают, бит принимается таким, какой он есть. В противном случае все решает большинство. Как видите, на передачу 10 бит тратится в данном случае 54 бита. Причина очень проста: за все нужно платить. За обеспечение передачи данных с помощью дешевых маломощных устройств (2,5 мВт) с невысокими вычислительными способностями приходится платить большой избыточностью.

В кадрах ACL применяются разные форматы поля данных. Самый простой формат — в кадрах SCO: длина поля данных всегда равна 240 бит. Возможны три варианта: 80, 160 или 240 бит полезной информации. При этом оставшиеся биты поля данных используются для исправления ошибок. Самая надежная вер­сия (80 бит полезной информации) устроена очень просто: одно и то же содер­жимое повторяется три раза (что и составляет 240 бит). То есть метод здесь при­меняется тот же, что и в заголовке кадра.

Поскольку подчиненные узлы могут использовать только нечетные времен­ные интервалы, им достается 800 интервалов в секунду. Столько же получает и главный узел. При 80 битах полезных данных, передающихся в одном кадре, ем­кость канала подчиненного узла равна 64 000 бит/с. Этому же значению равна и емкость канала главного узла. Этого как раз хватает для организации полнодуп­лексного РСМ-канала голосовой связи (именно поэтому 1600 скачков в секунду было выбрано в качестве скорости перестройки частот). Все эти цифры говорят о том, что полнодуплексный канал со скоростью 64 000 бит/с в каждую сторону при самом надежном способе передачи информации вполне устраивает пикосеть, невзирая на то, что суммарная скорость передачи данных на физическом уровне равна 1 Мбит/с. При самом ненадежном варианте (240 бит информации на кадр) можно организовать три полнодуплексных голосовых канала одновре­менно. Именно по этой причине для подчиненного узла максимальное количест­во соединений типа SCO равно трем