- Зміст статті З ростом кількості мережевих бездротових пристроїв (охоронні і пожежні сигналізації,...
- WWW
- Висока пропускна здатність даних
- Збільшення пропускної здатності мовлення
- Покращене співіснування з поліпшеним чергуванням каналів
- BLE Mesh - поки тільки 4.0
- вибір заліза
- INFO
- SoftDevice
- отладочная плата
- Продовження доступно тільки учасникам
- Варіант 2. Відкрий один матеріал
Зміст статті
З ростом кількості мережевих бездротових пристроїв (охоронні і пожежні сигналізації, телемедицина, моніторинг навколишнього середовища і безліч інших) з'являються нові і удосконалюються старі стандарти і протоколи бездротового зв'язку. Різні компанії і DIY-розробники використовують для своїх пристроїв і мереж різні стандарти передачі даних, наприклад ZigBee, Z-Wave, Bluetooth 4, Wi-Fi, 6LoWPAN, Thread, ANT або власні пропрієтарні протоколи. Не так давно вийшла нова специфікація стандарту радіозв'язку для обміну даними по повітрю Bluetooth 5. У цій статті я на прикладі програмування новітнього мікроконтролера покажу переваги нового стандарту.
На правах люблячого логіку «програміста з паяльником» 🙂 почну статтю з плану.
- Огляд стандарту. Переваги п'ятої версії в порівнянні з четвертої.
- Вибір заліза. Приймач, передавач.
- Опис отладочной плати і мікроконтролера. У цій частині я розповім про параметри обраного мікроконтролера і налагоджування плати.
- Початок роботи з SDK (software development kit) під обраний мікроконтролер. Тут описується, як почати розробляти прості радіопріложенія під Bluetooth Low Energy четвертої версії на нашій отладочной платі. Щоб ми звикли до нового набору інструментів і на конкретному прикладі навчилися спілкуватися по Bluetooth c Android-телефоном.
- Тест нового стандарту Bluetooth 5. У цій частині ми зробимо дві прошивки для двох налагоджувальних плат і розглянемо нові режими радіопередачі по Bluetooth 5.
Огляд стандарту Bluetooth 5
Що ми знаємо про новий стандарт? Ми знаємо, що він зворотно сумісний з четвертими версіями специфікації BLE (Bluetooth Low Energy, Bluetooth Smart), тобто з версіями 4.0, 4.1, 4.2, і дозволяє новим пристроям з Bluetooth 5 спілкуватися зі старими девайсами (зрозуміло, нові фічі будуть недоступні) . По-четверте версіях BLE, в повній відповідності з назвою, дозволяв проектувати пристрої з набагато меншим споживанням, ніж Bluetooth Classic. Але все інше, крім енергоспоживання, було не дуже - я про швидкість, обсяг переданих даних в одному пакеті і дальність. Всі ці властивості покращує Bluetooth 5.
Більш детально можна дізнатися на офіційному сайті Bluetooth 5 , А ми зараз коротко зупинимося на головних перевагах п'ятої версії.
WWW
Всі нові Bluetooth-специфікації публікуються тут .
Висока пропускна здатність даних
Разом з удосконаленнями, введеними в Bluetooth 4.2, які дозволяли збільшити обсяг даних в одному пакеті, і ще більшим збільшенням можливого обсягу даних в пакеті в Bluetooth 5 (DLE) загальна пропускна здатність стала уп'ятеро вища, ніж вихідний рівень Bluetooth 4.0!
Тепер чиста пропускна здатність даних без урахування накладних витрат, таких як адресація, може досягати 1,4 Мбіт / c. Навіщо потрібна така висока швидкість? Згоден, безглуздий питання, навіть не знаю, навіщо я його придумав. 🙂 користувачів-аудиофилов це порадує швидкістю передачі якісної музики, а для нас, гиков, відкриває можливість набагато швидше оновлювати прошивку пристрою «по повітрю» (OTA-DFU). Всього ж завдяки змінам, внесеним до фізичний (PHY) шар для роботи Bluetooth-радіо, стали доступні чотири швидкості:
- 2 Мбіт / с;
- 1 Мбіт / с;
- 500 Кбіт / с;
- 125 Кбіт / с.
Упевнений, що з першими двома швидкостями тобі вже все ясно, але от питання: навіщо при такому багатстві потрібні дві «нижні передачі»?
А справа в тому, що при низьких швидкостях і пов'язаної з ними LE закодованої обробці з використанням прямої корекції помилок (FEC) стає легше відмовитися від повторної передачі даних в навколишньому шумі. Коротше кажучи, чутливість поліпшується. І не треба при високому рівні шуму повторно запитувати пакети даних (маленький квадрокоптер може полетіти далі від пульта управління).
Збільшення пропускної здатності мовлення
Для зниження завантаження мовного (advertisment, рекламного :)) каналу і вирішення проблеми перевантаження каналів пропонуються мовні розширення (вони ж «рекламні розширення»).
Розширення довжини даних і новий PHY-рівень означають, що довжина пакетів збільшується з точки зору фактичних даних і часу, протягом якого вони займають канал. Оскільки існують тільки три рекламних каналу, ці канали незабаром можуть перевантажуватися мовними пакетами з великими обсягами даних при більш низьких швидкостях передачі в ефірі, таких як 125 Кбіт / с.
Рекламні розширення пом'якшують цю потенційну проблему.
Покращене співіснування з поліпшеним чергуванням каналів
Bluetooth 5 також надав вдосконалений алгоритм секвенування каналів (CSA # 2) для поліпшення псевдослучайного послідовного перемикання каналів. CSA # 2 підвищить продуктивність співіснування дозволених пристроїв при наявності навколо Wi-Fi і інших Bluetooth-пристроїв. Все SoCs серії nRF52 мають можливість підтримувати CSA # 2.
BLE Mesh - поки тільки 4.0
Mesh-мережі - мережева топологія комп'ютерної мережі, побудована на принципі осередків, в якій радіостанції мережі з'єднуються один з одним і здатні приймати на себе роль комутатора для інших учасників. Ця організація мережі досить складна в налаштуванні, проте при такій топології досягається висока відмовостійкість. Як правило, вузли з'єднуються за принципом «кожен з кожним».
Таким чином, велика кількість зв'язків забезпечує широкий вибір маршруту слідування трафіку всередині мережі, а значить, обрив одного з'єднання не порушить роботу мережі в цілому. Але BLE Mesh-мережі розраховані (принаймні поки що) на Bluetooth стандарту четверте версій.
вибір заліза
На момент написання цієї статті п'яту версію протоколу підтримували смартфони Samsung і Sony і у вільному продажу було досить мало BLE5-сумісних пристроїв.
Плата nrf52840 Preview DK
Тому, щоб оцінити всі можливості Bluetooth 5, я вирішив взяти дві налагоджувальні плати з мікро контролером nRF52840 компанії Nordic Semiconductor. Чому саме їх? Просто Nordic Semiconductor давно славиться своїми розробками саме в області Bluetooth-мікросхем. Крім того, їх розробки традиційно відрізняються осудною ціною і багатою документацією. Чіпи серії nRF52 і конкретно nRF52840 представляють собою систему на кристалі (SoC, System on a Chip) і, згідно з документацією, мультипротокольні - можуть працювати зі стандартами Bluetooth 5, Bluetooth Low Energy, ANT, 802.15.4, 2.4GHz RF. Підтримують вони і NFC.
INFO
Всі багато протокольних SoCs серії nRF52 підтримують перераховані фичи. Крім того, nRF52840 має поліпшену вихідну потужність, що разом з новими функціями Long Range (збільшення відстані мовлення) переповнює серце розробника підсвідомої радістю. 🙂
NRF52840 - це вдосконалений багатопроцесорний SoC, що ідеально підходить для надмалих бездротових додатків. Має повну апаратну підтримку Bluetooth 5 (включаючи збільшену дальність мовлення). Софт nRF52840 крутиться на 32-бітному процесорі ARM Cortex-M4F (64 МГц досить кожному (с) майже Білл Гейтс) з 1 Мбайт флеш-пам'яті і 256 Кбайт ОЗУ на чіпі. Підтримує інструкції DSP (цифрова обробка сигналу), обчислення з плаваючою точкою (FPU).
Підтримує декілька протоколів, включаючи Bluetooth з низьким енергоспоживанням, ANT (хто-небудь використовував цей протокол? :)), 802.15.4 і 2.4GHz.
NRF52840 SoC використовує управління живленням, щоб максимізувати енергоефективність додатків і час автономної роботи. Живити чіп можна від напруги постійного струму в діапазоні від 1,7 до 5,5 В.
EasyDMA, як і всі DMA (прямий доступ до пам'яті), дозволяє розвантажити ЦП нашого мікроконтролера, наприклад щоб передавати потоки даних з АЦП в UART без участі ядра.
У SoC є також потужний криптографічний співпроцесор на кристалі (ARM Cryptocell-310), що забезпечує криптографічні функції і послуги для прискорення операцій, економії часу обробки процесором даних і скорочення споживання енергії. Він включає в себе справжній генератор випадкових чисел (TRNG) і підтримує широкий спектр асиметричних, симетричних і хешірующіх криптографічних сервісів. NFC також підтримується в чіпі.
NRF52840 має вбудовану підтримку USB 2.0 (full speed) і вбудоване регулювання харчування, що дозволяє безпосередньо підключатися до USB-хостам для передачі даних.
Чіп сумісний з існуючими серіями nRF52, nRF51 і nRF24 Series від Nordic Semiconductor.
SoftDevice
Стеки бездротових протоколів від Nordic Semiconductor відомі як SoftDevices. NRF52840 підтримується S140 SoftDevice.
S140 SoftDevice - це підтримує Bluetooth 5 (поки alpha).
отладочная плата
Отладочную плату на основі цього мікроконтролера я вибрав до пари чіпу, ось вона: nRF52840 Preview DK Development Kit for nRF52840 . Між іншим, до неї додається NFC-антенка!
NRF52840 PDK - це універсальний комплект для розробки плат для Bluetooth 5, Bluetooth з низьким енергоспоживанням, ANT, 802.15.4 і 2.4GHz з використанням nRF52840 SoC. Цей комплект підтримує розробку для SoC nRF52840.
Набір апаратно сумісний з Arduino Uno Revision 3, дозволяє використовувати сторонні Шілд, сумісні з цим стандартом. Антена NFC може бути підключена до набору, щоб активувати функціональність тега NFC. Комплект забезпечує доступ до всіх входах і виходах через інтерфейси і має чотири світлодіода і чотири кнопки, які програмуються користувачем.
Він підтримує стандартну ланцюжок інструментів розробки Nordic Software Development з використанням Keil, IAR і GCC. Опції програми / налагодження в комплекті - це Segger J-Link OB.
Крім усього іншого, на основі молодшого чіпа серії nRF52832 вже існують плати для платформи Arduino, наприклад Arduino Primo. Чому це добре? Та тому, що це позбавляє тебе від кодинга на С.
Продовження доступно тільки учасникам
Варіант 1. Приєднайся до товариства «Xakep.ru», щоб читати всі матеріали на сайті
Членство в співтоваристві протягом зазначеного терміну відкриє тобі доступ до ВСІХ матеріалами «Хакера», збільшить особисту накопичувальну знижку і дозволить накопичувати професійний рейтинг Xakep Score! Детальніше
Варіант 2. Відкрий один матеріал
Зацікавила стаття, але немає можливості стати членом клубу «Xakep.ru»? Тоді цей варіант для тебе! Зверни увагу: цей спосіб підходить тільки для статей, опублікованих більше двох місяців тому.
Упевнений, що з першими двома швидкостями тобі вже все ясно, але от питання: навіщо при такому багатстві потрібні дві «нижні передачі»?
Чому саме їх?
О-небудь використовував цей протокол?
Чому це добре?
Ru»?