EUR | USD

Come progettare dispositivi indossabili sempre in funzione a basso consumo energetico - Parte 3: Ottimizzazione della connettività wireless Bluetooth

Di Bill Giovino

Contributo di Editori nordamericani di Digi-Key

Nota del redattore: questo è il terzo di una serie di tre articoli che trattano la progettazione di dispositivi elettronici indossabili, alimentati a batteria, sempre in funzione, e approfondiscono tre aspetti da considerare per ottimizzare il consumo energetico. Nella Parte 1 è stato descritto come configurare il microcontroller per estendere la durata della batteria e ridurre il numero di ricariche. Nella Parte 2 è stato illustrato come gestire correttamente la batteria per aumentare il tempo che intercorre tra le ricariche. Qui, nella Parte 3, viene esaminata la connettività wireless dei dispositivi indossabili e spiegato come ottimizzarla per ridurre il consumo energetico.

I dispositivi indossabili mettono a dura prova la capacità dei progettisti di ottimizzare spazio e consumo energetico. Ogni millimetro quadrato è importante e ogni milliampere sprecato contribuisce a ridurre la durata della batteria, portando inevitabilmente a un'esperienza insoddisfacente dell'utente. Uno dei principali responsabili dell'esaurimento della carica della batteria di un dispositivo indossabile è l'interfaccia wireless e stanno emergendo molte soluzioni per aiutare i progettisti a ridurne al minimo l'impatto.

Questo articolo illustra il funzionamento delle connessioni wireless per un dispositivo indossabile e come configurare l'interfaccia wireless per ridurre al minimo l'esaurimento della batteria. Prende quindi in esame i chip wireless di Dialog Semiconductor e spiega come configurare correttamente una connessione Bluetooth per un dispositivo indossabile.

Le comunicazione wireless in un dispositivo indossabile consumer

I dispositivi indossabili consumer in genere si collegano a un dispositivo mobile che esegue un'app sviluppata dal produttore. Anche se i dispositivi indossabili possono funzionare indipendentemente da un dispositivo mobile collegato, nella maggior parte dei casi vi si collegano a un intervallo di tempo prestabilito ogni volta che si trova nel raggio d'azione. Non è necessario che questa sincronizzazione avvenga in tempo reale, il che è un fattore cruciale per l'ottimizzazione dei consumi.

Ad esempio, un dispositivo indossabile per il fitness sincronizza i dati con l'app, incluso un log della frequenza cardiaca, dei passi e della distanza nel tempo. Anche se l'utente sta facendo attività fisica, questi dati non devono necessariamente essere in tempo reale. Può essere accettabile un intervallo di aggiornamento fra uno e cinque secondi e spesso può essere configurato dall'utente. Il dispositivo indossabile riceve anche avvisi dal dispositivo mobile, comprese le chiamate e gli SMS in arrivo. Questi avvisi sono su richiesta e vengono emessi solo in caso di necessità.

Per la connessione a un dispositivo indossabile i progettisti dispongono di numerose interfacce wireless, ma ai fini dell'interoperabilità poche possono competere con Bluetooth, che fornisce una connessione diretta tra il dispositivo indossabile e quello mobile. Quando il dispositivo mobile è fuori portata, per collegare il dispositivo indossabile a Internet si può utilizzare anche il Wi-Fi. Il dispositivo indossabile può quindi essere configurato per connettersi a una rete pubblica o a qualsiasi altra rete alla quale è autorizzato ad accedere. Si potrà così avere uno scambio bidirezionale di dati. Ad esempio, tramite il Wi-Fi li si può trasferire dal dispositivo indossabile al cloud del suo produttore, da dove possono essere inviati al dispositivo mobile attraverso la rete cellulare. Allo stesso tempo, il dispositivo mobile può aggiornare il dispositivo indossabile in base alle condizioni locali pertinenti, alle e-mail o agli SMS.

Dato che, a causa dei maggiori costi e consumi, è raro trovare il Wi-Fi in un dispositivo indossabile, e dato che questi ultimi sono quasi sempre vicini al dispositivo mobile a cui sono abbinati, questo articolo si concentrerà su Bluetooth.

Bluetooth per dispositivi indossabili

Bluetooth è stato originariamente sviluppato per connessioni peer-to-peer per lo streaming di dati a una velocità di trasmissione da 1 a 3 Mbit/s. Questa specifica Bluetooth originale oggi è conosciuta come Bluetooth 3.0, o Bluetooth Classic. Anche se queste prime versioni di Bluetooth erano utili per lo streaming di file audio e multimediali, erano troppo energivore per dati di sensori e segnali di controllo intermittenti, a bassa velocità di trasmissione e a basso consumo. Per queste applicazioni è stato sviluppato Bluetooth 4.0.

