Creșteți inteligența la marginea IoT cu microcontrolere analogice inteligente, cu auto-calibrare

by donpedro

Articolul prezintă dezvoltatorilor cum să utilizeze microcontrolerele analogice de precizie de la Analog Devices ca periferice ADC inteligente. Se va explica modul de utilizare a caracteristicilor microcontrolerelor analogice astfel încât acestea să poată fi folosite ca sisteme de achiziție de date pe un singur cip, ce se pot interfața cu ușurință cu microcontrolerul din punctul final IIoT și pot îndeplini funcții de procesare la marginea rețelei, cum ar fi auto-calibrarea și procesarea datelor ADC, fără a compromite performanța microcontrolerului gazdă din punctul final.

Pe măsură ce aplicațiile Internet of Things (IoT) devin mai complexe, proiectanților de puncte finale pentru Internetul Industrial al lucrurilor (IIoT) li se cer capabilități extinse de calcul la marginea rețelei. Procesarea datelor la marginea rețelei, de exemplu a datelor provenite de la un senzor ‘endpoint’, este o modalitate practică pentru reducerea blocajelor de rețea dintr-un nod (hub) IIoT. Acest lucru reduce traficul de rețea, diminuând, în același timp, sarcina de calcul de pe procesorul central din nodul IIoT. Totuși, această abordare oferă o serie de provocări.

De exemplu, o aplicație ‘edge IIoT’ obișnuită înseamnă procesarea datelor periodice provenite de la senzori printr-o conversie analog-digitală a acestora. Pentru datele analogice de înaltă precizie, operațiile executate în acest scop − procesarea matematică, interpretarea și interpolarea a sute de puncte de date livrate de un convertor analog-digital (ADC) − pot încărca semnificativ procesorul gazdă aflat la marginea rețelei, ceea ce poate afecta performanța întregii rețele. În plus, convertoarele ADC de înaltă precizie pot necesita auto-calibrare, care este efectuată în firmware-ul microcontrolerului gazdă din punctul final IoT, acest lucru putând întârzia toate procesările de la marginea rețelei, până la finalizarea calibrării.

Figura 1: Microcontrolerul ADuCM360s de la Analog Devices este un sistem complet de achiziție de date de mică putere pe un cip, bazat pe un nucleu Arm Cortex-M3, două convertoare ADC sigma-delta pe 24-biți de 4KSPS și un convertor DAC pe 12-biți. (Sursa imaginii: Analog Devices).

De ce să procesăm date de la senzori analogici la marginea rețelei?

Pe măsură ce sistemele IIoT devin mai complexe, tot așa devin și datele care trebuie procesate. În aplicațiile de control industrial, supapele și unele motoare se deplasează de la sistemele de reglare în buclă deschisă către sistemele de reglare în buclă închisă, iar senzorii analogici de precizie trebuie să detecteze pozițiile supapelor sau motoarelor în fiecare moment. Atunci când vorbim de controlul proceselor, creșterea capabilităților de procesare duce la linii de producție mai rapide și la un control mai fin al temperaturii, presiunii și al actuatoarelor din sistem.

În controlul procesului, viteza liniei (procesul) depinde în mare măsură de doi factori: capabilitatea mecanică a mașinilor și sistemelor din fabrică și eficiența rețelelor IIoT, care controlează senzorii și actuatoarele existente în mașini și sisteme. În unele cazuri, micile îmbunătățiri ale procesului pot duce la creșterea producției, dar aceste îmbunătățiri pot fi împiedicate de blocaje care pot apărea în rețeaua IIoT. Aceste blocaje pot fi reduse făcând mai multe procesări la marginea rețelei.

Procesarea la marginea rețelei, la punctul final IIoT, este benefică în special pentru procesarea semnalului analogic. Prelucrarea analogică a datelor poate fi simplă în primele etape ale dezvoltării IIoT, dar scalabilitatea este o problemă − îmbunătățirile ulterioare pot duce la o mai mare complexitate de calcul. Trimiterea tuturor datelor analogice brute prin rețea crește traficul de rețea, iar prelucrarea tuturor acestor date în procesorul central al rețelei consumă timp de calcul valoros. Din acest motiv, procesarea datelor analogice la marginea rețelei este o modalitate practică de a face rețeaua mai eficientă.

