Правдивая история Bluetooth. Как он развивался и что будет дальше. Как выбрать Bluetooth-устройство для прослушивания музыки Что такое блютуз 4.1

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 перед предшественниками, в том числе – на примере реального процессора с поддержкой Bluetooth 5.0 производства компании Texas Instruments .

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

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

Да, обеспечивает . 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).

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

В версиях 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 . Это значит, что на первом этапе устройства обмениваются данными на скорости 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 , который позволяет оценить работу двух микроконтроллеров CC2640R2F, работающих в составе CC2640R2 LaunchPads в режимах High Speed и Long Range.

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

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

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

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

Бюджет радиоканала = мощность T X (дБм) – чувствительность R X (дБм)

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

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

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

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

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

  • снижение скорости передачи;
  • использование кодирования данных 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 км, что является весьма впечатляющим результатом, особенно – если учесть минимальный уровень потребления радиопередатчиков.

Как изменился подход к широковещательным сообщениям 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-сети?

Решения от 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 мкА.

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

Таблица 2. Потребление беспроводного микроконтроллера CC 2640 R 2 F с поддержкой 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 подготовила традиционный отладочный набор (рисунок 4). С помощью пары таких устройств можно оценить быстродействие и дальность радиопередачи по Bluetooth 5.0. Для этого можно воспользоваться готовыми примерами или создать собственное приложение на базе бесплатного протокола BLE 5 stack 1.0 (www.ti.com/ble).

Заключение

Новая версия протокола 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.

Литература

  1. Bluetooth Core Specifcation 5.0 FAQ. 2016. Bluetooth SIG.


Спустя год после утверждения спецификаций Bluetooth 4.1, организация Bluetooth Special Interest Group (SIG) представила обновленный 4.2. В Bluetooth 4.2 была повышена скорость обмена информацией между устройствами Bluetooth Smart: размер пакетов данных был увеличен в 10 раз, а быстродействие поднялось в 2.5 раза.

Спустя год после утверждения спецификаций Bluetooth 4.1, организация Bluetooth Special Interest Group (SIG) представила обновленный 4.2. В Bluetooth 4.2 была повышена скорость обмена информацией между устройствами Bluetooth Smart: размер пакетов данных был увеличен в 10 раз, а быстродействие поднялось в 2.5 раза. Улучшена работа с устройствами сегмента интернета вещей, благодаря Internet Protocol Support Profile (IPSP) теперь поддерживается соединение с интернетом напрямую по протоколу Ipv6/6LoWPAN и управление устройствами Bluetooth Smart.

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

Источник: Bluetooth

Kirkland, WA - December 03, 2014

The Bluetooth Special Interest Group (SIG) officially adopted version 4.2 of the Bluetooth core specification this week. Key updates in 4.2 improve privacy and increase speed, and a soon-to-be ratified profile will enable IP connectivity. Bluetooth 4.2 opens up new opportunities for developers, OEMs and the industry to build a better user experience for consumers while creating use cases never before imagined.

“Bluetooth 4.2 is all about continuing to make Bluetooth Smart the best solution to connect all the technology in your life - from personal sensors to your connected home. In addition to the improvements to the specification itself, a new profile known as IPSP enables IPv6 for Bluetooth, opening entirely new doors for device connectivity,” said Mark Powell, executive director of the Bluetooth SIG. “Bluetooth Smart is the only technology that can scale with the market, provide developers the flexibility to innovate, and be the foundation for the IoT.”

Privacy and Security
Bluetooth 4.2 introduces industry-leading privacy settings that lowers power consumption and builds upon the government-grade security features of the Bluetooth specification. The new privacy features put control back into the hands of the consumer by making it difficult for eavesdroppers to track a device through its Bluetooth connection without permission. For example, when shopping in a retail store with beacons, unless you’ve enabled permission for the beacon to engage with your device, you can’t be tracked.

Speed
Bluetooth 4.2 increases the speed and reliability of data transfers between Bluetooth Smart devices. By increasing the capacity of Bluetooth Smart packets, devices transfer data up to 2.5 times faster than with previous versions. Increased data transfer speeds and packet capacity reduces the opportunity for transmission errors to occur and reduces battery consumption, resulting in a more efficient connection.

Internet Connectivity
Building on the capabilities released earlier with Bluetooth 4.1 and the new features released in 4.2, the Internet Protocol Support Profile (IPSP) will allow Bluetooth Smart sensors to access the Internet directly via IPv6/6LoWPAN. IP connectivity makes it possible to use existing IP infrastructure to manage Bluetooth Smart “edge” devices. This is ideal for connected home scenarios that need both personal and wide area control. This profile will be ratified by the end of the year.

Песочница

Пупсень и Вупсень 26 октября 2011 в 22:07

Bluetooth 4.0 - сказ о стандарте

  • Чулан *

Bluetooth или «Синезуб», с которым многие впервые познакомились еще будучи школьниками или студентами, имеет за своими плечами довольно короткую биографию.

В 1994 году два инженера, работавших в Швеции на знаменитую в те времена компанию Ericsson, решили решить раз и навсегда проблему кабелей и изобрели собственный стандарт беспроводной связи, основанный на методе распределенной смены частоты радиоволн. Через 4 года была создана «группа особого интереса Bluetooth» или Bluetooth SIG, формализовавшая первый единый стандарт беспроводной связи. Она состояла из сотрудников компаний Ericsson, Nokia, Toshiba и Intel. В настоящий момент в группу входит более 13 000 различных компаний.

Стандарты
С момента выхода первой версии спецификации стандарт уже поддерживал беспроводную передачу голосовых данных, удаленное управление аудио- и видео-контентом, работу с изображениями и принтерами, могло получать доступ к SIM-карте, книге контактов и работать с данными медицинских устройств. Всё это - по воздуху и в далеком 1998 году!

Четвертая версия Bluetooth, о которой мне и хотелось бы подробно рассказать в этой записи, получила свой финальный вид и стала доступна на суд публике в конце июня 2010 года. Почти целый год технология не появлялась в массовых устройствах, пока в конце июля 2011 Apple не объявили о выходе обновленных моделей ноутбука MacBook Air и системного блока Mac Mini, в котором одной из ключевых особенностей являлось появление Bluetooth 4.0. Еще больше внимания со стороны СМИ технология привлекла к себе после презентации iPhone 4S, в котором тоже был установлен чип со стандартом 4-й версии.

Bluetooth 4.0
В спецификацию четверки были включены 3 основных протокола беспроводной передачи данных:
  • Классический Bluetooth. Был внедрен для совместимости со всеми существующими устройствами, работающими на предыдущих версиях стандарта. Поддерживает все основные функции предыдущих протоколов, такие как передача всевозможных типов данных, работа в качестве модема, беспроводная синхронизация данных, связь с помощью иных типов соединения, как у NFC, и прочее.
  • Высокоскоростной протокол Bluetooth. Был представлен еще в 3-й версии, его суть основана на использовании дополнительных уровней передачи данных. Всё это выглядит так: при обычном использовании чипа он работает по базовой технологии, используя метод, связанный с радиоволнами. Как только устройству нужно передать файл относительно немалых размеров, оно переключается на другие уровни передачи информации, а именно - уровень передачи данных по Wi-Fi. Таким образом экономится как энергия устройства (дополнительные уровни требуют большего количества энергии, но она экономится за счет сильно меньшего времени передачи файла), так и время пользователей.
  • Энергосберегающий протокол. Является основным отличием 4-й спецификации от своих предшественников, нацелен для применения в устройствах с небольшим расходом энергии, радиус действия - до 50 метров. Суть заключается в более низком потреблении энергии при нахождении устройства в режиме ожидания. Как утверждают разработчики, устройства, использующие данный протокол, будут работать существенное дольше, чем их собратья, работающих на классическом протоколе Bluetooth: по расчетам технологов система сможет продержаться более года без подзарядки на одной лишь «кнопочной» батарейке. Этот протокол не совместим с классической реализацией Bluetooth и у него есть кое-какие различия со своим прародителем: так, например, скорость беспроводной передачи данных ограничена 1 МБ/с (у классичесского 3 МБ/с), а приложения могут передавать по протоколу до 0,25 МБ/с (2,1 МБ/с). Протокол также использует более совершенное 128-разрядное шифрование.

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

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

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

В чём именно заключается преимущество данного нововведения? Учитывая растущую популярность фитнес-гаджетов и носимых устройств, оснастив своё устройство модулем с поддержкой Bluetooth 4.1, производитель сможет убрать в цепочке «гаджет — смартфон/планшет — доступ в облачный сервис» среднее звено и реализовать подключение напрямую, минуя дополнительные интерфейсы и т.д.

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

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

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

Здравствуйте.

