lunedì 31 agosto 2009

LCD e VGA - connessioni

Mi hanno consegnato un portatile preso a calci, calpestato, massacrato chissà per quale ragione. Lo schermo LCD e la mother board si sono salvati dalla furia distruttiva. E' da tempo che sto cercando un sistema per recuperare gli schermi LCD dei computer portatili per farci uno schermo aggiuntivo, collegato alla VGA di un PC o a quella aggiuntiva dei PC portatili come secondo schermo. In rete si trova qualcosa, un paio di progetti spiegati malissimo o schede di interfaccia dal costo astronomico. Allora ho deciso, nelle pause di lavoro, di indagare sul tipo di segnale necessario a comandare l'LCD privo di interfaccia VGA. In mancanza di uno schema dei collegamenti e dello schema del connettore interno, del quale mi risulta non esiste in giro nemmeno uno standard, occorre spingersi oltre i limiti ed inventarsi qualcosa. Un metodo può essere quello di provare ad individuare il chip grafico e trovare la corrispondenza dei fili in uscita verso il connettore. In mancanza del datasheet del processore grafico, meglio lasciar perdere oppure tentare di indovinare utilizzando un pò di esperienza. In questo caso specifico, il processore grafico è un chip della Cirrus Logic siglato CL-GD6245-64VC-A. La sigla è "parlante".
CL indica il produttore (iniziali),
GD = Graphic Display,
6245 = part number
65 = data rate (65MHz)
V = Pack type
C = Temperature (commercial use)
A = Revision
Questi dati li ho desunti dal datasheet di un chip simile della stessa casa produttrice.
Leggendo le specifiche si intuisce che i dati inviati all'LCD sono digitali a 8 o 16 bit. Vanno gestiti inoltre il video e line clock, il frame start pulse ed un segnale di modulazione che francamente non ho ancora capito a cosa serva. Sperando che la piedinatura del processore "simile" reperito in rete non sia differente dal modello in esame, con un tester è possibile seguire i segnali dal chip al connettore e capire così quali segnali inviare a seconda dell'utilizzo che se ne intende fare. Per scovare il significato dei fili, si può fare anche all'inveerso, ossia analizzare il chip posto nel pannello LCD.

Per interfacciare i segnali VGA all'LCD occorre progettare un interfaccia analogico digitale... che per minimizzare l'uso di componenti, è preferibile l'uso di FPGA con lievitazione dei costi di progettazione. Se invece si preferisce usare il pannello LCD direttamente collegato ad un micro processore, allora occorre generarsi la sequenza di dati e segnali tramite software. Anche in questo caso il lavoro è fuori la mia portata, per ora. Per iniziare, mi basterebbe riuscire ad accendere un solo pixel, dove voglio io. Da questo risultato, procedere con la realizzazione di un interfaccia comandata da un processore ad hoc è un "gioco da ragazzi". Se non ho capito male, al pannello occorre mandare fra un impulso di frame e l'altro, in sequenza il valore in byte di ogni singolo pixel del pannello per poi ripartire dal primo all'ultimo. La cosa è semplificata dal fatto che il pannello in questione credo sia monocromatico. Il connettore infatti ha solo 13 fili (massa compresa). Se quindi in teoria fisso a 1 gli 8 bit da inviare in sequenza per ogni pixel, e continuo ad inviare "uni", allora se ho fatto bene i conti dovrei accendere tutti i pixel dell'LCD (o spegnerli). So che il pannello LCD è da 640X480, quindi 307.200 pixel da accendere con 8 bit ciascuno, ovvero 2.457.600 bit da inviare in sequenza...in quanto tempo fra un frame e l'altro?? boh. devo approfondire. So che il processore, per simulare i toni di grigio regola il tempo ON/OFF di accensione e spegnimento di ogni singolo pixel. Occorrerebbe un buon analizzatore di stati digitale e un oscilloscopio da laboratorio per comprendere meglio i processi di invio dati. In mancanza di quello, vorrei provare ad accendere spegnere anche dei pixel a casaccio per iniziare. Credo sarebbe didatticamente un buon inizio per poi sviluppare qualcosa di più evoluto, magari un digital frame che sembra vadano di moda in questo periodo ma a 15 pollici. Vedremo, alla prossima.

P.S. Biancaneve odia i nani. Ripeto: Biancaneve odia i nani.

Nessun commento: