Risultati in novanta minuti: sviluppo BLE con Blue Gecko

Gli ultimi anni hanno visto un'esplosione nelle applicazioni dell'Internet delle cose (IoT) con prodotti, come i contatori intelligenti, i sensori wireless, i sistemi indossabili, i dispositivi di automazione della casa e i sistemi di allarme. La connettività wireless è al centro dello IoT con diversi standard wireless che servono a coprire l'intera gamma di applicazioni.

In particolare, il Bluetooth a bassa energia (BLE), noto anche come Bluetooth Smart, è progettato per applicazioni nel fitness, nella sanità, nei sistemi di sicurezza, nell'intrattenimento domestico e nel commercio al dettaglio su base geografica (beacon). Rispetto al Bluetooth classico, il Bluetooth intelligente offre un basso consumo di potenza, bassi costi, tempi di connessione più rapidi, associato ad alti livelli di affidabilità e sicurezza. 

Grazie a Blue Gecko, ultimo membro della famiglia Wireless Gecko SoC di Silicon Labs, gli sviluppatori possono sviluppare una semplice applicazione BLE in appena 90 minuti usando kit e strumenti completi e la demo del software disponibile. 

Famiglia Wireless Gecko di Silicon Labs

Con la famiglia Wireless Gecko (EFR32), Silicon Labs offre soluzioni su chip (SoC) altamente integrate, robuste, affidabili, facili da usare, wireless, al silicio e RF. I dispositivi Wireless Gecko si basano sul microcontrollore a 32 bit con un core ARM Cortex-M4 più un'unità di calcolo a virgola, che opera fino a 40MHz, fino a 256kB di memoria flash per il programma e 32kB di memoria RAM.  A seconda del dispositivo le periferiche comprendono convertitori analogico-digitale, comparatori, canali PWM, crittografia AES, ECC e SHA, comunicazione I2C e altro ancora.

Blue Gecko è ottimizzato per il Bluetooth intelligente; altri SoC comprendono la potente piattaforma Gecko per i protocolli ZigBee® e Thread e Flex Gecko per le applicazioni di proprietà con banda 2,4 GHz.

Panoramica su Blue Gecko 

La famiglia Blue Gecko SoC (EFR32BG) fornisce scalabilità, efficienza energetica, sicurezza e semplicità del design per le applicazioni del Bluetooth intelligente. Oltre a SoC wireless, il portafoglio Blue Gecko comprende moduli wireless pre-certificati, una pila software del Bluetooth intelligente e un kit di sviluppo del software (SDK) in linguaggio C, facile da usare.

Hardware Blue Gecko: SoC o Modulo?

0516 SE Blue Gecko Wireless Image 1

Figura 1: confronto di un Modulo BGM113 Blue Gecko e il progetto di riferimento SoC (fonte: Silicon Labs)

Quando si tratta di hardware, esistono due opzioni principali:
1) Usare un modulo wireless pre-progettato contenente SoC
2) Usare un sistema su chip (SoC) wireless e integrarlo nel proprio circuito stampato personalizzato (PCB). 

Il modulo è dotato di un PCB Design accattivante, compresa l'ottimizzazione RF e il layout dell'antenna, schermatura, componenti per il controllo del tempo e distinte base esterne (DB). Un modulo ha elevati costi iniziali e potrebbe avere bisogno di più spazio rispetto ad un design SoC personalizzato. I moduli Blue Gecko di Silicon Labs comprendono approvazioni normative e certificati standard, che, tuttavia, fanno risparmiare tempo e costi in seguito nel ciclo di sviluppo. 

SoC è più piccolo ed economico rispetto ad un modulo wireless ed è probabile che il costo BOM totale sia inferiore. Tuttavia, il progetto iniziale determina dei costi occulti che devono essere attentamente valutati. Alcuni dei costi occulti di un progetto, che si basa su SoC, sono: 

