Существует ли беспроводная блютус 5.0 гарнитура. Bluetooth v4.2: что же действительно нового и как это работает? Есть ли уже возможность пощупать
Здравствуйте.
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 бит заголовка отличаются. Поле «Lenght» - это сумма длин полезных данных и поля MIC (Message Integrity Check), находящегося в PDU (если последнее включено).
Если в версии 4.1 поле «Lenght» имеет размер 5 бит, то в версии 4.2 это поле размером 8 бит.
Отсюда несложно вычислить, что поле «Lenght» в версии 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»
В связи с этим в криптографическом тулбоксе менеджера безопасности помимо 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.
Bluetooth 5 – это не просто другое поколение Bluetooth. Это значительное изменение в способе подключения к другим устройствам. С этого момента ваша жизнь резко изменится, если ваш смартфон оснащен Bluetooth 5.
Что такое Bluetooth и как его использовать?
В 1994 году появился новый стандарт связи устройств. Шведская компания Эрикссон привела в то время к унификации беспроводных технологий, как и в 20 веке, когда король Харальд Блюйз объединил викингами под одной нацией. В честь этого короля новая волна была окрещена его именем, и в 2017 году пятое поколение приносит нам новое измерение, чтобы общаться с объектами вокруг нас.
Наличие Bluetooth 5 на наших телефонах означает, что мы также будем иметь гораздо более тесную связь с интеллектуальными объектами вокруг нас. Bluetooth 5 работает быстрее, сильнее и может доходить до четырех раз больше, чем предыдущая версия.
Hands-free звонки и необходимость приблизиться к вашему телефону, потому что вы теряете связь, ушли в прошлое с устройствами Bluetooth 5. Теперь вы можете отправиться в любое место своего дома, не теряя соединения, независимо от того, где находится ваш телефон. Это все благодаря способности Bluetooth 5 поддерживать высокую пропускную способность более чем на 100 метров. Данное расстояние Usain Bolt может пробежать за 9,58 секунд, а Bluetooth будет принимать за 5 миллисекунд.
У нас уже есть устройства, которые синхронизируются по Bluetooth, но до сих пор вы могли слушать музыку только на одном динамике или на одном наушнике. С помощью Bluetooth 5 вы можете подключить несколько устройств.
Диапазон Bluetooth находится между NFC и Wi-Fi. Его главным преимуществом является его безопасность. Зашифрованная информация перемещается с одного устройства на другое, что делает его особенно полезным для устройств, которые контролируют наше здоровье или даже управляют платежами.
Сети Wi-Fi в наших домах, и Bluetooth 5 может помочь отменить их, контролируя большую часть устройств IoT, подключенных к Wi-Fi, таких как динамики, телевизор или кофейник. Кроме того, благодаря BLE (Bluetooth с низким энергопотреблением), вам, возможно, не придется зависеть от разъемов, так как вы будете использовать меньше энергии.
Bluetooth 5: новые устройства, которые будут определять будущее IoT
Наши смартфоны постепенно начинают становиться пультом дистанционного управления для всех электронных устройств вокруг нас. Не только фитнес-трекеры или наушники; Мы можем теперь управлять пылесосами, лампочками и даже автомобилями с нашими телефонами.
В марте на рынок вышли первые устройства с этой новой технологией, которая была анонсирована чуть меньше, чем год назад: Samsung Galaxy S8 и S8 +. Второй, Xiaomi Mi 6, был выпущен на китайский рынок в конце апреля. Следующие устройства, которые будут поставляться с Bluetooth 5, будут HTC U 11, который будет выпущен 16 мая, и Sony Xperia XZ Premium, который должен появиться в магазинах этим летом.
Эти четыре устройства первыми взяли азарт на эту улучшенную версию Bluetooth, но можно с уверенностью сказать, что после весны мы, вероятно, также увидим эту спецификацию на OnePlus 5, Samsung Galaxy Note 8.
Только подключения одного комплекта наушников ушла в прошлое благодаря Bluetooth 5.
Bluetooth 5: удвоенная скорости и диапазон
Пятое поколение этой короткой волны, которая движется в диапазоне 2,4 ГГц, имеет гораздо больший охват и быстрее, чем предыдущие версии. Он обеспечивает низкое энергопотребление и высокий уровень безопасности с помощью шифрования (который соответствует стандарту защиты правительства США), а также в два раза быстрее, до 5120 кбит/с.
Bluetooth 5 удваивает диапазон Bluetooth 4.0, который составляет до 60 метров. Другими словами, на 240 метров BT5 поддерживает скорость 128 кбит/с, а на 120 м – 500 кбит/с. С другой стороны, это новое поколение также может иметь в 8 раз больше соединений, чем старый стандарт.
Bluetooth 5 поддерживает BLE (Bluetooth с низким энергопотреблением), который был представлен в версии 4.0. Таким образом, увеличение скорости и дальности не влияет на энергопотребление устройств BLE.
Bluetooth 5: новое измерение для аудио
Во-первых, это увеличение расстояния, скорости и количества подключений повлияет на количество устройств, к которым мы можем подключиться, и объем информации, которую мы можем отправить. Это уже непосредственно влияет на нас.
С Galaxy S8 мы можем одновременно подключить две Bluetooth-гарнитуры. Таким образом, два человека могут слушать одну и ту же песню одновременно, не беспокоя окружающих. Однако, с видео на S8, мы заметили небольшую задержку в одном из двух подключенных наушников, но мы надеемся, что это улучшится с обновлениями программного обеспечения. В версии 5.0 аудио не имеет специального сжатия для улучшения качества, но ожидается, что этот аспект будет расширен в стандартном обзоре в 2018 году, возможно, в версии 5.1.
Аудио для двух Bluetooth-гарнитур с Samsung Galaxy S8.
Вторая (и на мой взгляд самая важная) вещь заключается в том, что при большем объеме данных качество звука может увеличиваться, пока нет никакой разницы между ним и использованием кабеля. В настоящее время сжатие звука через Bluetooth, SBC, хуже, чем у CD, так как обычно оно передается со скоростью около 328 Кбит/с. Но эта скорость не является проблемой для Bluetooth 5.
У Sony уже есть технология под названием LDAC, которая передает аудио через Bluetooth со скоростью 990 Кбит/с, что является вполне управляемой скоростью передачи для Bluetooth 5.
Bluetooth 5 – это будущее
Через четыре года в мире будет более 48 миллиардов смарт-устройств, из которых около трети будет иметь Bluetooth-соединение. Другими словами, на наши смартфоны будет подключено несколько миллиардов устройств. Очевидно, что стандарт Bluetooth будет одним из ведущих игроков в Интернете вещей (IoT).
Это уже король связи среди носимых, и многие устройства Smart Home также общаются с этой «голубой» волной. Поэтому единственное, что остается в будущем, это раздвинуть границы.
Очевидное будущее – это тот случай, когда мы можем контролировать больше устройств, чем в настоящее время с нашими смартфонами. Скоро мы сможем менять каналы через Bluetooth, а также увеличивать и уменьшать температуру на термостате или яркость света в нашей гостиной.
Bluetooth обладает большим потенциалом в области виртуальной реальности с этой новой скоростью. Благодаря крепкой связи между гарнитурами VR и другими устройствами нам больше не придется помещать наши смартфоны в мини гарнитуру. Телефонные дисплеи могли иметь четкое разрешение, не жертвуя временем автономной работы, и гарнитуры VR могли иметь свой собственный экран с правильным разрешением для своей цели. Это также значительно снизит вес устройства.
Видео: Новости о новой технологии Blutetooth 5.0
Здравствуйте.
3 декабря 2014 года Bluetooth SIG официально анонсировала спецификацию bluetooth версии 4.2.
В пресс-релизе указаны 3 главных нововведения:
- увеличение скорости приема-передачи данных;
- возможность подключения к интернету;
- улучшение конфиденциальности и безопасности.
В этой статье я хочу рассказать, как реализованы эти 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.
Профиль определяет следующие роли:
- роль маршрутизатора (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));
- обмен ключами.
- генерация краткосрочных ключей (Short Term Key (STK)) под названием «LE legacy pairing»
- генерация долговременных ключей (Long Term Key (LTK)) под названием «LE Secure Connections»
В связи с этим в криптографическом тулбоксе менеджера безопасности помимо 3-х существующих функций, появилось еще 5 и эти 5 используются только для обслуживания нового процесса сопряжения «LE Secure Connections». Эти функции генерируют:
- LTK и MacKey;
- подтверждающие переменные;
- переменные проверки аутентификации;
- 6-ти значные числа, используемые для отображения на связываемых устройствах.
Так вот, если при сопряжении во 2-й фазе по методу «LE legacy pairing» генерировалось 2 ключа:
- Temporary Key (TK): 128-ми битный временный ключ, используемый для генерации STK;
- Short Term Key (STK): 128-ми битный временный ключ, используемый для шифрования соединениЯ
- Long Term Key (LTK): 128-ми битный ключ, используемый для шифрования последующих соединениЙ.
- предотвращение отслеживания, т.к. теперь за счет «Numeric Comparison» есть возможность контролировать возможность подключения к Вашему устройству.
- улучшение энерго-эффективности, т.к. теперь не требуется дополнительная энергия для повторных генераций ключей при каждом соединении.
- отраслевой стандарт шифрования для обеспечения конфиденциальных данных.
4. Есть ли уже возможность пощупать?
Да, есть.
NORDIC Semiconductor выпустил «nRF51 IoT SDK» который включает в себя стек, библиотеки, примеры и API для устройств серии nRF51. Сюда входят:
- чипы nRF51822 и nRF51422;
- nRF51 DK;
- nRF51 Dongle;
- nRF51822 EK.
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.
Литература
- Bluetooth Core Specifcation 5.0 FAQ. 2016. Bluetooth SIG.