Як побудувати сенсорну мережу за допомогою Bluetooth All-Electronics
Завдяки широкій підтримці смартфонів та інших мобільних пристроїв, Bluetooth став бездротовою технологією вибору для підключення споживачів до їхніх персональних електронних пристроїв, таких як носні та медичні пристрої. Завдяки впровадженню Bluetooth 5, розробники IoT можуть, на додаток до того, щоб скористатися всіма цими перевагами, забезпечити дедалі більший прогрес, більший діапазон і швидкість передачі даних у зв'язку з сенсорними мережами та іншими програмами IoT.
Ключові дані
Наявність інтегрованих мікросхем з підтримкою Bluetooth для бездротових мереж допомогло розробникам швидше включити ці компоненти у свої конструкції. Однак, впроваджуючи захищені мережі Bluetooth, розробники стикаються з різними проблемами у створенні Bluetooth-сумісних служб та програмних програм, які можуть безпечно використовувати ці компоненти. Ця стаття показує, що завдяки вдосконаленому компоненту Bluetooth та пов’язаному з ним середовищі розробки від Cypress Semiconductor розробники можуть освоїти їх та забезпечити безпечні концентратори та сенсорні мережі за допомогою підключення Bluetooth.
Для того, щоб створювати конструкції для цих програм, розробники мають все більший вибір доступних компонентів Bluetooth 5. Ці компоненти з повною RF-підсистемою та ядром процесора здатні здійснювати транзакції низького рівня, пов'язані зі зв'язком Bluetooth. Однак необхідне низьке споживання енергії та безпечне підключення до мереж IoT можуть призвести до ускладнень при забезпеченні Bluetooth у цих програмах.
Інтегроване рішення з Bluetooth
Cypress Semiconductor розробив мікроконтроллер CYW20719 спеціально для задоволення зростаючого попиту на конструкції Bluetooth, що працюють від акумуляторів, для IoT, носіїв, персональної електроніки та інших малопотужних програм. На додаток до своїх енергозберігаючих функцій, підтримка функцій Bluetooth 5, таких як адаптивний метод стрибка частоти, є суттєвою перевагою у широко використовуваних радіосередовищах у зв'язку з цими програмами.
Компонент оснащений радіопідсистемою Bluetooth з низьким енергоспоживанням, процесором ARM-Cortex-M4-CP з блоком з плаваючою точкою (FPU, блоком з плаваючою точкою) та кількома периферійними блоками (рис. 1). Крім того, вбудований в мікросхему механізм безпеки прискорює шифрування за допомогою відкритих ключів і пропонує функції шифрування, які є важливими для безпечних процесів Bluetooth. Блок управління живленням (PMU, блок управління живленням), також інтегрований у мікросхему, забезпечує енергоефективну роботу, яку багато виробників все частіше вимагають щодо компонентів із підтримкою Bluetooth.
Радіопідсистема CYW20719 включає в себе повні шляхи радіочастотного сигналу 2,5 ГГц для відправки (Tx) і прийому (Rx). Для шляху сигналу Rx компонент послаблює позасмугові сигнали. Таким чином, він досягає чутливості до Rx -95,5 дБм і дозволяє розробникам використовувати компонент без додаткових фільтрів, якщо це необхідно. У тракті сигналу Tx є вбудований підсилювач потужності (PA, підсилювач потужності), який Cypress розробив для конфігурованих рівнів потужності передачі від -24 дБм до максимум +4 дБм. Окрім інтегрованого фізичного рівня (PHY), компонент на мікросхемі також має рівень Bluetooth 5 MAC (Medium Access Control). Завдяки оптимізованим шляхам передачі сигналів Rx та Tx, компонент споживає лише 5,9 мА струму Rx та 5,6 мА струму Tx.

