Обзор архитектуры Bluetooth 5.0

1.    ОБЩЕЕ ОПИСАНИЕ

Bluetooth - это беспроводная технология связи малого радиуса действия, предназначенная для замены кабелей, соединяющих переносные и / или стационарные электронные устройства. Ключевыми особенностями Bluetooth являются надежность, малое энергопотребление и низкая стоимость. Многие характеристики базовой спецификации являются необязательными, что позволяет дифференцировать продукты.

Существует два представления системы беспроводной технологии Bluetooth: Basic Rate (BR) и Low Energy (LE). Обе системы включают в себя процедуры обнаружения устройства и установления соединения. Система Basic Rate включает такие опциональные расширения, как расширенная скорость передачи (Enhanced Data Rate, EDR), альтернативный контроль доступа к среде (Alternate Media Access Control, MAC) и расширения физического уровня (PHY). Система Basic Rate реализует синхронные и асинхронные соединения со скоростью передачи данных 721.2 кбит/с (базовая скорость), 2.1 Мбит/с (расширенная скорость передачи данных) и до 54 Мбит/с (802.11 AMP). Система LE включает в себя функции, разработанные для продуктов, не требующих высоких скоростей передачи данных, и во главе угла которых стоит меньшее энергопотребление, меньшая сложность и низкая стоимость. Устройства, реализующие обе системы, могут взаимодействовать с другими устройствами, реализующими обе системы, а также с устройствами, реализующими любую из систем.

Основными блоками Bluetooth устройства являются:

  • Application (Приложение) - обеспечивает реализацию полезную для конечного пользователя логику работы;
  • Host (Хост или ведущее устройство) - предоставляет верхние уровни стека протоколов Bluetooth, включая профиль общего доступа (GAP - Generic Access Profile), профиль общих атрибутов (GATT - Generic Attribute Profile), протокол логического соединения и адаптации (L2CAP - Logical Link Control and Adaptation Protocol), протокол атрибутов (ATT - Attribute Protocol) и, при необходимости, HCI;
  • Controller (Контроллер) - предоставляет нижние уровни стека протоколов Bluetooth, включая физиский (BR/EDR или LE), канальный и, при необходимости, HCI;

Коммерческие продукты обычно используют одно из следующих аппаратных решений:

  • однокристальная система, объединяющее в себе приложение, хост и контроллер;
  • двухблочная система при которой Приложение и Хост соединяются с Контроллером по протоколу HCI (Host Controller Interface), например, посредством UART или USB;
  • двухблочная система при которой Приложение соединяется с блоком связи (хост и контроллер) по проприетарному протоколу.

Cпецификации ядра Bluetooth 5.0 определяет два типа контроллеров - первичные и вторичные. При этом Bluetooth устройство должно иметь только один первичный контроллер в одной из следующих конфигураций:

  • Контроллер BR/EDR;
  • Контроллер LE;
  • Объединение частей контроллеров BR/EDR и LE.

Ядро системы Bluetooth может дополнительно иметь один или несколько вторичных контроллеров в следующей конфигурации:

  • Контроллер MAC / PHY (Alternate MAC/PHY, AMP), включающий в себя 802.11 PAL (уровень адаптации протокола, Protocol Adaptation Layer), 802.11 MAC и PHY, и, при необходимости, HCI.

Bluetooth 5.0 (комбинация Хостов и Контроллеров)

Рис 1 - Bluetooth 5.0 (комбинация Хостов и Контроллеров)

1.1.    ОБЗОР РАБОТЫ BR / EDR

Физический уровень радиоинтерфейса Basic Rate / Enhanced Data Rate (BR / EDR) работает в нелицензированной полосе ISM на частоте 2.4 ГГц. Система использует приемопередатчик с псевдослучайной перестройкой рабочей частоты FHSS (frequency-hopping spread spectrum) между множеством несущих для борьбы с помехами и замираниями. Радиоинтерфейс BR использует двоичную частотную манипуляцию. Скорость передачи символов составляет 1 мегасимвол в секунду (Мсим/с), что обеспечивает скорость передачи данных 1 мегабит в секунду (Мбит/с) или, с расширенной скоростью передачи данных EDR, 2 или 3 Мбит/с. Эти режимы называются Basic Rate и Enhanced Data Rate соответственно.