Bluetooth 4.0, noto ora come Bluetooth Low Energy (BLE), può trasferire dati ad appena 125 kbit/s. Inoltre, i chip Bluetooth LE restano per gran parte del tempo in modalità di sospensione, in cui assorbono pochissima energia. Questa situazione è perfetta per un dispositivo indossabile a basso consumo con una piccola batteria.

Per implementare una radio Bluetooth LE su un dispositivo indossabile, uno sviluppatore può utilizzare un microcontroller con integrata la radio oppure una radio esterna. La scelta dell'opzione con i consumi più bassi dipende dai requisiti di sistema.

Ad esempio, se la radio Bluetooth LE è integrata come periferica nel microcontroller, può far risparmiare spazio prezioso su scheda. Perché la periferica radio possa funzionare, però, il microcontroller deve essere quanto meno parzialmente alimentato.

In alternativa, la radio Bluetooth LE può essere esterna al microcontroller. Nonostante occupi più spazio su scheda, ha il vantaggio di richiedere che sia attivo solo il chip radio, mentre il microcontroller può essere in modalità a basso consumo. Vi è poi anche il vantaggio di un approccio modulare alla progettazione di un dispositivo indossabile. Questo permette di sostituire il microcontroller host con uno più potente in un nuovo design, lasciando invece invariato il chip radio Bluetooth LE. Anche il ciclo di progettazione può essere più rapido, dato che non occorre codificare nel microcontroller la radio Bluetooth e lo stack.

Uso di un chip Bluetooth esterno

Un chip Bluetooth esterno per un dispositivo indossabile dovrebbe avere un'interfaccia semplice con il microcontroller che non aumenti troppo il consumo energetico e dovrebbe anche essere in grado di riattivare il microcontroller da uno stato di sospensione. Un dispositivo idoneo per gli indossabili è il SoC Bluetooth DA14585 di Dialog Semiconductor mostrato nella Figura 1.

DA14585 si basa su un core Arm® Cortex®-M0 che si avvale di 128 kB della ROM programmata in fabbrica. Contiene anche 64 kB di memoria programmabile una sola volta (OTP) per la personalizzazione. Questo permette di sviluppare un firmware dell'applicazione Bluetooth personalizzato per DA14585. Il firmware può accedere anche alle altre periferiche su chip, tra cui:

  • Un convertitore analogico/digitale (ADC) a 10 bit a quattro canali che può essere utilizzato per il monitoraggio della batteria
  • Per interfacciarsi con un dispositivo di interfaccia umana (HID) a tre assi come un contapassi con direzione, si può utilizzare un decoder in quadratura
  • Per il collegamento e l'antirimbalzo dei pulsanti si può utilizzare una periferica controller per tastiera

Schema della soluzione SoC Bluetooth completa DA14585 di Dialog SemiconductorFigura 1: DA14585 di Dialog Semiconductor è una soluzione SoC Bluetooth completa con uno stack Bluetooth 5.0, un transceiver radio a 2,4 GHz e altro hardware per personalizzare una periferica Bluetooth. (Immagine per gentile concessione di Dialog Semiconductor)

DA14585 integra anche un transceiver a 2,4 GHz, un processore in banda base e uno stack Bluetooth LE 5.0 qualificato per ridurre al minimo il tempo che uno sviluppatore deve dedicare allo studio delle minuzie nella progettazione di un semiconduttore Bluetooth. Supporta fino a otto connessioni Bluetooth LE simultanee, anche se un dispositivo indossabile in genere ne richiede solo una.

Il chip può collegarsi a un microcontroller tramite un'interfaccia UART, SPI o I2C. Anche se il dispositivo include firmware predefinito per le comunicazioni con l'host, Dialog offre allo sviluppatore la possibilità di personalizzarle con un OTP su chip per realizzare un dispositivo indossabile più efficiente. Gli UART supportano velocità dati fino a 1 Mbit/s con controllo del flusso hardware, quindi il microcontroller host deve supportare un'interfaccia UART compatibile.

DA14585 ha anche dimensioni ridotte. È contenuto in un WLCSP a 34 pin di soli 5 x 5 mm, con un ingombro minimo su scheda. Il suo profilo di 0,9 mm lo rende idoneo per dispositivi indossabili ultrasottili.

