
Tempo fa ho avuto modo di partecipare ad un seminario Microchip che si è svolto in una città vicina a dove lavoro. Tra le tante cose interessanti di cui si è parlato (tra le quali spicca la parte sul risparmi energetico) ce ne sono state due particolarmente interessanti da considerarsi delle utili “Tips & Trick”.
La prima riguarda l’integrato MCP1624 della Microchip. Questo integrato (MCP1624) altro non è che un convertitore DC-DC che è in grado di erogare una tensione che va da un minimo di 2 V ad un massimo di 5,5 V da una semplice stilo da 1,5 V.
L’utilità di questo integrato sta nel fatto che generalmente per alimentare, per esempio, un microcontrollore a 3,3 V, si devono adottare due pile stilo da 1,5 V mentre, grazie all’utilizzo di questo integrato siamo in grado di alimentarlo adottando solamente una stilo da 1,5 V.
La caratteristica veramente allettante è che questo integrato è in grado di fornire i la tensione di uscita stabile fintantoché la batteria riesce a fornire una carica di 0,35 V permettendo così di sfruttare maggiormente le batterie adottate. Aimè una caratteristica non proprio a suo favore sta nel consumo di corrente che dipende dalla modalità di funzionamento.
Combinando assieme a questo integrato un microcontrollore “Low Power” sempre della Microchip, e “giocando” opportunamente con l’hardware, il software e il pin “EN” di questo integrato, si può allungare di molto la durata della batteria (Application Note: AN1337): se il microcontrollore della nostra applicazione viene messo nello stato di “sleep” per alcuni intervalli di tempo, è ragionevole pensare di disabilitate l’MCP1624 attraverso il pin “EN” in modo da eliminare anche il suo assorbimento di corrente. Per funzionare questo sistema necessita di una capacità di “bias” sull’alimentazione che mi funge da “batteria tampone” per il tempo in cui il microcontrollore è in sleep e l’MCP1624 è disabilitato. Ultima cosa da precisare riguarda la tensione di ingresso, infatti, questo integrato è in grado di risvegliarsi dallo stato di “sleep” solo se la tensione di ingresso risulta maggiore o uguale a 0,68 V.
Altro integrato interessante è l’MCP2200, sempre della Microchip, che ci permette di realizzare velocemente un bridge RS232-USB. La scomparsa della porta RS232, prima dai PC portatili e poi dai PC desktop, è stata una cosa “buona e giusta” ma che sicuramente ha portato con se non pochi disagi soprattutto a tutte quelle applicazioni che necessitano di una comunicazione con un PC attraverso il protocollo RS232.
Per venire incontro a queste esigenze lo standard USB ha previsto, tra le tante classi di dispositivi, quella che viene identificata con il nome CDC (Communication Device Class) la quale racchiude anche le “vecchie” porte COM. Un dispositivo USB che rientra in questa classe e che si identifica come porta COM viene visto dal PC (grazie all’ausilio del driver) proprio come se fosse una normale porta COM con tutte le relative proprietà e caratteristiche.
Grazie a questa classe di dispositivi non sarà necessario modificare il software lato PC ma sarà sufficiente apportare opportune modifiche hardware e software del dispositivo affinché preveda una comunicazione di tipo USB piuttosto che RS232. Talvolta però anche questo non basta infatti non sempre si ha a disposizione tempo e/o capacità per poter modificare hardware e software per avere una comunicazione di tipo USB sul nostro dispositivo.
Attraverso l’integrato MCP2200 la Microchip viene incontro alle esigenze dei progettisti fornendo un modo semplice e veloce per ottenere un bridge RS232-USB apportando semplicemente una modifica hardware per l’installazione di questo integrato sul dispositivo:
oltre ai pin per l’RS232 e per l’USB questo integrato presenta uscite di tipo “General Purtpose”, per il pilotaggio di LED che indicano lo stato dell’USB e di una EEPROM interna per la memorizzazione delle impostazioni. Le connessione hardware da dover effettuare possono essere ricavate attraverso l’ausilio del relativo Data Sheet.
La Microchip fornisce anche un piccolo tool software per la programmazione del VID e PID di questo integrato tramite connessione USB al PC.
Tutte le informazioni su questi due integrati possono essere trovate sul sito www.microchip.com.

