Ako vybudovať sieť senzorov pomocou technológie Bluetooth All-Electronics
Vďaka širokej podpore zo strany smartphonov a iných mobilných zariadení sa Bluetooth stalo bezdrôtovou technológiou, ktorá je pre pripojenie zákazníkov k ich osobným elektronickým zariadeniam, ako sú nositeľné zariadenia a lekárske prístroje, tou správnou voľbou. So zavedením Bluetooth 5 môžu vývojári IoT okrem využívania všetkých týchto výhod poskytovať aj čoraz viac propagované vyššie rozsahy a rýchlosti prenosu v spojení so senzorovými sieťami a inými aplikáciami IoT.
Kľúčové údaje
Dostupnosť integrovaných MCU s podporou Bluetooth pre bezdrôtové siete pomohla vývojárom rýchlejšie začleňovať tieto komponenty do svojich návrhov. Pri implementácii zabezpečených sietí Bluetooth však vývojári čelia rôznym výzvam pri vytváraní služieb kompatibilných s Bluetooth a programovacích aplikácií, ktoré môžu tieto komponenty bezpečne používať. Tento článok ukazuje, že s pokročilým komponentom Bluetooth a súvisiacim vývojovým prostredím od spoločnosti Cypress Semiconductor ich vývojári môžu ovládať a poskytovať zabezpečené rozbočovače a siete senzorov s pripojením Bluetooth.
Aby bolo možné vytvoriť dizajn týchto aplikácií, majú vývojári k dispozícii čoraz väčší výber komponentov podporujúcich technológiu Bluetooth 5. Tieto komponenty s kompletným RF subsystémom a jadrom procesora sú schopné vykonávať transakcie na nízkej úrovni spojené s komunikáciou Bluetooth. Požadovaná nízka spotreba energie a zabezpečené pripojenie v sieťach IoT však môžu viesť k komplikáciám pri poskytovaní Bluetooth v týchto aplikáciách.
Integrované riešenie s Bluetooth
Spoločnosť Cypress Semiconductor vyvinula MCU CYW20719 špeciálne preto, aby uspokojila rastúci dopyt po batériovom dizajne Bluetooth pre IoT, nositeľné zariadenia, osobnú elektroniku a ďalšie aplikácie s nízkou spotrebou. Okrem funkcií na šetrenie energie je v silne využívaných rádiových prostrediach v súvislosti s týmito aplikáciami významnou výhodou podpora funkcií Bluetooth 5, ako napríklad metóda adaptívneho preskakovania frekvencií.
Komponent je vybavený rádiovým subsystémom Bluetooth s nízkou spotrebou energie, procesorom ARM-Cortex-M4 s jednotkou s pohyblivou rádovou čiarkou (FPU, jednotka s pohyblivou rádovou čiarkou) a niekoľkými periférnymi blokmi (obr. 1). Okrem toho bezpečnostný modul integrovaný do čipu urýchľuje šifrovanie pomocou verejných kľúčov a ponúka šifrovacie funkcie, ktoré sú nevyhnutné pre bezpečné procesy Bluetooth. Jednotka pre správu napájania (PMU, jednotka pre správu napájania) tiež integrovaná do čipu zaisťuje energeticky efektívnu prevádzku, ktorú mnohí výrobcovia čoraz viac požadujú pre komponenty s podporou Bluetooth.
Rádiový subsystém CYW20719 obsahuje kompletné vysokofrekvenčné signálne cesty 2,5 GHz pre vysielanie (Tx) a príjem (Rx). Pre signálnu cestu Rx komponent tlmí signály mimo pásma. Týmto spôsobom dosahuje citlivosť Rx -95,5 dBm a umožňuje vývojárom v prípade potreby použiť komponent bez ďalších filtrov. V signálnej ceste Tx je integrovaný výkonový zosilňovač (PA, Power Amplifier), ktorý vyvinula spoločnosť Cypress pre konfigurovateľné úrovne prenosového výkonu od -24 dBm do maximálne +4 dBm. Okrem integrovanej fyzickej vrstvy (PHY) má komponent na čipe aj vrstvu Bluetooth 5 MAC (Medium Access Control). Vďaka optimalizovaným signálovým cestám Rx a Tx spotrebuje komponent iba prúd 5,9 mA Rx a prúd 5,6 mA Tx.

