Controllo di Temperatura con LM96063

Sul blog di Elettronica Open Source puoi leggere tutti gli articoli Premium riservati agli abbonati e inseriti nella rivista Firmware 2.0, approfondimenti, news, progetti, tutorial, ma anche gli articoli della Rubrica Firmware Reload. In questa Rubrica del blog abbiamo raccolto gli articoli tecnici della vecchia rivista cartacea Firmware, che contengono argomenti e temi evergreen per Professionisti, Makers, Hobbisti e Appassionati di elettronica. Texas Instruments propone un integrato per la gestione della temperatura in svariate applicazioni che vanno dai processori per PC, alle schede grafiche, agli ASIC. Il tutto grazie a un rilevamento termico da remoto e alla gestione di un sistema di ventola per il raffreddamento. Vediamo nel dettaglio le sue funzionalità e caratteristiche più salienti dal punto di vista hardware per poter comprenderne meglio l’utilizzo.

INTRODUZIONE

Oggigiorno, in un numero crescente di applicazioni e sistemi elettronici, per poter ridurre efficacemente gli aumenti di temperatura dovuti al loro utilizzo, si fa ricorso a sistemi di controllo attivo per poter aumentare l’affidabilità dei dispositivi stessi. Generalmente, a questo scopo in tali sistemi vengono installate delle ventole di raffreddamento e la loro gestione diventa poi necessaria, sia per contenere le emissioni di rumore sia per prolungarne la vita utile. In queste applicazioni può essere implementato uno “speed-control loop”, ovvero un anello di controllo della velocità di rotazione delle pale che potrà permettere, oltre a quanto già esposto, anche di identificare preventivamente quando un sistema si è danneggiato o sta degradando, permettendo quindi di sostituirlo prima che sia troppo tardi. Basti pensare che nel progettare un sistema elettronico si tenta sempre più di aumentare la frequenza di lavoro dei semiconduttori, soprattutto costringendoli poi in ingombri sempre più piccoli.

Questo non può che avere un solo risultato: la generazione di maggiori quantità di calore da smaltire. Se poi associamo questo con il fatto che tali circuiti integrati ad alta potenza sono stati progettati in contenitori sempre più minuscoli, si finisce avendo a che fare con un vero e proprio problema di gestione termica. Per molte applicazioni, ciò significa la necessità di una dissipazione attiva. Purtroppo, con l’uso delle ventole si è molto più esposti a guasti meccanici, aumento del consumo di energia e più rumore, ma con un opportuno controllo della velocità e il costante monitoraggio si possono alleviare alcuni di questi problemi, per poter ottenere ventilazioni più silenziose, più affidabili e che usano meno energia. Nel corso del tempo, le prestazioni della ventola (quindi l’efficienza del raffreddamento) subiscono un lento degrado, fino a una condizione di guasto definitivo; anche per questo motivo può essere importante monitorare continuamente il suo stato di salute. La maggior parte dei produttori di ventole offre una varietà di modi per farlo, ma generalmente questi sensori si possono dividere in due grandi categorie: sensori di allarme e sensori di velocità.

I primi danno un segnale digitale indicando che la ventola è scesa sotto una certa soglia di velocità o si è fermata del tutto. Mentre le ventole con i sensori di velocità, danno un’uscita digitale la cui frequenza è proporzionale alla loro velocità di rotazione. Il sensore di velocità più comune dà due impulsi per ogni giro. In tale ambito, la Texas Instruments (TI) propone un proprio sensore di temperatura, l’integrato LM96063 che, oltre alle caratteristiche comuni di questa categoria di integrati, prevede anche il rilevamento di temperatura di un transistor da remoto. Analizziamone in dettaglio le caratteristiche, per meglio comprendere come poter utilizzare un driver così interessante.

CARATTERISTICHE PRINCIPALI DELL'LM96063

Il sensore LM96063 misura con precisione sia la propria temperatura che la temperatura di un transistor connesso, come può essere un 2N3904, oppure un diodo termico che si trova comunemente su processori per computer, unità di elaborazione grafica (GPU) e altri ASIC. In Figura 1 è riportata la disposizione dei suoi pin, che sarà chiarita nei dettagli durante la trattazione delle sue funzionalità; viene distribuito in un solo contenitore plastico con 8 pin e una struttura delle dimensioni di circa 3x3 mm.

Figura 1: Disposizione dei pin del dispositivo LM96063

