Nuovi approcci per il pilotaggio dei display Lcd

I circuiti di pilotaggio degli Lcd a segmenti sono oramai onnipresenti: dagli orologi ai termostatici domestici, dagli strumenti medicali portatili come ad esempio misuratori di glucosio e apparecchiature per il monitoraggio della pressione sanguigna alle automobili. Quasi tutti i produttori di Mcu offrono funzioni per il pilotaggio degli Lcd e soluzioni di questo tipo sono ormai disponibili da molto tempo. Trattandosi di un settore maturo, nessuno potrebbe aspettarsi innovazioni di rilievo per quanto concerne il pilotaggio degli Lcd. in questo articolo si vogliono invece evidenziare alcuni interessanti sviluppi e le circostanze che li hanno resi possibili.

Rete a scala resistiva programmabile
L’approccio tradizionale al pilotaggio degli Lcd prevede circuiti formati da resistori o condensatori esterni per generare la tensione di polarizzazione. Quasi tutte le Mcu o i SoC possono pilotare fino a 4 terminali comuni (che vengono comunemente definiti common o backplane e, come il termine implica, sono comuni a un gruppo di segmenti dell’Lcd), che solitamente richiedono 1/3 della polarizzazione. Ne consegue che occorreranno circa 4 pin e l’utilizzatore collegherà una rete capacitiva o resistiva esterna su questi pin per generare la polarizzazione dell’Lcd. Alcuni produttori hanno cercato di spostare questa rete resistiva a scala all’interno del dispositivo. Tale rete dovrebbe essere ottimizzata per un determinato display al fine di ottenere le migliori caratteristiche in termini di potenza e di contrasto. Una rete interna può rappresentare un buon compromesso per un tradizionale display, ma potrebbe non soddisfare i requisiti a livello dell’intero sistema. L’innovazione più recente è rappresentata dall’uso di un resistore di valore elevato o una rete resistiva programmabile per ottimizzare la potenza e ricorrere a un buffer controllato in maniera dinamica per risolvere le problematiche legati all’intensità di pilotaggio. Questo buffer viene automaticamente disattivato per risparmiare potenza una volta che la tensione del pixel raggiunge il livello previsto, mantenendo quindi bassa l’intensità di pilotaggio. In tal modo è possibile ridurre il numero di componenti esterni e utilizzare meno pin sul dispositivo, sfruttando nel contempo i vantaggi legati alla regolazione del circuito di polarizzazione per ottimizzare potenza e contrasto.
 
Collocare un mux per ciascun pin
Un’altra certezza assoluta che riguarda il pilotaggio dei segmenti degli Lcd mediante Mcu e SoC è che i dispositivi hanno un pinout fisso. Ciò significa che certi pin sono definiti come terminali comuni e altri come uscita dei vari segmenti. Su questi pin convergeranno altre funzionalità tipiche di una Mcu come segnali Uart e Spi. La progettazione di un sistema Lcd risulta quindi sempre molto complessa. Il “trucco” è identificare i pin per il pilotaggio dei pixel necessari senza per questo perdere le funzionalità critiche della Mcu, garantendo nel contempo la semplicità a livello di sviluppo del firmware e di stesura del layout della scheda Pcb. Mcu e SoC usano multiplexer di tipo m:n (Mux) dove m è il numero totale di pixel supportati e n è il numero dei pin di segmento. Un approccio innovativo prevede di collocare questo mux su ciascun pin. Allo scopo è necessario usare un mux più piccolo, ovvero un mux di tipo p:1, dove p è il numero di livelli di polarizzazione supportati. Un pin può quindi essere di tipo comune o di segmento, garantendo così al progettista la massima flessibilità nell’implementazione di differenti funzionalità. Poiché tale logica può far parte di quella che fa riferimento a una determinata piazzola (pad), non è necessario ricorrere a silicio aggiuntivo, a tutto vantaggio dei costi.
Il ricorso a una rete resistiva programmabile, quindi, semplifica l’aggiunta di più livelli di polarizzazione senza ricorrere a pin addizionali o penalizzare la potenza. Se invece si colloca un mux su ogni pin, risulta più facile rendere disponibili in uscita più livelli di polarizzazione. Abbinando queste due innovazioni, risulterà più semplice supportare livelli di polarizzazione più elevati, con la possibilità quindi di avere più terminali comuni o backplane. Ciò a sua volta si traduce nella possibilità di pilotare più pixel dell’Lcd oppure di pilotare la stessa quantità di pixel con un numero inferiore di pin. Si faccia ad esempio l’ipotesi di avere una Mcu o un SoC con 52 pin per il pilotaggio dell’Lcd. Nel caso siano supportati quattro terminali comuni, il sistema può pilotare al massimo 192 pixel (48 segmenti x 4 terminali comuni). Nel caso invece la medesima Mcu o SoC supporti 16 terminali comuni, con 52 pin è possibile pilotare 576 pixel (36 segmenti x 16 terminali comuni). Nel caso si desideri pilotare un numero inferiori di pixel, saranno richiesti meno pin e il progettista potrebbe optare per una Mcu con un numero inferiore di pin, a tutto vantaggio dei costi. Un altro vantaggio legato alla riallocazione dei pin dell’Lcd è la possibilità di rendere disponibile in uscita il medesimo segnale comune a più pin. Ciò semplifica il pilotaggio di display di ampie dimensioni che richiedono un’elevata intensità di pilotaggio.

Interfacce utente grafiche
Tutti coloro che hanno sviluppato firmware per il pilotaggio di Lcd a segmenti sono consapevoli della laboriosità di tale processo. Infatti è necessario eseguire la mappatura manuale di ogni pixel relativamente al segmento e all’intersezione comune, identificare il bit di controllo corrispondente nella mappa dei registri dell’Mcu e quindi scrivere le funzioni per il controllo di ogni mappa del registro. La ripetizione di queste operazioni per centinaia di pixel è un’operazione lunga – potrebbe richiedere un paio di giorni - e che può portare ad errori. Grazie all’evoluzione nel campo del software, ciò non è più necessario. Per esempio, l’interfaccia grafica del nuovo software PSoC Creator di Cypress permette di creare qualsiasi tipo di display mediante semplici operazioni di “drag & drop” di oggetti di un Lcd in un dispositivo PSoC 3. Una volta generato il display, ogni pixel può essere “trascinato e rilasciato” all’intersezione di una riga e di una colonna per l’assegnazione. Una volta effettuata l’assegnazione, il software genera le Api firmware richieste per l’integrazione nell’applicazione principale. Con l’impiego di interfacce utente grafiche il tempo richiesto per l’espletamento di queste operazioni è ridotto da un paio di giorni a poco più di un’ora, con notevoli vantaggi in termini di impiego di risorse ingegneristiche.

Numerosi vantaggi
Come si evince da quando detto finora, per il pilotaggio di Lcd a segmenti è possibile sfruttare nuovi approcci, la cui adozione comporta numerosi vantaggi: ridurre il numero di pin e componenti passivi esterni per generare la tensione di polarizzazione; utilizzare qualsiasi pin come segmento o terminale comune, con conseguente semplificazione del layout della scheda Pcb e ottimizzazione delle periferiche presenti a bordo; rendere disponibile in uscita un segnale comune a più pin per incrementare l’intensità di pilotaggio e dare la possibilità di pilotare display di più ampie dimensioni con un singolo dispositivo; pilotare più terminali comuni (fino a 16) per pilotare un numero maggiore di pixel o utilizzare meno pin a parità di numero di pixel pilotati; ridurre in modo drastico il tempo richiesto per lo sviluppo del firmware per il pilotaggio di Lcd a segmenti.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome