česky english Vítejte, dnes je středa 24. duben 2024

Spolehlivost čidel teploty roste s jejich registry

DPS 1/2018 | Články
Autor: Bryce Morgan, Microchip

Zdá se, že o přehřívání elektroniky, které může vést až ke katastrofickým scénářům, slyšíme skoro denně. Zatímco příliš horké zařízení problémy samozřejmě způsobit může, správné nakládání s nevyhnutelně vznikajícím teplem by mělo být již součástí rozumného a „prozíravého“ návrhu samotného produktu. V článku se proto zaměříme na interní a uživatelsky programovatelné registry, které jsou součástí teplotních čidel s digitálním výstupem (protokol I²C), stejně jako na řešení běžných otázek s využitím číslicových senzorů teploty vybavených registry non-volatilní paměti.

Spolehlivost čidel teploty roste s jejich registry

Čidlo teploty a jeho registry

Pojďme se nejprve věnovat některým podrobnostem souvisejícím s programováním vnitřních registrů standardních teplotních senzorů s rozhraním I²C. Tato čidla jsou někdy nazývána součástkami kompatibilními s protokolem „typu LM75“ a obsahovat budou čtyři základní interní registry:

  • pointer registr
  • konfigurační registr
  • registr mezní vysoké teploty THIGH
  • registr mezní nízké teploty TLOW

Zmíněné registry umožňují uživateli definovat a také si dle svých potřeb upravit provozní nastavení teplotního senzoru po zapnutí napájení a během procesu inicializace ze strany host kontroléru, ovšem s výjimkou registru teploty. Ale k tomu se ještě dostaneme. Pointer registr umožňuje přístup k jednomu ze čtyř registrů na základě nepřímého „ukazování“ na zvolenou část. K registrům konfiguračním, pro limity TLOW a THIGH a také teplotním registrům se softwarovými příkazy I²C přímo nedostaneme, jedině přes pointer registr – přesně jak to vidíme na obr. 2.

Spolehlivost čidel teploty roste s jejich registry 1

Konfigurační registr slouží k řízení klíčových pracovních režimů a nastavení součástky. Může se jednat o rozlišení během převodu teploty, odolnost vůči chybám, polaritu vývodu ALERT, mód termostatu s výstrahou a také režim shut-down. Některé dostupné obvody budou rovněž pracovat v jednorázovém režimu „one-shot“. Půjde o úsporný mód umožňující součástce opustit režim standby, provést měření teploty, aktualizovat teplotní registr a pak se znovu vrátit do pohotovostního módu.

V případě registru teploty se bude jednat o prostor určený pouze ke čtení ukládající v číslicové podobě hodnotu posledního měření. Údaje o aktuální teplotě si tak dokážeme snadno a kdykoli přečíst. Vzhledem k tomu, že měření teploty probíhá na pozadí, čtením tohoto registru neovlivníme žádnou jinou právě probíhající činnost. Registry mezních hodnot TLOW a THIGH ukládají uživatelsky volitelné limity pro nízkou a vysokou teplotu a s ní související výstrahu. Běžný teplotní profil vidíme na obr. 3. Definujeme-li pak TLOW a THIGH na 50 °C, resp. 85 °C, teplotní čidlo nastaví příznaky a může ovládat svůj výstup s cílem upozornit host kontrolér na překročení kterékoli meze.

Otázka volatilní paměti

Nyní, když jsme pojednali o vybraných základních činnostech, pokračujme záležitostmi spojenými s nastavením. Hned první potíž spočívá v povaze uživatelsky programovatelných registrů – paměti volatilního typu, což znamená, že po vypnutí napájení nejsou přítomná data uchována nebo uložena. Protože takové registry potřebujeme aktualizovat s každým zapnutím a inicializační sekvencí systému, může zde docházet k problematickým situacím s vysokou mírou rizika pro registry, které tak budou nechtěně překonfigurovány s chybným nastavením, což z teplotního hlediska ve výsledku ohrožuje celé zařízení.

Přemýšleli jste někdy nad tím, kolikrát bude váš produkt v průběhu své životnosti zapínán? Může jít o stovky nebo i tisíce případů zvyšujících pravděpodobnost, že se při spouštění něco pokazí. Takové zjištění nelze brát na lehkou váhu.