Utilizați convertoare ADC inteligente pentru a procesa date analogice la marginea rețelei

Prelucrarea la marginea rețelei a sute de eșantioane de date ADC poate copleși cu ușurință microcontrolerul principal aflat în punctul final IIoT. Pentru senzorii analogici complecși, o decizie de proiectare inteligentă ar fi existența unui convertor ADC extern care ar avea, de asemenea, capabilități proprii de procesare. Acest lucru nu numai că elimină o sarcină semnificativă de pe microcontrolerul de la punctul final IIoT, dar face și mai ușoară auto-calibrarea convertorului ADC.

Pentru captarea și procesarea de înaltă performanță a datelor ADC, Analog Devices are o linie de microcontrolere analogice de precizie. Microcontrolerul analogic de precizie ADuCM360BCPZ128-R7 utilizează un Arm® Cortex®-M3 pentru a controla două convertoare ADC sigma-delta pe 24-biți (Figura 1). Cele două convertoare sunt capabile să capteze 4 kilo-eșantioane pe secundă (kSPS) de date de la senzori analogici. ADuCM360 dispune, de asemenea, de un convertor digital-analog (DAC) pe 12-biți, pentru a genera tensiuni precise pentru auto-calibrare. Microcontrolerul poate opera de la 1.8 la 3.6 volți și conține un oscilator intern de 32 kilohertz (kHz) și un oscilator intern de 16 megahertz (MHz), pentru a reduce numărul de componente din sistemele cu spațiu limitat.

ADuCM360 dispune de 128 kilobytes (KB) de memorie nevolatilă flash și de 8 KB de memorie SRAM. Un avantaj semnificativ al ADuCM360 este că locațiile de memorie flash pot fi scrise direct, similar cu scrierea memoriei SRAM. Acest lucru permite dezvoltatorului de firmware să partiționeze cu ușurință blocurile de memorie flash ca memorie de program și, de asemenea, ca EEPROM. Într-un sistem de achiziție de date, acest lucru permite blocurilor partiționate de memorie EEPROM să fie utilizate pentru a stoca datele de calibrare ADC.

Memoria flash suportă ștergerea și scrierea pe 32-biți (ștergerile și scrierile pe 16 și 8-biți nu sunt acceptate). Abilitatea de a scrie pe 32-biți la un moment dat economisește multă putere în aplicațiile alimentate de la baterii, deoarece operațiile de scriere și ștergere în memoria flash consumă mult curent. Acesta este un avantaj semnificativ de reducere a consumului de putere în fața microcontrolerelor flash, care nu pot scrie sau șterge la un moment dat decât un singur bloc sau o pagină.

Memoria flash suportă, de asemenea, comenzi convenționale (flash) de ștergere, cum ar fi ștergerea unei pagini și ștergerea în masă a întregului ansamblu de memorie flash. Cu aceste capabilități, dezvoltatorii pot scrie cu ușurință subrutine care pot actualiza firmware-ul pe baza comenzilor trimise prin portul serial de la microcontrolerul gazdă din punctul final IIoT. Acest lucru este important: dacă ADuCM360 nu și-ar putea actualiza cu ușurință firmware-ul printr-un port serial, acesta și-ar limita sever flexibilitatea sa într-un sistem de achiziție de date, deoarece capabilitatea de a actualiza firmware-ul care controlează convertorul ADC este la fel de importantă precum funcțiile de bază ale convertorului ADC pentru care acesta a fost proiectat.

Un sistem eficient de achiziție de date pe un singur cip

Ambele convertoare ADC pe 24-biți sunt conectate la un multiplexor care suportă un total de 11 intrări pe un singur canal sau șase intrări diferențiale. Există patru canale interne, care pot monitoriza senzorul intern de temperatură și ieșirea convertorului DAC pe 12-biți și există și o referință internă de tip bandă interzisă (bandgap) cu zgomot și drift redus. Acestea pot fi utilizate pentru a efectua o auto-calibrare a convertoarelor ADC. Convertorul DAC poate fi programat pentru a livra o serie de tensiuni, ce pot fi citite de ambele convertoare ADC. Convertoarele analog-digitale pot, de asemenea, să eșantioneze tensiunea referinței interne bandgap. Firmware-ul poate procesa aceste citiri astfel încât ADC-urile să poată fi calibrate în raport cu temperatura și cu constantele de calibrare stocate în EEPROM.

