Con l'aggiunta allo standard USB di nuove modalità di alimentazione, sta diventando più difficile ottenere un stima accurata di come e quanta potenza assorbano dall'host i dispositivi periferici collegati alla porta USB.
La conoscenza di questa informazione offre invece ai progettisti una migliore comprensione delle caratteristiche di consumo dei prodotti che stanno sviluppando, dando la possibilità di migliorare così l'efficienza energetica ed allungando la vita della batteria.
Questo articolo illustra la realizzazione di un sistema in grado di misurare la tensione applicata e la corrente che scorre attraverso una connessione USB, in modo da studiare accuratamente le diverse modalità operative che ora devono essere supportate.
Fino a poco tempo fa la porta USB ha rappresentato un semplice mezzo di alimentazione in grado di erogare solamente le basse correnti necessarie alle periferiche del computer. Oggi, invece, la grandissima diffusione di questa interfaccia e l'esplosione di popolarità di prodotti come smart phone e tablet fanno sì che la porta USB sia destinata a ricoprire un ruolo fondamentale non solo per la trasmissione di dati, ma anche per l'alimentazione di dispositivi di ogni tipo.
Gli aggiornamenti allo standard USB hanno previsto nuove modalità operative di potenza che permettono erogare correnti fino a 1,8 A, in modo che prodotti elettronici di largo consumo ed altri dispositivi elettrici possano essere alimentato o ricaricati attraverso di essa.
Il sistema mostrato in Figura 1 si basa su una semplice architettura che comprende un misuratore di tensione ed uno di corrente collegato in serie ed un collegamento USB separato per trasmettere la misura del livello di tensione del VBUS e della corrente assorbita dalla porta da parte del dipositivo USB collegato. In questo caso particolare la periferica è rappresentata da un mouse collegato ad un PC portatile.
Il sensore misura i livelli di corrente e tensione della linea VBUS a cui è collegato il mouse e li invia al portatile attraverso una connessione USB separata. Di conseguenza sono necessarie due porte USB.
Il circuito analogico di condizionamento adatta la dinamica del segnali di corrente e di tensione a quella di due convertitori analogico-digitali (ADC) a 12 bit. Gli ADC impiegati, dotati di interfaccia SPI integrata, sono i modelli MCP3201-B di Microchip.
Il bridge USB integrato ad alta velocità FT232H legge i valori degli ADC e li invia attraverso una connessione USB separata al portatile, sul quale possono essere visualizzati dall'utente. Un programma scritto in Visual Basic 2008 controlla l'interfaccia seriale multiprotocollo MPSSE (Multi-Protocol Synchronous Serial Engine) integrata sul chip FT232H.
Il modulo UM232H è un sistema di sviluppo miniaturizzato del circuito integrato FT232H che può essere inserito in una breadboard o in uno zoccolo per circuiti integrati. Include i vari componenti esterni necessari per progettare efficientemente un sistema USB. Il modulo possiede un connettore USB di tipo mini-B, un oscillatore al quarzo per fornire una frequenza di riferimento al dispositivo ed una memoria EEPROM per salvare le proprie impostazioni.
L'hardware del misuratore di corrente, che comprende una piccola scheda che ospita il modulo UM232H e della circuiteria analogica aggiuntiva, è illustrato in Figura 2.
In totale il sistema include tre connessioni USB. La prima è il connettore femmina mini-B sul modulo UM232H che collega il circuito integrato FT232H al portatile su cui gira il software applicativo. La seconda e la terza sono usate per collegare il sistema in serie ad un collegamento USB in esame.
La porta di ingresso è un connettore USB di tipo B che si collega al sistema da collaudare tramite un normale cavo USB A-B. La periferica invece si collega al connettore USB femmina di tipo A presente sul misuratore, come se fosse collegata direttamente all'host. Le piste su cui viaggiano i dati USB devono essere le più corte possibile e di uguale lunghezza per evitare problemi di degrado del segnale, in quanto parte integrante del collegamento tra host e periferica/dispositivo alimentato.
Il segnale PWREN# del dispositivo FT232H è utilizzato per accendere il circuito di misura una volta che la procedura di enumerazione è completata. Inoltre, disattiva il circuito nel caso in cui il bridge sia posto in modalità di sospensione, in modo da rispettare la massima corrente di 2,5 mA prevista dalle specifiche USB per questa modalità operativa.
Un MOSFET a canale p è impiegato per collegare l'alimentazione a 5 V al convertitore DC/DC, che a sua volta alimenta il resto del circuito. E' stato scelto un convertitore DC/DC da 1 W di Traco (TMA0512S). Il convertitore DC/DC eleva a 12 V la tensione di 5 V del circuito di potenza a commutazione. Dei regolatori sono poi utilizzati per generare un'alimentazione a 5 V per l'amplificatore di misura della corrente ed una a 3,3 V per gli ADC.
Questa architettura crea un'alimentazione per la sezione analogica molto più stabile rispetto ad alimentarla direttamente dalla porta USB stessa. Un circuito integrato di monitoraggio dell'alimentazione viene utilizzato per rivelare se l'alimentazione dei circuiti analogici si guasta o scende sotto il valore corretto. In questo particolare esempio, è stato scelto il supervisore MCP120-450DI/TO di Microchip. In caso di anomalie, questo circuito integrato abbassa la sua uscita open-collector che è connessa ad un pin di ingresso digitale disponibile dell'integrato FT232H. Si tratta di un'indicazone che può essere sfruttata per segnalare all'applicazione che l'ultima misura acquisita può non essere valida.
I due ADC sono collegati al modulo UM232H tramite interfaccia SPI. Un convertitore acquisisce l'uscita dell'amplificatore che misura la corrente (che è adattata attraverso una resistenza d'uscita all'intervallo da 0 a 3,3 V), mentre l'altro misura la tensione del VBUS tramite un partitore (che dimezza la tensione del VBUS, nominalmente a 5 V, dato che la massima dinamica degli ADC è di 3,3 V).
Le linee di clock (SCK) e master-in/slave-out (MISO) del bus SPI del chip FT232H sono connesse ad entrambi gli ADC. Ogni ADC possiede poi la propria linea di chip select (CS). Dato che l'ADC non deve ricevere alcun dato dal master, la linea master-out/slave-in (MOSI) non viene collegata. Comunque, in altre applicazioni, andrebbe connessa al corrispondente pin del dispositivo periferico.
In questo esempio è stata utilizzata la modalità 0 del protocollo SPI. Di conseguenza, i dati sono validi sul fronte di salita del clock e lo stato di disabilitazione del clock è basso. I pin di configurazione del chip FT232H ed i comandi del controllore seriale MPSSE sono stati impostati per programmare questa modalità di funzionamento nel MPSSE.
Il circuito di misura della corrente è costituito da un resistore di misura (sense) e da un amplificatore che legge la caduta di tensione sul resistore. In particolare, è stato scelto un dispositivo MAX4172 di Maxim.
La corrente scorre dal pin a 5V (VBUS) dell'USB di ingresso a quello di uscita attraverso il resistore di misura che converte la corrente in una piccola caduta di tensione ai suoi capi. Una resistenza di 0,2 Ω corrisponde ad un intervallo di tensione da 0 mV a 100 mV, a seconda di quanta corrente vi scorra. Corrispondentemente l'intervallo di corrente misurabile va da 0 a 500 mA, che darebbe così una tensione massima di:
0,2 Ω x 0,5 A = 100 mV.
Sebbene questa tecnica di misura della corrente sia precisa, risulta tuttavia leggermente invasiva, in quanto il resistore causa una piccola caduta della tensione di alimentazione della periferica USB a valle. Il dimensionamento della resistenza dipende dall'amplificatore utilizzato, con un compromesso tra il raggiungimento di una elevata accuratezza e la limitazione del calo di tensione dell'alimentazione della periferica che si sta monitorando.
L'amplificatore eroga una corrente che è proporzionale alla caduta di tensione misurata ai capi del resistore di misura; una resistenza in uscita la converte quindi in una tensione misurabile dall'ADC. In questo caso una resistenza da 3,3 kΩ fornisce un intervallo di uscita da 0 a 3,3 V.
Per la misura di corrente l'amplificatore deve essere differenziale, in modo da misurare la differenza di tensione tra i due terminali del resistore e non di un singolo ingresso rispetto a massa. La differenza di tensione flottante è poi convertita in un'uscita riferita a massa, che è indipendente dalla tensione di modo comune dei morsetti di ingresso.
Un partitore resistivo al 50% è utilizzato per la misura della tensione, in modo da convertire la tensione nominale di 5 V del bus USB in un valore adeguato per l'ingresso dell'ADC, che ha una dinamica di ingresso da 0 a 3,3 V e che normalmente misurerà così 2,5 V.
Il punto di misura è posto a valle della resistenza di misura, in modo che la misura rifletta il valore effettivo della tensione fornita alla periferica collegata. A causa della caduta sulla resistenza di misura, il valore letto sarà inferiore all'effettiva tensione del VBUS di uno scarto che dipende dalla corrente assorbita, fino ad un massimo di 100 mV.
Un programma su PC calcola i valori di corrente e di tensione da visualizzare a partire dalle codifiche degli ADC. Il programma può essere scaricato gratuitamente dal sito web di FTDI Chip.
Il semplice ma efficace sistema descritto in questo articolo consentirà ai progettisti di sistemi elettronici consumer di analizzare i dati sul consumo di potenza dei loro nuovi prodotti in modo da massimizzare l'efficienza energetica nelle varie modalità operative di potenza ora disponibili.
Di conseguenza esso può offrire importanti benefici nello sviluppo di una nuova generazione di prodotti portatili accuratamente ottimizzati per la ricarica via USB.