I pin di uscita SMBDAT, ALERT, TCRIT e PWM sono uscite a collettore aperto e non hanno pull-up interni. Non sarà visibile un livello “alto” su questi pin fino a quando non verrà fornita tensione da una fonte esterna, tipicamente attraverso un resistore di pull-up. La scelta del valore della resistenza dipende da diversi fattori ma, in generale, dovrebbe essere il più elevato possibile compatibilmente con un funzionamento affidabile; questo abbasserà la dissipazione di energia da parte dell'LM96063 e soprattutto aiuterà a evitare errori di temperatura causati da auto-riscaldamento del dispositivo. In ogni caso viene consigliato un valore minimo della resistenza di pull-up pari a 88,7 kΩ. L’integrato LM96063 può essere applicato facilmente nello stesso modo di altri sensori di temperatura e la sua capacità di rilevamento termico da remoto consente di essere utilizzato anche in nuovi sistemi.

Essendo saldato sul circuito stampato e visto il breve percorso di conducibilità termica fra lo stampo e i pin, la sua temperatura è effettivamente quella rilevata. Ciò presupponendo che la temperatura dell’aria (ambiente circostante) sia quasi uguale alla temperatura della superficie del circuito stampato; in caso contrario, se la temperatura dell’aria fosse molto superiore o inferiore alla temperatura superficiale dell’integrato, la temperatura effettiva del die dell'LM96063 sarebbe una temperatura intermedia tra quella superficiale e dell’aria. In ogni caso, anche in questa condizione la temperatura del circuito d’interesse contribuirebbe alla temperatura rilevata in maniera molto più forte rispetto al contributo dell’aria. L’LM96063 incorpora la tecnica di rilevamento della temperatura di una giunzione (transistor) remota che permette la misurazione della temperatura a distanza. Questo transistor può essere posizionato sullo stampo di un IC (Integrated Circuit) permettendo la misurazione della temperatura del circuito integrato, indipendente dalla temperatura dell'LM96063. Un transistor discreto può anche essere utilizzato per rilevare la temperatura di oggetti esterni o dell’aria ambiente. Si ricordi che la temperatura di un transistor discreto sarà influenzata e spesso dominata dalla temperatura dei suoi contatti, perciò la maggior parte dei transistor al silicio non si prestano bene a questa applicazione, quindi generalmente si consiglia di utilizzare un dispositivo come l’MMBT3904 che, al contrario, garantisce una notevole compatibilità a questo tipo di utilizzi. Un diagramma a blocchi del suo funzionamento è riportato in Figura 2, tra le sue caratteristiche più salienti abbiamo:

  • Disponibilità di un sistema integrato PWM (Pulse Width Modulation), con uscita a collettore aperto per il controllo della ventola, la cui velocità è una combinazione della lettura della temperatura a distanza, una LookUp Table (LUT) e le impostazioni dei registri. Grazie a questa uscita si riesce a modulare la velocità di una ventola consentendo al sistema prestazioni acustiche ottimali.
  • LUT, che permette all’utente di programmare una velocità non lineare della ventola e una funzione di trasferimento della temperatura, caratteristica spesso usata per ridurre il rumore acustico. Inoltre, è stata aggiunta una funzione di rampa completamente programmabile per consentire transizioni uniformi tra i vari “set point” della LUT.
  • Algoritmo del controllo della ventola con inclusa una funzione di livellamento, che permette al duty cycle del PWM di cambiare gradualmente in un intervallo di tempo programmato quando si passa da un certo livello della LUT a quello successivo.
  • Ingresso TACH in grado di misurare la velocità di una ventola utilizzando gli impulsi in uscita dal tachimetro integrato nel dispositivo.
  • Modalità di misurazione intelligente, per compensare gli impulsi del tachimetro danneggiati.
  • Uscita a collettore aperto ALERT che viene gestita (se attivata) quando la temperatura misurata supera certi limiti programmati.
  • Concepito principalmente per l’utilizzo mediante il transistor MMBT3904 utilizzato come transistor termico in svariate applicazioni e presente anche in molti FPGA e ASIC.

Figura 2: Schema a blocchi semplificato

Tra le altre caratteristiche, questo integrato può essere impostato in modalità stand-by a basso consumo settando opportunamente il bit relativo nel suo registro di configurazione ma in tale modalità le conversioni continue vengono arrestate. In Figura 3 è riportato un classico esempio di utilizzo. Vediamo più approfonditamente le sue caratteristiche principali legate al pin ALERT.

Figura 3: Applicazione tipica di un LM96063

L’USCITA ALERT

Facendo riferimento alla Figura 1 vista precedentemente, mediante il pin ALERT open-drain (negato – attivo basso), si possono attuare varie strategie ma per poterlo sfruttare bisogna impostare a zero, nei registri, il bit di configurazione affinché gli interrupt vengano abilitati. Tale pin è piuttosto versatile e può avere tre differenti modalità di utilizzo: (1) come comparatore di temperatura; (2) come flag di interrupt di temperatura; infine (3) come parte di un sistema SMBus.