Atunci când sunt utilizate ca sistem de achiziție de date pe un singur cip, ADC-urile pot fi programate pentru a prelua continuu eșantioane de date analogice la o viteză de 4kSPS. Un controler de acces direct la memorie (DMADirect Memory Access) cu 11-canale poate transfera aceste date către memoria SRAM. Firmware-ul poate aplica apoi constantele de calibrare stocate în memoria EEPROM pentru a modifica datele și pentru a corecta temperatura, dacă este necesar. Firmware-ul poate procesa datele după cum este cerut de aplicație, în timp ce DMA-ul transferă date suplimentare de la ADC la SRAM.

Figura 2: ADuCM361 este un sistem complet de achiziție de date pe un cip, similar cu ADuCM360, cu excepția faptului că are un convertor ADC sigma delta pe 24-biți. Acest lucru economisește costuri și energie în aplicații care nu necesită performanța a două convertoare ADC, pentru a rula simultan. (Sursa imaginii: Analog Devices).

După finalizarea procesării datelor stocate provenite de la ADC, rezultatul poate fi trimis la interfața serială pentru a fi transferat la microcontrolerul din punctul final IIoT sau, dacă trebuie transferate mai multe eșantioane de date, DMA poate transfera datele în bloc către interfața serială. În acest fel, un sistem eficient de achiziție de date poate eșantioana, iar DMA-ul poate transfera un set de date din ADC în SRAM, poate, apoi, procesa un al doilea set de date din ADC, iar DMA-ul poate transfera un al treilea set de date din ADC către interfața serială, totul, în același timp.

Semnalele analogice de intrare pot fi amplificate cu un amplificator cu câștig programabil (PGAProgrammable Gain Amplifier), care poate fi configurat la un câștig de 2, suportând valori de câștig de 2, 4, 8, 16, 32, 64 și 128. Acest lucru permite amplificarea unor tensiuni foarte mici pentru ca ADC-ul să execute o eșantionare cât mai precisă.

Chiar dacă există caracteristici suplimentare, care includ un PWM (Pulse Width Modulation) pe 16-biți cu șase canale, GPIO cu 19 Intrări/Ieșiri (I/O) de uz general, două temporizatoare pe 16-biți de uz general, un wakeup/watchdog timer pe 32-biți și un sistem de întreruperi extern, este important să mențineți firmware-ul aplicației concentrat pe sprijinirea scopului său principal de captare și procesare a datelor de la ADC. Încărcarea microcontrolerului ADuCM360 cu funcții suplimentare, care nu au legătură cu scopul său principal de a capta și procesa date analogice, poate duce cu ușurință la un fluaj de caracteristici, care interferează cu scopul inițial, complicând în același timp actualizările de firmware.

Caracteristici de putere ultra-redusă

În ciuda caracteristicilor analogice de ultimă oră ale microcontrolerului ADuCM360, acesta este foarte capabil să ofere un consum redus de putere în condiții de înaltă performanță. În modul normal de operare, nucleul Cortex-M3 consumă doar 290 de microamperi (µA)/MHz. Operând la un ceas de sistem de 0.5 MHz și având în funcțiune toate temporizatoarele și ambele convertoare ADC, cu un câștig PGA de 4, atunci când este accesat de interfața SPI, microcontrolerul consumă doar 1 miliamper (mA). Acest lucru se întâmplă când buffer-ele de intrare sunt dezactivate, deoarece stocarea de tensiune în buffer se adaugă la consumul de putere. Când se află în modul de hibernare, doar cu timer-ul de trezire pornit, microcontrolerul consumă numai 4 µA. Aceste caracteristici recomandă utilizarea circuitului ADuCM360 pentru punctele finale IIoT alimentate de la baterii.

Pentru aplicațiile mai puțin complexe, care nu necesită viteza furnizată de două ADC-uri, Analog Devices oferă circuitul ADUCM361BCPZ128-R7, care, în comparație cu ADuCM360, acesta dispune doar de un convertor ADC sigma-delta pe 24-biți (Figura 2).

