Cum să construiți o rețea de senzori cu Bluetooth All-Electronics

Cu suport larg de la smartphone-uri și alte dispozitive mobile, Bluetooth a devenit o tehnologie wireless la alegere pentru conectarea consumatorilor la dispozitivele lor electronice personale, cum ar fi dispozitivele portabile și medicale. Odată cu introducerea Bluetooth 5, dezvoltatorii IoT pot, pe lângă faptul că profită de toate aceste avantaje, să ofere intervale și rate de date din ce în ce mai promovate, mai mari, în legătură cu rețelele de senzori și alte aplicații IoT.

Date esentiale

Disponibilitatea MCU-urilor integrate cu Bluetooth pentru rețelele fără fir a ajutat dezvoltatorii să încorporeze mai repede aceste componente în proiectele lor. Cu toate acestea, atunci când implementează rețele Bluetooth sigure, dezvoltatorii se confruntă cu diverse provocări în crearea serviciilor compatibile Bluetooth și a programării aplicațiilor care pot utiliza în siguranță aceste componente. Acest articol arată că, cu o componentă Bluetooth avansată și un mediu de dezvoltare asociat de la Cypress Semiconductor, dezvoltatorii le pot stăpâni și pot furniza hub-uri și rețele de senzori sigure cu conectivitate Bluetooth.

Pentru a construi proiecte pentru aceste aplicații, dezvoltatorii au la dispoziție o selecție tot mai mare de componente compatibile Bluetooth 5. Aceste componente cu un subsistem RF complet și nucleul procesorului sunt capabile să efectueze tranzacțiile la nivel scăzut asociate cu comunicațiile Bluetooth. Cu toate acestea, consumul redus de energie necesar și conectivitatea securizată în rețelele IoT pot duce la complicații atunci când furnizați Bluetooth în aceste aplicații.

Soluție integrată cu Bluetooth

Cypress Semiconductor a dezvoltat MCU CYW20719 special pentru a satisface cererea tot mai mare de modele Bluetooth alimentate cu baterii pentru IoT, articole portabile, electronice personale și alte aplicații cu consum redus de energie. În plus față de funcțiile sale de economisire a energiei, suportul funcțiilor Bluetooth 5, cum ar fi metoda de salt frecvență adaptivă, este un avantaj semnificativ în mediile radio foarte utilizate în legătură cu aceste aplicații.

Componenta este echipată cu un subsistem radio Bluetooth cu consum redus de energie, un procesor ARM-Cortex-M4 cu unitate în virgulă mobilă (FPU, unitate în virgulă mobilă) și mai multe blocuri periferice (Fig. 1). În plus, un motor de securitate integrat în cip accelerează criptarea cu chei publice și oferă funcții de criptare care sunt esențiale pentru procesele Bluetooth sigure. În cele din urmă, o unitate de gestionare a energiei (PMU, Power Management Unit) integrată și în cip asigură o funcționare eficientă din punct de vedere energetic, pe care mulți producători o cer din ce în ce mai mult pentru componentele compatibile cu Bluetooth.

Subsistemul radio al CYW20719 include căi complete de semnal RF de 2,5 GHz pentru trimitere (Tx) și recepție (Rx). Pentru calea semnalului Rx, componenta atenuează semnalele în afara benzii. În acest fel, atinge o sensibilitate Rx de -95,5 dBm și permite dezvoltatorilor să utilizeze componenta fără filtre suplimentare, dacă este necesar. În calea semnalului Tx există un amplificator de putere integrat (PA, amplificator de putere), pe care Cypress l-a dezvoltat pentru niveluri de putere de transmisie configurabile de la -24 dBm la maximum +4 dBm. În plus față de stratul fizic integrat (PHY), componenta de pe cip are și un strat Bluetooth 5 MAC (Control acces mediu). Datorită căilor de semnal optimizate Rx și Tx, componenta consumă doar 5,9 mA curent Rx și 5,6 mA curent Tx.

construiți

Fig. 1: CYW20719 de la Cypress Semiconductor combină un procesor Arm Cortex-M4, un subsistem Bluetooth complet și servicii software integrate și reprezintă astfel un MCU fără fir complet, capabil Bluetooth 5, pentru proiecte eficiente din punct de vedere energetic.

Pentru a minimiza și mai mult consumul de energie, componenta oferă mai multe moduri de consum de energie gestionate de un PMU integrat. PMU alimentează circuite separate de putere RF și digitale și include un regulator integrat Buck, un regulator dip de joasă tensiune (regulator LDO) pentru circuite digitale și un regulator LDO separat pentru circuite RF (Figura 2) În plus, PMU oferă un regulator separat bypass LDO (BYPLDO), care ocolește automat regulatorul de descărcare și furnizează regulatoarele LDO pentru circuitele digitale și RF dacă tensiunea de alimentare VBAT scade sub 2,1 volți.