Comparatore di temperatura
Quando l’integrato LM96063 viene utilizzato in un sistema in cui non sono richiesti interrupt legati alla temperatura, l’uscita ALERT può essere usata come comparatore di temperatura. Facciamo riferimento alla Figura 4, ad esempio, se l’uscita ALERT è stata attivata (da un confronto LT>LHS - si veda il foglio specifiche), quando la sua condizione non è più vera, il pin ALERT torna alto. Questa modalità permette di operare senza l’intervento del software una volta che tutti i registri sono impostati durante la fase configurazione. Per poter utilizzare questa modalità bisogna attivarla perché di default non lo è.

Figura 4: Uscita del Pin ALERT in configurazione “Comparatore di Temperatura”

Flag di interrupt per la temperatura

L’uscita del pin ALERT può essere settata come un semplice segnale di interrupt. In questo metodo di funzionamento, durante la lettura dello “Status Register” del pin di ALERT, l’integrato LM96063 imposterà il bit di maschera del “Configuration Register” se qualsiasi bit dello “Status Register” viene settato, ad eccezione del bit Busy e RDFA. Questo impedisce l’ulteriore trigger di ALERT fino a quando non viene resettato il bit “Mask” alla fine della routine del servizio di interrupt. I bit dello “Status Register” vengono cancellati solo dopo un comando di lettura (come si può notare in Figura 5) e sarà nuovamente impostato al termine della conversione successiva se la condizione di attivazione persiste. Affinché questa modalità possa essere usata (segnale di interrupt dedicato), il bit per la modalità comparatore deve essere disabilitato. Si tenga presente che questo è lo stato predefinito di accensione.

Figura 5: Uscita del pin ALERT in configurazione “Flag di interrupt per la temperatura”

Pin di ALERT come parte di un Sistema SMBus
Una linea di allarme SMBus si crea quando l’uscita ALERT è collegata a una o più uscite ALERT di altri dispositivi compatibili SMBus o ad un dispositivo Master. In questa implementazione, il pin ALERT dell'LM96063 viene utilizzato con il protocollo ARA (Alert Response Address). Il protocollo ARA SMBus 2.0, definito nella specifica SMBus 2.0, è una procedura volta a determinare quale parte ha generato un interrupt e quale è destinata a gestire tale interrupt.

La linea di allarme SMBus è collegata alle porte a collettore aperto di tutti i dispositivi sul bus. Il metodo ARA permette al Master SMBus, con un solo comando, di identificare quale integrato sta impostando la linea di allarme SMBus a un valore basso. Quando un comando ARA viene ricevuto da tutti i dispositivi sul bus, i dispositivi settano la linea di allarme SMBus a un valore basso, inviano il loro indirizzo al Master e rilasciano la linea di allarme SMBus dopo un “acknowledgement” del loro indirizzo. Le specifiche SMBus riguardanti il protocollo ARA prevedono che dopo aver identificato l’indirizzo di uno slave il dispositivo deve liberare la linea (impostando un valore alto) e nel caso in cui venga ancora rilevato un segnale basso sulla linea dopo che il trasferimento dei messaggi è completo, allora il Master effettua ancora una lettura degli indirizzi, prevenendo il bloccaggio della linea.

Gli integrati che implementano il protocollo ARA come LM96063 saranno pienamente compatibili con tutte le specifiche richieste. L’integrato della TI soddisfa i requisiti del protocollo ARA impostando il bit “Mask” nel registro di configurazione dopo aver inviato il suo indirizzo in risposta a una richiesta ARA e rilasciando il pin di uscita ALERT. Una volta attivato il bit “Mask”, il pin ALERT di uscita sarà disabilitato fino a quando non viene riabilitato dal software. Per abilitare il pin ALERT, il Master deve leggere il registro di stato durante la routine di servizio dell’interrupt e poi reimpostare il bit “Mask” nel registro di configurazione a 0 alla fine della routine.

CONCLUSIONI

Come abbiamo visto, oggigiorno nei sistemi elettronici aumenta sempre più la complessità, il numero dei semiconduttori e le velocità del loro utilizzo, in ingombri sempre più ridotti che portano inesorabilmente a un innalzamento termico. Grazie a integrati come quello appena analizzato della TI, una tale problematica si riesce a gestire nel migliore dei modi mediante letture in remoto e il pilotaggio delle ventole per il raffreddamento; attraverso il loro opportuno controllo di velocità e il costante monitoraggio, possiamo evitare i problemi comuni al surriscaldamento dei componenti ed evitare problemi, ottenere sistemi di ventilazione più silenziosi, più affidabili e che impiegano meno energia.

Articolo della Rivista cartacea Firmware Anno 2014 Numero 107

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend