Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архипкин В.Я. Bluetooth. Технические требования. Практическая реализация. Приложения.doc
Скачиваний:
654
Добавлен:
02.05.2014
Размер:
7.92 Mб
Скачать

2.2.2. Baseband

Это один из самых больших и наиболее сложных разделов технических требова­ний. В разделе Baseband рассматриваются вопросы организации и работы пикосе-ти.

Раздел Baseband состоит из 14 подразделов:

  1. Общее описание Baseband

  2. Физический канал

  3. Физические линии связи

  4. Пакеты

  5. Коррекция ошибок

  6. Логические каналы

  7. Обеливание данных

  8. Процедуры передачи/приема

  9. Синхронизация передачи/приема

  1. Управление каналом

  2. Выбор перестройки частоты

  3. Аудио интерфейс

  4. Адресация устройств

  5. Защита

Общее описание

В общем описании Baseband рассмотрены вопросы организации пикосетей и тех­нологии Bluetooth в целом. Оно представляет Bluetooth как радио линию (radio link) ближнего действия, предназначенную для замены кабельных соединений между портативными и/или стационарными электронными устройствами.

В стандарте Bluetooth предусмотрена дуплексная передача с временным разде-

ением (Time Division Duplex - TDD). Мастер передает пакеты в нечетные слоты,

' подчиненное устройство - в четные (рис. 2.7). Пакеты, в зависимости от длины,

огут занимать до пяти слотов. При этом частота канала не меняется до окончания

передачи пакета (рис. 2.8).

Пикосеть Bluetooth является сетью, которая образована мастером («главным» устройством) и одним или более подчиненными устройствами. Устройство, ини­циировавшее связь автоматически становится мастером пикосети. Каждая пико­сеть определена последовательностью скачкообразной перестройки частоты, кото­рая становится физическим каналом, основанным на адресе и часах станции масте­ра Все активные модули, входящие в эту пикосеть, синхронизированы к этому ка­налу В пикосети могут быть активными максимум семь подчиненных устройств.

В каждой пикосети действует только один мастер, однако подчиненные устрой­ства могут входить в различные пикосети. Кроме того, мастер одной пикосети мо­жет одновременно являться подчиненным устройством в другой (рис. 2.6, с). Пико­сети не синхронизированы друг с другом по времени и частоте - каждая из них ис­пользует свою последовательность перестройки частоты. В одной пикосети все уст­ройства синхронизированы по времени и частотам. Последовательность перест­ройки частоты является уникальной для каждой пикосети. Длина цикла псевдо­случайной последовательности перестройки частоты равна 227 элементов.


ис- 2.6. Возможные топологии пикосети Bluetooth


Технология Bluetooth предназначена для создания соединений point-to-point (когда в пикосеть включены только два элемента). Соединение point-to-multi­point - это разновидность модели с одним подчиненным устройством. Для подчи­ненного устройства не имеет значения, со сколькими еще устройствами связывается мастер. Разнесенная сеть (scatternet) формируется путем объединения одной или более пикосетей. Различные топологии пикосети Bluetooth изображены на рис. 2.6.

Физический канал

Физический канал представляет собой псевдослучайную последовательность пере­стройки частоты по 79 или 23 радиочастотным каналам шириной 1 МГц. Каждый канал делится на слоты продолжительностью 625 мксек, причем каждому слоту со­ответствует определенный канал. Слоты пронумерованы в соответствии с часами мастера пикосети, номера расположены в диапазоне от 0 до 227 -1. Передатчик в каждый момент времени использует только один канал. Перестройка частоты про­исходит синхронно на передатчике и на приемнике по закону заранее зафиксиро­ванной псевдослучайной последовательности. В секунду может происходить до 1600 перестроек частоты. Этот метод обеспечивает конфиденциальность и помехо­защищенность передач. Если на каком-либо канале передаваемый пакет не был принят, то приемник посылает запрос на повторную передачу и пакет повторно пе­редается на другом канале на другой частоте.


Рис. 2.8. Передача многослотовых пакетов


Следует учесть, что физическим каналом (physical channel) является набор ра­диочастот, распределенный по закону псевдослучайной последовательности, а фи­зической линией связи (physical link) является то, ЧТО ПЕРЕДАЕТСЯ по этому каналу на основе потоков данных.

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

Физические линии связи