- Ingegneri RF e design: il design del Bluetooth richiede specifiche competenze nel design. Molti fattori possono influenzare le prestazioni, ivi compreso il materiale isolante PCB, la tracciabilità, persino il posizionamento della vite.  Un ingegnere RF può costare fino a $200.000 all'anno. 
- Attrezzature di laboratorio e strutture: una camera anecoica può costare $20.000 o più, più altri $30-$50.000 per le attrezzature. Centri di collaudo RF possono ammontare a parecchie migliaia di dollari al giorno.
- Layout PCB e Antenna Selection: anche se i produttori SoC includono progetti di riferimento dettagliati e linee guida sul layout, gli sviluppi RF raramente vanno esattamente secondo il piano. Alcune rotazioni rapide dei PCB possono fare impennare i costi. 
- Approvazioni normative e certificazioni: un prodotto del Bluetooth intelligente deve soddisfare i requisiti normativi di FCC, UE o altre autorità. È necessaria anche la certificazione Bluetooth SIG. Usare un modulo pre-certificato può consentire al prodotto finale di saltare molte prove. 
- Diminuzione dei ricavi del prodotto a causa dei ritardi TTM: nel mondo della commercializzazione di oggi con cicli di sviluppo sempre più ridotti, anche un lieve ritardo può tradursi in mancati introiti. 
- Gestione delle forniture e Assicurazione: per i cicli di produzione di piccole serie i moduli possono mitigare il rischio di approvvigionamento. L'approvvigionamento di un singolo modulo è molto più semplice rispetto all'approvvigionamento di tutti i componenti per mettere un SoC sulla scheda. 

Anche se ogni modello è differente, persino alcuni grandi costruttori di telefoni cellulari hanno scelto una soluzione modulare.  Un'analisi dettagliata di SoC vs. le scelte del design modulare si trova qui. 

Il kit di partenza wireless del Bluetooth intelligente 

Indipendentemente dal percorso che si decide di seguire il kit di partenza wireless del Bluetooth intelligente (WSTK) fornisce un modo rapido e comodo, per valutare l'hardware di Blue Gecko e iniziare con lo sviluppo del software. È composto dalla scheda madre, una scheda radio estraibile e schede di espansione opzionali.

La scheda madre contiene connettività Ethernet e USB, il sensore di temperatura e umidità Si7021, un display con pixel 128 x 128, portabatterie a bottone e altre periferiche.

0516 SE Blue Gecko Wireless Image 2

Figura 2: il kit di partenza wireless (WSTK) con il modulo wireless Blue Gecko BGM111 e la scheda di espansione.(Fonte: Silicon Labs)

Una scelta di schede radio è disponibile per lo sviluppo di Blue Gecko. Per i moduli esistono due versioni, BG111 e BG113 con differenti specifiche; per il lavoro con SoC è disponibile anche la scheda radio EFR32BG. La scheda di espansione offre funzioni extra, quali un accelerometro, un joystick, i LED e due pulsanti.

Opzioni di Sviluppo del Software Blue Gecko

Per lo sviluppo del codice di Bluetooth intelligente con SoC o i Moduli Blue Gecko, c'è la possibilità di usare due ambienti di sviluppo flessibili con WSTK. 

Per una applicazione semplice con funzioni standard o per realizzare un'idea con il minimo sforzo, ricorrere all'utilizzo di BGScript.  È un linguaggio di scripting con stile BASIC, che offre un ambiente di sviluppo del software rapido e facile. BGScript crea semplici applicazioni di Bluetooth intelligente che vengono eseguite su BGM111 o BGM113.

Per i requisiti più complessi o se si sta progettando un hardware personalizzato si possono sviluppare delle applicazioni dal nulla con sistemi embedded in C, usando Simplicity Studio con IDE basato sullo standard Eclipse e una suite completa di tool per l'ottimizzazione.  Il codice compilato viene eseguito nativamente su un SoC di Bluetooth intelligente Blue Gecko. 

Per una rapida valutazione del codice Blue Gecko l'App di Blue Gecko funziona su uno smartphone o tablet con Bluetooth 4.0 o maggiore.  Comprende quattro esempi di applicazione: un termometro per la salute, beacon per le vendite al dettaglio, portachiavi per rilevazione e test su stack BLE e profili.  

Sviluppo del Software con BGScript

BGScript fornisce accesso a tutte le funzionalità necessarie, per avviare immediatamente la codifica senza preoccuparsi delle complessità del protocollo Bluetooth, hardware incorporato, programmazione, gestione della memoria, ecc. Le applicazioni possono essere usate per automatizzare le funzioni comuni del Bluetooth intelligente, come aprire una connessione, evitare interruzioni dell'ascolto GPIO e persino leggere e scrivere i dati tramite le interfacce UART, SPI, I2C o GPIO.

0516 SE Blue Gecko Wireless Image 3

Figura 3: modello di programmazione in lingua BGScript, fonte (Silicon Labs)

Le applicazioni con BGScript possono anche eseguire semplici compiti per l'elaborazione dei dati, facendo le operazioni aritmetiche con BGScript, bit a bit, buffer e di confronto tra i dati.

BGScript è costruito sopra allo strato BGAPI nella pila software del Bluetooth intelligente e si esegue direttamente su un modulo wireless BGM111 o BGM113. 