În funcțiune, PMU reglează circuitele de alimentare în funcție de modul selectat. Modurile disponibile sunt modul complet activ, modul inactiv și trei moduri de somn diferite. În modul cu cel mai mic consum de energie, modul SDS (modul de oprire a somnului), PMU comută toate blocurile componente, cu excepția curentului I/O, a ceasului în timp real (RTC) și a celui dedicat de economisire a energiei Oscilator (LPO), care este sursa pentru unele blocuri și temporizatorul de trezire.

Imaginea 2: PMU-ul Cypress CYW20719 gestionează circuite separate de alimentare care pot fi dezactivate selectiv în diferite moduri de economisire a energiei pentru a reduce consumul de energie în proiectele de economisire a energiei. Cypress Semiconductor

Chiar și cu aceste resurse minime, CYW20719 poate menține o conexiune la o altă componentă Bluetooth asociată anterior în modul SDS, consumând mai puțin de 70 de microampere (μA) pentru aceasta. Cu toate acestea, memoria nu poate fi utilizată în acest mod. Prin urmare, componenta trebuie repornită înainte de a putea efectua din nou operații mai complexe. Componenta este puțin mai activă în celelalte două moduri de repaus, power-down-sleep (PDS) și modul sleep. Printre altele, memoria poate fi încă utilizată în aceste moduri. Acest lucru este asociat cu o creștere corespunzătoare, treptată, a consumului de energie electrică. Chiar și atunci, dezvoltatorii cu bugete de putere foarte limitate pot utiliza modul PDS pentru canalele de publicitate Bluetooth Low Energy și conexiunile active. Prin gestionarea modurilor de consum de energie ale componentei, dezvoltatorii pot permite o operare extrem de economisitoare de energie fără a trebui să compromită funcționalitatea.

Integrarea sistemului

În ciuda modurilor sale de operare flexibile și a gamei largi de funcții, CYW20719 necesită câteva componente suplimentare pentru a completa integrarea hardware într-un design de sistem. Deoarece componentele importante sunt deja integrate pe cip, dezvoltatorii trebuie să adauge doar câteva rezistențe, condensatori de cuplare, un inductor de 2,2 µH precum Murata LQH2MCN2R2M52L și margele de ferită precum Murata BLM15AG601SN1D (Fig. 3). Este încă recomandabil să amplasați un filtru bandpass între CYW20719 și componentele potrivite pentru antenă pentru a reduce armoniile.

Imaginea 3: Deoarece toate funcțiile importante sunt deja integrate pe Cypress CYW20719, dezvoltatorii pot finaliza integrarea hardware cu câteva componente suplimentare, cum ar fi un filtru de bandă recomandat pentru a reduce armonicele. Cypress Semiconductor

În mod similar, componenta facilitează integrarea software-ului cu memoria sa on-chip, inclusiv 1 MB Flash, 512 KB RAM și 2 MB ROM. În timp ce Flash și ROM oferă dezvoltatorilor zone de stocare pentru aplicațiile lor, ROM-ul on-chip este rezervat pentru firmware-ul componentelor și profilurile Bluetooth. Componenta are un patch RAM pentru a suporta actualizările de firmware necesare. Aceasta este o zonă din RAM care este legată prin logica controlului patch-urilor. În cele din urmă, componenta are, de asemenea, o zonă de memorie permanent activă, care permite salvarea datelor chiar și în modurile de economisire a energiei.

Deși memoriile RAM și flash integrate pe cip nu par neapărat a fi mari în comparație cu alte componente moderne, suportul software extins integrat în ROM asigură întotdeauna suficientă memorie disponibilă pentru aplicațiile tipice. Cypress configurează ROM-ul on-chip cu o stivă de software cuprinzătoare care acoperă totul, de la cel mai scăzut strat de abstractizare hardware (HAL) până la interfața de programare a aplicației (API) pentru mediul înconjurător (Conectivitate Internet wireless pentru dispozitive încorporate) (Fig 4).

Bazându-se pe HAL, firmware-ul ROM rulează un sistem de operare integrat în timp real și preia toate interacțiunile cu hardware-ul CYW20719. În același timp, firmware-ul ROM include o gamă largă de straturi de servicii Bluetooth, inclusiv cele care acceptă profilul de atribut generic (GATT), care este esențial pentru Bluetooth, și profilul de acces generic (GAP).

Figura 4: Firmware-ul ROM de 2 MB Cypress CYW20719 oferă o stivă completă de software, care include un sistem de operare în timp real, reducând complexitatea și amprenta codului de aplicație al dezvoltatorului. Cypress Semiconductor

În aplicațiile tipice, sistemul execută codul dezvoltatorului din RAM, sistemul utilizând API-urile Wiced pentru a accesa sistemul de operare în timp real, perifericele și alte funcții ale componentelor. Deși cerințele de RAM pot varia semnificativ, majoritatea codului de aplicație pentru CYW20719 lasă de obicei suficient RAM liber pentru date sau memorie.

Pentru aplicații cu baze de cod deosebit de mari, programatorii pot folosi capacitatea CYW20719 de a procesa codul aplicației. În acest caz, mediul înconjurător încarcă codul și zonele de date numai în citire specificate de dezvoltator în blițul on-chip și secțiunile rămase în RAM. Această abordare reduce amprenta RAM a unei aplicații, dar poate afecta performanța. În consecință, dezvoltatorii trebuie să fie atenți atunci când specifică zone de cod XIP și să se asigure că sistemul încarcă funcții sensibile la timp în RAM.

dezvoltarea aplicației

Deși CYW20719 simplifică integrarea proiectării, dezvoltatorii care caută aplicații Bluetooth sigure și eficiente din punct de vedere energetic pot continua să întâmpine întârzieri semnificative în finalizarea proiectării hardware și a dezvoltării aplicațiilor. Setul de evaluare Cypress CYW920719Q40EVB-01 utilizează mediul software Wiced pentru a oferi un design de referință și o platformă de dezvoltare cuprinzătoare pentru crearea de aplicații IoT compatibile Bluetooth 5.0.

Figura 5: Setul de evaluare CYW920719Q40EVB-01 combină un CYW20719 pe un modul operator cu mai multe componente ale cardului de bază pentru a sprijini o aplicație tipică IoT. Cypress Semiconductor

Kitul de evaluare este construit în jurul unui modul purtător care include CYW20719 (Figura 3) și un detector de tensiune XC6119N de la Torex Semiconductor, care este conectat la pinul RST_N al CYW20719 pentru a efectua o resetare. Modulul purtător este lipit pe placa de bază a kitului, pe care există un senzor de mișcare pe 9 axe LSM9DS1TR de la ST Microelectronics, un termistor NTC din seria NCU de la Murata, porturile GPIO ale CYW20719, o conexiune de depanare, compatibilă Arduino Anteturile pentru extensii, precum și comutatoarele și LED-urile sunt situate ca o interfață simplă pentru utilizator (Figura 5).

Exemplul de software de la Cypress folosește CYW20719 și alte componente pentru demonstrarea cuprinzătoare a conectivității Bluetooth sigure într-o rețea IoT reprezentativă care cuprinde mai multe componente ale senzorilor și un hub central (Figura 6). Cu acest exemplu de aplicație, dezvoltatorii pot examina diferite niveluri de securitate pentru cuplarea unei componente a senzorului și a hub-ului și pot evalua efectele acestor diferite niveluri de securitate asupra schimbului de date.

Pentru hardware-ul aplicației, dezvoltatorii folosesc un kit separat CYW920719Q40EVB-01 care este configurat ca un hub sigur, precum și kituri suplimentare care sunt configurate ca senzori individuali în rețea. Un PC conectat la fiecare kit printr-un link serial acționează ca o consolă pentru setarea parametrilor, vizualizarea datelor, tipărirea mesajelor de depanare și alte interacțiuni cu aplicația mostră.

Imaginea 2: PMU-ul Cypress CYW20719 gestionează circuite separate de alimentare care pot fi dezactivate selectiv în diferite moduri de economisire a energiei pentru a reduce consumul de energie în proiectele de economisire a energiei. Cypress Semiconductor

Cypress a inclus software-ul pentru acest exemplu de aplicație în pachetul de limbă C CYW20917 BLE Secure Hub pentru mediul său de dezvoltare WICED. În acest caz, pachetul conține două proiecte pentru cele două roluri separate din aplicația eșantion. Un proiect pentru a rula pe kit specificat ca hub securizat permite hub-ului să accepte mai multe roluri de protocol Bluetooth. În special, software-ul hub ar trebui să permită cuplarea pe niveluri de securitate separate cu diferite kituri concepute ca sclave. Proiectul senzorului este executat pe kiturile configurate ca slave, care este destinat să ilustreze achiziția de date și comunicarea la nivelul de siguranță care a fost stabilit în timpul cuplării. Fiecare proiect cuprinde mai multe module de antet și cod care susțin rolurile funcționale individuale.

În protocolul Bluetooth, un tabel de căutare, așa-numita bază de date GATT (DB), definește tipul și funcțiile unei conexiuni Bluetooth utilizând un set de servicii definite, fiecare dintre care include un set de caracteristici acceptate. De exemplu, specificația Bluetooth include servicii GATT predefinite care variază de la funcții utilitare, cum ar fi alerte și informații despre componente, până la funcții specifice aplicației, cum ar fi măsurători ale tensiunii arteriale și oximetre de puls. Profilul de acces generic Bluetooth (GAP) al unei componente, care joacă un rol mai fundamental decât serviciile GATT, definește modul în care se identifică la rețea și modul în care stabilește conexiunile de îndată ce a fost recunoscută.