Во время обычной работы физический радиоканал совместно используется группой устройств, которые синхронизированы с общим тактовым сигналом и шаблоном скачкообразной перестройки частоты. Одно устройство предоставляет данные синхронизации и называется ведущее устройство. Все другие устройства, синхронизированные с тактовым генератором ведущего устройства, называются подчиненными (или ведомыми). Группа устройств, синхронизированных таким образом, образует пикосеть. Это основная форма связи в беспроводной технологии Bluetooth BR/EDR.

Устройства в пикосети используют определенный шаблон скачкообразной перестройки частоты, который алгоритмически определяется соответствующими полями в адресе Bluetooth и генераторе ведущего устройства. Основной шаблон скачкообразной перестройки представляет собой псевдослучайное распределение из 79 частот шириной 1 МГц в диапазоне ISM 2.4 ГГц. Шаблон скачкообразной перестройки может быть адаптирован для каждого ведомого устройства, чтобы исключить частоты, которые используются мешающими устройствами. Адаптивная технология скачкообразной перестройки улучшает сосуществование Bluetooth со статическими (не перескакивающими) системами ISM, когда они расположены рядом.

Физический канал подразделяется на временные интервалы, называемые слотами. Данные между устройствами Bluetooth передаются в пакетах, инкапсулируемых в эти слоты. Когда позволяют обстоятельства, для одного пакета может быть выделено несколько последовательных временных интервалов. Переключение частоты может происходить между передачей или приемом пакетов. Технология Bluetooth обеспечивает эффект полнодуплексной передачи посредством использования схемы дуплексной связи с временным разделением (Time-Division Duplex, TDD).

Внутри физических каналов формируются физические линки - physical link (за исключением физических каналов сканирования запросов - Inquiry scan и физических каналов сканирования страниц - Page scan, в которых физические линки не образуются). Физические линки обеспечивают двунаправленную передачу пакетов данных между ведущим и подчиненным устройствами (при этом прямые линки между подчиненными устройствами не допустимы). Также стоит отметить особый тип физических линков (Connectionless Slave Broadcast physical link), используемых для однонаправленной передачи пакетов данных от ведущего к потенциально неограниченному количеству активных ведомых устройств без установления соединения.

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

Каждый логический канал ассоциируется с определённым типом передачи (логическим транспортом - logical transport), имеющим определённые характеристики:

  • ACL (Asynchronous Connection-oriented Logical transport – асинхронный с установлением соединения). Предназначен для доставки асинхронных данных пользователя и сигналов управления протоколов LMP и L2CAP.
  • SCO (Synchronous Connection-Oriented – синхронный с установлением соединения) – симметричный канал для доставки синхронных данных пользователя посредством резервирования временных слотов.
  • eSCO (Extended Synchronous Connection-Oriented – расширенный синхронный с установлением соединения). Поддерживает несколько скоростей передачи и повторную передачу пакетов.
  • ASB (Active Slave Broadcast – широковещательный для подчинённых устройств в активном режиме). Односторонний (от ведущего к подчинённым), широковещательный, без установления соединения канал. Используется для передачи только пользовательских данных с уровня L2CAP всем подчинённым устройствам пикосети, находящимся в активном состоянии.
  • PSB (Parked Slave Broadcast – широковещательный для подчинённых устройств в режиме парковки). Односторонний (отведущего к подчинённым), широковещательный, без установления соединения канал. Используется для передачи управляющих сигналов и пользовательских данных с уровня L2CAP всем подчинённым устройствам пикосети, находящимся в состоянии парковки.

Протокол L2CAP (англ. Logical Link Control and Adaptation Protocol) предоставляет протоколам более высокого уровня услуги по работе с данными, как ориентированные на соединения, так и без ориентации на них, с возможностями мультиплексирования и обеспечением операций по сегментации и обратной сборке. L2CAP имеет канал управления протоколом, который передается по дефолтному логическому транспорту ACL. Данные приложения, представленные в протоколе L2CAP, могут передаваться по любому логическому линку, который поддерживает протокол L2CAP.