È un linguaggio di programmazione guidato da eventi; un evento come boot del sistema, connessione Bluetooth oppure un'interruzione di I/O, innesca l'esecuzione del codice di applicazione associato a quell'evento. Il codice di script viene interpretato durante il tempo di esecuzione da un interprete BGScript, incluso come parte del firmware. 

Le applicazioni complete possono essere implementate senza un controller host esterno, riducendo i costi BOM e minimizzando le dimensioni della scheda.

Sviluppo del Software in 90 minuti

0516 SE Blue Gecko Wireless Image Green text

Figura 4: un campione del codice BGScript che mostra un ascoltatore di eventi boot con le sue chiamate a BGAPI (fonte: Silicon Labs)

Poiché un programma di applicazione con BGScript consiste principalmente nelle chiamate a BGAPI, un'applicazione che può essere montata molto rapidamente. La figura 4 mostra un campione del codice: ascoltatore di eventi boot per l'applicazione del termometro per la salute, che è una delle 4 applicazioni di esempio incluse in SDK Gecko Blue. Il codice di applicazione dell'evento boot consiste in diverse chiamate a BGAPI: 

-- porre un pin GPIO a livello alto, per consentire il controllo di un LED sulla scheda di valutazione
-- impostare i parametri di promozione ad un intervallo di tempo di 100 ms
-- iniziare a diffondere i pacchetti pubblicitari collegabili per far fare una scansione e collegamento dei dispositivi BLE remoti
-- impostare un timer di ripetizione ad un secondo per programmare le letture della temperatura. 

Una descrizione più dettagliata di questa applicazione si trova qui.  Due documenti utili sullo sviluppo di BGScript Blue Gecko sono la Guida per lo sviluppo di BGScript, che riguarda le funzioni della lingua, la sintassi e gli operatori incorporati; e la Guida di Riferimento delle API per BGM111 o BGM113, che descrive nel dettaglio ogni metodo all'interno dell'API presente nello stack.

Vantaggi e Limitazioni BGScript

Nel caso della lingua interpretata, BGScript ha punti forti e deboli.

Alcuni dei vantaggi sono:

- Crea applicazioni standalone che funzionano direttamente su un modulo 
- Usa una sintassi semplice e richiede una minima esperienza di programmazione
- Usa caratteristiche del linguaggio di programmazione standard e operazioni
- Comprende le funzioni che servono a semplificare compiti complessi e comuni caratteristiche BGAPI di accesso 
- Non richiede una programmazione C personalizzata o un compilatore licenze

Alcune limitazioni sono:
- Poiché è una lingua interpretata e richiede una capacità extra per funzionare, le prestazioni di BGScript sono limitate rispetto al controllo esterno di API. BGScript può far funzionare diverse migliaia di comandi al secondo. Anche se BGScript funziona su entrambi i moduli e SoC, il suo SDK non consente il completo accesso alle periferiche dell'hardware sottostante.

Sviluppo del software basato su C con Simplicity Studio e C-SDK Bluetooth intelligente

0516 SE Blue Gecko Wireless Image 4

Figura 5: Simplicity Studio è un potente framework per lo sviluppo del software costruito su Eclipse IDE (fonte: Silicon Labs)

BGScript gestisce molte operazioni standard e fornisce un livello di astrazione per lo stack Bluetooth intelligente, ma si adatta al meglio ad applicazioni più semplici, poiché BGScript API non offre alcun accesso illimitato all'hardware sottostante.

Se si ha un'applicazione complessa con timer veloci o interruzioni, oppure se la propria applicazione deve comunicare con un dispositivo esterno, come ad esempio un microcontroller tramite connessione UART, è necessario avere Simplicity Studio, un ambiente di sviluppo completo costruito su Eclipse-based IDE.  IDE offre agli sviluppatori flessibilità, supportando il compilatore IAR Embedded Workbench per ARM. Fornisce inoltre una perfetta integrazione con strumenti di ottimizzazione, quali:

- L' AppBuilder, uno strumento interattivo che serve a configurare i moduli con il codice fornito da Silicon Labs, per implementare le applicazioni  
- Il Profiler, che consente di migliorare il profiling del codice in tempo reale, misurando il consumo di potenza elettrica
- L' analizzatore di rete, che registra una traccia dell'attività della rete wireless
- Il configuratore dell'hardware, che genera automaticamente il codice per le periferiche dell'hardware e la porta di I/O
- Il C-SDK Bluetooth Smart, che consente di sviluppare applicazioni del software per sistemi su chip (SoC) in C su un singolo microcontrollore.

