Microchip Technology Inc
Avtor: Bryce Morgan
2019_274_26
Registri v obstojnem pomnilniku: še en velik napredek na področju digitalnih temperaturnih senzorjev pri povečanju varnosti in zanesljivosti.
Zdi se, da skoraj vsak dan slišimo kakšno novico o pregrevanju izdelkov z vgrajeno elektroniko, ki bi na koncu lahko imelo tudi katastrofalne posledice. Ker obstaja možnost, da bi lahko prevroč izdelek povzročil takšne težave, mora biti preudarno termalno načrtovanje upravljanja z neizogibno toploto že od vsega začetka del vsakega pametnega načrtovanja izdelka. V članku bomo razložili notranje uporabniško programirljive registre, ki jih vsebujejo temperaturni senzorji z digitalnimi izhodi (I2C protokol) in kako se lahko s pomočjo digitalnega temperaturnega senzorja z integriranimi registri v obstojnem pomnilniku (ki ne potrebuje baterijske podpore) odpravijo najpogostejši konstrukcijski izzivi na tem področju.
Registri senzorjev temperature
Začnimo z nekaj splošnimi podrobnostmi o tem, kakšni so notranji registri temperaturnega senzorja z industrijskim standardom I2C. Omenjena vrsta I2C temperaturnih senzorjev pogosto imenujejo tudi “ tip senzorja z LM75 združljivim protokolom” in vsebuje štiri osnovne notranje registre:
- Register kazalcev
- Register konfiguracije
- Register za omejitev previsoke temperature (THIGH)
- Register za omejitev prenizke temperature (TLOW)
Ti registri uporabniku omogočajo nastavitev in prilagoditev obratovalnih nastavitev temperaturnega senzorja med procesom uvodne nastavitve (inicializacije) s strani gostiteljskega krmilnika takoj po vklopu, razen temperaturnega registra, vendar bomo kaj več o tem povedali kasneje. Register kazalcev omogoča dostop do enega od štirih registrov s posrednim “usmerjanjem”, kazanjem na izbrani register. Do registra za nastavitve, registrov spodnje in zgornje meje temperature TLOW in THIGH in temperaturnega registra enostavno ni mogoče neposredno dostopati s programskimi ukazi prek I2C, ampak je dostop do njih mogoč samo posredno, z uporabo registra kazalnikov, kot je prikazano na sliki 2.
Konfiguracijski register se uporablja za upravljanje s ključnimi načini delovanja in uvodnih nastavitev naprave, kot so ločljivost temperaturne pretvorbe, čakalna vrsta napak tolerance, polariziranost ALERT izhodnega priključka, termostat z alarmom in način zaustavitve delovanja. Nekateri takšni izdelki, ki jih najdemo na trgu, imajo tudi enkratni način delovanja, imenovan One-shot. To je eden od načinov varčevanja z energijo, ki omogoča, da naprava pride iz stanja pripravljenosti v stanje za merjenje temperature, posodobi temperaturni register in se nato znova vrne v stanje pripravljenosti z nizko porabo.
Temperaturni register je namenjen le branju, ki shranjuje digitalizirano vrednost zadnje izmerjene temperature in se v praksi preprosto le prebere, da izvemo rezultat najnovejše meritve temperature. Temperaturni register je mogoče odčitati kadarkoli in ker se meritve temperature izvajajo v ozadju, branje temperaturnega registra ne vpliva na druge operacije, ki so v tistem trenutku morda v teku.
Mejna registra TLOW in THIGH shranjujeta uporabniško nastavljivo spodnjo in zgornjo mejo temperature za temperaturni alarm. Graf na sliki 3 prikazuje tipični potek temperaturnega profila neke naprave. Če uporabnik na primer nastavi omejevalne registre TLOW in THIGH na 50 °C oziroma 85 °C v enakem vrstnem redu, bo temperaturni senzor postavil zastavice, ki jih lahko nastavimo tako, da z ustreznim logičnim nivojem na izhodnem priključku obvešča gostiteljski mikrokontroler, ko bo presežena katera od mejnih vrednosti.
Izzivi pri registrih v neobstojnem pomnilniku
Zdaj, ko smo obravnavali nekatere osnovne operacije, razpravljamo o najpogostejših težavah pri nastavljanju teh registrov. Prva težava je, da so ti uporabniško-programirljivi registri baterijsko odvisni, kar pomeni, da se po prenehanju napajanja v njih shranjene vrednosti ne shranijo ali ohranijo.
Ker je treba te spominske registre, ki so odvisni od baterijskega napajanja, posodobiti ob vsakem zagonu sistema in po zaporedju inicializacijskega protokola, bi to lahko povzročilo zelo tvegan in nezanesljiv časovni dogodek, ki pravzaprav omogoča, da se lahko ti registri naključno popolnoma napačno konfigurirajo in nastavijo na napačne nastavitve, kar bi lahko povzročilo prekomerno segrevanje izdelka. Ali ste kdaj pomislili, kolikokrat v celotni življenjski dobi bo moral vaš izdelek ob vklopu skozi postopek inicializacije? Pri nekaterih izdelkih je to lahko nekaj stokrat, medtem, ko je pri drugih lahko več tisočkrat, s čimer je tudi veliko večja verjetnost, da bo med postopkom inicializacije ob vklopu napajanja šlo kaj narobe, takšne težave pa so lahko za aplikacijo lahko usodne.
V zgornjem primeru sta registra TLOW in THIGH omejena na 50 °C oziroma 85 °C; vendar pa bi se lahko zgodilo, da bi bil register THIGH limit nenamerno nastavljen na 185 °C zaradi motenj v sistemu napajanja med vklopom, zaradi česar je bil samo en digitalni bit nastavljen na logično stanje 1. V takšnem primeru morda še ne bi pretila nevarnost požara zaradi pregrevanja, vendar bi zagotovo povzročilo manj kot optimalno, po vsej verjetnosti pa katastrofalno zmogljivost sistema. Pri mnogih sodobnih izdelkih obstaja veliko opravil, ki se izvedejo čisto na začetku, ob priključitvi napajanja, vključno s časovno razporeditvijo glavnih blokov in naprav. Časovni okvir teh dogodkov je končnemu uporabniku za pravilno delovanje naprave zelo pomemben.
To nas pripelje do naslednjega vprašanja: kolikokrat so kupci vrnili kakšnega izmed vaših izdelkov za analizo napak, vendar opisane napake ni bilo mogoče ponoviti? Izdelek pri ponovnem preverjanju v tovarni deluje popolnoma brez napak in stranki lahko v poročilu sporočimo le : »Ni težav.« Eden od mnogih ciljev pri preudarnem načrtovanju izdelka je, da razmišljamo o možnostih »Kaj, če…”, s katerimi bi se lahko soočal končni uporabnik in jih odpraviti že med načrtovanjem ali vsaj med potrjevanjem ustreznosti izdelka preden ga ponudimo na tržišču. Takšen scenarij prinaša čisto nov „ Kaj, če…”, ki ga morate vsekakor upoštevati pri naslednjem oblikovanju izdelka, v katerem uporabljate diskretne temperaturne senzorje, ne glede na vrsto protokola ali tehnologijo.
Obstojni registri
Možna rešitev za to vprašanje je, da pri načrtovanju uporabimo temperaturno tipalo, ki nima le registrov, temveč vsebuje tudi registre z obstojnim pomnilnikom (NVRAM), kot je prikazano na sliki 4.
Kot lahko vidite na sliki 4, imajo tako konfiguracijski register kot tudi oba registra za visoko in nizko temperaturno mejo vgrajene tudi svoje različice v obstojnem pomnilniku. Obstojni registri znatno izboljšajo funkcionalnost temperaturnega senzorja s tem, da omogočajo preprosto delovanje takoj ob priključitvi napajanja z vnaprej določenimi privzetimi nastavitvami. Obstojni registri ohranjajo nastavitve konfiguracije in temperaturnih omejitev tudi po izklopu in ponovni priključitvi napajanja, kar hkrati pomeni, da ponovna konfiguracija temperaturnega senzorja ob vsakem ponovnem zagonu ni več potrebna.
Ta rešitev deluje s programiranjem integriranega obstojnega TLOW in THIGH registra spodnje in zgornje meje temperaturnega senzorja, na primer 50 °C in 85 °C. Ti dve temperaturni meji sta shranjeni v obstojnem pomnilniku, s čimer sta zagotovljeni vrednosti mejnih temperatur, ki se ob vseh naslednjih priključitvah napajanja preprosto in samodejno prepišeta v pripadajoča neobstojna registra THIGH in TLOW.
Morda se sprašujete, kako bi s tem lahko rešili napačno nastavitev oziroma vpis napačne vrednosti v neobstojni register takoj po vklopu napajanja. In kakšen je odgovor? Gostiteljskemu mikrokontrolerju pri tej rešitvi ni več potrebno uporabljati programskega protokola in pošiljati podatkov prek komunikacijskega vodila I2C, da bi nastavil vrednosti v neobstojnih registrih ob vsaki vnovični priključitvi napajanja, s čimer se popolnoma odpravi tveganje za vpis napačnih vrednosti v registra, ker do komunikacije med senzorjem in mikrokontrolerjem sploh ni prišlo. To poenostavlja zaporedje opravil ob priključitvi napajanja sistema, hkrati pa zmanjšuje odvisnost od mikrokontrolerja gostitelja v zvezi s konfiguracijo, zaradi česar je sistem vsekakor bolj zanesljiv. Dodatna možnost, ki se ob tem ponuja, je večja prožnost, saj lahko temperaturni senzor deluje popolnoma samostojno in ga za samo konfiguracijo ni potrebno povezati z gostiteljskim mikrokontrolerjem.
Druga možnost, s katero bi to predlagano rešitev naredili še bolj zanesljivo, bi bila vgrajena funkcija zaklepanja obstojnih registrov, lahko z reverzibilnimi ali trajnimi nastavitvami, s čimer bi preprečili možnost napačnega vpisa vanje. Prav takšno funkcijo zaklepanja boste našli pri prej omenjenem senzorju AT30TS750A, omogoča pa trajno konfiguracijo temperaturnega senzorja in odpravlja tveganje, da bi senzor deloval z napačnimi nastavitvami, s čimer se zmanjša tveganje za neobičajno obnašanje v delovanju naših izdelkov, kar je vsekakor dobra poslovna praksa. Poleg tega bi lahko z reverzibilnim ali trajnim zaklepanjem obstojnih registrov preprečili kakršne koli spremembe podatkov v registru zaradi morebitne napačne konfiguracije ali nedovoljenega spreminjanja podatkov. S tem se znatno poveča pomembnost prisotnosti obstojnih registrov v določenem izdelku, hkrati pa se poveča tudi zanesljivost in varnost celotnega sistema.
Za zaključek
Upam, da imate zdaj boljše razumevanje številnih vidikov v zvezi z upravljanjem toplote, ki jih je potrebno upoštevati pri načrtovanju naprav. Medtem, ko inženirje že nekaj let spremlja zaskrbljenost zaradi težav z registri v neobstojnih pomnilnikih, pa imajo novi Microchipovi digitalni temperaturni senzorji, kot je na primer AT30TS750A, poleg neobstojnih integrirane tudi obstojne pomnilniške registre, ki oblikovalcem omogočajo, da se večini težav v zvezi z njimi lahko izognejo, kar predstavlja tudi pomemben napredek na področju upravljanja s toploto v napravah.
Opomba: Ime in logotip Microchip sta registrirani blagovni znamki podjetja Microchip Technology Incorporated v ZDA in drugih državah. Vse druge blagovne znamke, ki so morda tu omenjene, so last njihovih podjetij