Il core e lo stack Bluetooth LE sono totalmente compatibili con la specifica Bluetooth v5.0 (Figura 2). Dato che lo stack si trova nel DA14585 invece che nel microcontroller, quando la specifica Bluetooth viene aggiornata Dialog può semplicemente aggiornare lo stack nel DA14585. Il dispositivo indossabile funzionerà come prima, ma lo sviluppatore può aggiornare il firmware dell'applicazione del microcontroller host per sfruttare qualsiasi modifica alla specifica.

Schema di DA14585 di Dialog SemiconductorFigura 2: DA14585 di Dialog Semiconductor richiede pochissimi componenti esterni. Implementa un core Bluetooth v5.0 completo e la radio, per cui lo sviluppatore non deve studiare i dettagli di una soluzione a semiconduttori Bluetooth. (Immagine per gentile concessione di Dialog Semiconductor)

La radio Bluetooth richiede pochi componenti esterni. Supporta tutte le classi di dispositivi Bluetooth e tutti i tipi di pacchetti. Inoltre, la radio può essere spenta per risparmiare energia. Dal core Cortex-M0 viene vista come una periferica bus AHB.

Dialog Semiconductor offre anche DA14586, che ha la stessa ROM, OTP, e lo stesso set di periferiche di DA14585, ma con l'aggiunta di 2 Mbit di memoria flash. Mentre la memoria flash può essere programmata più volte e quella OTP solo una volta, quest'ultima consuma molta meno energia della flash. DA14585 opera anche tra 0,9 e 3,6 V, mentre DA14586 richiede tra 1,8 e 3,3 V.

Implementazione di un dispositivo indossabile Bluetooth a basso consumo

Il core Bluetooth di DA14585 ha due modalità di funzionamento: attiva e sospensione profonda. In modalità attiva la radio trasmette e riceve attraverso la connessione wireless Bluetooth; in modalità di sospensione profonda il core si disattiva e, opzionalmente, la radio si spegne. Poiché un dispositivo indossabile è, nel migliore dei casi, un dispositivo quasi in tempo reale, per risparmiare energia il core e la radio possono essere programmati per un evento di sospensione e riattivazione periodico.

Ad esempio, il core Bluetooth può essere programmato per entrare in sospensione profonda per un certo periodo di tempo, quindi riattivarsi, gestire qualsiasi messaggio o notifica all'utente o su di esso (ad esempio, e-mail, aggiornamenti sulla frequenza cardiaca) e infine tornare in sospensione profonda. Il periodo di questo ciclo viene stabilito dallo sviluppatore. Più il core rimane in sospensione profonda, maggiore è il risparmio della carica della batteria. Tuttavia, una sospensione profonda troppo prolungata può ritardare i messaggi Bluetooth. Il core può essere programmato per rimanere in modalità attiva più a lungo per ridurre i tempi di latenza e di risposta, ma in questo caso consuma più energia. Lo sviluppatore dovrebbe sperimentare diversi periodi di modalità sospensione profonda e attiva per riuscire a ottimizzare il consumo rispetto al tempo di risposta e offrire così all'utente l'esperienza migliore.

Il principale processore Arm Cortex-M0 per DA14585 supporta quattro modalità operative: attiva, sospensione, sospensione estesa e sospensione profonda. Tenere presente che queste modalità di alimentazione non devono essere confuse con quelle di alimentazione del core Bluetooth. Il core Bluetooth può essere in modalità attiva, mentre il core Arm e le periferiche sono in modalità di sospensione estesa.

  • In modalità attiva, il core Arm e le periferiche sono tutti alimentati e attivi. Questa è la modalità in cui si trova DA14585 durante una connessione dati Bluetooth attiva. In modalità attiva, con DA14585 alimentato a 3 V, il dispositivo assorbe 5,3 mA in ricezione e 4,9 mA in trasmissione.
  • In modalità di sospensione il core Arm è inattivo, ma mantiene il suo stato. Questo consente di risparmiare energia quando Bluetooth è attivo e il core Arm è in attesa che la trasmissione finisca così da poter operare sui dati. L'assorbimento di corrente in modalità di sospensione varia a seconda delle periferiche che sono attive.
  • In modalità di sospensione estesa il core Arm è inattivo, così come le periferiche selezionate. Questa modalità può essere utilizzata per risparmiare energia quando il core Bluetooth è in modalità di sospensione profonda e anche durante i lunghi periodi di inattività di Bluetooth. La periferica Bluetooth e l'interfaccia host possono essere attive ed entrambe possono riattivare il core Arm nel momento in cui rilevano un'attività. Questa modalità consuma una quantità minima di energia. In sospensione profonda DA14585 assorbe 3,3 µA mantenendo 64 kB di RAM.
  • La modalità dal minor consumo energetico per Arm e le periferiche è quella di sospensione profonda. Questa modalità spegne tutto, compresa la radio Bluetooth. Può essere utile se l'utente decide di disattivare Bluetooth e non serve nessuna delle periferiche DA14585. In sospensione profonda, DA14585 può assorbire anche solo 610 nA o 1,4 µA se devono essere mantenuti 16 kB di RAM.