3 декабря 2014 года Bluetooth SIG официально анонсировала спецификацию bluetooth версии 4.2.
В пресс-релизе указаны 3 главных нововведения:

  • увеличение скорости приема-передачи данных;
  • возможность подключения к интернету;
  • улучшение конфиденциальности и безопасности.
Главный тезис пресс-релиза: версия 4.2 - идеальна для интернета вещей (IoT).
В этой статье я хочу рассказать, как реализованы эти 3 пункта. Кому интересно добро пожаловать.

Все, что описано ниже, относится только к BLE, поехали…

1. Увеличение скорости приема-передачи пользовательских данных.


Самым главным недостатком у BLE была малая скорость передачи данных. Хотя с какой стороны посмотреть, ведь изначально BLE придумывали ради сохранения энергии источника, питающего устройство. А чтобы беречь энергию, надо с перерывами выходить на связь и передавать немного данных. Однако, все равно, весь интернет заполнен возмущениями о малой скорости и вопросами о возможности ее увеличения, а также увеличения размера передаваемых данных.

И вот с появлением версии 4.2, Bluetooth SIG заявил об увеличении скорости передачи в 2,5 раза и размера передаваемого пакета в 10 раз. Как же они этого добились?

Сражу скажу, что эти 2 цифры связаны друг с другом, а именно: скорость увеличилась потому, что увеличился размер передаваемого пакета.

Посмотрим на PDU (protocol data unit) канала данных:


Каждый PDU содержит 16-ти битный заголовок (header). Так вот, этот заголовок в версии 4.2 отличается от заголовка в версии 4.1.

Вот заголовок версии 4.1:

А вот заголовок версии 4.2:

Примечание: RFU (Reserved for Future Use) - поле, обозначенное этой аббревиатурой зарезервировано для будущего использования и заполняется нулями.

Как мы видим, последние 8 бит заголовка отличаются. Поле «Length» - это сумма длин полезных данных и поля MIC (Message Integrity Check), находящегося в PDU (если последнее включено).
Если в версии 4.1 поле «Length» имеет размер 5 бит, то в версии 4.2 это поле размером 8 бит.

Отсюда несложно вычислить, что поле «Length» в версии 4.1 может содержать значения в промежутке от 0 до 31, а в версии 4.2 в промежутке от 0 до 255. Если из максимальных значений вычесть длину поля MIC (4 октета), то получим, что полезных данных может быть 27 и 251 октет для версии 4.1 и 4.2 соответственно. На самом деле максимальное кол-во данных еще меньше, т.к. в полезной нагрузке находятся еще и служебные данные L2CAP (4 октета) и ATT (3 октета), но это мы рассматривать не будем.

Таким образом размер передаваемых пользовательских данных увеличился приблизительно в 10 раз. Что же касается скорости, которая, почему-то, увеличилась не в 10 раз, а всего в 2.5 раза, то тут нельзя говорить о пропорциональном увеличении, потому, что все упирается еще и в гарантированность доставки данных, ведь гарантировать доставку 200 байт немного сложнее чем 20-ти.

2. Возможность подключения к интернету.

Пожалуй, самое интересное нововведение, из-за которого Bluetooth SIG и объявила, что версия 4.2 делает интернет вещей (IoT) лучше именно благодаря этой возможности.

Еще в версии 4.1 в L2CAP появился режим «LE Credit Based Flow Control Mode». Этот режим позволяет управлять потоком данных, используя т.н. схему, основанную на кредите. Особенность схемы в том, что она не использует сигнальные пакеты, для обозначения кол-ва передаваемых данных, а запрашивает у другого устройства кредит на определенный объем данных для передачи, тем самым ускоряя процесс передачи. При этом, принимающая сторона каждый раз при получении фрейма, уменьшает счетчик фреймов, и при достижении последнего фрейма может разорвать соединение.

В списке команд L2CAP появилось 3 новых кода:
- LE Credit Based Connection request – запрос на соединение по схеме кредита;
- LE Credit Based Connection response – ответ на соединение по схеме кредита;
- LE Flow Control Credit – сообщение о возможности получить дополнительные LE-кадры.

В пакете «LE Credit Based Connection request»


есть поле «Initial Credits» длиной в 2 октета, указывающее на кол-во LE-фреймов, которое устройство может отправить на уровне L2CAP.

В ответном пакете «LE Credit Based Connection response»


в том же поле указано кол-во LE-фреймов, которое может отправить другое устройство, а также в поле «Result» указан результат запроса на соединение. Значение 0x0000 говорит об успехе, остальные значения указывают на ошибку. В частности, значение 0x0004 указывает на отказ в соединении из-за отсутствия ресурсов.