V našem příkladu jsme registry mezních hodnot TLOW a THIGH nastavili na 50 °C a 85 °C. Co se ale stane, bude-li registru THIGH v důsledku rušení při spouštěcí sekvenci a přenastavení pouze jednoho bitu na logickou jedničku nedopatřením definováno 185 °C? Taková nežádoucí situace nemusí hned způsobit přehřátí systému a vznik plamene, každopádně však nepůjde o příznivé podmínky, které by katastrofickým scénářům nenahrávaly. V současné době se v průběhu spouštěcí sekvence zařízení aktivuje spousta věcí, včetně hlavních bloků a jejich součástek. Pro zajištění odpovídajícího chování bude hrát časování takových událostí klíčovou roli.

A ptáme se ještě jednou. Kolikrát zákazníci vrátili některý z vašich produktů s podezřením na závadu, která se však znovu nepotvrdila? Zařízení je po testech zcela funkční a vrací se zpět s poznámkou „žádný problém nenalezen“. Jeden z mnoha úkolů spojených s prozíravým návrhem konkrétního produktu proto spočívá v pokládání otázek „co kdyby“ a následném pokusu vyloučit podobné stavy vhodnou konstrukcí nebo implementací prvků ještě před uvedením do výroby. Až tedy budete znovu navrhovat systém s diskrétními teplotními čidly, položte si bez ohledu na použitý protokol či technologii ještě jednou otázku „co když“.

Non-volatilní registry mění pravidla hry

Možné řešení spočívá v teplotních senzorech, které budou obsahovat nejen volatilní registry, ale nabídnou též integrované registry řešené non-volatilní pamětí, přesně jak to ukazuje obr. 4.

Konfigurační registr bude mít spolu s registry vysoké i nízké mezní teploty ve všech případech zapracovánu ještě non-volatilní část. Non-volatilní registry pomohou zdokonalit funkci teplotního čidla tím, že mu umožní jednoduchou činnost na způsob „plug-and-play“ s předem definovanými výchozími hodnotami po zapnutí. O nastavení spojená s konfigurací a teplotními limity tak nepřijdeme ani v důsledku opakovaného zapínání a vypínání a ještě se zbavíme potřeby konfigurovat senzor teploty po každé takové události. Integrované non-volatilní registry čidla pro mezní teploty TLOW a THIGH nastavíme např. na 50 °C a 85 °C. Takové limity jsou nyní uloženy v non-volatilní paměti, ze které se v průběhu následného zapnutí uvnitř struktury jednoduše zkopírují do příslušných volatilních registrů TLOW a THIGH.

Jak se tím ale vyřeší otázka možného narušení volatilních registrů po zapnutí napájení? Jednoduše, host kontrolér již k nastavení zmíněných registrů nemusí pokaždé využívat SW protokolu na komunikační sběrnici I²C a riziko nežádoucího přepisu tak můžeme zcela vyloučit, protože se v tomto případě žádného protokolu nevyužije. Zároveň tím zjednodušíme celou spouštěcí sekvenci, z hlediska konfigurace omezíme nebo se úplně zbavíme závislosti na host kontroléru a posuneme tak spolehlivost systému na ještě vyšší úroveň. Teplotní senzor by tak mohl pracovat samostatně a bez nutnosti nastavení ze strany kontroléru.

Na cestě za dalším zvyšování spolehlivosti můžeme ještě zapracovat funkci zámku pro non-volatilní registry s vratným nebo též trvalým nastavením zabraňujícím jejich nesprávné konfiguraci. Uzamčení registru, jako je tomu např. u prvků AT30TS750A, umožňuje pevnou konfiguraci čidla teploty a vylučuje rizika spojená s neoprávněným přepisem a rovněž i jeho důsledky.

Cenit se dnes bude každá snaha vedoucí k menším rizikům a vyšší spolehlivosti. Budeme-li kromě toho schopni dočasně nebo i trvale uzamknout integrované non-volatilní registry a chránit je tak do budoucna před jakoukoli chybnou či neoprávněnou změnou dat, můžeme tím výrazně zvýšit jejich hodnotu, stejně jako spolehlivost a bezpečnost celého systému.

Závěr

V tuto chvíli snad již lépe rozumíme některým otázkám spojeným právě s řízením teploty. Starosti provázející registry volatilní paměti vývojáře dlouhodobě trápily, nicméně s novými číslicovými senzory teploty, např. obvody AT30TS750A od Microchipu, dostáváme integrované registry non-volatilní paměti umožňující obejít dřívější problémy a navrhnout skvělá vylepšení také v oblasti teploty a jejího řízení.