Due prodotti Microchip che non sono i tipici microcontrollori tuttofare ma degli IC con funzioni specifiche, un convertitore DC/DC di tipo boost e un USB-RS232 bridge.
Parliamo del primo. Tutte le applicazioni che lavorano a batteria necessitano, tipicamente, di uno stadio DC/DC di tipo boost che permetta al microcontrollore e alle periferiche di contorno di funzionare correttamente anche a tensioni di alimentazione della batteria fortemente al di sotto del valore minimo di funzionamento degli IC. Qui addirittura leggo una tensione minima di qualche frazione di volt. Come è stato già sollevato in passato, il compito dei convertitori DC/DC è quello di convertire in tensione mantenendo costante la potenza tra ingresso e uscita (a meno delle perdite, ovviamente). Quindi, il convertitore boost in questione, tramite un giochetto di accumulo e successivo rilascio dell’energia attraverso un induttanza e una capacità, permette di elevare la tensione in uscita abbassando però la corrente. Se l’assorbimento di corrente è irrisorio, il convertitore boost si può trovare a lavorare in discontinuos mode in cui la tensione non è più solo dipendente dal duty-cylce, ma anche da altri parametri come l’induttanza di accumulo. Diciamo che oramai, nelle applicazioni lowpower, un convertitore di questo tipo c’è di sicuro. Una cosa mi sfugge dal testo dell’articolo. C’è scritto che ponendo in stato di sleep il microcontrollore si aumenta sensibilmente la durata della batteria e dato che questo è in stato di “sonno” è ossibile disabilitare il convertitore DC/DC per eliminare anche questo ulteriore consumo. In realtà come fai a garantire la tensione al microcontrollore per potersi risvegliare? Se spegni il boost, la tensione di alimentazione del micro diventa quella di ingesso e se questa è pari a 0.5V, la stessa tensione te la ritroverai sui pin di alimentazione del micro, quindi non si può spegnere il convertitore. Al massimo potresti farlo se la parte che stai alimentando è una sezione a se stante del circuito complessivo e che quindi ci sarà un controllore esterno che provvederà a dare il segnale di enable al boost, ma se la tensione è così bassa (035V addirittura) il micro non ce la fai ad alimentarlo. Per il resto, ti posso dire, che in passato ho dato un’occhiata alla gamma di DC/DC converter della Microchip e posso dirti che c’è di meglio. Basta spulciare nel catalogo di LT, ad esempio, che trovi tutti gli IC converter che vuoi con le prestazioni che vuoi. Diciamo che la LT è fortemente specializzata in questo ambito.
Mi sono soffermato sul primo degli IC che hai presentato ma non ho detto nulla sul USB-RS232 bridge. Questo tipo di IC abbiamo imparato a conoscerli con gli integrati della serie FTDI, i primi a fare da bridge o da converter dalla comunicazione USB a quella RS232. Infatti è stata per tantissimo tempo la soluzione per i progettisti per munire il loro hardware di una comunicazione che fosse la più universale possibile. Anche Arduino2009 e prima ancora Arduino2010 montano un FTDI come bridge tra i due standard. Successivamente, con l’introduzione dei microcontrollori muniti di usb nativamente, l’uso di questi bridge si ristretto a quelle applicazioni in cui adottare un micro giusto per fare una conversione tra protocolli può risultare inutile, troppo costoso e troppo oneroso in termini di tempi di progettazione (perchè non dimentichiamo che i micro vanno programmati con un firmware preventivamente scritto e debuggato…). La soluzione Microchip segue le orme di FTDI e ti dico che l’ho pure provato associato ad un pic16f876 e va benissimo. Il package è a 20 pin e se non sbaglio dovrebbe essere più contenuto anche del precursore FTDI. Comunque niente di particolare da dire. L’hardware si riduce essenzialmente al connettore USB, all’IC bridge e qualche capacità qua e là di bypass tra alimentazione e GND.
Effettivamente nell’articolo sono “passato per le corte” e piuttosto che spiegare nel dettaglio mi sono limitato ad accennare il funzionamento e a segnalare il link dell’application note della Microchip in cui questa procedura viene spiegata.
In sostanza il microcontrollore prima di entrare in “sleep” disabilita il convertitore DC/DCe poi va in “sleep”; una volta che il microcontrollore si risveglia dallo stato di “sleep” (solitamente viene fatto risvegliare tramite un timer o interrupt esterno, ma questo dipende dall’applicazione) riabilita il convertitore DC/DC.
Il trucchetto sta in due capacità: quella di “bias” collegata all’alimentazione del microcontrollore (quindi a valle del convertitore DC/DC) che gli garantisce l’alimentazione per il tempo in cui quest’ultimo rimane nello stato di “sleep”; chiaramente il calcolo della capacità deve essere fatto tenendo conto degli assorbimenti del microcontrollore durante lo stato di “sleep” ma solitamente è dell’ordine dei 100uF. La seconda capacità che permette il funzionamento è una sorta di capacità di “pull-up” (termine raro ma di seguito si capisce perchè) la quale è collegata tra il pin “en” del convertitore DC/DC e la tensione della batteria: questa batteria serve ad innescare il meccanismo descritto sopra (quando la capacità è scarica è equivalente ad un cortocircuito ed è equivalente ad un circuito aperto quando è completamente carica) che altrimenti non inizierebbe perchè il convertitore DC/DC non è abilitato, la capacità di “bias” non è carica e quindi il microcontrollore non è alimentato; anche questa capacità deve essere scelta sulla base del progetto ma solitamente è dell’ordine dei nF.
Quest’ultima capacità può essere sostituita collegando il pin “en” del convertitore DC/DC sulla tensione della batteria, tramite una resistenza di valore elevato, e ad un transistor (possibilmente MOSFET) pilotato dal microcontrollore e che porta a massa questo il pin “en” del convertitore DC/DC quando necessario.
La Microchip non è specializzata in convertitori DC/DC, infatti non è da molto che tratta questo tipo di dispositivi e magari altre marche che trattano questi dispositivi hanno soluzioni migliori, ma ho voluto scrivere ugualmente questo articolo perchè è sicuramente interessante sapere che anche Microchip offre questo tipo di integrati del tipo “chiavi in mano” (come quello per l’usb).