Как да изградим сензорна мрежа с 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 MCU специално, за да отговори на нарастващото търсене на захранвани от батерии Bluetooth дизайни за IoT, носими устройства, лична електроника и други приложения с ниска мощност. В допълнение към енергоспестяващите си функции, поддръжката на Bluetooth 5 функции като адаптивния метод на прескачане на честотата е значително предимство в силно използваните радио среди във връзка с тези приложения.
Компонентът е оборудван с Bluetooth радиосистема с ниска консумация на енергия, ARM-Cortex-M4-CPU с единица с плаваща запетая (FPU, единица с плаваща запетая) и няколко периферни блока (Фиг. 1). В допълнение, механизмът за сигурност, интегриран в чипа, ускорява криптирането с публични ключове и предлага функции за криптиране, които са от съществено значение за сигурните Bluetooth процеси. И накрая, модул за управление на захранването (PMU, блок за управление на захранването), също интегриран в чипа, осигурява енергийно ефективна работа, която много производители все повече изискват за компоненти, поддържащи Bluetooth.
Радиоподсистемата на CYW20719 включва пълни 2,5 GHz пътища за RF сигнал за изпращане (Tx) и приемане (Rx). За пътя на сигнала Rx компонентът затихва сигнали извън обхвата. По този начин той постига Rx чувствителност от -95,5 dBm и позволява на разработчиците да използват компонента без допълнителни филтри, ако е необходимо. В пътя на сигнала Tx има интегриран усилвател на мощност (PA, усилвател на мощност), който Cypress разработи за конфигурируеми нива на мощност на предаване от -24 dBm до максимум +4 dBm. В допълнение към интегрирания физически слой (PHY), компонентът на чипа има и Bluetooth 5 MAC слой (Medium Access Control). Благодарение на оптимизираните Rx и Tx сигнални пътища, компонентът консумира само 5,9 mA Rx ток и 5,6 mA Tx ток.

