Все, что вы хотели знать о Bluetooth 5.0
Содержание
- Обеспечивает ли Bluetooth 5.0 обратную совместимость с Bluetooth 4.x?
- Как увеличилась скорость передачи данных в Bluetooth 5?
- Как активировать высокоскоростной режим передачи данных в Bluetooth 5?
- Как увеличился радиус действия Bluetooth 5?
- Как изменился подход к широковещательным сообщениям Bluetooth 5?
- Поддерживает ли Bluetooth 5 Mesh-сети?
- Решения от Texas Instruments для Bluetooth 5
- Заключение
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 при росте мощности передатчика
Для увеличения чувствительности приемника предлагается два способа:
- снижение скорости передачи;
- использование кодирования данных 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
Как изменился подход к широковещательным сообщениям 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
Сочетание трех таких важных качеств как поддержка 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
Заключение
Новая версия протокола 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.
Источник: