Implementare rapidamente un accessorio miniaturizzato Bluetooth a basso consumo utilizzando un microcontroller RF integrato
Contributo di Editori nordamericani di DigiKey
2019-06-27
Gli sviluppatori sono costantemente sotto pressione per realizzare dispositivi Bluetooth alimentati a batteria che siano piccoli, affidabili, consumino poco e costino poco, il tutto rispettando però un time-to-market sempre più stretto. Questa combinazione di compromessi ingegneristici è sempre più difficile da gestire, ma non impossibile grazie alle soluzioni innovative dei fornitori di semiconduttori che aiutano a risolvere questi problemi specifici.
Una di queste è il microcontroller STM32WB55RGV6 di STMicroelectronics che integra un processore di controllo e una radio Bluetooth.
Qui prenderemo prima in esame i requisiti di progettazione del mercato in costante crescita degli accessori Bluetooth e presenteremo quindi STM32WB55RGV6 e come applicarlo.
Richiesta di accessori Bluetooth
Gli accessori Bluetooth di solito hanno gli stessi requisiti in termini di durata e dimensioni della batteria. Per i prodotti Bluetooth consumer, dalla durata della batteria dipende direttamente la soddisfazione del cliente, pertanto occorre scegliere componenti di piccole dimensioni e a basso consumo energetico. Il progetto iniziale dovrebbe essere sufficientemente flessibile da prevedere delle sostituzioni, in quanto non è raro che, nel corso del processo di sviluppo, si riesca a trovare un prodotto migliore di quello già scelto.
I progetti Bluetooth appartengono in genere a tre sezioni: radio Bluetooth, processore dell'applicazione e componenti di supporto e interfaccia utente (pulsanti, LED, altoparlanti). STMicroelectronics ha semplificato la progettazione integrando il processore di controllo e la radio Bluetooth nello stesso microcontroller. Il microcontroller STM32WB55RGV6 fa parte della famiglia STM32WB di STMicroelectronics, che su un singolo chip integra un Arm® Cortex®-M4 a 64 MHz con un processore a unità a virgola mobile (FPU) e una radio Bluetooth completa. La memoria su scheda include 1 MB di memoria flash e 256 kB di SRAM.
STM32WB55RGV6 ha tre regolatori di tensione su chip. Il regolatore principale funziona quando il processore è in modalità di funzionamento o di sospensione. Il regolatore a basso consumo viene utilizzato durante le modalità di funzionamento e di sospensione a basso consumo. Il regolatore in radiofrequenza (RF) viene utilizzato solo per alimentare i sottosistemi RF e la radio Bluetooth.
Ci sono altri parametri che mostrano chiaramente che STM32WB55RGV6 è stato costruito da zero per applicazioni a basso consumo. Ha una modalità di spegnimento a 13 nA che spegne tutto ciò che si trova sul chip tranne una parte della RAM. Se il clock in tempo reale (RTC) viene lasciato in funzione allo spegnimento, il dispositivo assorbe solo 315 nA. Con RTC in funzione, il microcontroller può anche conservare 32 kB di RAM e assorbire solo 600 nA.
Per la flessibilità, STM32WB55RGV6 ha una gamma completa di periferiche tra cui due interfacce periferiche seriali (SPI) e due interfacce I2C (Figura 1). Una porta USB 2.0 Full Speed (FS) può essere utilizzata per trasferire i file tra l'applicazione e un PC. Può essere utilizzata anche per caricare una batteria sull'applicazione Bluetooth, con o senza supporto per il trasferimento dei dati. STM32WB55 è dotato anche di un controller per un LCD esterno di 8 x 40. Per consentire l'abilitazione di un'interfaccia touchscreen è disponibile un controller di rilevamento tattile.
Figura 1: Il microcontroller STM32WB55RGV6 di STMicroelectronics integra un Arm Cortex-M4 con FPU e un sottosistema radio Bluetooth su un singolo chip. (Immagine per gentile concessione di STMicroelectronics)
La radio Bluetooth in STM32WB55RGV6 è compatibile con l'ultima specifica Bluetooth v5.0. È inoltre conforme alle specifiche IEEE 802.15.4-2011 per lo strato fisico (PHY) e il controller di accesso multimediale (MAC) per la radio Bluetooth. Per le applicazioni alimentate a batteria, la radio è compatibile con Bluetooth Low Energy (BLE) e supporta velocità di trasmissione dati di 1 Mbit/s e 2 Mbit/s su una connessione sicura.
Lo stack BLE e lo strato IEEE 802.15.4 PHY e MAC vengono eseguiti su una CPU Arm Cortex-M0+ dedicata su STM32WB. Il Cortex-M0+ è dedicato all'esecuzione del solo stack BLE e non può essere utilizzato per eseguire il codice dell'applicazione utente.
Il front-end RF dei microcontroller STM32WB55RGV6 è progettato per componenti esterni molto piccoli, come mostrato nella Figura 2. Ha un alimentatore a commutazione (SMPS) dedicato per alimentare il circuito RF.
L'SMPS è un buon esempio di come le soluzioni integrate possano risolvere i problemi. Per ridurre al minimo le interferenze con i circuiti RF, l'SMPS utilizza la stessa frequenza di clock usata dal microcontroller Cortex-M0+ per sincronizzare la sezione RF, che è a 4 o 8 MHz. Ai fini di un'ulteriore riduzione delle interferenze, un controllo automatico del guadagno (AGC) può ridurre automaticamente il guadagno RF e IF. Anche il firmware può regolare manualmente l'AGC.
Figura 2: Il front-end RF del microcontroller STM32WB Bluetooth include un controller Cortex-M0+ BLE, un AGC per la riduzione del rumore e tre regolatori di tensione. (Immagine per gentile concessione di STMicroelectronics)
La sezione RF richiede pochi componenti esterni. Per ottenere questo risultato, il front-end RF ha condensatori su chip che sono programmabili dall'utente, quindi il cristallo esterno a 32 MHz non richiede condensatori trimmer esterni. Il front-end RF riduce anche il numero di componenti includendo un balun passabanda completo, vicino al pin dell'antenna (RF1) (anche in questo caso fare riferimento alla Figura 2).
Il pin RF1 deve essere collegato a un'antenna Bluetooth compatibile a 2,4 GHz tramite un filtro con una rete di adattamento passa-basso. Infine, servono dei condensatori di disaccoppiamento tra la potenza e la terra della sezione RF. I valori consigliati sono 100 nF e 100 pF collegati in parallelo.
Come per qualsiasi applicazione radio, la progettazione RF e la scelta dei componenti influenzano direttamente le prestazioni della radio Bluetooth. L'uso di componenti di alta precisione migliorerà l'affidabilità della radio Bluetooth. Il progettista si troverà con la maggior parte del lavoro per la sezione RF già fatta. Spetta allo sviluppatore progettare il sistema in modo che non ostacoli il percorso tra l'antenna Bluetooth esterna e il dispositivo accoppiato.
Per accelerare lo sviluppo con STM32WB55RGV6, STMicroelectronics fornisce la scheda di sviluppo Nucleo P-NUCLEO-WB55 (Figura 3). La scheda è inoltre dotata di un dongle USB che ha anche un microcontroller STM32WB.
Figura 3: La scheda Nucleo di STMicroelectronics per la famiglia STM32WB si interfaccia con il dongle Bluetooth per supportare lo sviluppo di progetti basati su STM32WB. (Immagine per gentile concessione di STMicroelectronics)
La scheda Nucleo è provvista di connettori di espansione Arduino™ grazie ai quali gli sviluppatori possono migliorare i progetti con shield Arduino Uno compatibili. Uno sviluppatore può rapidamente costruire un prototipo hardware partendo dalla scheda Nucleo. L'applicazione Nucleo è programmata e sottoposta a debug collegando un PC al connettore USB sulla scheda. Una volta programmata, la scheda può quindi comunicare con il dongle Bluetooth fornito o con un PC abilitato Bluetooth.
Sicurezza delle applicazioni
La sicurezza delle applicazioni wireless è diventata una delle principali preoccupazioni degli sviluppatori. Le aziende devono proteggere i propri dati e il proprio firmware da attacchi e contraffazioni non autorizzate. Per crittografare e decrittografare le trasmissioni Bluetooth, su STN32WB55RGV6 è disponibile un blocco di crittografia hardware AES-256. Questo blocco impedisce ai malintenzionati di andare a "curiosare" nelle trasmissioni Bluetooth e catturare dati.
Che le applicazioni si aggiornino tramite Bluetooth è ormai consueto. Ma questo può fornire agli hacker un punto di attacco per installare falsi aggiornamenti del firmware. STM32WB55RGV6 protegge da installazioni di falso firmware con un processo di installazione del firmware sicuro (SFI). Si tratta di un sistema a chiave pubblica/privata che trasmette un file del firmware crittografato a STM32WB55RGV6. STM32WB55RGV6 decrittografa il file del firmware utilizzando una chiave privata memorizzata all'interno del relativo blocco di memoria protetta e una chiave pubblica leggibile firmata da STMicroelectronics. In questo modo solo i sistemi con credenziali autorizzate possono aggiornare il firmware.
Ogni STM32WB55RGV6 dispone inoltre di un'identità (ID) a 96 bit e di un ID univoco a 64 bit. Questi ID possono essere utilizzati per identificare diversi microcontroller STM32WB55RGV6 ai fini di una maggiore sicurezza, o anche per abilitare varie funzionalità nel firmware per diversi sistemi sul campo.
Conclusione
Lo sviluppo di dispositivi Bluetooth richiede un controllo rigoroso di potenza, dimensioni, costi e affidabilità. La selezione di componenti altamente integrati come STM32WB55RGV6 può semplificare notevolmente la combinazione dei compromessi dei progettisti e ridurre al minimo i tempi di sviluppo.
Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.




