- Чи забезпечує Bluetooth 5.0 зворотну сумісність з Bluetooth 4.x?
- Як збільшилася швидкість передачі даних в Bluetooth 5?
- Як активувати високошвидкісний режим передачі даних в Bluetooth 5?
- Як збільшився радіус дії Bluetooth 5?
- Як змінився підхід до широкомовною повідомленнями Bluetooth 5?
- Чи підтримує Bluetooth 5 Mesh-мережі?
- Рішення від Texas Instruments для Bluetooth 5
- висновок
Наши партнеры ArtmMisto
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]. При використанні логарифмічних значень бюджет радіоканалу (дБ) дорівнює різниці потужності передавача (дБм) і чутливості приймача (дБм):
Бюджет радіоканалу = потужність TX (дБм) - чутливість RX (дБм)
Для 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» представляється послідовністю «1 100». Швидкість передачі даних при цьому зменшується до 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-пристроїв: автономні датчики, що працюють кілька років від однієї батарейки CR20 32, мости між додатковим керуючим процесором і каналом 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 підготувала традиційний оцінний набір LAUNCHXL- CC 2640 R 2 (рис. 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.
4.x?Як збільшилася швидкість передачі даних в Bluetooth 5?
Як активувати високошвидкісний режим передачі даних в Bluetooth 5?
Як збільшився радіус дії Bluetooth 5?
Як змінився підхід до широкомовною повідомленнями Bluetooth 5?
Чи підтримує Bluetooth 5 Mesh-мережі?
Тепер, коли стали з'являтися перші пристрої з Bluetooth 5, у користувачів і розробників справедливо виникають питання: які з заявлених раніше обіцянок втілилися в реальність?
Наскільки зросли радіус дії і швидкість передачі даних?
Як це відбилося на рівні споживання?
Яким чином змінився підхід до формування широкомовних пакетів?