Obrázok 1: Model CYW20719 od spoločnosti Cypress Semiconductor kombinuje procesor Arm Cortex-M4, kompletný subsystém Bluetooth a integrované softvérové služby a predstavuje tak kompletný bezdrôtový MCU s podporou technológie Bluetooth 5 pre energeticky efektívne návrhy.
Aby sa ďalej minimalizovala spotreba energie, komponent ponúka niekoľko režimov spotreby energie riadených integrovaným PMU. PMU napája samostatné RF a digitálne výkonové obvody a obsahuje integrovaný regulátor buck, regulátor nízkeho napätia (LDO regulátor) pre digitálne obvody a samostatný LDO regulátor pre RF obvody (obrázok 2). PMU navyše ponúka samostatný bypassový regulátor LDO (BYPLDO), ktorý automaticky obchádza krokový regulátor a dodáva LDO regulátory pre digitálne a vysokofrekvenčné obvody, ak napájacie napätie VBAT klesne pod 2,1 voltu.
Počas prevádzky nastavuje PMU napájacie obvody podľa zvoleného režimu. Dostupné režimy sú plne aktívny režim, pohotovostný režim a tri rôzne režimy spánku. V režime s najmenšou spotrebou energie, v režime SDS (vypínací režim spánku), prepína PMU všetky bloky komponentov s výnimkou prúdu I/O, hodín reálneho času (RTC) a vyhradeného šetriaceho času. Oscilátor (LPO), ktorý sa používa ako zdroj pre niektoré bloky a časovač prebudenia.
Obrázok 2: PMU zariadenia Cypress CYW20719 spravuje samostatné obvody napájacieho zdroja, ktoré je možné selektívne deaktivovať v rôznych režimoch úspory energie, aby sa znížila spotreba energie v energeticky úsporných prevedeniach. Cypress Semiconductor
Aj s týmito minimálnymi zdrojmi dokáže CYW20719 udržiavať pripojenie k inému, predtým spárovanému komponentu Bluetooth v režime SDS, pričom na to spotrebuje menej ako 70 mikroampérov (μA). Pamäť však nie je možné v tomto režime použiť. Preto musí byť komponent reštartovaný, aby mohol znova vykonávať zložitejšie operácie. Komponent je o niečo aktívnejší v dvoch ďalších nečinných režimoch, v režime vypnutia a spánku (PDS) a v režime spánku. Pamäť sa dá okrem iného v týchto režimoch stále používať. Je to spojené so zodpovedajúcim postupným zvyšovaním spotreby elektrickej energie. Aj vtedy môžu vývojári s veľmi obmedzeným rozpočtom na napájanie používať režim PDS pre reklamné kanály Bluetooth Low Energy a aktívne pripojenia. Riadením režimov spotreby energie komponentu môžu vývojári umožniť extrémne energeticky úspornú prevádzku bez toho, aby museli robiť kompromisy vo funkčnosti.
Integrácia systému
Napriek flexibilným prevádzkovým režimom a širokej škále funkcií vyžaduje CYW20719 niekoľko ďalších komponentov na dokončenie integrácie hardvéru do návrhu systému. Pretože dôležité komponenty sú už integrované v čipe, vývojárom stačí pridať niekoľko rezistorov, kondenzátory, 2,2 µH induktor ako Murata LQH2MCN2R2M52L a feritové guľôčky ako Murata BLM15AG601SN1D (obr. 3). Stále je vhodné umiestniť pásmový filter medzi CYW20719 a zodpovedajúce komponenty pre anténu, aby sa znížili harmonické kmity.
Obrázok 3: Pretože všetky dôležité funkcie sú už v Cypress CYW20719 integrované, môžu vývojári dokončiť hardvérovú integráciu s niekoľkými ďalšími komponentmi, ako je napríklad odporúčaný pásmový filter na zníženie harmonických. Cypress Semiconductor
Podobným spôsobom komponent uľahčuje softvérovú integráciu s pamäťou na čipu, ktorá obsahuje 1 MB Flash, 512 KB RAM a 2 MB ROM. Zatiaľ čo Flash a ROM ponúkajú vývojárom úložné priestory pre ich aplikácie, on-chip ROM je vyhradený pre firmvér komponentov a profily Bluetooth. Komponent má patch RAM na podporu požadovaných aktualizácií firmvéru. Toto je oblasť v RAM, ktorá je prepojená pomocou logiky ovládania opravy. Nakoniec má komponent aj trvalo aktívnu oblasť pamäte, ktorá umožňuje ukladanie údajov aj v režimoch úspory energie.
Aj keď sa pamäť RAM a flash pamäte integrované v čipe nemusia v porovnaní s inými modernými súčasťami javiť ako zbytočné, rozsiahla softvérová podpora integrovaná v pamäti ROM zaisťuje, že pre typické aplikácie bude vždy k dispozícii dostatok pamäte. Spoločnosť Cypress konfiguruje integrovanú ROM na čipu pomocou komplexného softvérového balíka, ktorý pokrýva všetko od najnižšej vrstvy hardvérovej abstrakcie (HAL) po aplikačné programovacie rozhranie (API) pre náročné prostredie (bezdrôtové pripojenie na internet pre zabudované zariadenia) (obr. 4).
Na základe HAL pracuje firmvér ROM s integrovaným operačným systémom v reálnom čase a preberá všetky interakcie s hardvérom CYW20719. Firmvér ROM zároveň obsahuje širokú škálu vrstiev služieb Bluetooth, vrátane tých, ktoré podporujú profil GATT (General Attribute Profile), ktorý je pre Bluetooth nevyhnutný, a profil GAP (Generic Access Profile).
Obrázok 4: 2 MB ROM firmvéru Cypress CYW20719 ROM ponúka kompletný softvérový balík vrátane operačného systému v reálnom čase, čo znižuje zložitosť a stopu aplikačného kódu vývojára. Cypress Semiconductor
V typických aplikáciách systém vykonáva kód vývojára mimo RAM, pričom systém využíva Wiced API na prístup k operačnému systému v reálnom čase, perifériám a ďalším funkciám komponentov. Aj keď sa požiadavky na RAM môžu výrazne líšiť, väčšina aplikačného kódu pre CYW20719 zvyčajne ponecháva dostatok voľnej RAM pre dáta alebo pamäť.
Pre aplikácie s obzvlášť veľkými kódovými bázami môžu programátori využiť schopnosť CYW20719 spracovať aplikačný kód. V tomto prípade naložené prostredie načíta kódové a údajové oblasti určené iba na čítanie určené vývojárom do blesku na čipe a zvyšné časti do pamäte RAM. Tento prístup znižuje stopu RAM aplikácie, ale môže ovplyvniť výkon. Preto musia byť vývojári pri určovaní oblastí kódu XIP opatrní a musia zabezpečiť, aby systém načítal časovo citlivé funkcie do pamäte RAM.
vývoj aplikácií
Aj keď CYW20719 zjednodušuje integráciu dizajnu, vývojári, ktorí hľadajú bezpečné a energeticky efektívne aplikácie Bluetooth, môžu pri dokončovaní návrhu hardvéru a vývoja aplikácií naďalej čeliť výrazným oneskoreniam. Vyhodnocovacia súprava Cypress CYW920719Q40EVB-01 využíva softvérové prostredie Wiced ako referenčný dizajn a komplexnú vývojovú platformu pre vytváranie aplikácií internetu vecí kompatibilných s Bluetooth 5.0.
Obrázok 5: Vyhodnocovacia súprava CYW920719Q40EVB-01 kombinuje CYW20719 na nosnom module s niekoľkými komponentmi základnej karty na podporu typickej aplikácie IoT. Cypress Semiconductor
Vyhodnocovacia súprava je postavená na nosnom module, ktorý obsahuje CYW20719 (obrázok 3) a detektor napätia XC6119N od spoločnosti Torex Semiconductor, ktorý je pripojený k pinu RST_N na CYW20719, aby sa vykonal reset. Nosný modul je spájkovaný na základnej karte súpravy, na ktorej je 9-osový snímač pohybu LSM9DS1TR od spoločnosti ST Microelectronics, NTC termistor zo série NCU od spoločnosti Murata, GPIO porty CYW20719, ladiace pripojenie, kompatibilné s Arduino Hlavičky pre rozšírenia, ako aj prepínače a kontrolky LED sú umiestnené ako jednoduché používateľské rozhranie (obrázok 5).
Vzorový softvér od spoločnosti Cypress využíva CYW20719 a ďalšie komponenty na komplexnú demonštráciu bezpečného pripojenia Bluetooth v reprezentatívnej sieti IoT, ktorá obsahuje niekoľko komponentov snímača a centrálny rozbočovač (obrázok 6). S touto ukážkovou aplikáciou môžu vývojári preskúmať rôzne úrovne zabezpečenia spojenia komponentu senzora a rozbočovača a vyhodnotiť účinky týchto rôznych úrovní zabezpečenia na výmenu údajov.
Pre hardvér aplikácie používajú vývojári samostatnú súpravu CYW920719Q40EVB-01, ktorá je nakonfigurovaná ako zabezpečený rozbočovač, ako aj ďalšie súpravy, ktoré sú nakonfigurované ako jednotlivé senzory v sieti. Počítač pripojený ku každej súprave prostredníctvom sériovej linky slúži ako konzola na nastavovanie parametrov, prezeranie údajov, tlač ladiacich správ a ďalšie interakcie so vzorovou aplikáciou.
Obrázok 2: PMU zariadenia Cypress CYW20719 spravuje samostatné obvody napájacieho zdroja, ktoré je možné selektívne deaktivovať v rôznych režimoch úspory energie, aby sa znížila spotreba energie v energeticky úsporných prevedeniach. Cypress Semiconductor
Spoločnosť Cypress dodala softvér pre túto vzorovú aplikáciu do svojho balíka jazykov C CYW20917 BLE Secure Hub pre svoje vývojové prostredie WICED. V tomto prípade balík obsahuje dva projekty pre dve samostatné role vo vzorovej aplikácii. Projekt, ktorý sa má spustiť na súprave určenej ako zabezpečený rozbočovač, umožňuje rozbočovaču podporovať viac rolí protokolu Bluetooth. Softvér rozbočovača by mal predovšetkým umožňovať spojenie na samostatných úrovniach zabezpečenia s rôznymi súpravami navrhnutými ako otroci. Projekt senzora sa vykonáva na súpravách nakonfigurovaných ako podriadené jednotky, ktoré majú ilustrovať zber dát a komunikáciu na bezpečnostnej úrovni, ktorá bola nastavená počas spojenia. Každý projekt obsahuje niekoľko modulov hlavičiek a kódov, ktoré podporujú jednotlivé funkčné role.
V protokole Bluetooth vyhľadávacia tabuľka, takzvaná databáza GATT (DB), definuje typ a funkcie Bluetooth spojenia prostredníctvom súboru definovaných služieb, z ktorých každá obsahuje súbor podporovaných funkcií. Napríklad špecifikácia Bluetooth obsahuje preddefinované služby GATT, ktoré sa pohybujú od úžitkových funkcií, ako sú výstrahy a informácie o súčastiach, až po funkcie špecifické pre aplikáciu, ako sú merania krvného tlaku a pulzné oxymetre. Bluetooth Generic Access Profile (GAP) komponentu, ktorý hrá zásadnejšiu úlohu ako služby GATT, definuje, ako sa identifikuje v sieti a ako nadväzuje spojenia hneď po rozpoznaní.