Фигура 1: CYW20719 от Cypress Semiconductor комбинира процесор Arm Cortex-M4, цялостна подсистема Bluetooth и интегрирани софтуерни услуги и по този начин представлява пълен, Bluetooth 5-съвместим безжичен MCU за енергийно ефективни дизайни.
За да намали допълнително консумацията на енергия, компонентът предлага няколко режима на консумация на енергия, управлявани от интегрирана PMU. PMU захранва отделни RF и цифрови вериги за захранване и включва интегриран регулатор на ниско напрежение, регулатор на ниско напрежение (LDO регулатор) за цифрови схеми и отделен LDO регулатор за RF схеми (Фигура 2). В допълнение, PMU предлага отделен байпасен LDO регулатор (BYPLDO), който автоматично заобикаля понижаващия регулатор и доставя LDO регулаторите за цифровите и високочестотни вериги, ако захранващото напрежение VBAT падне под 2,1 волта.
По време на работа PMU настройва захранващите вериги в съответствие с избрания режим. Наличните режими са напълно активен режим, режим на празен ход и три различни режима на заспиване. В режим с най-ниска консумация на енергия, режим SDS (изключен режим на заспиване), PMU превключва всички компонентни блокове с изключение на I/O тока, часовника в реално време (RTC) и специален енергоспестяващ Осцилатор (LPO), който се използва като източник за някои блокове и таймер за събуждане.
Фигура 2: PMU на Cypress CYW20719 управлява отделни вериги за захранване, които могат да бъдат селективно деактивирани в различни енергоспестяващи режими, за да се намали консумацията на енергия в енергоспестяващи проекти. Cypress Semiconductor
Дори и с тези минимални ресурси, CYW20719 може да поддържа връзка с друг, сдвоен преди това Bluetooth компонент в режим SDS, консумирайки по-малко от 70 микроампера (μA) за това. В този режим обаче паметта не може да се използва. Следователно компонентът трябва да се рестартира, преди да може отново да извършва по-сложни операции. Компонентът е малко по-активен в двата други режима на празен ход, режим на заспиване (PDS) и режим на заспиване. Освен всичко друго, паметта все още може да се използва в тези режими. Това е свързано със съответно, постепенно увеличаване на потреблението на електроенергия. Дори тогава разработчиците с много ограничен бюджет на мощност могат да използват PDS режим за рекламни канали на Bluetooth Low Energy и активни връзки. Чрез управление на режимите на консумация на енергия на компонента, разработчиците могат да активират изключително енергоспестяваща работа, без да се налага да правят компромиси с функционалността.
Системна интеграция
Въпреки своите гъвкави режими на работа и широкия набор от функции, CYW20719 изисква няколко допълнителни компонента, за да завърши хардуерната интеграция в системния дизайн. Тъй като важните компоненти вече са интегрирани в чипа, разработчиците трябва да добавят само няколко резистора, съединителни кондензатори, индуктор с обем 2.2 µH като Murata LQH2MCN2R2M52L и феритни перли като Murata BLM15AG601SN1D (Фигура 3). Все още е препоръчително да се постави лентов филтър между CYW20719 и съответстващите компоненти на антената, за да се намалят хармониците.
Изображение 3: Тъй като всички важни функции вече са интегрирани в Cypress CYW20719, разработчиците могат да завършат хардуерната интеграция с няколко допълнителни компонента като препоръчителен лентов филтър за намаляване на хармониците. Cypress Semiconductor
По подобен начин компонентът улеснява софтуерната интеграция със своята вградена памет, включително 1 MB Flash, 512 KB RAM и 2 MB ROM. Докато Flash и ROM предлагат на разработчиците области за съхранение на техните приложения, вграденият ROM е запазен за фърмуера на компонента и Bluetooth профилите. Компонентът разполага с RAM за корекция, за да поддържа необходимите актуализации на фърмуера. Това е област в RAM, която е свързана чрез логика за контрол на кръпка. И накрая, компонентът има и постоянно активна област на паметта, която позволява да се запазват данни дори в енергоспестяващи режими.
Въпреки че RAM и флаш паметта, интегрирани в чипа, не изглежда непременно да са големи в сравнение с други съвременни компоненти, обширната софтуерна поддръжка, интегрирана в ROM, гарантира, че винаги има достатъчно памет за типичните приложения. Cypress конфигурира ROM на чипа с изчерпателен софтуерен стек, който покрива всичко, от най-ниския слой на абстракция на хардуер (HAL) до интерфейса за програмиране на приложения (API) за околната среда (безжична интернет връзка за вградени устройства) 4).
Въз основа на HAL, ROM фърмуерът работи с интегрирана операционна система в реално време и поема всички взаимодействия с хардуера на CYW20719. В същото време ROM фърмуерът включва широка гама от Bluetooth сервизни слоеве, включително тези, които поддържат Generic Attribute Profile (GATT), който е от съществено значение за Bluetooth, и Generic Access Profile (GAP).
Фигура 4: 2MB ROM фърмуерът на Cypress CYW20719 предлага пълен софтуерен стек, включващ операционна система в реално време, намалявайки сложността и отпечатъка на кода на приложението на разработчика. Cypress Semiconductor
В типичните приложения системата изпълнява кода за разработчици извън RAM, като системата използва Wiced API за достъп до операционната система в реално време, периферните устройства и други компонентни функции. Въпреки че изискванията за RAM могат да варират значително, повечето от кода на приложението за CYW20719 обикновено оставят достатъчно свободна RAM за данни или памет.
За приложения с особено големи кодови бази програмистите могат да използват способността на CYW20719 да обработват кода на приложението. В този случай околната среда зарежда кода и областите с данни само за четене, посочени от разработчика, във флаш паметта на чипа и останалите секции в RAM. Този подход намалява отпечатъка на RAM на приложението, но може да окаже влияние върху производителността. Следователно разработчиците трябва да бъдат внимателни, когато посочват области на XIP кода и да гарантират, че системата зарежда чувствителни към времето функции в RAM.
разработване на приложения
Въпреки че CYW20719 опростява интеграцията на дизайна, разработчиците, търсещи сигурни, енергийно ефективни Bluetooth приложения, могат да продължат да изпитват значителни закъснения при завършването на хардуерния дизайн и разработването на приложения. Комплектът за оценка на Cypress CYW920719Q40EVB-01 използва софтуерната среда Wiced, за да осигури референтен дизайн и цялостна платформа за разработка за създаване на Bluetooth 5.0 съвместими IoT приложения.
Фигура 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 (DB), определя вида и функциите на Bluetooth връзка чрез набор от определени услуги, всяка от които включва набор от поддържани функции. Например, спецификацията на Bluetooth включва предварително дефинирани GATT услуги, вариращи от полезни функции като предупредителни съобщения и информация за компоненти до специфични за приложение функции като измерване на кръвното налягане и пулсови оксиметри. Профилът за общ достъп на Bluetooth (GAP) на компонент, който играе по-важна роля от услугите на GATT, определя как се идентифицира с мрежата и как установява връзки веднага след като бъде разпознат.