În aplicațiile care nu necesită performanțe ridicate și nu se justifică existența a două ADC-uri pe 24-biți pentru a rula în același timp, ADuCM361 reduce costul sistemului și consumul de putere al plăcii. Singurul ADC este, de asemenea, conectat la intrarea unui multiplexor care suportă un total de 11 intrări cu un singur canal sau șase intrări diferențiale. De asemenea, acesta se poate auto-calibra utilizând un convertor DAC pe 12-biți, o referință internă de tip bandă interzisă (bandgap) și un senzor de temperatură.

Figura 3: Kitul de evaluare EVAL-ADuCM360QSPZ de la Analog Devices permite evaluarea microcontrolerelor analogice ADuCM360 și ADuCM361. Se poate interfața direct cu senzori analogici externi și poate fi controlat printr-o conexiune USB. (Sursa imaginii: Analog Devices).

ADuCM361 este pin-compatibil cu ADuCM360, permițând utilizarea aceluiași circuit imprimat PCB pentru ambele produse. Acest lucru simplifică dezvoltarea produsului și lista de materiale (BOM), întrucât un producător de terminale IIoT poate utiliza o placă PCB pentru două sau mai multe produse.

Dezvoltarea sistemului de achiziție de date

Pentru dezvoltarea produsului, Analog Devices oferă kitul de evaluare EVAL-ADuCM360QSPZ (Figura 3). Placa de evaluare se poate interfața cu senzori analogici sau surse de tensiune externe pentru dezvoltarea firmware-ului microcontrolerelor analogice ADuCM360 și ADuCM361.

Pentru a fi accesat, kitul de evaluare se conectează printr-un port USB la un computer gazdă, care rulează Windows. Acest lucru permite microcontrolerului ADuCM360 de pe placă să fie programat cu firmware-ul țintă pentru testare și depanare. EVAL-ADuCM360QSPZ se poate interfața prin I2C, SPI sau UART la un microcontroler gazdă pentru depanare în timp real. Calculatorul gazdă, care rulează Windows, poate înregistra datele livrate de ADC și poate, de asemenea, depana acuratețea rutinelor de auto-calibrare.

Concluzie

Multe puncte finale IIoT utilizate pentru aplicații analogice de ultimă oră, cum ar fi controlul proceselor, au nevoie de o procesare intensă a datelor provenite de la senzorul analogic aflat la marginea rețelei, folosind un convertor ADC. Cantitatea de date livrate de ADC și complexitatea procesării, departe, la marginea rețelei, pot împovăra microcontrolerul principal din punctul final IIoT. Acesta, poate fi, în schimb, conectat prin portul serial la un microcontroler analogic, care este, în fapt, un sistem de achiziție de date autonom. Urmând această cale, performanța punctului final crește, în timp ce traficul de rețea scade, rezultând o rețea IIoT mai eficientă.

 

Autor: Rolf Horn – Inginer de aplicații

Rolf Horn, face parte din grupul European de Asistență Tehnică din 2014, având responsabilitatea principală de a răspunde la întrebările veni­te din partea clienților finali din EMEA referitoare la Dezvoltare și Inginerie, precum și la scrierea și corectarea articolelor și postărilor de pe platfor­mele TechForum și https://maker.io ale firmei Digi-Key pentru cititorii din Germania. Înainte de Digi-Key, el a lucrat la mai mulți producători din zona semiconductorilor, cu accent pe sistemele embedded ce conțin FPGA-uri, microcontrolere și procesoare pentru aplicații industriale și auto. Rolf este licențiat în inginerie electrică și electronică la Universitatea de Științe Aplicate din Munchen, Bavaria. Și-a început cariera profesională la un distribuitor local de produse electronice în calitate de Arhitect pentru Soluții de Sistem pentru a-și împărtăși expertiza și cunoștințele în calitate de consilier de încredere.

Hobby-uri: petrecerea timpului cu familia + prietenii, călătoriile (cu rulota familiei VW-California) și motociclismul (pe un BMW GS din 1988).

Digi-Key Electronics   |   https://www.digikey.ro

S-ar putea să vă placă și