Все, что вы хотели знать о Bluetooth 5.0

Содержание

Bluetooth 5.0 стал реальностью. По сравнению с Bluetooth 4.0 новая версия имеет вдвое большую пропускную способность, увеличенную в четыре раза дальность действия и целый ряд других улучшений. Рассмотрим преимущества Bluetooth 5.0 над предшественниками, в том числе на примере процессора CC2640R2F от Texas Instruments.

Популярность версии протокола Bluetooth 4, а также некоторые его ограничения стали причинами для создания следующей спецификации Bluetooth 5. Разработчики ставили перед собой целый ряд целей: расширение радиуса действия, рост пропускной способности при рассылке широковещательных пакетов, улучшение помехозащищенности и так далее.

Теперь, когда стали появляться первые устройства с Bluetooth 5, у пользователей и разработчиков справедливо возникают вопросы: какие из заявленных ранее обещаний воплотились в реальность? Насколько выросли радиус действия и скорость передачи данных? Как это отразилось на уровне потребления? Каким образом изменился подход к формированию широковещательных пакетов? Какие были сделаны усовершенствования, направленные на рост помехозащищенности? И, конечно, главный вопрос — существует ли обратная совместимость между Bluetooth 5 и Bluetooth 4? Ответим на эти и некоторые другие вопросы и рассмотрим основные преимущества Bluetooth 5.0 перед предшественниками, в том числе – на примере реального процессора CC2640R2F с поддержкой Bluetooth 5.0 производства компании Texas Instruments.

Начнем обзор Bluetooth 5.0 с ответа на самый часто задаваемый вопрос об обратной совместимости с Bluetooth 4.x

Обеспечивает ли Bluetooth 5.0 обратную совместимость с Bluetooth 4.x?

Да, обеспечивает [1, 2]. Bluetooth 5 перенял большинство особенностей и расширений Bluetooth 4.1 и 4.2. Например, устройства Bluetooth 5 сохраняют все улучшения Bluetooth 4.2 в области повышения защищенности данных и поддерживают расширение LE Data Length Extension. Стоит напомнить, что благодаря LE Data Length Extension начиная с Bluetooth 4.2 размер пакета данных (packet data unit, PDU) при установленном соединении может быть увеличен с 27 до 251 байта, что позволяет поднять скорость обмена данными в 2,5 раза.

Из-за большого количества различий между версиями протокола сохраняется традиционный механизм согласования параметров между устройствами при установлении соединений. Это значит, что перед тем как начать обмениваться данными, устройства «знакомятся» и определяют максимальную частоту передачи данных, длину сообщений и так далее. При этом по умолчанию используются параметры Bluetooth 4.0. Переход к параметрам Bluetooth 5 происходит только если в процессе согласования оказывается, что оба устройства поддерживают более позднюю версию протокола.

Говоря об инструментах, которые уже сейчас доступны для разработчиков, стоит отметить новый процессор CC2640R2F и бесплатный стек BLE5-Stack от Texas Instruments. К радости разработчиков, BLE5-Stack основан на предыдущей версии BLE-Stack, и изменения в его использовании коснулись только новых особенностей Bluetooth 5.0.

Как увеличилась скорость передачи данных в Bluetooth 5?

Bluetooth 5 использует беспроводное соединение с физической скоростью передачи данных до 2 Мбит/с, что в два раза выше, чем у Bluetooth 4.х [1, 3]. Здесь стоит отметить, что эффективная скорость обмена данными зависит не только от физической пропускной способности канала передачи, но и от соотношения служебной и полезной информации в пакете, а также от сопутствующих «накладных» расходов, например, потери времени между пакетами (таблица 1).

Таблица 1. Скорость обмена данными для различных версий Bluetooth

Параметр Bluetooth 4.0/4.1 Bluetooth 4.2 Bluetooth 5.0
Физическая скорость передачи данных, Мбит/с 1 1 2
Длина пакета данных, байт PDU 27 27…255 27…255
Скорость передачи данных, Мбит/с 0,305 0,780 1,4

