Se pare că aproape zilnic apare câte o știre despre produse electronice care se supraîncălzesc producând probleme potențial catastrofice. În vreme ce un produs excesiv de fierbinte poate desigur cauza probleme, managementul termic corect al căldurii inevitabile ar trebui să fie o parte a proiectării prudente a produselor. Articolul de față va prezenta regiștrii interni programabili de către utilizator, prezenți în senzorii de temperatură cu ieșire digitală (protocol I2C), precum și cum pot fi rezolvate provocările uzuale din această zonă prin utilizarea unui senzor digital de temperatură cu regiștri de memorie nevolatilă integrați.
Regiștrii senzorilor de temperatură
Haideți să începem cu câteva detalii din background despre cum sunt programați regiștrii interni ai senzorilor de temperatură industriali standard I2C. Acești senzori de temperatură I2C sunt uneori numiți dispozitive compatibile cu protocol “tip LM75” și conțin patru regiștri interni de bază:
• Registru indicator
• Registru de configurare
• Registru de limită temperatură ridicată (THIGH)
• Registru de limită temperatură joasă (TLOW)
Acești regiștri permit utilizatorului să pregătească și să particularizeze parametrii operaționali ai senzorului de temperatură pe durata procesului de inițializare, de către controlerul gazdă, după alimentare cu excepția registrului de temperatură, dar mai multe despre aceasta, mai târziu. Registrul indicator permite acces către unul dintre cei patru regiștri prin “indicarea” indirectă a registrului selectat. Regiștrii de configurare, de limită de temperatură TLOW și THIGH și cel de temperatură nu pot fi accesați direct prin comenzi software I2C, ci pot fi accesați numai prin utilizarea registrului indicator, după cum este ilustrat alăturat, în figura 2.
Registrul de configurare este utilizat pentru a controla modurile cheie operaționale și setările dispozitivului, cum ar fi rezoluția conversiei de tem- peratură, toleranța la eroare, polaritatea pinului ALERT, modul de termostat alarmă și modul de închidere. Unele dispozitive de pe piață au, de asemenea, un mod denumit one-shot (dintr-un foc). Acesta este un mod de economisire energetică pentru a permite dispozitivului să iasă din modul de așteptare, să măsoare o valoare de temperatură, să actualizeze registrul de temperatură și să se întoarcă în modul de așteptare.
Registrul de temperatură este un registru de tip numai citire care stochează valoarea digitizată a celei mai recente valori de temperatură și poate fi în mod simplu citită pentru a cunoaște ultima valoare măsurată. Registrul de temperatură poate fi citit în orice moment și, deoarece măsurările de temperatură sunt realizate în fundal, citirea registrului nu afectează orice altă operație ce se află în desfășurare.
Regiștrii de limitare TLOW și THIGH stochează limitele de temperatură ridicată și joasă programate de utilizator pentru alarma de temperatură. Diagrama din figura 3 ilustrează un profil tipic de temperatură. De exemplu, dacă utilizatorul stabilește regiștrii limită TLOW și THIGH la 50°C și 85°C, senzorul de temperatură va stabili flag-uri și poate comanda pinul său de ieșire pentru a notifica controlerul gazdă atunci când una dintre limite este depășită.
Provocările regiștrilor cu memorie volatilă
Acum că am acoperit unele dintre operațiile de bază, haideți să discutăm câteva probleme comune în ceea ce privește configurarea acestor regiștri. Prima problemă este aceea că acești regiștri programabili sunt de tip memorie volatilă, ceea ce înseamnă că odată ce este oprită alimentarea, valorile stocate din regiștri nu sunt salvate sau reținute.
Deoarece acești regiștri cu memorie volatilă trebuie actualizați de fiecare dată când sistemul este pornit cu secvența de inițializare, poate apare un risc ridicat, anumite evenimente legate de timp nesigure dând ocazia configurării greșite și a stabilirii unor parametri greșiți, ce pot cauza probleme legate de căldură în cadrul dispozitivului. V-ați gândit vreodată de câte ori produsul vostru trece printr-un ciclu de pornire/oprire pe durata sa de viață? Pentru unele produse pot fi sute de ori, în vreme ce pentru altele pot fi mii de ori, creând o probabilitate mare ca ceva să nu meargă bine pe durata secvenței de pornire. Aceasta reprezintă o problemă critică.
În exemplul dat mai sus, limitele sunt stabilite la 50°C și 85°C; totuși, ce-ar fi dacă limita registrului THIGH ar fi inadecvat stabilită la 185°C datorită unui zgomot de sistem pe perioada secvenței de pornire ce cauzează ca numai un bit digital să treacă în starea logică 1? Acest eveniment nedorit poate să nu cauzeze supraîncălzirea sistemului la punctul de a lua foc, dar cu siguranță va cauza performanțe ale sistemului mai slabe decât cele optime, cu posibile probleme catastrofale. Pentru multe dintre produsele de astăzi există o mulțime de lucruri care funcționează pe durata de timp a secvenței de alimentare, incluzând aici blocuri majore și dispozitive din cadrul produsului. Temporizarea acestor evenimente este foarte critică pentru a permite o operare corespunzătoare de către utilizatorul final.
Astfel, se ajunge la următoarea întrebare: de câte ori au returnat clienții unul dintre produsele voastre pentru a fi realizată o analiză a unei probleme de funcționare, iar această problemă nu a putut fi reprodusă? Produsul este complet operațional la retestarea din fabrică, iar raportul se întoarce la client ca: ”Nu s-au găsit probleme”. Unul dintre numeroasele obiective ale proiectării prudente a produsului este de a lua în considerare întrebările de tip “Ce-ar fi dacă?” în modurile potențiale de defectare pe care le-ar putea întâlni utilizatorul final și de a se încerca eliminarea lor prin proiect sau prin implementarea de funcții de validare a produsului înainte de lansarea către clienți. Acest scenariu identifică un nou caz de “Ce-ar fi dacă?” de luat în considerare în proiectul următorului vostru produs, când se utilizează senzori de temperatură discreți indiferent de tipul de protocol sau de tehnologie.
Regiștri de memorie nevolatili: schimbarea jocului termic
O soluție potențială pentru aceste probleme este de a avea un senzor de temperatură care nu numai conține regiștri volatili, ci și regiștri de memorie nevolatilă integrați, după cum se ilustrează mai alăturat.
După cum puteți vedea, registrul de configurație, cât și regiștrii de limitare pentru temperatura joasă și cea ridicată au integrată o versiune de registru nevolatil pentru fiecare. Regiștrii nevolatili îmbunătățesc funcționalitatea senzorului de temperatură permițând operații simple de tip “plug-and-play” cu valori implicite predefinite la pornirea alimentării. Regiștrii nevolatili vor reține configurația și parametrii limită de temperatură, eliminând astfel necesitatea ca senzorul de temperatură să fie reconfigurat după fiecare pornire a alimentării cu energie.
Această soluție lucrează prin programarea regiștrilor limită nevolatili integrați TLOW și THIGH ai senzorului de temperatură, de exemplu la 50°C și 85°C. Aceste limite de temperatură sunt stocate în memoria nevolatilă, securizând valorile limită, astfel încât pe durata secvențelor de alimentare, senzorul de temperatură copiază intern valorile de 50°C și 85°C din regiștrii nevolatili anterior programați în regiștri limită corespunzători volatili THIGH și TLOW.
V-ați putea întreba cum rezolvă acest lucru problema coruperii regiștrilor volatili pe durata pornirii alimentării.
Răspunsul este următorul: controlerul gazdă nu va mai trebui să trimită protocolul software prin magistrala de comunicații I2C pentru a stabili valorile regiștrilor volatili pe durata secvenței de pornire a alimentării, eliminând astfel complet riscul coruperii regiștrilor, deoarece nu apare niciun protocol software legat de temperatură în controlerul gazdă. Acest lucru simplifică secvența de pornire a alimentării sistemului, reducând sau eliminând în același timp dependența de controlerul gazdă pentru configurare, făcând astfel sistemul mai sigur în funcționare. Flexibilitatea adițională permite senzorului de temperatură să își auto-ruleze conținutul în loc de a se baza pe controlerul gazdă pentru configurarea dispozitivului.
O altă cale de a face soluția propusă chiar mai sigură ar fi de a integra funcții de blocare în regiștrii nevolatili cu parametri fie reversibili, fie permanenți, pentru a preveni erori de configurare a regiștrilor nevolatili. Această funcție de blocare, precum cea care se găsește în AT30TS750A, ar permite o configurare permanentă a senzorului de temperatură și ar elimina riscul prin asigurarea parametrilor și de aici, reducând expunerea produsului. În această perioadă, orice cale de a crește siguranța în funcționare a produsului, reducând în același timp expunerea sa este o practică de business câștigătoare.
Mai mult, capabilitatea de a bloca reversibil sau permanent regiștrii nevolatili integrați astfel încât să se prevină orice schimbări ale datelor din regiștri ca urmare a unor configurări eronate viitoare sau a unor falsificări de date, ar crește semnificativ valoarea registrului nevolatil într-un produs, crescând în același timp siguranța sistemului.
În concluzie
Sperăm că articolul v-a oferit o mai bună înțelegere asupra câtorva considerații de proiectare pentru management termic. În vreme ce preocupările în jurul regiștrilor de memorie volatilă au dat bătăi de cap inginerilor ani de zile, noii senzori digitali de temperatură, precum AT30TS750A de la Microchip, integrează regiștri de memorie nevolatilă care permit proiectanților să ocolească aceste chinuri onorabile, făcând un progres semnificativ în managementul termic.
Autor: Bryce Morgan
Microchip Technology | www.microchip.com