Содержание
С ростом количества сетевых беспроводных устройств (охранные и пожарные сигнализации, телемедицина, мониторинг окружающей среды и множество других) появляются новые и совершенствуются старые стандарты и протоколы беспроводной связи. Разные компании и 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
Выбор железа
На момент написания этой статьи пятую версию протокола поддерживали смартфоны Samsung и Sony и в свободной продаже было довольно мало BLE5-совместимых устройств.
Поэтому, чтобы оценить все возможности 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
Отладочная плата
Отладочную плату на основе этого микроконтроллера я выбрал под стать чипу, вот она: 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», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»← Ранее Сергей Лебедь. Интервью с руководителем службы кибербезопасности СбербанкаДалее → Опубликованы детали уязвимости в AMD Secure Processor
Способов трансляции данных «по воздуху» создано и используется довольно много. Популярностью обзавелся протокол BLE, который внедрен в электронику различного типа и успешно используется и по сей день. Что из себя представляет данный протокол и в каких сферах применим — рассмотрено в этой статье. Содержание
Зачем разработали BLE
После изучения и успешного применения передачи информации без проводов, появилась потребность передавать данные, используя устройства с автономными источниками питания. Проблема состоит в том, что с этим устройством должно работать еще одно, которое постоянно передает данные либо слушает эфир. Если у приемника и передатчика имеется батарейное питание, то наблюдаются проблемы со связью при разрыве постоянной передачи связи для экономии энергии, которые решили с новым протоколом передачи данных BlueTooth Low Energy (BLE).
BLE – это режим низкого энергопотребления, способствующий экономии заряда аккумулятора у сопряженных устройств.
Протокол стал частью Bluetooth 4.0. Операционная система Android поддерживает BLE с версии 4.3. В качестве пары, работающей с BLE, берется телефон с современной ОС, совместно с батарейной малой техникой (например, гарнитура). Но не исключены и взаимодействия иных гаджетов.
Чтобы принимать и передавать данные в необходимом объеме беспроводным способом, в стандарт Bluetooth LE включена скорость передачи информации, равная 1 Мбит/сек. Постоянный обмен данными затрачивает энергию, тем самым расходуя ее запасы. Поэтому протокол подразумевает разрыв постоянного эфира для экономии. Поэтому в протоколе не только важна скорость, а и то, что гаджеты умеют синхронизироваться друг с другом тогда, когда это необходимо. Около 99% всего времени гаджеты спят и экономят энергию. Потом просыпаются на короткий период для обмена данными и снова засыпают. Но чтобы пребывать в данном режиме, устройства сперва между собой необходимо синхронизировать. Этот режим и называется advertising.
В каких сферах применяется
Протокол BLE используется по сценарию: редко передавать данные и обрабатывать долгое время. В частности, возможно использование двухрежимных гаджетов BLE в смартфонах, планшетных ПК, ноутбуках. Однорежимные могут использоваться во множестве сфер деятельности. Под эти сферы попадают устройства из разделов здоровья, автоматизации, анализа, управления. Множество задач могут решаться, когда в радиусе двухуровневого модуля определяются иные одноуровневые BLE-приборы. К этим приборам относятся приборы-сигнализаторы, что уведомляют владельца об удалении от сумки, барсетки, кошелька, переносной тары и иных персональных вещей, оснащенных BLE-модулем. Отличное применение данным брелкам с BLE находят в качестве маячков для ребенка, чтобы не потерять его в достаточно людных местах. Устойчивая работа и низкое энергопотребление протокола BLE позволяют рассматривать его в качестве замены NFC, а именно RFID-меток. Но вариант совмещенной работы BLE + NFC выглядит более привлекательно. BLE дает большой радиус, сопряженный с устойчивой работой, второй отвечает за логическое сопряжение пары, плюс обеспечивает надежную защиту за счет малого радиуса действия. Не обходят стороной данную спецификацию в системах умных домов. Работа приборов через блютуз с низким энергопотреблением позволяет открывать удаленно двери, ворота и приводить в действие прочие механизмы с большого расстояния, подолгу не меняя аккумулятор в беспроводном и компактном органе управления. Кроме того, внедрение в смартфон, который всегда под рукой, BLE-модуля позволит на приличном удалении через сопряженные каналы управлять любыми приборами и аксессуарами умного дома. Или подключаться к сенсорной панели для удаленного управления с другой комнаты.
Поддерживаемые устройства
Протокол BLE содержится в модулях со встроенным программным обеспечением. Модулями оснащаются конечные устройства. В качестве модулей можно выделить:
- BT111 – создан для приложений, где нужна работа со стандартными протоколами Bluetooth и BLE.
- BLE112 – однорежимный BLE-модуль для сенсорных систем и прочих аксессуаров с батарейным питанием.
- USB BLED112 – аналогичный однорежимный BLE-модуль со всеми свойствами BLE112, но выполнен в форм факторе USB-флешки.
К BLE-устройствам можно отнести:
- Спортивные аксессуары по типу шагомеров, пульсометров, ритмометров, которые имеют форму часов для руки или браслета.
- Различные сенсоры для определения движения, температуры, влажности.
- Системы чтения и отображения информации с автономным источником питания.
- Бытовая медтехника по типу измерителей глюкозы, тонометров, температурных измерителей.
- Гаджеты для удаленного вызова, по типу радио-няня.
- Приборы бытовой электроники, по типу беспроводной периферии (клавиатуры, мышки), панелей и пультов.
- Устройства для автоматизации в жилом доме по типу шлюзов между соединенной к Smart House сенсорной сетью и смартфонами с Блютуз.
- Устройства безопасности, по типу тревожных кнопок, бесконтактных ключей и прочее.
Определение поддержки
Чтобы определить, работает ли ваш аксессуар с протоколом-BLE, следует изучить информацию об устройстве на сайте производителя или в инструкции по эксплуатации. Для устройств, работающих на Android, можно проверить поддержку с помощью приложений:
- BLE Checker.
- LightBlue.
- Bluetooth LE Scanner.
Множество таких «определителей» находится в Play Market и доступны для использования бесплатно. Модели телефонов, выпущенные до 2015 года включительно, могут не поддерживать данную опцию.
Вопросы безопасности BLE
Защита канала передачи данных между парой устройств в протоколе BLE обусловлена двумя режимами LE Секьюрити мод 1 и LE Секьюрити мод 2. Первый режим работает на Data Link layer (DLL), второй на AT&T. На DLL в протоколе Bluetooth LE присутствует шифрование и аутентификация с помощью технологии построения аутентификационного кода сообщения из блочного алгоритма шифрования (CCM) и шифра AES-128. При работе CCM и AES-128, добавляется к ним Protocol Data Unit и дополнительное сообщение для идентификации целостности, размером 4-байта, после которого PDU и сообщение шифруются. В некоторых случаях аутентификацию можно провести поверх нешифрованного соединения на канальном уровне. Но в таком случае на AT&T -уровне к PDU плюсуется двенадцати байтная сигнатура. Режимы безопасности включают в себя несколько уровней, используемых в зависимости от типа соединения.
Соединение пары происходит в три так называемых этапа:
- Первый – на канальном уровне два модуля обмениваются информацией о доступных возможностях ввода-вывода, а после принимают решение, по какому из обнаруженных произойдет взаимодействие.
- Второй – создание ключа для третьего этапа, который называется «временный ключ краткосрочного значения». Он послужит для надежной передачи данных о временном ключе. Ключ может быть передан тремя способами: с использованием альтернативного канала NFC, с введением шестизначного кода, вводимого пользователем, или без проверки аутентификации, если первый и второй способ организовать невозможно.
- Третий – конечные точки соединения обмениваются тремя 128 битными ключами и, если нарушений не замечено, пара успешно синхронизируется.
Различия протоколов Bluetooth
Так как Блютуз с низким энергопотреблением вошел в спецификацию Bluetooth 4.0, то технические сравнения проведены с классической версией.
Характеристика | Классический Блютуз | Bluetooth Low Energy |
Частота радиосигнала | 2.4 ГГц | 2.4 ГГц |
Дальность действия | 100 метров | Более 100 метров |
Скорость передачи | 1-3 Мб/сек | 1 Мб/сек |
Количество ведомых устройств | 7 | Опция зависит от реализации |
Безопасность | 128-битный шифр | 128-бит AES + Counter Mode |
Задержка | 100 мс | 6 мс |
Общее время передачи информации (минимум) | 100 мс | 3 мс |
Максимальный ток | До 30 мА | До 15 мА |
Мощность | 1 Вт | 0,01-0,05 Вт |
Также нельзя не отметить большое сходство протоколов BLE с BR / EDR – первым созданным Блютуз-протоколом:
- Работа в едином диапазоне ISM 4 ГГц.
- Модуляция GFSK.
- Скачкообразное перестроение частоты.
- Схожая схема канала с демодуляцией аналогового сигнала и преобразованием в цифровой.
Различия между BR / EDR и BLE-модулями в том, что первый делит полосу пропускания на 79 каналов с разносом в 1 МГц, а второй работает с передатчиком и приемником для разделения полосы на 40 каналов, с разбросом в 2 МГц.
Заключение
Bluetooth Low Energy – это протокол, специально разработанный для устройств с ограниченным источником автономной энергии, нуждающихся в отправке информации на протяжении нескольких дней или недель без подзарядки. Двухрежимными модулями BLE оснащаются смартфоны, планшетные ПК, ноутбуки. Однорежимные модули BLE используются в мелкой электронике и аксессуарах, типа измерителей пульса или бесконтактных ключей.
1. ОБЩЕЕ ОПИСАНИЕ
Bluetooth — это беспроводная технология связи малого радиуса действия, предназначенная для замены кабелей, соединяющих переносные и / или стационарные электронные устройства. Ключевыми особенностями Bluetooth являются надежность, малое энергопотребление и низкая стоимость. Многие характеристики базовой спецификации являются необязательными, что позволяет дифференцировать продукты.
Существует два представления системы беспроводной технологии Bluetooth: Basic Rate (BR) и Low Energy (LE). Обе системы включают в себя процедуры обнаружения устройства и установления соединения. Система Basic Rate включает такие опциональные расширения, как расширенная скорость передачи (Enhanced Data Rate, EDR), альтернативный контроль доступа к среде (Alternate Media Access Control, MAC) и расширения физического уровня (PHY). Система Basic Rate реализует синхронные и асинхронные соединения со скоростью передачи данных 721.2 кбит/с (базовая скорость), 2.1 Мбит/с (расширенная скорость передачи данных) и до 54 Мбит/с (802.11 AMP). Система LE включает в себя функции, разработанные для продуктов, не требующих высоких скоростей передачи данных, и во главе угла которых стоит меньшее энергопотребление, меньшая сложность и низкая стоимость. Устройства, реализующие обе системы, могут взаимодействовать с другими устройствами, реализующими обе системы, а также с устройствами, реализующими любую из систем.
Основными блоками Bluetooth устройства являются:
- Application (Приложение) — обеспечивает реализацию полезную для конечного пользователя логику работы;
- Host (Хост или ведущее устройство) — предоставляет верхние уровни стека протоколов Bluetooth, включая профиль общего доступа (GAP — Generic Access Profile), профиль общих атрибутов (GATT — Generic Attribute Profile), протокол логического соединения и адаптации (L2CAP — Logical Link Control and Adaptation Protocol), протокол атрибутов (ATT — Attribute Protocol) и, при необходимости, HCI;
- Controller (Контроллер) — предоставляет нижние уровни стека протоколов Bluetooth, включая физиский (BR/EDR или LE), канальный и, при необходимости, HCI;
Коммерческие продукты обычно используют одно из следующих аппаратных решений:
- однокристальная система, объединяющее в себе приложение, хост и контроллер;
- двухблочная система при которой Приложение и Хост соединяются с Контроллером по протоколу HCI (Host Controller Interface), например, посредством UART или USB;
- двухблочная система при которой Приложение соединяется с блоком связи (хост и контроллер) по проприетарному протоколу.
Cпецификации ядра Bluetooth 5.0 определяет два типа контроллеров — первичные и вторичные. При этом Bluetooth устройство должно иметь только один первичный контроллер в одной из следующих конфигураций:
- Контроллер BR/EDR;
- Контроллер LE;
- Объединение частей контроллеров BR/EDR и LE.
Ядро системы Bluetooth может дополнительно иметь один или несколько вторичных контроллеров в следующей конфигурации:
- Контроллер MAC / PHY (Alternate MAC/PHY, AMP), включающий в себя 802.11 PAL (уровень адаптации протокола, Protocol Adaptation Layer), 802.11 MAC и PHY, и, при необходимости, HCI.
Рис 1 — Bluetooth 5.0 (комбинация Хостов и Контроллеров)
1.1. ОБЗОР РАБОТЫ BR / EDR
Физический уровень радиоинтерфейса Basic Rate / Enhanced Data Rate (BR / EDR) работает в нелицензированной полосе ISM на частоте 2.4 ГГц. Система использует приемопередатчик с псевдослучайной перестройкой рабочей частоты FHSS (frequency-hopping spread spectrum) между множеством несущих для борьбы с помехами и замираниями. Радиоинтерфейс BR использует двоичную частотную манипуляцию. Скорость передачи символов составляет 1 мегасимвол в секунду (Мсим/с), что обеспечивает скорость передачи данных 1 мегабит в секунду (Мбит/с) или, с расширенной скоростью передачи данных EDR, 2 или 3 Мбит/с. Эти режимы называются Basic Rate и Enhanced Data Rate соответственно.
Во время обычной работы физический радиоканал совместно используется группой устройств, которые синхронизированы с общим тактовым сигналом и шаблоном скачкообразной перестройки частоты. Одно устройство предоставляет данные синхронизации и называется ведущее устройство. Все другие устройства, синхронизированные с тактовым генератором ведущего устройства, называются подчиненными (или ведомыми). Группа устройств, синхронизированных таким образом, образует пикосеть. Это основная форма связи в беспроводной технологии Bluetooth BR/EDR.
Устройства в пикосети используют определенный шаблон скачкообразной перестройки частоты, который алгоритмически определяется соответствующими полями в адресе Bluetooth и генераторе ведущего устройства. Основной шаблон скачкообразной перестройки представляет собой псевдослучайное распределение из 79 частот шириной 1 МГц в диапазоне ISM 2.4 ГГц. Шаблон скачкообразной перестройки может быть адаптирован для каждого ведомого устройства, чтобы исключить частоты, которые используются мешающими устройствами. Адаптивная технология скачкообразной перестройки улучшает сосуществование Bluetooth со статическими (не перескакивающими) системами ISM, когда они расположены рядом.
Физический канал подразделяется на временные интервалы, называемые слотами. Данные между устройствами Bluetooth передаются в пакетах, инкапсулируемых в эти слоты. Когда позволяют обстоятельства, для одного пакета может быть выделено несколько последовательных временных интервалов. Переключение частоты может происходить между передачей или приемом пакетов. Технология Bluetooth обеспечивает эффект полнодуплексной передачи посредством использования схемы дуплексной связи с временным разделением (Time-Division Duplex, TDD).
Внутри физических каналов формируются физические линки — physical link (за исключением физических каналов сканирования запросов — Inquiry scan и физических каналов сканирования страниц — Page scan, в которых физические линки не образуются). Физические линки обеспечивают двунаправленную передачу пакетов данных между ведущим и подчиненным устройствами (при этом прямые линки между подчиненными устройствами не допустимы). Также стоит отметить особый тип физических линков (Connectionless Slave Broadcast physical link), используемых для однонаправленной передачи пакетов данных от ведущего к потенциально неограниченному количеству активных ведомых устройств без установления соединения.
Физические линки используются в качестве транспорта для одного или нескольких логических каналов, поддерживающих передачу одноадресного синхронного, асинхронного, изохронного и широковещательного трафика. Трафик на логических каналах мультиплексируется на физический линк, занимая временные интервалы, назначенные функцией планирования в диспетчере ресурсов.
Каждый логический канал ассоциируется с определённым типом передачи (логическим транспортом — logical transport), имеющим определённые характеристики:
- ACL (Asynchronous Connection-oriented Logical transport – асинхронный с установлением соединения). Предназначен для доставки асинхронных данных пользователя и сигналов управления протоколов LMP и L2CAP.
- SCO (Synchronous Connection-Oriented – синхронный с установлением соединения) – симметричный канал для доставки синхронных данных пользователя посредством резервирования временных слотов.
- eSCO (Extended Synchronous Connection-Oriented – расширенный синхронный с установлением соединения). Поддерживает несколько скоростей передачи и повторную передачу пакетов.
- ASB (Active Slave Broadcast – широковещательный для подчинённых устройств в активном режиме). Односторонний (от ведущего к подчинённым), широковещательный, без установления соединения канал. Используется для передачи только пользовательских данных с уровня L2CAP всем подчинённым устройствам пикосети, находящимся в активном состоянии.
- PSB (Parked Slave Broadcast – широковещательный для подчинённых устройств в режиме парковки). Односторонний (отведущего к подчинённым), широковещательный, без установления соединения канал. Используется для передачи управляющих сигналов и пользовательских данных с уровня L2CAP всем подчинённым устройствам пикосети, находящимся в состоянии парковки.
Протокол L2CAP (англ. Logical Link Control and Adaptation Protocol) предоставляет протоколам более высокого уровня услуги по работе с данными, как ориентированные на соединения, так и без ориентации на них, с возможностями мультиплексирования и обеспечением операций по сегментации и обратной сборке. L2CAP имеет канал управления протоколом, который передается по дефолтному логическому транспорту ACL. Данные приложения, представленные в протоколе L2CAP, могут передаваться по любому логическому линку, который поддерживает протокол L2CAP.
Протокол управления соединениями (LMP – Link Manager Protocol), отвечает за установление логического канала связи между устройствами Bluetooth и его текущее администрирование (аутентификация, шифрование), согласование размеров пакетов, параметров качества передачи, управление излучаемой мощностью. Устройства, которые активны в пикосети, имеют по умолчанию асинхронный логический транспорт ACL, который используется для передачи сигнализации протокола LMP (за исключением ведомых широковещательных устройств без установления соединения, которые могут присоединяться к пикосети исключительно для прослушивания пакетов широковещательной передачи, используя логический транспорт PSB). Функция Link Manager использует LMP для управления работой устройств в пикосети и предоставления услуг для управления нижними уровнями архитектуры (radio layer и baseband layer).
1.2. Обзор работы Low Energy Bluetooth
Как и BR/EDR, LE (Low Energy) работает в нелицензированном диапазоне ISM 2.4 ГГц. Система LE использует приемопередатчик с псевдослучайной перестройкой рабочей частоты FHSS (Frequency-Hopping Spread Spectrum), используя множество несущих для борьбы с помехами и замираниями. При передаче LE используется двоичная частотная модуляция, чтобы минимизировать сложность приемопередатчика. LE использует терминологию, отличающуюся от BR/EDR и AMP, для описания поддерживаемого физического уровня (PHY) в части различий в модуляции, возможном кодировании и результирующих скоростях передачи данных. Обязательная символьная скорость составляет 1 мегасимвол в секунду (Мсим/с), где 1 символ представляет 1 бит, т.е. поддерживая битовую скорость 1 мегабит в секунду (Мбит/с), которая называется PHY LE 1M. Скорость передачи символов 1 мсим/с может дополнительно поддерживать кодирование с исправлением ошибок, которое называется LE-кодированным PHY (LE Coded PHY). Этот механизм может использовать любую из двух схем кодирования: S = 2, где 2 символа представляют 1 бит, следовательно, поддерживают скорость передачи данных 500 кбит/с, и S = 8, где 8 символов представляют 1 бит, поэтому поддерживается скорость передачи 125 кбит/с. Также может поддерживаться необязательная скорость передачи символов 2 Мсим/с с битрейтом 2 Мбит/с, которая называется PHY LE 2M. Скорость передачи 2 Мсим/с поддерживает только некодированные данные. LE 1M и LE 2M вместе обозначаются как некодированные PHY LE (LE Uncoded PHYs).
LE использует две схемы множественного доступа: множественный доступ с частотным разделением (FDMA) и множественный доступ с временным разделением (TDMA). В схеме FDMA используются 40 физических каналов по 2 МГц. Три канала используются в качестве первичных рекламных каналов (primary advertising channel), а 37 используются в качестве вторичных рекламных каналов (secondary advertising channel) и в качестве каналов данных (data channel). Использование TDMA основано на схеме опроса, в которой одно устройство передает пакет в предварительно определенное время, а ответное устройство отвечает через заренее предопределенный интервал.
Физический канал подразделяется на единицы времени, известные как события (events). Данные передаются между устройствами LE в пакетах, которые расположены в этих событиях. Существует четыре типа событий: реклама (Advertising), расширенная реклама (Extended Advertising), периодическая реклама (Periodic Advertising) и события подключения (Connection events).
Устройства, которые передают рекламные пакеты на физических (PHY) рекламных каналах, называются Рекламодателями (Advertisers). Устройства, которые принимают рекламные пакеты на рекламных каналах без намерения подключиться к Рекламодателю, называются Сканерами (Scanners). Передачи на физических рекламных каналах происходят в рекламных событиях (Advertising Events). В начале каждого рекламного события Рекламодатель отправляет рекламный пакет, соответствующий типу рекламного события. В зависимости от типа рекламного пакета, Сканер может направить запрос Рекламодателю, за которым может последовать ответ (в рамках одного и того же рекламного физического канала). Рекламный физический канал изменяется при передаче следующего рекламного пакета, отправленного Рекламодателем в том же рекламном событии. Рекламодатель может завершить рекламное событие в любое время во время события. Первый физический рекламный канал используется в начале следующего рекламного события.
Рис.2 — Advertising Events
Устройства LE могут выполнять взаимодействие в полном объеме в случае как однонаправленной, так и широковещательной связи между двумя или более устройствами с использованием рекламных событий. Также LE устройства могут использовать рекламные события для установления двунаправленной связи между двумя или более устройствами при использовании каналов данных или для установления периодических передач с использованием вторичных рекламных каналов.
Устройства, которым необходимо установить соединение с другим устройством, прослушивают рекламные пакеты для подключения. Такие устройства называются Инициаторами. Если Рекламодатель использует рекламные события для подключения, Инициатор может сделать запрос на подключение, используя тот же физический рекламный канал, по которому он получил рекламный пакет для подключения. Рекламное событие заканчивается, и начинаются событие подключения (Connection Events), если Рекламодатель получает и принимает запрос на установление соединения. Как только соединение установлено, Инициатор становится ведущим устройством (master), в так называемой пикосети, а Рекламодатель становится подчиненным устройством (slave). События соединения используются для отправки пакетов данных между ведущим и ведомым устройствами. В событиях соединения переключение физических каналов (channel hopping) происходит в начале каждого события соединения. В событии соединения ведущий и ведомый поочередно отправляют пакеты данных, используя один и тот же физический канал данных. Мастер инициирует начало каждого события соединения и может завершить каждое событие соединения в любое время.
Рис. 3 — Connection Events
Устройства в пикосети используют определенный шаблон скачкообразной перестройки частоты, который алгоритмически определяется полем, содержащимся в запросе на соединение, отправляемом Инициатором. Шаблон переключения, используемый в LE, представляет собой псевдослучайное распределение 37 частот в диапазоне ISM 2.4 ГГц. Шаблон скачкообразной перестройки может быть адаптирован путем исключения части частот, которые используются мешающими устройствами. Метод адаптивного исключения улучшает совместимость Bluetooth со статическими системами ISM, когда они расположены рядом.
По аналогии со спецификацией BR/EDR иерархия уровней LE выглядит следующим образом:
- физический канал,
- физический линк,
- логический транспорт,
- логический канал,
- L2CAP.
В физическом канале между устройствами формируется физический линк. Активный физический линк обеспечивает двунаправленную передачу пакетов между ведущим и ведомым устройствами. Поскольку физический канал LE может включать в себя несколько подчиненных устройств, существуют ограничения на то, какие устройства могут образовывать физические линки. Физический линк организуется между каждым ведомым и ведущим устройствами. Ведомым устройствам разрешено иметь физические линки более чем на одно ведущее устройство одновременно. Устройство может быть одновременно и ведущим и ведомым. Непосредственно между ведомыми устройствами в пикосети физические линки не образуются. В настоящее время изменения ролей между ведущим и ведомым устройствами не поддерживаются. Рекламные и периодические физические линки обеспечивают однонаправленную передачу пакетов от Рекламодателя потенциально неограниченному количеству Сканеров или Инициаторов.
Физический линк используется в качестве транспорта для одного или нескольких логических каналов, используя логический транспорт LE ACL (asynchronous connection logical transport)
которые транспортируют асинхронный трафик. Трафик на логических каналах мультиплексируется на физический линк, назначенный функцией планирования в диспетчере ресурсов. Протокол управления каналом физического уровня и линка (link layer protocol, LL) передается по логическому каналу вместе с пользовательскими данным. Активные устройства в пикосети для асинхронного соединения LE устройств используют логический транспорт LE ACL (asynchronous connection logical transport), формируемый по умолчанию для передачи сигнализации протокола LL. По умолчанию LE ACL создается всякий раз, когда устройство присоединяется к пикосети.
Функция Link Layer использует протокол LL для управления работой устройств в пикосети и предоставления услуг для управления нижними уровнями (PHY и LL). Как и в BR/EDR, над канальным уровнем уровень L2CAP обеспечивает абстракцию для приложений и сервисов. Он выполняет фрагментацию и дефрагментацию данных приложения, а также мультиплексирование и демультиплексирование нескольких физических каналов в общем логическом канале. L2CAP имеет протокол управления каналом, который передается поверх основного логического транспорта ACL (primary ACL logical transport).
В дополнение к L2CAP LE предоставляет два дополнительных логических уровня, которые находятся поверх L2CAP. Протокол управления безопасностью (Security Manager protocol, SMP) использует фиксированный канал L2CAP для реализации функций безопасности между устройствами. Протокол атрибутов (Attribute protocol, ATT) обеспечивает метод передачи небольших объемов данных по фиксированному каналу L2CAP. Протокол атрибутов также используется устройствами для определения услуг и возможностей других устройств. Протокол атрибутов также может использоваться через BR/EDR.
Поделиться:
Используемые источники:
- https://xakep.ru/2018/01/09/ble5/
- https://future2day.ru/protokol-bluetooth-low-energy/
- https://itechinfo.ru/content/bluetooth-50