В версиях Bluetooth 4.0 и 4.1 физическая пропускная способность канала составляла 1 Мбит/с, что при длине пакета данных PDU в 27 байт позволяло достигать скорости обмена до 305 кбит/с. В версии Bluetooth 4.2 появилось расширение LE Data Length Extension. Благодаря ему после установления соединения между устройствами появлялась возможность увеличить длину пакета до 251 байта, что приводило к росту скорости обмена данными в 2,5 раза – до 780 кбит/с.

В версии Bluetooth 5 сохранилась поддержка LE Data Length Extension, что совместно с ростом физической пропускной способности до 2 Мбит/с позволяет достигать скорости обмена данными до 1,4 Мбит/с.

Как показывает практика, такое ускорение передачи данных не является пределом. Например, беспроводной микроконтроллер CC2640R2F способен работать со скоростями вплоть до 5 Мбит/с.

Стоит сказать и о распространенном заблуждении, что рост пропускной способности до 2 Мбит/с был достигнут за счет сокращения радиуса действия. Конечно, физически микросхема приемопередатчика (PHY) при работе с частотой 2 Мбит/с имеет на 5 дБм меньшую чувствительность, чем при работе с частотой 1 Мбит/с. Однако кроме чувствительности есть и другие факторы, которые способствуют увеличению радиуса действия, например, переход к кодированию данных. По этой причине при прочих равных условиях Bluetooth 5 оказывается более надежным и имеет больший радиус действия по сравнению с Bluetooth 4.0. Подробно об этом рассказывается в одном из следующих разделов статьи.

Как активировать высокоскоростной режим передачи данных в Bluetooth 5?

При установлении соединения между двумя устройствами Bluetooth изначально используются настройки Bluetooth 4.0 [2]. Это значит, что на первом этапе устройства обмениваются данными на скорости 1 Мбит/с. После установления соединения мастер с поддержкой Bluetooth 5.0 может начать процедуру PHY Update Procedure, цель которой — установление максимальной скорости 2 Мбит/с. Эта операция будет успешной, только если ведомый также поддерживает Bluetooth 5.0. В противном случае скорость остается на уровне 1 Мбит/с.

Для разработчиков, ранее использовавших BLE-Stack от Texas Instruments, хорошей новостью станет то, что для выполнения приведенной процедуры в новом стеке BLE5-Stack выделена одна единственная функция HCI_LE_SetDefaultPhyCmd(). Таким образом при переходе на Bluetooth 5.0 у пользователей продуктов TI первоначальная инициализация не вызовет проблем. Также для разработчиков будет полезен пример, выложенный на портале GitHub [4], который позволяет оценить работу двух микроконтроллеров CC2640R2F, работающих в составе CC2640R2 LaunchPads в режимах High Speed и Long Range.

Как увеличился радиус действия Bluetooth 5?

В спецификации Bluetooth 5.0 говорится об увеличении радиуса действия в четыре раза по сравнению с Bluetooth 4.0. Это достаточно тонкий вопрос, на котором стоит остановиться подробнее.

Во-первых, понятие «в четыре раза» является относительным и не привязывается к конкретному радиусу действия в метрах или километрах. Дело в том, что дальность радиопередачи сильно зависит от целого ряда факторов: состояния окружающей среды, уровня помех, числа одновременно передающих устройств и так далее. В итоге ни один производитель, а также и сам разработчик стандарта Bluetooth SIG, конкретных значений не приводит. Увеличение радиуса действия оценивается в сравнении с Bluetooth 4.0.

Для дальнейшего анализа необходимо выполнить некоторые математические расчеты и оценить бюджет мощности радиоканала [5]. При использовании логарифмических значений бюджет радиоканала (дБ) равен разности мощности передатчика (дБм) и чувствительности приемника (дБм):

Для Bluetooth 4.0 стандартная чувствительность приемника составляет -93 дБм. Если полагать мощность передатчика 0 дБм, то бюджет составляет 93 дБ.

Увеличение радиуса действия в четыре раза потребует увеличения бюджета на 12 дБ, что дает значение 105 дБ. Как же предполагается достигать этого значения? Есть два пути:

  • увеличение мощности передатчиков;
  • увеличение чувствительности приемников.

Если идти по первому пути и увеличивать мощность передатчика, это неизбежно вызовет рост потребления. Например, для CC2640R2F переход на выходную мощность 5 дБм приводит к росту тока потребления до 9 мА (рисунок 1). При мощности 10 дБм ток увеличится до 20 мА. Такой подход не выглядит привлекательным для большинства беспроводных устройств с батарейным питанием и не всегда подходит для IoT, а ведь именно на эту область в первую очередь и ориентировался Bluetooth 5.0. По этой причине второе решение выглядит более предпочтительным.