1: CYW20719 від Cypress Semiconductor поєднує в собі процесор Arm Cortex-M4, повну підсистему Bluetooth та інтегровані програмні послуги, що представляє собою повний бездротовий мікроконтролер MCU з підтримкою Bluetooth 5 для енергоефективних конструкцій.
Для подальшого мінімізації споживання електроенергії компонент пропонує кілька режимів енергоспоживання, керованих вбудованим блоком управління. PMU живить окремі радіочастотні та цифрові ланцюги живлення та включає в себе інтегрований регулятор напруги, низьковольтний регулятор занурення (LDO регулятор) для цифрових схем та окремий LDO регулятор для радіочастотних ланцюгів (рис. 2). Крім того, PMU пропонує окремий байпасний регулятор LDO (BYPLDO), який автоматично обходить понижуючий регулятор і постачає LDO регулятори для цифрових та високочастотних ланцюгів, якщо напруга живлення VBAT падає нижче 2,1 вольт.
Під час роботи PMU регулює схеми живлення відповідно до обраного режиму. Доступні режими - це повністю активний режим, режим очікування та три різні режими сну. У режимі з найменшим енергоспоживанням, режимі SDS (вимкнений режим сну), PMU перемикає всі компонентні блоки, за винятком струму вводу-виводу, годинника реального часу (RTC) та спеціального енергозберігаючого Осцилятор (LPO), який використовується як джерело для деяких блоків і таймер пробудження.
Зображення 2: PMU Cypress CYW20719 управляє окремими ланцюгами живлення, які можна вибірково деактивувати в різних енергозберігаючих режимах, щоб зменшити споживання енергії в енергозберігаючих конструкціях. Cypress Semiconductor
Навіть маючи ці мінімальні ресурси, CYW20719 може підтримувати з'єднання з іншим, раніше сполученим компонентом Bluetooth у режимі SDS, використовуючи для цього менше 70 мікроампер (мкА). Однак пам'ять не можна використовувати в цьому режимі. Тому компонент потрібно перезавантажити, перш ніж він зможе знову виконувати більш складні операції. Компонент трохи активніший у двох інших режимах очікування, у режимі сну (PDS) та режимі сну. Крім усього іншого, в цих режимах все ще можна використовувати пам’ять. Це пов'язано з відповідним, поступовим збільшенням споживання електроенергії. Навіть тоді розробники з дуже обмеженим бюджетом енергії можуть використовувати режим PDS для рекламних каналів Bluetooth Low Energy та активних з'єднань. Керуючи режимами енергоспоживання компонента, розробники можуть забезпечити надзвичайно енергозберігаючу роботу без необхідності шкодити функціональності.
Системна інтеграція
Незважаючи на свої гнучкі режими роботи та широкий діапазон функцій, CYW20719 вимагає декількох додаткових компонентів для завершення апаратної інтеграції в конструкцію системи. Оскільки важливі компоненти вже інтегровані в мікросхему, розробникам потрібно додати лише кілька резисторів, з’єднувальні конденсатори, індуктор 2,2 мкГн, як Murata LQH2MCN2R2M52L, та феритові кульки, такі як Murata BLM15AG601SN1D (рис. 3). Все-таки рекомендується розміщувати смуговий фільтр між CYW20719 та відповідними компонентами антени, щоб зменшити гармоніку.
Зображення 3: Оскільки всі важливі функції вже інтегровані в Cypress CYW20719, розробники можуть завершити апаратну інтеграцію кількома додатковими компонентами, такими як рекомендований смуговий фільтр для зменшення гармонік. Cypress Semiconductor
Подібним чином компонент сприяє інтеграції програмного забезпечення зі своєю вбудованою пам’яттю, включаючи 1 Мб Flash, 512 Кб оперативної пам’яті та 2 Мб ПЗУ. Хоча Flash і ROM пропонують розробникам зони зберігання для своїх програм, вбудована ПЗП зарезервована для компонентного програмного забезпечення та профілів Bluetooth. Компонент має виправлену оперативну пам’ять для підтримки необхідних оновлень мікропрограми. Це область в оперативній пам'яті, яка пов’язана за допомогою логіки управління виправленнями. Нарешті, компонент також має постійно активну область пам'яті, що дозволяє зберігати дані навіть в енергозберігаючих режимах.
Незважаючи на те, що оперативна пам'ять та флеш-пам'ять, інтегровані на мікросхемі, не обов'язково здаються великими в порівнянні з іншими сучасними компонентами, розширена підтримка програмного забезпечення, інтегрована в ПЗУ, гарантує, що пам'яті завжди доступно для типових додатків. Cypress конфігурує вбудовану ПЗУ із всеосяжним набором програмного забезпечення, що охоплює все, від найнижчого рівня апаратного абстрагування (HAL) до інтерфейсу прикладного програмування (API) для вразливого середовища (бездротове підключення до Інтернету для вбудованих пристроїв) (рис. 4).
Спираючись на HAL, прошивка ПЗУ запускає інтегровану операційну систему в режимі реального часу і бере на себе всі взаємодії з апаратним забезпеченням CYW20719. У той же час прошивка ПЗУ включає широкий спектр службових рівнів Bluetooth, включаючи ті, які підтримують загальний профіль атрибутів (GATT), що є важливим для Bluetooth, та загальний профіль доступу (GAP).
Малюнок 4: Прошивка 2 Мб ПЗУ Cypress CYW20719 пропонує повний стек програмного забезпечення, включаючи операційну систему в режимі реального часу, зменшуючи складність та розмір коду програми розробника. Cypress Semiconductor
У типових додатках система виконує код розробника з оперативної пам'яті, при цьому система використовує API Wiced для доступу до операційної системи в реальному часі, периферійних пристроїв та інших компонентних функцій. Хоча вимоги до оперативної пам'яті можуть суттєво відрізнятися, більшість програмного коду для CYW20719 зазвичай залишає достатньо вільної оперативної пам'яті для даних або пам'яті.
Для додатків з особливо великими кодовими базами програмісти можуть використовувати здатність CYW20719 обробляти код програми. У цьому випадку середовище з обмеженим доступом завантажує код та області даних лише для читання, вказані розробником, у вбудовану флеш-пам’ять, а решту розділів - в оперативну пам’ять. Цей підхід зменшує розмір оперативної пам'яті програми, але це може мати вплив на продуктивність. Отже, розробники повинні бути обережними при вказівці областей коду XIP і переконатися, що система завантажує чутливі до часу функції в оперативну пам’ять.
розробка додатків
Незважаючи на те, що CYW20719 спрощує інтеграцію дизайну, розробники, які шукають безпечні, енергоефективні додатки Bluetooth, можуть продовжувати зазнавати значних затримок із завершенням проектування обладнання та розробки додатків. Набір для оцінки Cypress CYW920719Q40EVB-01 використовує програмне середовище Wiced, щоб забезпечити еталонний дизайн та всебічну платформу для розробки для створення додатків IoT, сумісних з Bluetooth 5.0.
Рисунок 5: Оцінювальний набір CYW920719Q40EVB-01 поєднує в собі CYW20719 на несучому модулі з декількома компонентами базової плати для підтримки типового додатку IoT. Cypress Semiconductor
Оціночний набір побудований навколо несучого модуля, що включає CYW20719 (рис. 3) та детектор напруги XC6119N від Torex Semiconductor, який підключений до виводу RST_N на CYW20719 для виконання скидання. Несучий модуль припаяний до базової карти комплекту, на якій є 9-осьовий датчик руху LSM9DS1TR від ST Microelectronics, NTC-термістор із серії NCU від Murata, порти GPIO CYW20719, з'єднання для налагодження, сумісне з Arduino Заголовки розширень, а також перемикачі та світлодіоди розташовані як простий користувальницький інтерфейс (Рисунок 5).
Приклад програмного забезпечення від Cypress використовує CYW20719 та інші компоненти для всебічної демонстрації безпечного з'єднання Bluetooth у репрезентативній мережі IoT, що включає кілька компонентів датчика та центральний концентратор (Рисунок 6). За допомогою цього зразка програми розробники можуть вивчити різні рівні безпеки для з'єднання компонента датчика та концентратора та оцінити вплив цих різних рівнів безпеки на обмін даними.
Для апаратного забезпечення програми розробники використовують окремий комплект CYW920719Q40EVB-01, який налаштований як захищений концентратор, а також додаткові комплекти, які налаштовуються як окремі датчики в мережі. ПК, підключений до кожного набору за допомогою послідовного посилання, виконує роль консолі для встановлення параметрів, перегляду даних, друку повідомлень про налагодження та інших взаємодій із зразком програми.
Зображення 2: PMU Cypress CYW20719 управляє окремими ланцюгами живлення, які можна вибірково деактивувати в різних енергозберігаючих режимах, щоб зменшити споживання енергії в енергозберігаючих конструкціях. Cypress Semiconductor
Cypress поставив програмне забезпечення для цього зразка програми у своєму мовному пакеті CYW20917 BLE Secure Hub для свого середовища розробки WICED. У цьому випадку пакет містить два проекти для двох окремих ролей у прикладі програми. Проект, що запускається на наборі, зазначеному як захищений концентратор, дозволяє концентратору підтримувати кілька ролей протоколу Bluetooth. Зокрема, програмне забезпечення концентратора має забезпечувати з'єднання на окремих рівнях безпеки з різними наборами, призначеними як ведені. Проект датчика виконується на наборах, сконфігурованих як підлеглі, який призначений для ілюстрації збору даних та зв'язку на рівні безпеки, який був встановлений під час з'єднання. Кожен проект містить кілька модулів заголовка та коду, які підтримують окремі функціональні ролі.
У протоколі Bluetooth таблиця пошуку, так звана база даних GATT (БД), визначає тип і функції з'єднання Bluetooth через набір визначених служб, кожна з яких включає набір підтримуваних функцій. Наприклад, специфікація Bluetooth включає заздалегідь визначені послуги GATT, які варіюються від корисних функцій, таких як попередження та інформація про компоненти, до спеціальних функцій, таких як вимірювання артеріального тиску та пульсоксиметри. Загальний профіль доступу Bluetooth (GAP) компонента, який відіграє більш важливу роль, ніж послуги GATT, визначає, як він ідентифікується в мережі та як встановлює зв’язки, як тільки його розпізнають.