Протокол управления соединениями (LMP – Link Manager Protocol), отвечает за установление логического канала связи между устройствами Bluetooth и его текущее администрирование (аутентификация, шифрование), согласование размеров пакетов, параметров качества передачи, управление излучаемой мощностью. Устройства, которые активны в пикосети, имеют по умолчанию асинхронный логический транспорт ACL, который используется для передачи сигнализации протокола LMP (за исключением ведомых широковещательных устройств без установления соединения, которые могут присоединяться к пикосети исключительно для прослушивания пакетов широковещательной передачи, используя логический транспорт PSB). Функция Link Manager использует LMP для управления работой устройств в пикосети и предоставления услуг для управления нижними уровнями архитектуры (radio layer и baseband layer).

1.2.    Обзор работы Low Energy Bluetooth

Как и BR/EDR, LE (Low Energy) работает в нелицензированном диапазоне ISM 2.4 ГГц. Система LE использует приемопередатчик с псевдослучайной перестройкой рабочей частоты FHSS (Frequency-Hopping Spread Spectrum), используя множество несущих для борьбы с помехами и замираниями. При передаче LE используется двоичная частотная модуляция, чтобы минимизировать сложность приемопередатчика. LE использует терминологию, отличающуюся от BR/EDR и AMP, для описания поддерживаемого физического уровня (PHY) в части различий в модуляции, возможном кодировании и результирующих скоростях передачи данных. Обязательная символьная скорость составляет 1 мегасимвол в секунду (Мсим/с), где 1 символ представляет 1 бит, т.е. поддерживая битовую скорость 1 мегабит в секунду (Мбит/с), которая называется PHY LE 1M. Скорость передачи символов 1 мсим/с может дополнительно поддерживать кодирование с исправлением ошибок, которое называется LE-кодированным PHY (LE Coded PHY). Этот механизм может использовать любую из двух схем кодирования: S = 2, где 2 символа представляют 1 бит, следовательно, поддерживают скорость передачи данных 500 кбит/с, и S = 8, где 8 символов представляют 1 бит, поэтому поддерживается скорость передачи 125 кбит/с. Также может поддерживаться необязательная скорость передачи символов 2 Мсим/с с битрейтом 2 Мбит/с, которая называется PHY LE 2M. Скорость передачи 2 Мсим/с поддерживает только некодированные данные. LE 1M и LE 2M вместе обозначаются как некодированные PHY LE (LE Uncoded PHYs).

LE использует две схемы множественного доступа: множественный доступ с частотным разделением (FDMA) и множественный доступ с временным разделением (TDMA). В схеме FDMA используются 40 физических каналов по 2 МГц. Три канала используются в качестве первичных рекламных каналов (primary advertising channel), а 37 используются в качестве вторичных рекламных каналов (secondary advertising channel) и в качестве каналов данных (data channel). Использование TDMA основано на схеме опроса, в которой одно устройство передает пакет в предварительно определенное время, а ответное устройство отвечает через заренее предопределенный интервал.

Физический канал подразделяется на единицы времени, известные как события (events). Данные передаются между устройствами LE в пакетах, которые расположены в этих событиях. Существует четыре типа событий: реклама (Advertising), расширенная реклама (Extended Advertising), периодическая реклама (Periodic Advertising) и события подключения (Connection events).

Устройства, которые передают рекламные пакеты на физических (PHY) рекламных каналах, называются Рекламодателями (Advertisers). Устройства, которые принимают рекламные пакеты на рекламных каналах без намерения подключиться к Рекламодателю, называются Сканерами (Scanners). Передачи на физических рекламных каналах происходят в рекламных событиях (Advertising Events). В начале каждого рекламного события Рекламодатель отправляет рекламный пакет, соответствующий типу рекламного события. В зависимости от типа рекламного пакета, Сканер может направить запрос Рекламодателю, за которым может последовать ответ (в рамках одного и того же рекламного физического канала). Рекламный физический канал изменяется при передаче следующего рекламного пакета, отправленного Рекламодателем в том же рекламном событии. Рекламодатель может завершить рекламное событие в любое время во время события. Первый физический рекламный канал используется в начале следующего рекламного события.

Рис.2 - Advertising Events

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

