Quali fattori considerare quando si seleziona un MCU wifi integrato per un dispositivo edge a basso consumo?


17

La motivazione di questa domanda deriva dal fatto che qualche tempo fa ho creato un dispositivo periferico IoT a prova di concetto (PoC) utilizzando un microcontrollore e un processore di rete Wifi CC3100 . Uno dei problemi con questo prototipo era che la configurazione richiedeva una notevole quantità di energia. Pertanto, non potrebbe superare i vantaggi del dispositivo a bassa potenza esistente che potrebbe durare da 2 a 10 anni a seconda della scelta della batteria e della frequenza di utilizzo.

A seconda dell'applicazione, il prodotto corrente utilizza una batteria da 6 V CC con una capacità compresa tra 1400 mAh e 2400 mAh. Il dispositivo ha un elemento sensibile a bassa potenza e un meccanismo di azionamento. Il carico utile molto probabilmente sarà di circa 100 byte. La frequenza di comunicazione sarà circa ogni due minuti durante l'attività di picco. Con i progressi dell'IoT e le richieste del mercato, questo PoC ha attirato una certa attenzione.

Su suggerimento di pochi fornitori di piattaforme IOT, sto esaminando la MCU wireless CC3200 della Texas Instrument principalmente perché è il successore della CC3100. A livello di sistema, quando non in uso, l'alimentazione CC3100 può essere completamente disattivata. Questo è un vantaggio significativo per la bassa potenza a livello di sistema. Quando viene rilevata l'attività, l'elemento sensibile attiva il microcontrollore tramite un interrupt. Esistono altri MCU wifi integrati come ESP8266 , BCM43362 , ATWINC1500B , 88MC200 e molti altri. Uso ULPBench Scores per fare un'analisi del primo ordine di microcontrollori a bassa potenza seguita da analisi come quelle descritte inCome selezionare un micro controller per un'applicazione a basso consumo? per aiutare a selezionare un microcontrollore a bassa potenza. Ho usato parametri come l'assorbimento di corrente in modalità attiva per frequenza e l'assorbimento di corrente in diverse modalità a bassa potenza per effettuare una selezione informata. Quindi, al fine di mantenere l'opzione di bassa potenza e aggiungere la funzionalità IoT, quali sono i parametri critici (che potrebbero essere correlati alla comunicazione wireless) a cui dovrei prestare molta attenzione quando si seleziona un MCU wifi integrato?

Riferimenti:


3
Non sono sicuro di aver capito bene a quali componenti ti riferisci (dato che CC3200 è costituito da Microcontrollore Applicazioni, Processore di rete Wi-Fi e Sottosistemi di gestione dell'alimentazione - sembra che includa già la maggior parte di cui hai bisogno).
Ghanima,

1
@Ghanima, Tektronix ha un Come selezionare il tuo modulo Wi-Fi? guida. Esistono modi per selezionare la guida del modulo Wifi integrato. Ne ho trovato uno. Altri fornitori hanno moduli wifi integrati, al momento della stesura di questo documento non ho studiato il CC3200. Il vantaggio di far parte di questa comunità è far rimbalzare le domande e imparare le reciproche esperienze. Quindi, in breve, cosa rende A migliore di B per le applicazioni IOT per un'applicazione IOT a bassa potenza. C'è qualcosa di meglio del wifi, ad esempio sigfox o lora?
Mahendra Gunawardena,

3
Questo mi sembra troppo generale. Come test, come potremmo identificare una buona risposta dai possibili modi di rispondere a questa domanda?
Sean Houlihane,

2
Ho letto la tua domanda più volte e ancora non capisco cosa stai chiedendo. La tua storia utente va bene, ma quale parte dell'installazione stai chiedendo? Tutto ciò di cui parli nella tua domanda è un basso consumo energetico, quindi quali "parametri critici" stai cercando oltre al basso consumo energetico? Sono sicuro che ci sia una buona domanda in agguato qui, ma metà è ancora solo nella tua testa.
Gilles 'SO- smetti di essere malvagio' il

2
L'energia per istruzione è rilevante per il tuo caso d'uso? Con le informazioni nella tua domanda, non è affatto chiaro. Se non fai molti calcoli, allora potrebbe essere sminuito dal potere al minimo e soprattutto dalla radio.
Gilles 'SO- smetti di essere malvagio' il

Risposte:


8

Poiché il tuo vincolo più importante è avere un basso consumo energetico, penso che tu stia già prestando attenzione ai 2 parametri più importanti: assorbimento di corrente in modalità attiva per frequenza e assorbimento di corrente nelle diverse modalità a bassa potenza.

Mantenere la comunicazione come costante (cioè stesso protocollo di comunicazione e frequenza EM), quindi scegliere la migliore MCU è solo una questione di aggregare correttamente questi due parametri. Ed ecco come vorrei creare un singolo valore numerico che potrei confrontare tra tutte le opzioni:

  1. Crea un profilo di attività proiettato per il dispositivo (con che frequenza comunica e per quanto tempo) per un periodo - diciamo per una settimana.
  2. Calcolare l'assorbimento di corrente alla frequenza EM utilizzata per i periodi nel periodo selezionato quando la comunicazione è attiva, ad es. 10 uA di assorbimento (frequenza @ 900 MHz) per una durata di 2 s a 1000 volte l'attività in una settimana significherebbe 20.000 uA-s / settimana.
  3. Calcolare l'assorbimento di corrente per i periodi nel periodo selezionato quando il dispositivo è nella modalità di risparmio energia predefinita, ovvero 10 assorbimenti a [7 giorni x 24 ore x 60 minuti x 60 secondi - attività 1000 x 2 secondi] significherebbe 6.028 uA -s / settimana.
  4. Aggiungendo i 2 rendimenti si attendono 26.028 uA-s / settimana per questo ipotetico MCU.
  5. Questo assorbimento di corrente settimanale calcolato può quindi essere confrontato per tutti gli MCU.

So che questo è un modo molto semplicistico di vedere l'attività della MCU - vale a dire solo 2 stati: inattivo e in comunicazione ... ma credo che tutti gli altri stati avranno contributi proporzionali e minori a uno di questi 2. Ad esempio, il potere consumato per i calcoli (cicli di istruzione) possono essere raggruppati insieme allo stato comunicante e molto probabilmente avrà un contributo molto piccolo in termini di potenza rispetto al sottosistema di comunicazione. Il punto è che, guardando questi 2 stati è sufficiente per il processo di selezione.


5

Non esiste un proiettile magico, quindi penso che il consiglio sarà dolorosamente ovvio. Inizia a tagliare prima il più grande consumatore di energia.

Stai davvero spegnendo tutti i chip e i circuiti quando è inattivo? So che alcune delle schede e degli scudi per hobbisti non sempre disattivano completamente tutto ciò che ti aspetteresti.

Se è l'attuatore, è possibile utilizzare un motore più leggero o ridurre l'attrito nella trasmissione? Immagini più grandi, puoi riprogettare il carico guidato per avere meno massa o per essere meglio bilanciato?

Se è la comunicazione, inizia osservando la frequenza delle comunicazioni. Quali sono i fattori alla base dell'attuale decisione "due minuti"? Puoi fare sacrifici per comunicare meno spesso? Puoi passare a un modello pub-sub e rispondere con meno byte quando le condizioni lo consentono?

Rivalutare il protocollo. Ogni byte che radi rappresenta un risparmio dell'1% del tuo attuale budget di potenza RF. Invio di valori booleani? Usa i bit flag, non una ASCII 'Y' o 'N'. Assicurati di utilizzare il contenitore più piccolo possibile: non trasmettere un numero intero a 16 bit se il numero ha un intervallo consentito di solo 0-99. La maggior parte dei protocolli alimentati a batteria tenta di comprimerlo il più possibile; ad es. se si esegue il reporting su un array di elementi 5x5, l'indirizzo deve essere solo un campo a 5 bit, non un byte a 8 bit. L'uso dei cicli della CPU per la logica correlata alla compressione comporta un assorbimento di potenza complessivo molto inferiore rispetto alla trasmissione di bit non necessari.

Se la grande potenza assorbita è la CPU (incerta, ma possibile) puoi fare trucchi come le tabelle di ricerca precompilate, o anche scaricare parte del lavoro su un servizio remoto?


4

Non esiste un unico set definitivo di parametri che è possibile utilizzare per selezionare un dispositivo integrato come questo, ma penso che come prima approssimazione, i dispositivi di nuova concezione potrebbero essere significativamente migliori di qualcosa di un paio d'anni fa. Sebbene il concetto non sia nuovo, questo livello di integrazione e gli obiettivi di potere aggressivo rendono questo mercato in evoluzione.

Prestare molta attenzione agli stati di alimentazione offerti, visti dal punto di vista dell'intero sistema (regolatori, oscilatori, condizionamento del segnale del sensore). È possibile (improbabile) che il tuo stato attivo di 2 minuti trarrà beneficio da un sonno meno profondo rispetto al normale stato operativo.

Lo stato utile di potenza più bassa dovrebbe rappresentare la maggior parte del consumo di energia. Il modo esatto in cui questo dipende da cose come se fosse possibile operare direttamente senza alimentazione senza un regolatore, una tensione di funzionamento minima, ecc.

Per lo stato attivo, considera la maggior parte della RAM o calcola le operazioni intensive e analizzale usando le parti standard equivalenti più vicine che puoi trovare (basate su CPU, velocità e architettura della memoria). Nella tua applicazione sembra che preparare il payload e la crittografia possa essere abbastanza banale, ma in generale questo non è un presupposto ovvio. Gli stati di conservazione potrebbero consentire l'integrazione del sensore senza il salvataggio / ripristino dello stato, ad esempio.

Abbina la velocità e l'architettura del clock alle esigenze della tua applicazione. In stato di sospensione, si risparmia energia di dispersione. Una velocità di clock target più bassa per un dispositivo può significare che deve rimanere in uno stato attivo più a lungo, ma anche un design che garantisce prestazioni di dispersione migliori (oltre a una tensione di funzionamento forse inferiore).

Non conoscerai il miglior design assoluto fino a quando non avrai ripetuto più di un design: ci sono troppi parametri (e a questo punto, il tuo prodotto inizierà a invecchiare), quindi gli aspetti di livello superiore del flusso di design sono ancora importante. Se riesci a ottimizzare la tua architettura per ridurre gli eventi di veglia del 5%, questo dovrebbe essere evidente nella durata della batteria.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.