0516 SE Blue Gecko Wireless Image 5

Figura 6: sviluppo di Bluetooth intelligente con Simplicity Studio (fonte: Silicon Labs)

Figura 6 mostra il modello per lo sviluppo di BT Smart con Simplicity Studio. A differenza della versione BGScript, l'applicazione interagisce direttamente con BGAPI. 

Per lo sviluppo di Blue Gecko, sono richiesti i seguenti componenti di Simplicity Studio:

- Il Framework di Simplicity Studio con il pacchetto di supporto EFR32BG
- C-SDK Bluetooth intelligente
- IAR Embedded Workbench (sistemi IAR) per ARM 7.3 o successivo- usato come compilatore nell'ambiente Simplicity Studio. 

Vantaggi e Limitazioni di Simplicity Studio

Simplicity Studio è un sistema di sviluppo completo. Come ogni altro analogo sistema, occorre tempo per prendere dimestichezza con i molti strumenti di sviluppo di Bluetooth intelligente.

I vantaggi comprendono:

- Il codice C compilato velocizza l'operazione rispetto ad una soluzione BGScript interpretata
- Il C-SDK Bluetooth intelligente offre accesso a più periferiche dell'hardware sottostante e consente una maggiore flessibilità nello sviluppo delle applicazioni del cliente
- Il configuratore dell'hardware consente l'accesso alle periferiche SoC e alla configurazione personalizzata delle periferiche SoC su PCB nella versione OEM
- Energy Profiler consente l'ottimizzazione del codice di potenza elettrica in tempo reale, misurando nativamente il consumo di potenza elettrica (senza richiedere apparecchiature di misura aggiuntive o rilevamento dell'hardware)

Alcuni vantaggi sono:

- tempi di sviluppo più lunghi
- richiede una conoscenza approfondita di C 
- richiede l'acquisto di una licenza per IAR Embedded Workbench (sistemi IAR) per ARM 7.3 o successivo

Conclusione 

Blue Gecko offre la perfetta combinazione delle caratteristiche, per consentire agli sviluppatori di BLE di entrare nel mercato nel più breve tempo possibile, sia che si utilizzi un modulo pre-certificato o si sviluppi una soluzione partendo da zero basata su SoC.  

Costruita sul core ARM Cortex-M4 secondo gli standard del settore, Blue Gecko offre il meglio di entrambi i mondi. Per una rapida verifica delle nuove idee o applicazioni standard, un ambiente di sviluppo che si basa su BGScript può avere applicazioni superiori e funzionare quasi immediatamente. Per uno sviluppo partendo da zero, Simplicity Studio consente agli sviluppatori di personalizzare ogni aspetto del design con un'ampia gamma di strumenti di ottimizzazione e moduli con il codice prescritto.

Indipendentemente da quale piattaforma software venga utilizzata, c'è una totale compatibilità di software tra Blue Gecko SoC e le soluzioni con il modulo, consentendo agli sviluppatori di migrare rapidamente dal modulo a SoC, quando cambiano le esigenze. 

Visualizza prodotti correlati

SLWSTK6101B

Silicon Labs Kit e schede di sviluppo RF/Wireless Visualizza

Visualizza prodotti correlati

SLWSTK6020A

Silicon Labs Kit e schede di sviluppo RF/Wireless Visualizza

Ultime notizie

Sorry, your filter selection returned no results.

Non perderti le ultime novità sull'elettronica

Abbiamo aggiornato la nostra politica sulla privacy. Si prega di prendere un momento per rivedere questi cambiamenti. Cliccando su Accetto, l'utente accetta la Politica sulla privacy e Condizioni di utilizzo di Arrow Electronics.

Il nostro sito web mette i cookies sul vostro dispositivo per migliorare la vostra esperienza e il nostro sito. Leggete altre informazioni sui cookies che usiamo e su come disabilitarli qui. I cookies e le tecnologie di tracking possono essere usati per scopi commerciali.

Con un click su “Accept”, voi consentite l'inserimento dei cookies sul vostro dispositivo e l'uso da parte nostra di tecnologie di tracking. Per avere altre informazioni e istruzioni su come disabilitare i cookies e le tecnologie di tracking, clickate su “Read More” qui sotto. Mentre l'accettazione dei cookies e delle tecnologie di tracking è volontaria, una loro disabilitazione potrebbe determinare un funzionamento non corretto del sito web, ed alcuni messaggi di allarme potrebbero essere per voi meno importanti.

Noi rispettiamo la vostra privacy. Leggete qui la nostra politica relativa alla privacy