В этом разделе описаны два типа связи, которые могут быть установлены между мастером и подчиненными устройствами. Это два вида физических линий связи, каждая со своими Baseband-пакетами:

  • Синхронная ориентированная на соединение (SCO) линия связи — это симме­ тричная линия связи point-to-point между мастером и определенным подчиненным устройством. SCO линия связи резервирует слоты, и таким образом, может рассма­ триваться как соединение с коммутацией каналов. SCO линии связи обычно под­ держивают передачу срочной информации, такой как голос. Мастер может поддер­ живать до трех SCO линий связи к одному или разным подчиненным устройствам. Подчиненное устройство может поддерживать до трех SCO линий связи от одного мастера или две линии связи, если они исходят от различных мастеров. SCO паке­ ты никогда не передаются повторно.

  • Асинхронная линия связи без установления соединения (ACL) используется только для данных, и работает по принципу когда-позволяет-время. ACL линии связи обеспечивают соединение с коммутацией пакетов между мастером и всеми активными подчиненными устройствами пикосети. Поддерживаются как асин­ хронная, так и изохронная передача. Между мастером и подчиненным устройством может существовать только одна ACL линия связи. Для большинства ACL пакетов, повторная передача используется для обеспечения целостности данных.

Пакеты

Технические требования Bluetooth определяют использование двух видов паке­тов: синхронных ориентированных на соединение и асинхронных без установле­ния соединения. SCO-пакеты используются в синхронных каналах связи для пе­редачи голоса и направляются на синхронный I/O (input/output) голосовой порт. Они не содержат механизма обнаружения ошибок и никогда не передаются по­вторно, потому что это создает временные задержки, которые ухудшают качество голоса.

ACL-пакеты используются в асинхронных каналах связи. Передаваемая инфор­мация может быть пользовательскими данными или управляющей информацией.

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

процессе передачи, могут использоваться повторные передачи.

Общий формат пакетов (рис.2.9), использующийся в беспроводной технологии Bluetooth состоит из трех частей: код доступа, заголовок и полезная информация.

Рис. 2.9. Общий формат пакетов

Код доступа

Каждый пакет начинается с кода доступа, который используется для оповещения и обмена служебной информацией. Поле кода доступа состоит из преамбулы, синх-рослова и концевика (рис. 2.10). Преамбула указывает на прибытие пакета в при­емник. Синхрослово используется для временной синхронизации с приемником. Концевик следует после синхрослова и указывает на окончание кода доступа. Ко­личество бит в коде доступа может варьировать, в зависимости от того, последовал ли заголовок пакета. Если заголовок пакета последовал, длина кода доступа состав­ляет 72 бита; в противном случае, 68 бит.

Функции кода доступа могут отличаться в зависимости от режима работы уст­ройства Bluetooth. Соответственно, существует три типа кода доступа:

Канальный код доступа (Channel Access Code — САС) — распознает пикосеть. Этот код включен во все пакеты, которыми обмениваются по каналам пикосети. Все пакеты, посылаемые в одной пикосети, начинаются с одного канального кода доступа.

Код доступа устройства (Device Access Code — DAC) — используется для спе- иальных процедур сигнализации, таких как вызов и ответ на вызов. Вызов вклю-

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

. Код доступа запроса (Inquiry Access Code — IAC). Существует два типа кода доступа запроса: общий и специализированный. Общий код доступа запроса оди­наков для всех устройств. Он используется для обнаружения других модулей Bluetooth, находящихся в зоне действия. Специализированный IAC является оди­наковым для отдельной группы модулей Bluetooth, которые имеют общие характе­ристики. Он используется для обнаружения только тех специализированных моду­лей Bluetooth, которые находятся в пределах зоны действия.

Заголовок

Если используется заголовок, то он содержит информацию управления каналом связи и состоит из шести полей, составляющих 18 бит (рис. 2.11).

  • Адрес активного члена (Active Member Address — АМА) (3 бита)

  • Тип (4 бита)

  • Поток (1 бит)

  • Автоматический запрос на повторение (Automatic Repeat Request — ARR) (1 бит)

  • Порядковый номер (Sequence Number — SEQN) (1 бит)

  • Проверка заголовка на наличие ошибок (Header Error Check — НЕС) (8 бит)

Рис. 2.11. Поле заголовка

Адрес активного члена

Это 3-битное поле используется для различия между активными устройствами, принимающими участие в пикосети. В пикосети одно или более подчиненных уст­ройств связаны с одним мастером. Для того чтобы идентифицировать каждое под­чиненное устройство в отдельности, каждому подчиненному устройству назначает-

Общий формат пакетов (рис.2.9), использующийся в беспроводной технологии Bluetooth состоит из трех частей: код доступа, заголовок и полезная информация.

