Aumentare l'intelligenza alla periferia dell'IoT con i microcontroller analogici intelligenti e autocalibranti
Contributo di Editori nordamericani di DigiKey
2020-07-01
Via via che le applicazioni per Internet delle cose (IoT) si fanno sempre più complesse, ai progettisti degli endpoint per Internet delle cose industriale (IIoT) viene chiesto di far spazio per l'edge computing più complesso. L'edge computing sui dati di sensori agli endpoint è un modo pratico per ridurre i colli di bottiglia della rete verso l'hub IIoT. Questo riduce il traffico di rete riducendo al tempo stesso il carico di calcolo sul processore principale dell'hub. Tuttavia, questo approccio comporta alcuni svantaggi.
Ad esempio, una comune applicazione edge IIoT è l'elaborazione dei dati sensoriali di un convertitore analogico/digitale (ADC) periodico. Per i dati analogici ad alta precisione, l'elaborazione matematica, l'interpretazione e l'interpolazione di centinaia di punti di dati ADC possono sovraccaricare pesantemente il processore host edge, con un potenziale impatto sulle prestazioni dell'intera rete. Inoltre, gli ADC ad alta precisione possono richiedere l'autocalibrazione nel firmware del microcontroller host dell'endpoint dell'IoT, che può ritardare tutto l'edge computing fino al suo completamento.
Questo articolo mostrerà agli sviluppatori come utilizzare i microcontrollori analogici di precisione di Analog Devices come periferiche ADC intelligenti. Spiegherà le caratteristiche di questi microcontroller analogici che li rendono utili come sistemi di acquisizione dati a chip singolo che si interfacciano facilmente al microcontroller endpoint IIoT e possono eseguire funzioni di edge computing come l'elaborazione dei punti dati ADC e l'autocalibrazione senza alcun impatto sulle prestazioni del microcontroller endpoint principale.
Perché elaborare i dati di sensori analogici all'edge?
I sistemi IIoT sono sempre più complessi e lo stesso vale per i dati che questi devono elaborare. Per le applicazioni di controllo industriale, le valvole e alcuni motori passano da sistemi ad anello aperto a sistemi ad anello chiuso dove i sensori analogici di precisione devono rilevare posizioni precise di valvole o motori. Per le applicazioni di controllo di processo, l'aumento dell'elaborazione ha portato a linee di produzione più veloci e ad un controllo più preciso della temperatura, della pressione e degli attuatori di un sistema.
Nel controllo di processo, la velocità della linea (il processo) dipende principalmente da due fattori: la capacità meccanica delle macchine e degli impianti e l'efficienza delle reti IIoT che ne controllano i sensori e gli attuatori. In alcuni casi, piccoli miglioramenti nel processo possono portare ad un aumento della produzione ma questi miglioramenti possono essere ostacolati dai colli di bottiglia nella rete IIoT. Questi tuttavia possono essere ridotti eseguendo una maggiore elaborazione alla periferia, ossia sull'edge.
L'edge computing nell'endpoint IIoT è particolarmente vantaggioso per l'elaborazione di segnali analogici. L'elaborazione di dati analogici può essere semplice durante le prime fasi dello sviluppo dell'IIoT, ma la scalabilità è un problema: i miglioramenti successivi possono portare ad una maggiore complessità dei calcoli. L'invio di tutti i dati analogici non elaborati attraverso la rete aumenta il traffico e l'elaborazione di tutti quei dati presso il processore dell'hub di rete occupa tempi di calcolo preziosi. Per questo motivo, l'edge computing dei dati analogici è un modo pratico per rendere più efficiente la rete.
Utilizzare gli ADC intelligenti per elaborare i dati analogici all'edge
L'edge computing di centinaia di campioni di dati ADC può facilmente sopraffare il microcontroller principale nell'endpoint IIoT. Per i sensori analogici complessi è una decisione di progettazione intelligente avere un ADC esterno che abbia anche le capacità di elaborazione proprie. Questo non solo allevia il microcontroller endpoint IIoT da un un carico significativo ma rende anche più facile l'autocalibrazione dell'ADC.
Per l'acquisizione e l'elaborazione ad alte prestazioni dei dati ADC, Analog Devices offre una linea di microcontroller analogici di precisione. Il microcontroller analogico di precisione ADuCM360BCPZ128-R7 utilizza un Arm® Cortex®-M3 per controllare due ADC sigma-delta a 24 bit (Figura 1). Gli ADC sono in grado di catturare 4 ksps di dati di sensori analogici. ADuCM360 ha anche un convertitore digitale/analogico (DAC) a 12 bit per generare tensioni precise per l'autocalibrazione. Il microcontroller può funzionare da 1,8 a 3,6 V ed integra un oscillatore da 32 kHz e un oscillatore da 16 MHz, riducendo il numero di componenti necessari nei sistemi con vincoli di spazio.
Figura 1: ADuCM360 di Analog Devices è un sistema completo di acquisizione dati a bassa potenza su un chip con un core Arm Cortex-M3, due ADC sigma-delta a 4 ksps a 24 bit e un DAC a 12 bit. (Immagine per gentile concessione di Analog Devices)
Il chip ADuCM360 ha 128 kB di memoria flash e 8 kB di SRAM. Un vantaggio significativo di ADuCM360 è dato dal fatto che è possibile scrivere direttamente nelle posizioni di memoria flash, in modo simile alla scrittura su SRAM. Questo permette allo sviluppatore del firmware di partizionare facilmente i blocchi della memoria flash come memoria di programma e anche come EEPROM. In un sistema di acquisizione dati, ciò consente di usare i blocchi partizionati EEPROM per memorizzare i dati di calibrazione ADC.
La flash supporta la cancellazione e la scrittura diretta a 32 bit (la cancellazione e la scrittura a 16 e 8 bit non sono supportate). La capacità di scrivere 32 bit alla volta consente di risparmiare energia nelle applicazioni alimentate a batteria, poiché le operazioni di scrittura e cancellazione flash assorbono molta corrente. Questo è un vantaggio di basso consumo significativo rispetto ai microcontroller flash che possono scrivere e cancellare solo un blocco o una pagina alla volta.
La memoria flash supporta anche i comandi convenzionali di cancellazione flash come la cancellazione delle pagine e la cancellazione di massa dell'intero array di memoria flash. Con queste capacità, gli sviluppatori possono facilmente scrivere subroutine per aggiornare il firmware sulla base dei comandi inviati attraverso la porta seriale dal microcontroller host nell'endpoint IIoT. Questo è importante: se ADuCM360 non fosse in grado di aggiornare facilmente il suo firmware attraverso una porta seriale, limiterebbe fortemente la sua flessibilità in un sistema di acquisizione dati, poiché la capacità di aggiornare il firmware che controlla l'ADC è tanto importante quanto l'ADC stesso.
Un efficiente sistema di acquisizione dati a chip singolo
Entrambi gli ADC a 24 bit sono collegati a un multiplexer di ingresso che supporta un totale di 11 ingressi monocanale o sei ingressi differenziali. Quattro canali interni possono monitorare il sensore di temperatura interno, oltre a monitorare l'uscita del DAC a 12 bit, e un riferimento di bandgap interno a bassa deriva. Questi possono essere utilizzati per eseguire l'autocalibrazione degli ADC. Il DAC può essere programmato per generare una serie di tensioni che possono essere lette da ciascuno degli ADC. Gli ADC possono anche campionare la tensione di riferimento interna di bandgap. Il firmware può elaborare queste letture in modo che gli ADC possano essere calibrati in temperatura e le costanti di calibrazione siano memorizzate nella EEPROM.
Se usati come sistema di acquisizione dati a chip singolo, gli ADC possono essere programmati per prelevare campioni continui di dati analogici con una velocità di 4 ksps. Un controller ad accesso diretto alla memoria a 11 canali (DMA) può trasferire questi dati alla SRAM. Il firmware può quindi applicare le costanti di calibrazione memorizzate nella EEPROM per modificare i dati e correggere la temperatura, se necessario. Il firmware può quindi elaborare i dati come richiesto dall'applicazione, mentre il DMA trasferisce ulteriori dati ADC alla SRAM.
Ultimata l'elaborazione dei dati sui dati ADC memorizzati, il risultato può essere inviato all'interfaccia seriale per essere trasferito al microcontroller endpoint IIoT, oppure se è necessario trasferire più campioni di dati, il DMA può trasferire i dati all'interfaccia seriale. In questo modo, un efficiente sistema di acquisizione dati può campionare e trasferire via DMA una serie di dati ADC alla SRAM, elaborare una seconda serie di dati ADC e trasferire via DMA una terza serie di dati ADC all'interfaccia seriale, il tutto contemporaneamente.
I segnali di ingresso analogici possono essere amplificati con un amplificatore a guadagno programmabile (PGA) che può essere impostato alla potenza di 2, supportando valori di guadagno di 2, 4, 8, 16, 32, 64 e 128. Questo permette l'amplificazione di tensioni molto piccole per un campionamento ADC più accurato.
Mentre le caratteristiche aggiuntive includono la modulazione della larghezza di impulso (PWM) a sei canali a 16 bit, 19 I/O per uso generale (GPIO), due timer per uso generale a 16 bit, un timer di riattivazione/watchdog a 32 bit e un sistema di interrupt esterno, è importante che il firmware dell'applicazione rimanga focalizzato sul supporto del suo scopo principale, l'acquisizione ADC e l'elaborazione dei dati. Date ad ADuCM360 il compito di eseguire funzioni aggiuntive non legate al suo scopo principale di acquisizione dati analogici può facilmente portare a interferenze con tale scopo, complicando al contempo gli aggiornamenti del firmware.
Funzioni di bassissima potenza e caratteristiche
Nonostante le sue caratteristiche analogiche di fascia alta, ADuCM360 è comunque capace di bassi consumi in condizioni di alte prestazioni. In modalità di funzionamento normale, il core Cortex-M3 assorbe solo 290 µA/MHz. Con un clock di sistema di 0,5 MHz, entrambi gli ADC che prelevano campioni, tutti i timer in funzione e un guadagno PGA di 4, quando vi si accede dall'interfaccia SPI il microcontroller assorbe solo 1 mA. Questo con i buffer di ingresso disattivati, poiché lo storage della tensione del buffer si aggiunge al consumo di energia. In modalità di ibernazione con il solo timer di riattivazione in funzione, il microcontroller assorbe solo 4 µA. Questo rende ADuCM361 adatto per gli endpoint IIoT alimentati a batteria.
Per applicazioni meno complesse che non richiedono la velocità di due ADC, Analog Devices offre ADUCM361BCPZ128-R7, identico ad ADuCM360 tranne per il fatto che ha un solo ADC sigma-delta a 24 bit (Figura 2).
Figura 2: ADuCM361 è un sistema completo di acquisizione dati su chip, simile ad ADuCM360, ma con un ADC sigma-delta a 24 bit. Ciò consente di risparmiare sui costi e sulla potenza in applicazioni che non richiedono le prestazioni di due ADC in funzione contemporaneamente. (Immagine per gentile concessione di Analog Devices)
Nelle applicazioni che non richiedono le elevate prestazioni di due ADC a 24 bit in funzione contemporaneamente, ADuCM361 riduce il costo di sistema e il consumo energetico della scheda. Il singolo ADC è anche collegato ad un multiplexer di ingresso che supporta un totale di 11 ingressi monocanale o sei ingressi differenziali. Può anche autocalibrarsi utilizzando il DAC a 12 bit, il riferimento di bandgap interno e il sensore di temperatura.
ADuCM361 è compatibile a livello di pin con il modello ADuCM360. Ciò consente di utilizzare un unico layout di scheda CS per entrambi i prodotti, semplificando lo sviluppo del prodotto e la distinta base, in quanto un produttore di endpoint IIoT può utilizzare una scheda per due o più prodotti.
Sviluppo di un sistema di acquisizione dati
Per lo sviluppo del prodotto, Analog Devices fornisce il kit di valutazione EVAL-ADuCM360QSPZ (Figura 3). La scheda di valutazione può interfacciarsi a sensori analogici o a sorgenti di tensione esterne per lo sviluppo del firmware dei microcontroller analogici ADuCM360 e ADuCM361.
Figura 3: Il kit di valutazione EVAL-ADuCM360QSPZ di Analog Devices permette di valutare i microcontroller analogici ADuCM360 e ADuCM361. Può interfacciarsi direttamente a sensori analogici esterni e può essere gestito tramite una connessione USB. (Immagine per gentile concessione di Analog Devices)
Il kit di valutazione è accessibile tramite una porta USB da un computer host con sistema operativo Windows. Questo permette di programmare ADuCM360 integrato con il firmware di destinazione, per i test e il debug. EVAL-ADuCM360QSPZ presenta tutti i pin di ADuCM360 sulla scheda CS, incluso l'I/O seriale, quindi la scheda di valutazione può essere interfacciata tramite I2C, SPI, o UART ad un microcontroller host per il debug in tempo reale. Il computer host Windows può registrare i dati ADC e può anche eseguire il debug della precisione delle routine di autocalibrazione.
Conclusione
Molti endpoint IIoT utilizzati per applicazioni analogiche di fascia alta, come il controllo di processo, hanno bisogno di maggior potenza di edge computing per i dati di sensori analogici acquisiti con gli ADC. La quantità dei dati ADC e la complessità dell'edge computing possono sopraffare il microcontroller principale dell'endpoint IIoT. Il microcontroller principale dell'endpoint può invece interfacciarsi tramite una porta seriale a un microcontroller analogico, ossia un sistema di acquisizione dati autonomo. Questo aumenta le prestazioni dell'endpoint e riduce il traffico di rete, risultando in una rete IIoT più efficiente.
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.