Рис. 1. Увеличение потребления микроконтроллера CC2640R2F при росте мощности передатчика

Рис. 1. Увеличение потребления микроконтроллера CC2640R2F при росте мощности передатчика

Для увеличения чувствительности приемника предлагается два способа:

  • снижение скорости передачи;
  • использование кодирования данных Coded PHY.

Уменьшение скорости передачи данных в восемь раз теоретически повышает чувствительность приемника на 9 дБ. Таким образом до заветного значения не хватает всего 3 дБ.

Необходимые 3 дБ удается получить с помощью дополнительного кодирования Coded PHY. Ранее в версиях Bluetooth 4.х кодирование битов было однозначным 1:1. Это значит, что поток данных напрямую направлялся на дифференциальный демодулятор. В Bluetooth 5.0 при использовании Coded PHY существует два дополнительных формата передачи:

  • с кодированием 1:2, при котором каждому биту данных ставятся в соответствие два бита в потоке радиоданных. Например, логическая «1» представляется как последовательность «10». При этом физическая скорость остается равной 1 Мбит/с, а реальная скорость передачи данных падает до 500 кбит/с.
  • С кодированием 1:4. Например, логическая «1» представляется последовательностью «1100». Скорость передачи данных при этом уменьшается до 125 кбит/с.

Описанный подход называется Forward Error Correction (FEC) и позволяет обнаруживать и исправлять ошибки на приемной стороне, а не запрашивать повторную передачу пакетов, как это было в Bluetooth 4.0.

На бумаге все выглядит неплохо. Остается только выяснить, насколько эти теоретические выкладки соответствуют реальности. В качестве примера возьмем все тот же микроконтроллер CC2640R2F. Благодаря различным улучшениям и новым режимам модуляции Bluetooth 5.0, приемопередатчик этого процессора имеет чувствительность -97 дБм при скорости обмена 1 Мбит/с и -103 дБм при использовании Coded PHY и скорости обмена 125 кбит/с. Таким образом в последнем случае до уровня 105 дБ не хватает всего 2 дБм.

Для оценки радиуса действия CC2640R2F инженеры из Texas Instruments провели полевой эксперимент в городе Осло. При этом с точки зрения уровня шумов окружающую среду в данном опыте нельзя назвать «дружелюбной», так как в непосредственной близости находилась деловая часть города.

Для получения бюджета мощности больше 105 дБ было решено увеличить мощность передатчика до 5 дБм. Это позволило достичь внушительного итогового значения в 108 дБм (рисунок 2). При выполнении эксперимента дальность действия составила 1,6 км, что является весьма впечатляющим результатом, особенно – если учесть минимальный уровень потребления радиопередатчиков.

Рис. 2. Бюджет мощности радиоканала CC2640R2F

Рис. 2. Бюджет мощности радиоканала CC2640R2F

Как изменился подход к широковещательным сообщениям Bluetooth 5?

Ранее в Bluetooth 4.x для установления соединений между устройствами использовалось три выделенных канала данных (37, 38, 39). С их помощью устройства находили друг друга и обменивались служебной информацией. По ним же можно было передавать широковещательные пакеты данных. Такой подход имеет недостатки:

  • при большом количестве активных передатчиков эти каналы можно попросту перегрузить;
  • все больше устройств использует широковещательные посылки без установления соединения «точка-точка». Это особенно важно для интернета вещей IoT;
  • новая система кодирования Coded PHY потребует в восемь раз больше времени на установление соединения, что дополнительно будет нагружать широковещательные каналы.

Чтобы решить эти проблемы в Bluetooth 5.0, было решено перейти к схеме, при которой данные передаются по всем 37 каналам данных, а служебные каналы 37, 38, 39 используются для передачи указателей. Указатель отсылает к тому каналу, по которому будет производиться передача широковещательного сообщения. При этом данные передаются всего лишь один раз. В итоге удается значительно разгрузить служебные каналы и устранить это узкое место.