Устройства, которым необходимо установить соединение с другим устройством, прослушивают рекламные пакеты для подключения. Такие устройства называются Инициаторами. Если Рекламодатель использует рекламные события для подключения, Инициатор может сделать запрос на подключение, используя тот же физический рекламный канал, по которому он получил рекламный пакет для подключения. Рекламное событие заканчивается, и начинаются событие подключения (Connection Events), если Рекламодатель получает и принимает запрос на установление соединения. Как только соединение установлено, Инициатор становится ведущим устройством (master), в так называемой пикосети, а Рекламодатель становится подчиненным устройством (slave). События соединения используются для отправки пакетов данных между ведущим и ведомым устройствами. В событиях соединения переключение физических каналов (channel hopping) происходит в начале каждого события соединения. В событии соединения ведущий и ведомый поочередно отправляют пакеты данных, используя один и тот же физический канал данных. Мастер инициирует начало каждого события соединения и может завершить каждое событие соединения в любое время.

Рис. 3 - Connection Events

Устройства в пикосети используют определенный шаблон скачкообразной перестройки частоты, который алгоритмически определяется полем, содержащимся в запросе на соединение, отправляемом Инициатором. Шаблон переключения, используемый в LE, представляет собой псевдослучайное распределение 37 частот в диапазоне ISM 2.4 ГГц. Шаблон скачкообразной перестройки может быть адаптирован путем исключения части частот, которые используются мешающими устройствами. Метод адаптивного исключения улучшает совместимость Bluetooth со статическими системами ISM, когда они расположены рядом.

По аналогии со спецификацией BR/EDR иерархия уровней LE выглядит следующим образом:

  • физический канал,
  • физический линк,
  • логический транспорт,
  • логический канал,
  • L2CAP.

В физическом канале между устройствами формируется физический линк. Активный физический линк обеспечивает двунаправленную передачу пакетов между ведущим и ведомым устройствами. Поскольку физический канал LE может включать в себя несколько подчиненных устройств, существуют ограничения на то, какие устройства могут образовывать физические линки. Физический линк организуется между каждым ведомым и ведущим устройствами. Ведомым устройствам разрешено иметь физические линки более чем на одно ведущее устройство одновременно. Устройство может быть одновременно и ведущим и ведомым. Непосредственно между ведомыми устройствами в пикосети физические линки не образуются. В настоящее время изменения ролей между ведущим и ведомым устройствами не поддерживаются. Рекламные и периодические физические линки обеспечивают однонаправленную передачу пакетов от Рекламодателя потенциально неограниченному количеству Сканеров или Инициаторов.

Физический линк используется в качестве транспорта для одного или нескольких логических каналов, используя логический транспорт LE ACL (asynchronous connection logical transport)

которые транспортируют асинхронный трафик. Трафик на логических каналах мультиплексируется на физический линк, назначенный функцией планирования в диспетчере ресурсов. Протокол управления каналом физического уровня и линка (link layer protocol, LL) передается по логическому каналу вместе с пользовательскими данным. Активные устройства в пикосети для асинхронного соединения LE устройств используют логический транспорт LE ACL (asynchronous connection logical transport), формируемый по умолчанию для передачи сигнализации протокола LL. По умолчанию LE ACL создается всякий раз, когда устройство присоединяется к пикосети.

Функция Link Layer использует протокол LL для управления работой устройств в пикосети и предоставления услуг для управления нижними уровнями (PHY и LL). Как и в BR/EDR, над канальным уровнем уровень L2CAP обеспечивает абстракцию для приложений и сервисов. Он выполняет фрагментацию и дефрагментацию данных приложения, а также мультиплексирование и демультиплексирование нескольких физических каналов в общем логическом канале. L2CAP имеет протокол управления каналом, который передается поверх основного логического транспорта ACL (primary ACL logical transport).

В дополнение к L2CAP LE предоставляет два дополнительных логических уровня, которые находятся поверх L2CAP. Протокол управления безопасностью (Security Manager protocol, SMP) использует фиксированный канал L2CAP для реализации функций безопасности между устройствами. Протокол атрибутов (Attribute protocol, ATT) обеспечивает метод передачи небольших объемов данных по фиксированному каналу L2CAP. Протокол атрибутов также используется устройствами для определения услуг и возможностей других устройств. Протокол атрибутов также может использоваться через BR/EDR.