Код доступа

Каждый пакет начинается с кода доступа, который используется для оповещения и обмена служебной информацией. Поле кода доступа состоит из преамбулы, синх-рослова и концевика (рис. 2.10). Преамбула указывает на прибытие пакета в при­емник. Синхрослово используется для временной синхронизации с приемником. Концевик следует после синхрослова и указывает на окончание кода доступа. Ко­личество бит в коде доступа может варьировать, в зависимости от того, последовал ли заголовок пакета. Если заголовок пакета последовал, длина кода доступа состав­ляет 72 бита; в противном случае, 68 бит.

Функции кода доступа могут отличаться в зависимости от режима работы уст­ройства Bluetooth. Соответственно, существует три типа кода доступа:

Канальный код доступа (Channel Access Code — САС) — распознает пикосеть. Этот код включен во все пакеты, которыми обмениваются по каналам пикосети. Все пакеты, посылаемые в одной пикосети, начинаются с одного канального кода доступа.

Код доступа устройства (Device Access Code — DAC) — используется для спе- иальных процедур сигнализации, таких как вызов и ответ на вызов. Вызов вклю-

еТ в себя передачу ряда сообщений с установлением канала связи с модулем, ак-(вным в пределах зоны действия. Когда модуль отвечает на запрос, канал связи жет быть установлен.

Код доступа запроса (Inquiry Access Code — IAC). Существует два типа кода доступа запроса: общий и специализированный. Общий код доступа запроса оди­ наков для всех устройств. Он используется для обнаружения других модулей Bluetooth, находящихся в зоне действия. Специализированный IAC является оди­ наковым для отдельной группы модулей Bluetooth, которые имеют общие характе­ ристики. Он используется для обнаружения только тех специализированных моду-

icii Bluetooth, которые находятся в пределах зоны действия.

Заголовок

Если используется заголовок, то он содержит информацию управления каналом связи и состоит из шести полей, составляющих 18 бит (рис. 2.11).

  • Адрес активного члена (Active Member Address — АМА) (3 бита)

  • Тип (4 бита)

  • Поток (1 бит)

  • Автоматический запрос на повторение (Automatic Repeat Request — ARR) (1бит)

  • Порядковый номер (Sequence Number — SEQN) (1 бит)

  • Проверка заголовка на наличие ошибок (Header Error Check — НЕС) (8 бит)

Рис. 2.11. Поле заголовка

Адрес активного члена

Это 3-битное поле используется для различия между активными устройствами, Принимающими участие в пикосети. В пикосети одно или более подчиненных уст­ройств связаны с одним мастером. Для того чтобы идентифицировать каждое под­чиненное устройство в отдельности, каждому подчиненному устройству назначает-

ся временный 3-х битный адрес, который используется, когда устройство активно Пакеты, которыми обмениваются мастер и подчиненное устройство, имеют АМд этого подчиненного устройства. Другими словами, адрес подчиненного устройства используется как в пакетах, которые передаются от мастера к подчиненному уст­ройству, так и наоборот. Нулевой адрес зарезервирован для радиовещательных па­кетов от мастера к подчиненным устройствам. Прекращающие связь или находя­щиеся в режиме парковки (Park) подчиненные устройства оставляют свои адреса, а когда они снова войдут в пикосеть, им должен быть назначен новый адрес.

Тип

Это 4-битное поле используется для кода, который устанавливает тип пакета. Ин­терпретация этого кода зависит от типа канала, который ставится в соответствие пакету: либо SCO, либо ACL. Существует четыре различных типа SCO пакетов и семь типов ACL пакетов. Код типа также означает номер слотов, которые будет за­нимать текущий пакет. Это позволяет неадресованным приемникам воздерживать­ся от прослушивания канала в течение длительности оставшихся слотов.

Поток

Это 1-битное поле используется для управления потоком пакетов по ACL каналу. Когда буфер приемника для ACL каналов переполнен, возвращается указание «стоп» для временной остановки передачи данных. Сигнал «стоп» применяется только для ACL пакетов. Кроме того, могут быть приняты пакеты, включающие только информацию по управлению каналом связи, или SCO пакеты. Когда буфер приемника пуст, возвращается указание «старт». Когда не получено ни одного па­кета или полученный заголовок содержит ошибки, следует указание «старт».

Автоматический запрос на повторение

Это 1-битное поле используется для информирования передающего устройства об успешной передаче полезной информации. Благоприятный исход приема проверя­ется с помощью циклического избыточного кода (Cyclic Redundancy Code — CRC). Возвратное сообщение может быть в форме положительного уведомления (ACKnowledgement — АСК) или отрицательного уведомления (Negative Acknowledgement — NAK). Если полезная информация была получена без искаже­ний, возвращается АСК, в противном случае — NAK. Когда не принимается ника­кого возвратного сообщения, предполагается получение NAK. ACK/NAK распола­гается в заголовке возвратного пакета.

CRC — это вычислительная процедура для обеспечения точности получаемых данных. Математическая функция вычисляется до передачи пакета на исходящем устройстве. Ее численное значение вычисляется на основе содержания пакета. Это значение сравнивается с пересчитанным значением функции в устройстве назначе­ния (адресате информации). Если эти два значения совпадают, возвращается АСК. в противном случае — NAK.

Порядковый номер

Ято 1-битное поле обеспечивает последовательную схему нумерации для того, что­бы правильным образом упорядочить поток пакетов данных, когда он достигает принимающего устройства. Для каждого нового переданного пакета, который со­держит данные со значением CRC, бит порядкового номера преобразуется для то­го, чтобы отфильтровывать повторные передачи на принимающем устройстве. Ес­ли повторная передача происходит вследствие отсутствия АСК, адресат принимает лот пакет дважды. Сравнение порядковых номеров следующих пакетов означает, что безошибочно принятые повторные передачи могут быть отброшены.

Проверка заголовка на наличие ошибок

Это 8-битное поле используется для проверки целостности заголовка. После ини­циализации генератора НЕС, вычисляется значение НЕС для битов заголовка. Приемник инициализирует свои схемы НЕС так, что он может интерпретировать значение. Если значения НЕС не совпадают, весь пакет игнорируется.

Полезная информация

Заключительной частью общего формата пакета является полезная информация. В этой части есть два типа полей: поле голоса (синхронное) и поле данных (асин­хронное). ACL пакеты имеют только поле данных, a SCO пакеты — только поле го­лоса. Исключением является пакет данных и голоса (Data Voice — DV), который имеет оба поля. Поле данных состоит из трех сегментов: заголовок полезной ин­формации, тело полезной информации и возможно, CRC код (рис. 2.12).

Ис- 2.12. Поле полезной информации

аголовок полезной информации

°лько поля данных имеют заголовок полезной информации. Длина заголовка по-езной информации равна одному или двум байтам и определяет логический канал

(Logical Channel — LCH), управление потоком в логических каналах, а также име­ет указатель длины полезной информации. Этот указатель обозначает количество байт (т.е. 8-битное слово) в теле полезной информации, исключая заголовок полез­ной информации и CRC код.

Тело полезной информации

Тело полезной информации включает пользовательскую информацию. Длина это­го сегмента указана в поле длины заголовка полезной информации.

Формирование CRC кода

После того как генератор CRC инициализирован, от передаваемой информации вычисляется 16-битный CRC код, который прикрепляется к информации.

Типы пакетов

В технических требованиях описаны также различные типы пакетов: общие, SCO-пакеты и ACL-пакеты. Каждому типу соответствуют определенные характе­ристики.

Общие пакеты:'

  • ID-пакет

  • Null-пакет

  • Poll-пакет

  • FHS-пакет

  • DM 1-пакет SCO-пакеты:

  • HV1 -пакет

  • НУ2-пакет

  • НУЗ-пакет

  • DV-пакет ACL-пакеты:

  • DM 1-пакет

  • DH1-пакет

  • ОМЗ-пакет

  • ОНЗ-пакет

  • ОМ5-пакет

  • DI-15-пакет

  • AUX1-пакет

В таблице 2.11 приведены используемые сокращения.

Коррекция ошибок

Как ACL-пакеты (данные), так и SCO-пакеты (голос и данные) могут быть снабже­ны различными уровнями прямой коррекции ошибок (Forward Error Correction — FEC) или проверки циклическим избыточным кодом (CRC), а также могут быть

Таблица 2.11

ID

Identification

Идентификация

NULL

Null

Пусто

POLL

Polling

(Упорядоченный)опрос

FHS

Frequency Hopping Synchronization

Синхронизация перестройки частоты

DM1

Data Medium rate, 1 slot

Средняя скорость передачи данных, один слот

Dili

Data High rate, 1 slot

Высокая скорость передачи данных, один слот

DM3

Data Medium rate, 3 slots

Средняя скорость передачи данных, три слота

DH3

Data High rate, 3 slots

Высокая скорость передачи данных, три слота

DM5

Data Medium rate, 5 slots

Средняя скорость передачи данных, пять слотов

DH5

Data High rate, 5 slots

Высокая скорость передачи данных, пять слотов

AUX1

Auxilary packet, 1 slot

Вспомогательный пакет, один слот

HV1

High Quality Voice, 1 slot

Голос высокого качества, один слот

HV2

High Quality Voice, 2 slots

Голос высокого качества, два слота

HV3

High Quality Voice, 3 slots

Голос высокого качества, три слота

DV

Data Voice

Данные и голос

зашифрованы. В этом разделе определено несколько схем коррекции ошибок и их применение для различных типов пакетов.

Существует три схемы коррекции ошибок, определенных для беспроводной свя­зи Bluetooth:

  • Прямая коррекция ошибок с коэффициентом 1/3

  • Прямая коррекция ошибок с коэффициентом 2/3

  • Схема автоматического запроса повторной передачи

Назначение FEC в полезной информации — уменьшить количество повторных передач за счет способности восстанавливать данные. В тоже время технические требования указывают, что в ситуации, свободной от ошибок, FEC является лиш­ним, поскольку при этом уменьшается пропускная способность. Заголовок пакета всегда защищен прямой коррекцией ошибок с коэффициентом 1/3, так как он со­держит ценную информацию связи и должен быть способен «выдержать» несколь­ко битовых ошибок.

Логические каналы

Логические каналы являются дополнением физических линий связи. В этом разде­ле определены пять логических каналов Bluetooth.

  • LC канал (Link Control — управление связью)

  • LM канал (Link Manager — администратор связи)

  • UA канал (User Asynchronous data — асинхронные пользовательские данные)

  • Ш канал (User Isochronous data — изохронные пользовательские данные)

  • US канал (User Synchronous data — синхронные пользовательские данные) В таблице 2.12 дано описание каждого логического канала.

Таблица 2.12. Логические каналы

Название

Функция

Расположение

Где встречается

LC

Управление связью

Заголовок

Все пакеты

LM

Управление связью

Полезная информация

SCO или ACL

UA

Асинхронные данные пользователя

Полезная информация

ACLiuhSCO-DV

т

Изохронные данные пользователя

Полезная информация

ACLhotSCO-DV

LJS

Синхронные данные пользователя

Полезная информация

SCO

Обеливание данных

Процедура обеливания данных позволяет изменить распределение информации с целью придания ей свойств белого шума.

Такое преобразование позволяет существенно упростить процесс демодуляции ин­формации, который будет сводиться к обработке сигнала в присутствии белого шума.

Процедуры передачи/приема

В этом разделе описан способ использования пакетов, определенных в разделе Пакеты. Рассмотрены потоки ACL, SCO и комбинированные ACL/SCO. Информация, при­веденная здесь, дает возможность понять идею, представленную в разделе Пакеты.

Синхронизация передачи/приема

Синхронизация важна для устойчивой связи. Этот раздел описывает толерант­ность (допустимые отклонения) синхронизации и синхронизацию мастера с под­чиненным устройством. Представление о синхронизации пикосети при обмене данными иллюстрирует рис. 2.13.

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

Управление каналом

В этом разделе рассказывается о процедуре установления канала пикосети. Приве­дено описание работы каналов и процедур добавления и исключения устройств пи­косети. Для поддержания этих функций определено девять режимов работы моду­лей Bluetooth. Кроме того, рассмотрена работа разнесенной сети (scatternet). По­дробно рассмотрено устройство и работа часов Bluetooth, которые играют главную роль в FH-синхронизации.

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

По определению, мастером является тот модуль Bluetooth, который инициирует соединение. Термины «мастер» и «подчиненное устройство» имеют отношение только к протоколу: на аппаратном уровне модули Bluetooth считаются функцио­нально идентичными. Любое устройство Bluetooth может стать мастером пикосети; нет «всегда подчиненных» устройств. Кроме того, когда пикосеть уже установлена, роли мастер/подчиненное устройство могут поменяться местами.

Часы Bluetooth

Каждый модуль Bluetooth имеет внутренние системные часы, которые устанав­ливают синхронизацию и скачкообразную перестройку частоты приемопередат­чика. Часы Bluetooth получены из собственного независимого генератора так­товых импульсов, который никогда не корректируется и никогда не выключает­ся. Для синхронизации с другими модулями используются только смещения, добавление которых к собственным часам каждого модуля обеспечивает им временные часы Bluetooth, которые взаимно синхронизируются. Необходимо заметить, что часы Bluetooth не имеют отношения ко времени суток, поэтому, они могут быть выставлены на любое значение. Часы Bluetooth обеспечивают тактовые импульсы приемопередатчику Bluetooth. Их разрешающая способ­ность равна половине длительности Rx или Тх слота, т.е. 312.5 мкеек. Часы имеют цикл около одного дня. Для часов Bluetooth необходим 28-битный счет­чик, который проходит цикл за 228 -1. Схема часов Bluetooth изображена на Рис. 2.14.

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

смещение к своим собственным часам, чтобы быть синхронизированным к часам мастера. Так как часы автономные, то смещения должны регулярно обновляться (корректироваться).

Рис. 2.14. Схема часов Bluetooth

В зависимости от режима в котором находится модуль Bluetooth, часы могут быть различными:

  • Собственные часы (Native Clock — CLKN)

  • Расчетные часы (Estimated Clock — CLKE)

  • Часы мастера (Master Clock — СLK)

CLKN — это собственные автономные часы, которые являются эталоном для всех остальных видов часов. В режимах высокой активности, собственные часы уп­равляются опорным кварцевым генератором с наихудшей временной нестабильно­стью +20 ррт. В маломощных режимах, таких как Standby, Hold, Park и Sniff (таб­лицы 2.13 и 2.17) собственные часы могут управляться маломощным генератором (Low Power Oscillator — LPO) с нестабильностью ±250 ppm.


Рис. 2.15. Формирование CLKE


Расчетные часы (CLKE) и часы мастера (CLK) получаются от опорных CLKN путем добавления смещения. CLKE — это оценка собственных часов получателя, которую осуществляет вызывающий модуль, т.е. смещения добавляются к CLKN вызываемого модуля для приближенного соответствия CLKN получателя (рис. 2.15). Используя CLKN получателя, вызывающий модуль ускоряет установ­ление соединения.

CLK — это часы мастера пикосети. Они используются для всех процессов син­хронизации и распределения в пикосети. Все устройства Bluetooth используют CLK для распределения передачи и приема. CLK формируется из собственных ча­сов (CLKN) и смещения. Для мастера пикосети смещение равно нулю (рис. 2.16), т к. CLK равен его собственным часам (CLKN). Каждое подчиненное устройство добавляет к своим CLKN смещение, такое чтобы CLK совпадало с CLKN мастера (рис.2.17). Хотя все CLKN устройств Bluetooth идут с одинаковой скоростью, из-за обоюдного дрейфа все же возможно возникновение ошибок. Поэтому смещения в подчиненных устройствах должны регулярно корректироваться таким образом, чтобы CLK совпадало с CLKN мастера.

Рис. 2.16. Формирование CLK мастера

Рис. 2.17. Формирование CLK подчиненного устройства

Обзор состояний

На рис. 2.18 изображена диаграмма состояний, использующихся в контроллере связи Bluetooth. Существует два основных состояния: ожидание (Standby) и со­единение (Connection), а также семь промежуточных состояний: вызов (page), ожидание вызова (page scan), запрос (inquiry), ожидание запроса (inquiry scan), ответ мастера (master response), ответ подчиненного устройства (slave response) и ответ на запрос (inquiry response).

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

Таблица 2.13

Режим

Описание

Ожидание (STANDBY)

Модуль Bluetooth находится в режиме малой мощности и не активно связывается (не является частью пикосети). Устройство ожидает сигнал на подключение к пикосети

Соединение (CONNECTION)

После того как соединение установлено, пакеты могут посылаться в обоих направлениях

Вызов (Page)

Используется мастером для активации и соединения с подчиненным устройством, которое периодически «просыпается» в режиме ожидание вызова

Ожидание вызова (Page scan)

Потенциальное подчиненное устройство «слушает» свой код доступа устройства (DAC) в течение установленного отрезка времени. Модуль «слушает» на одной частоте достаточно долго для полного сканирования 16 page-частот

Запрос (Inquiry)

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

Ожидание запроса (Inquiry scan)

Подобен режиму ожидание вызова. Однако, в этом режиме потенциальное подчиненное устройство ожидает свой код доступа запроса (IAC) вместо своего адреса

Ответ мастера (Master response)

Мастер вводит этот режим, когда он получает ответ от подчиненного устройства, после того как оно было вызвано

Ответ подчиненного устройства (Slave response)

Подчиненное устройство вводит этот режим при признании своего кода доступа устройства (DAC)

Ответ на запрос (Inquiry response)

Устройство вводит этот режим при признании своего кода доступа запроса (IAC)

Рис. 2.18. Диаграмма состояний контроллера связи Bluetooth

либо команды администратора связи (LM) Bluetooth, либо внутренние сигналы контроллера связи.

Выбор перестройки частоты

Определено десять типов последовательностей скачкообразной перестройки часто­ты: пять для системы с 79 перестройками (т.е. каналами) и пять для системы с 23 перестройками (показаны в скобках), соответственно.

  • Последовательность для вызова с 32 (16) уникальными частотами для «про­ буждения», распределенными по полосе 79 (23) МГц, с периодом, равным 32 (16).

  • Последовательность для ответа на вызов охватывает 32 (16) уникальных час­ тот для ответа, которые имеют взаимно-однозначное соответствие с текущей по­ следовательностью для вызова.

  • Последовательность для запроса с 32 (16) уникальными частотами для «про­ буждения», распределенными по полосе 79 (23) МГц, с периодом, равным 32 (56).

  • Последовательность для ответа на запрос охватывает 32 (16) уникальных ча­ стот для ответа, которые имеют взаимно-однозначное соответствие с текущей по­ следовательностью для запроса.

• Канальная последовательность, которая имеет очень большую длину пер№ да, распределяет частоты одинаково по полосе 79 (23) МГц в течение короткого » тервала времени.

Общая схема выбора частоты

Схема выбора частоты состоит из двух частей:

  • Выбор последовательности;

  • Установление частот в соответствии с последовательностью.

Общая схема выбора частоты представлена на рис. 2.19. Определенная часто' Устанавливается в соответствие с входными параметрами в блоке выбора частот Входные параметры — это собственные часы и текущий адрес мастера.

В состоянии соединение (Connection) собственные часы (CLKN) корректир ются с помощью смещения для соответствия часам мастера (CLK). Используют! только 27 наиболее значимых бита (Most Significant Bit - MSB) часов. В промеж точных состояниях вызов (Page) и запрос (Inquiry) используются все 28 битов ч с«в. Однако в промежуточном состоянии вызов собственные часы не корректир ются.

Адресный вход состоит из 28 бит, т.е. все поле LAP и 4 наименее значимых бита (Least Significant Bit — LSB) поля UAP (см. раздел Адресация устройств). В со­стоянии соединение используется адрес мастера. В промежуточном состоянии вы­зов используется адрес вызываемого модуля. В промежуточном состоянии запрос используется UAP/LAP, соответствующий общему коду доступа запроса (GIAC) Выходным параметром является псевдослучайная последовательность из 79 или 23 перестроек частоты.

Рис. 2.19. Общая схема выбора частоты

В 79-канальной системе схема выбора частоты выбирает сегмент из 32 частот, охватывающий диапазон около 64 МГц (рис. 2.20) и проходит по этим частотам один раз в псевдослучайном порядке. Далее, выбирается другой 32-частотный сег­мент и т.д. В промежуточных состояниях вызов, ожидание вызова или ответ на вы­зов все время используется 32-частотный сегмент (сегмент выбирается с помощью адреса; разные модули будут иметь различные сегменты). В состоянии соединение на выходе составляется псевдослучайная последовательность, которая перемеща­ется по 79 или 23 частотам, в зависимости от системы. Для 23-канальной системы размер сегмента равен 16 (таблица 2.14). Принцип работы схемы выбора частоты изображен на рис. 2.20.

Аудио интерфейс

Обработка аудиоинформации в беспроводной технологии Bluetooth основана на традиционных методах, т.е. информация кодируется на передающей стороне и де­кодируется на приемной.

Аудиоинформация кодируется одним из двух способов: 8-битным логарифми­ческим или линейным кодами (таблица 2.15). Требуемая схема кодирования голо­са выбирается после согласования администраторов связи двух задействованных модулей.

Рис. 2.20. Схема выбора частоты в состоянии соединение (Connection)

Таблица 2.15

Голосовые кодеки

Линейный

CVSD

8-битный логарифмический (рекомендация ITU-T G.711)

А-функция

ц-функция

Адресация устройств BD ADDR

Каждый приемопередатчик Bluetooth снабжен уникальным 48-битным адресол устройства Bluetooth (Bluetooth Device Address — BD ADDR). Этот адрес назна чается управлением регистрации IEEE (http://standards.ieee.org/regauth/oui/ index.shtml) для производителей и называется организационно уникальным идеи тификатором (Organizationally Unique Identifier — ОШ).

Организационно уникальный идентификатор определен в IEEE Std 802-1990 \ используется для создания 48-битных универсальных MAC адресов локальных се тей. Это позволяет идентифицировать уникальным образом LAN и MAN станции.

Коммуникации Bluetooth используют этот 48-битный адрес для создания своей собственного формата. Идентификатор поделен на три поля следующим образол (рис. 2.21):

  • Поле LAP (Lower Address Part): нижняя адресная часть, состоящая из 24 би тов;

  • Поле UAP (Upper Address Part): верхняя адресная часть, состоящая их 8 битов;

  • Поле NAP (Non-significant Address Part): незначимая адресная часть, состоя Щая из 16 битов.

Поля LAP и UAP формируют значимую часть BDADDR. Полный объем адрес; равен 232.

Рис. 2.21. Формат адреса Bluetooth

Коды доступа

Для сигнализации в системе Bluetooth используются 72-битные и 68-битные ко­ды доступа. Определено три различных кода доступа:

  • Код доступа устройства (DAC);

  • Канальный код доступа (САС);

  • Код доступа запроса (I АС).

Также определены адреса для устройств Bluetooth, находящихся в различных состояниях: адрес активного члена (Active Member Address — AM_ADDR), адрес устройства, находящегося в состоянии парковки (Parked Member Address — PMADDR), адрес требования доступа (Access Request Address — ARADDR).

AM ADDR

Каждому активному подчиненному устройству в пикосети назначается 3-х бит­ный адрес активного члена (AMADDR). Адрес AMADDR, состоящий только из нулей, зарезервирован для широковещательных сообщений. Мастер не имеет AM_ADDR.

Адрес AMADDR назначается подчиненному устройству мастером, когда оно активизируется. Это происходит либо во время установления соединения, либо сразу после выхода подчиненного устройства из режима парковки.

РМ ADDR

Подчиненное устройство в режиме парковки может быть идентифицировано своим BDADDR, или выделенным адресом устройства, находящегося в состоя­нии парковки (РМ ADDR). Это 8-битный адрес, который назначается подчинен­ному устройству, как только оно вошло в режим парковки. Адрес PM_ADDR дей­ствителен только в период пребывания подчиненного устройства в режиме парков­ки. Когда подчиненное устройство активизируется, вместо РМ ADDR ему назна­чается адрес активного члена (AMADDR).

AR ADDR

Адрес требования доступа (AR_ADDR) используется подчиненным устройст­вом, находящимся в режиме парковки, для определения «окна», в котором можно послать сообщения с требованием доступа.

Адрес AR ADDR назначается подчиненному устройству, когда оно входит в ре­жим парковки и действителен только во время пребывания в этом режиме. Этот адрес необязательно должен быть уникальным; т.е. различные устройства, находя­щиеся в режиме парковки могут иметь одинаковый ARADDR.

Защита информации

Технология Bluetooth обеспечивает беспроводную передачу между равноправны­ми узлами. Для обеспечения защиты и конфиденциальности информации, система обеспечивает меры защиты как на прикладном, так и на канальном уровне. В каж­дом модуле Bluetooth осуществляются процедуры аутентификации и кодирования. Для поддержки защиты информации на канальном уровне используются четыре различных объекта: уникальный общий адрес для каждого пользователя, два сек­ретных ключа и случайное число, которое различно для каждой транзакции. Опи­сание каждого объекта приведено в таблице 2.16.

Таблица 2.16. Объекты, используемые в процедурах аутентификации и кодирования

Объект

Размер

Уникальные адреса устройства Bluetooth (BD ADDR)

48 бит

Личный ключ пользователя, аутентификация

128 бит

Личный ключ пользователя, кодирование

8-128 бит

Случайное число (RAND)

128 бит

Секретные ключи получаются в процессе инициализации и за время существо­вания пикосети никогда не меняются. Ключ кодирования получается из ключа ау­тентификации в процессе аутентификации. Алгоритм аутентификации всегда ис­пользует 128 бит.

Для алгоритма кодирования, размер ключа может колебаться от 8 до 128 бит. Размер ключа кодирования конфигурируем по двум причинам:

  1. Для учета различий в требованиях, наложенных на криптографические алго­ ритмы в различных странах.

  2. Для обеспечения будущего обновления, для исключения неоправданно доро­ гостоящего перепроектирования алгоритмов и аппаратных средств кодирования. Увеличение размера ключа является самым простым способом борьбы с потенци­ альными подслушивателями.