Спецификация Bluetooth описывает пакетный способ передачи информации с временным мультплексированием. Радиообмен происходит в полосе частот 2400–2483,5 МГц ISM-диапазона. В радиотракте применен метод расширения спектра посредством частотных скачков и двухуровневая частотная модуляция с фильтром Гаусса (binary Gaussian Frequency Shift Keying).
Метод частотных скачков подразумевает, что вся отведенная для передачи полоса частот подразделяется на определенное количество подканалов шириной 1 МГц каждый. Канал представляет собой псевдослучайную последовательность скачков по 79 или 23 радиочастотным подканалам (табл. 1). Каждый канал делится на временные сегменты продолжительностью 625 мкс, причем каждому сегменту соответствует определенный подканал. Передатчик в каждый момент времени использует только один подканал. Эти скачки происходят синхронно в передатчике и приемнике в заранее зафиксированной псевдослучайной последовательности. За секунду может происходить до 1600 частотных скачков. Такой метод обеспечивает конфиденциальность и некоторую помехозащищенность передач. Помехозащищенность обеспечивается тем, что если на каком-либо подканале передаваемый пакет не смог быть принят, то приемник сообщает об этом и передача пакета повторяется на одном из следующих подканалов, уже на другой частоте.
Страна | Частота, MГц | Диапазон, MГц | Число каналов |
---|---|---|---|
Европа* и США | 2400 – 2483,5 | f = 2402 + k | k=0–78 |
Япония | 2471 – 2497 | f = 2473 + k | k=0–22 |
Испания | 2445 – 2475 | f = 2449 + k | k=0–22 |
Франция | 2446,5 – 2483,5 | f = 2454 + k | k=0–22 |
Примечание: *Кроме Испании и Франции |
Протокол Bluetooth поддерживает как соединения типа точка-точка, так и точка-многоточка. Два или более использующих один и тот же канал устройства образуют пикосеть (piconet). Одно из устройств работает как основное (master), а остальные – как подчиненные (slaves). В одной пикосети может быть до семи активных подчиненных устройств, при этом остальные подчиненные устройства находятся в состоянии "парковки", оставаясь синхронизированными с основным устройством. Взаимодействующие пикосети образуют “распределенную сеть” (scatternet).
Рис. 1. Пикосеть с одним
подчиненным устройством (а),несколькими (б) и распределенная сеть (в) |
В каждой пикосети действует только одно основное устройство, однако подчиненные устройства могут входить в различные пикосети. Кроме того, основное устройство одной пикосети может являться подчиненным в другой (рис. 1).
Таким образом, в scatternet могут объединяться столько Bluetooth устройств, сколько необходимо, логические связи могут образовываться так, как это требуется, и могут изменяться как угодно, в случае необходимости. Единственное условие, различные piconet входящие в один scatternet должны иметь разные каналы связи, то есть работать на различных частотах и иметь различные hopping channel. Hopping - это регулярная смена частот, определяемая параметрами hopping sequence. Всего спецификация предусматривает 10 вариантов hopping sequence, 5 с циклом в 79 смен и 5 с циклом в 23 смены. С любым hopping sequence частоты сменяются 1600 hops/sec. Используется hopping для того, что бы бороться с затуханием радиосигнала и интерференцией. В одной же пикосети все устройства синхронизированы по времени и частотам. Последовательность скачков является уникальной для каждой пикосети и определяется адресом ее основного устройства. Длина цикла псевдослучайной последовательности – 227 элементов.
Как уже говорилось, автоматическая установка соединения между Bluetooth устройствами находящимися в пределах досягаемости является одной из важнейших особенностей Blueooth, поэтому первое, с чего начинается работа Bluetooth устройства в незнакомом окружении - это device discovery, или, по-русски, поиск других Bluetooth устройств. Для этого посылается запрос, и ответ на него зависит не только от наличия в радиусе связи активных Bluetooth устройств, но и от режима в котором находятся эти устройства. На этом этапе возможно три основных режима.
Discoverable mode. Находящиеся в этом режиме устройства всегда отвечают на все полученные ими запросы.
Limited discoverable mode. В этом режиме находятся устройства которые могут отвечать на запросы только ограниченное время, или должны отвечать только при соблюдении определённых условий.
Non-discoverable mode. Находящиеся в этом режиме устройства, как видно из названия режима, не отвечают на новые запросы.
Но это ещё не всё. Даже если удаётся обнаружить устройство, оно может быть в connectable mode или в non-connectable mode. В non-connectable mode устройство не позволяет настроить некоторые важные параметры соединения, и, таким образом, оно хоть и может быть обнаружено, обмениваться данными с ним не удастся. Если устройство находится в connectable mode, то на этом этапе Bluetooth устройства договариваются между собой об используемом диапазоне частот, размере страниц, количестве и порядке hop’ов, и других физических параметрах соединения.
Если процесс обнаружения устройств прошёл нормально, то новое Bluetooth устройство получает набор адресов доступных Bluetooth устройств, и за этим следует device name discovery, когда новое устройство выясняет имена всех доступных Bluetooth устройств из списка. Каждое Bluetooth устройство должно иметь свой глобально уникальный адрес (вроде как MAC-адреса у сетевых плат), но на уровне пользователя обычно используется не этот адрес, а имя устройства, которое может быть любым, и ему не обязательно быть глобально уникальным. Имя Bluetooth устройства может быть длиной до 248 байт, и использовать кодовую страницу в соответствии с Unicode UTF-8 (при использовании UCS-2, имя может быть укорочено до 82 символов). Спецификация предусматривает, что Bluetooth устройства не обязаны принимать больше первых 40 символов имени другого Bluetooth устройства. Если же Bluetooth устройство обладает экраном ограниченного размера, и ограниченной вычислительной мощью, то количество символов, которое оно примет может быть уменьшено до 20.
Ещё одной из важнейших особенностей Bluetooth является
автоматическое подключение Bluetooth устройств к службам
предоставляемым другими Bluetooth устройствами. Поэтому, после того
как имеется список имён и адресов, выполняется service discovery,
поиск доступных услуг, предоставляемых доступными устройствами.
Получение или предоставление каких либо услуг - это то, ради чего
всё собственно и затевалось, поэтому для поиска возможных услуг
используется специальный протокол, называемый, как несложно
догадаться, Service Discovery Protocol (SDP), более подробно он
будет описан ниже.