Также стоит отметить, что теперь длина данных широковещательного пакета может достигать 255 байт вместо 6…37 байт PDU в Bluetooth 4.x. Это чрезвычайно важно для приложений IoT, так как позволяет минимизировать накладные расходы на передачу и обойтись без установления соединений, а значит и сократить уровень потребления.

Поддерживает ли Bluetooth 5 Mesh-сети?

В июле 2017 года была опубликована спецификации для Bluetooth Mesh. Texas Instruments планирует поддерживать эту технологию в будущем.

Решения от Texas Instruments для Bluetooth 5

Одним из самых первых микроконтроллеров с Bluetooth 5.0 стал высокопроизводительный процессор CC2640R2F производства компании Texas Instruments.

CC2640R2F построен на базе современного 32-битного ядра ARM Cortex-M3 с рабочей частотой до 48 МГц. Работой радиопередатчика управляет второе 32-битное ядро ARM Cortex-M0 (рисунок 3). Кроме того, CC2640R2F отличается богатой цифровой и аналоговой периферией.

Достоинством микроконтроллера CC2640R2F также является малый уровень потребления (таблица 2). Это относится ко всем режимам работы. Например, в активном режиме при приеме данных по радиоканалу потребление составляет 5,9 мА, а при передаче – 6,1 мА (0 дБм) или 9,1 мА (5 дБм). При переходе в спящий режим питающий ток и вовсе падает до 1 мкА.

Рис. 3. Блок-схема микроконтроллера CC2640R2F

Рис. 3. Блок-схема микроконтроллера CC2640R2F

Сочетание трех таких важных качеств как поддержка Bluetooth 5.0, малое потребление и высокая пиковая производительность делает CC2640R2F весьма интересным решением для интернета вещей. При этом с помощью данного микроконтроллера можно создавать весь спектр IoT-устройств: автономные датчики, работающие несколько лет от одной батарейки CR2032, мосты между дополнительным управляющим процессором и каналом Bluetooth 5.0, сложные приложения, требующие высокой вычислительной мощности.

Таблица 2. Потребление беспроводного микроконтроллера CC2640R2F с поддержкой Bluetooth 5

Режим работы Параметр Значение (при Vcc = 3 В)
Активные вычисления мкА/МГц ARM® Cortex®-M3 61 мкА/МГц
Coremark/мА 48,5
Coremark при частоте 48 МГц 142
Радиообмен Пиковый ток при приеме, мА 5,9
Пиковый ток при передаче, мА 6,1
Режим сна Контроллер датчиков, мкА/МГц 8,2
Режим Sleep mode с включенным RTC и сохранением памяти, мА 1

Для быстрого начала работы с CC2640R2F компания Texas Instruments подготовила традиционный отладочный набор LAUNCHXL—CC2640R2 (рисунок 4). С помощью пары таких устройств можно оценить быстродействие и дальность радиопередачи по Bluetooth 5.0. Для этого можно воспользоваться готовыми примерами [4] или создать собственное приложение на базе бесплатного протокола BLE 5 stack 1.0 (www.ti.com/ble).

Рис. 4. Внешний вид отладочного набора LAUNCHXL-CC2640R2

Рис. 4. Внешний вид отладочного набора LAUNCHXL-CC2640R2

Заключение

Новая версия протокола Bluetooth 5.0 ориентирована на максимальное соответствие потребностям Интернета вещей (IoT). По сравнению с версией Bluetooth 4.0, она имеет целый ряд качественных улучшений:

  • скорость передачи данных увеличилась в два раза и достигла 2 Мбит/с;
  • дальность передачи возросла в четыре раза за счет кодирования данных Coded PHY и Forward Error Correction (FEC);
  • пропускная способность широковещательных сообщений выросла в 8 раз.

Кроме того, Bluetooth 5.0 обеспечивает обратную совместимость с устройствами Bluetooth 4.x, а также поддерживает большинство расширений поздних версий протокола.

Оценить возможности Bluetooth 5.0 можно уже сейчас с помощью инструментов производства Texas Instruments. Компания выпускает высокопроизводительный и малопотребляющий микроконтроллер CC2640R2F, предоставляет бесплатный стек BLE 5 stack 1.0 и множество готовых примеров для отладочного набора LAUNCHXL-CC2640R2.


Источник: www.compel.ru