In funzionamento base, il core Bluetooth del dispositivo indossabile basato su DA14585 passa la maggior parte del tempo in modalità di sospensione profonda, mentre Arm è in modalità di sospensione o sospensione estesa. In modalità attiva, il core Bluetooth si riattiva periodicamente a intervalli programmati per verificare la presenza di dati wireless, mentre il core Arm si porta in modalità attiva e comunica i dati con il microcontroller host. Al termine della trasmissione, il core Bluetooth entra in sospensione profonda mentre il core Arm entra in modalità di sospensione o sospensione estesa. Ciò assicura una connessione attiva e affidabile al dispositivo mobile e permette di risparmiare energia.

Guida introduttiva a DA14585

Per imparare a usare DA14585, Dialog ha messo a disposizione il kit di sviluppo base Bluetooth DA14585 DA14585-00ATDEVKT-B (Figura 3).

Immagine della scheda di valutazione base DA14585 di Dialog SemiconductorFigura 3: La scheda di valutazione base DA14585 di Dialog Semiconductor si collega a un PC tramite un'interfaccia USB e contiene tutto ciò che serve a uno sviluppatore per testare ed eseguire il debug dei driver del microcontroller e del firmware applicativo per il dispositivo. (Immagine per gentile concessione di Dialog Semiconductor)

Il kit di sviluppo base DA14585 supporta il debugging totale tramite un'interfaccia USB. È controllato da un microcontroller host di Microchip Technology che usa la memoria di programma flash esterna. Il firmware applicativo per il microcontroller può essere caricato nella memoria flash tramite l'interfaccia USB. Lo sviluppatore può caricare i programmi di esempio inclusi nel kit e utilizzarli per interfacciarsi con un altro dispositivo Bluetooth, ad esempio un PC. Dopodiché, può caricare il suo firmware personalizzato ed eseguirne il debug.

Conclusione

I progettisti di dispositivi indossabili devono ottimizzarli per ridurre al minimo il consumo energetico e offrire all'utente la migliore esperienza possibile, tenendo conto anche dei tempi e dei costi di sviluppo. Un'interfaccia wireless può consumare gran parte della potenza disponibile, ma scegliendo e implementando attentamente l'interfaccia è possibile contenerne fortemente i consumi.

Come è stato dimostrato, l'utilizzo di un chip Bluetooth esterno con un microcontroller host può accelerare i tempi di sviluppo, permettendo agli sviluppatori di creare un dispositivo indossabile senza dover programmare un'interfaccia Bluetooth da zero. L'uso appropriato delle modalità di basso consumo disponibili può prolungare la durata della batteria del dispositivo indossabile garantendo al tempo stesso un funzionamento affidabile.

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 Digi-Key Electronics o le sue politiche.

Informazioni su questo autore

Bill Giovino

Bill Giovino è un ingegnere elettronico con un BSEE ottenuto a Syracuse University, ed è uno dei pochi ad essere passati con successo da progettista, a ingegnere delle applicazioni sul campo, al marketing tecnologico.

Da oltre 25 anni, Bill promuove le nuove tecnologie per un pubblico tecnico e non tecnico a nome di molte aziende, tra cui STMicroelectronics, Intel e Maxim Integrated. In STMicroelectronics, Bill ha contribuito a guidare i primi successi dell'azienda nel settore dei microcontroller. Con Infineon, Bill ha orchestrato i primi successi di progettazione di microcontroller dell'azienda nel settore automotive statunitense. In qualità di consulente di marketing per la sua società CPU Technologies, Bill ha aiutato molte aziende a trasformare prodotti di secondo grado in storie di successo.

Bill è stato uno dei primi ad adottare l'Internet delle cose, compresa l'integrazione del primo stack TCP/IP completo su un microcontroller. Bill è fedele al motto "Le vendite guidate dall'educazione" e tiene molto alla crescente importanza di comunicazioni chiare e ben scritte nella promozione di prodotti online. È moderatore del famoso gruppo Sales & Marketing di LinkedIn Semiconductor e parla correntemente di B2E.

Informazioni su questo editore

Editori nordamericani di Digi-Key