Таким образом уже в версии 4.1 появилась возможность передачи большого кол-ва данных на уровне L2CAP.
И вот, практически одновременно с выходом версии 4.2, публикуется:

  • сервис: «IP Support Service» (IPSS) .
  • профиль IPSP (Internet Protocol Support Profile) , который определяет поддержку передачи пакетов IPv6 между устройствами, имеющими BLE.
Главным требованием профиля для уровня L2CAP является «LE Credit Based Connection» появившееся в версии 4.1, которое, в свою очередь позволяет передавать пакеты с MTU >= 1280 октетов (надеюсь намек на цифру понятен).

Профиль определяет следующие роли:
- роль маршрутизатора (Router) – используется для устройств, которые могут маршрутизировать IPv6 пакеты;
- роль узла (Node) – используется для устройств, которые могу только принимать или отправлять пакеты IPv6; имеют функцию обнаружения сервисов и имеют сервис IPSS, позволяющий маршрутизаторам обнаруживать данное устройство;

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

Как ни странно, но передача пакетов IPv6 не является частью спецификации профиля, и указывается в IETF RFC «Transmission of IPv6 packets over Bluetooth Low Energy» . В этом документе опредлен еще один интересный момент, а именно то, что при передаче пакетов IPv6 используется стандарт 6LoWPAN - это стандарт взаимодействия по протоколу IPv6 поверх маломощных беспроводных персональных сетей стандарта IEE 802.15.4.

Посмотрите на рисунок:


В профиле определено, что IPSS, GATT и ATT используются только для обнаружения сервиса, а GAP используется только для обнаружения устройства и установки соединения.

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

3. Улучшение конфиденциальности и безопасности.

Одной из обязанностей менеджера безопасности (Sequrity manager) (SM) является сопряжение двух устройств. В процессе сопряжения создаются ключи, которые затем используются для шифрования связи. Процесс сопряжения состоит из 3-х фаз:
  • обмен информацией о способах сопряжения;
  • генерация краткосрочных ключей (Short Term Key (STK));
  • обмен ключами.
В версии 4.2 2-я фаза разделилась на 2 части:
  • генерация краткосрочных ключей (Short Term Key (STK)) под названием «LE legacy pairing»
  • генерация долговременных ключей (Long Term Key (LTK)) под названием «LE Secure Connections»
А 1-я фаза добавилась еще одним способом сопряжения: «Numeric Comparison» который работает только со вторым вариантом 2-й фазы: «LE Secure Connections».

В связи с этим в криптографическом тулбоксе менеджера безопасности помимо 3-х существующих функций, появилось еще 5 и эти 5 используются только для обслуживания нового процесса сопряжения «LE Secure Connections». Эти функции генерируют:

  • LTK и MacKey;
  • подтверждающие переменные;
  • переменные проверки аутентификации;
  • 6-ти значные числа, используемые для отображения на связываемых устройствах.
Все функции используют алгоритм шифрования AES-CMAC с 128-ми битным ключом.

Так вот, если при сопряжении во 2-й фазе по методу «LE legacy pairing» генерировалось 2 ключа:

  • Temporary Key (TK): 128-ми битный временный ключ, используемый для генерации STK;
  • Short Term Key (STK): 128-ми битный временный ключ, используемый для шифрования соединениЯ
то по методу «LE Secure Connections» генерируется 1 ключ:
  • Long Term Key (LTK): 128-ми битный ключ, используемый для шифрования последующих соединениЙ.
Результатом этого нововведения мы получили:
  • предотвращение отслеживания, т.к. теперь за счет «Numeric Comparison» есть возможность контролировать возможность подключения к Вашему устройству.
  • улучшение энерго-эффективности, т.к. теперь не требуется дополнительная энергия для повторных генераций ключей при каждом соединении.
  • отраслевой стандарт шифрования для обеспечения конфиденциальных данных.
Как это ни странно звучит, но за счет улучшения безопасности мы получили улучшение энерго-эффективности.

4. Есть ли уже возможность пощупать?


Да, есть.
NORDIC Semiconductor выпустил «nRF51 IoT SDK» который включает в себя стек, библиотеки, примеры и API для устройств серии nRF51. Сюда входят:

  • чипы nRF51822 и nRF51422;
  • nRF51 DK;
  • nRF51 Dongle;
  • nRF51822 EK.
По