Tutorials - Elettronica

 
 

Caratteri CGRAM nei display LCD
 a matrice


ROM o RAM ?

La conversione da dato a 8 bit a serie di 40 punti viene svolta dal CG, che è, come detto, in ROM. 
Solitamente la tabella del characters generator corrisponde ad alcuni standard e i set di caratteri memorizzati sono stabiliti dal costruttore in fase di realizzazione del chip per i prodotti commerciali e concordati con i clienti per quelli OEM, quindi le possibili combinazioni sono molto ampie. Il foglio dati del modulo LCD riporta queste tabelle, che possono differire da una versione all' altra del controller, comprendendo, ad esempio, caratteri per le lingue europee o per il cinese o il giapponese e vari simboli di uso generale. 

Ricordiamo che una ROM è una memoria a sola lettura, il cui contenuto è fissato all' atto della costruzione del chip (mascheratura) e non è modificabile, nè cancellabile.

Quindi, al di la dei caratteri fissati in essa dal costruttore, non sarebbe visualizzabile alcun altro simbolo, dato che non è possibile comandare i singoli punti della matrice.

Siccome può capitare che per una certa applicazione sia necessario disporre di caratteri diversi da quelli mascherati nella ROM, i progettisti di Hitachi hanno implementato una funzione di generatore di caratteri in RAM.

Ricordiamo che una RAM è una memoria che può essere scritta a piacere, ovvero il cui contenuto è aggiornabile dall' utente in qualsiasi momento.

Dunque, il controller rende accessibili alcune locazioni di RAM, chiamata CGRAM (Character Generator RAM), in cui l'utente può caricare le matrici di punti di caratteri da lui definiti. 

 

Dal punto di vista funzionale, la CGROM e la CGRAM sono equivalenti: il dato inviato per la visualizzazione serve da indirizzo di una tabella da cui verranno estratti i 40 bit della matrice. 

Se torniamo allo schema a blocchi visto in precedenza, osserviamo che i dati possono essere inviati sia alla CGRAM che alla CGROM, le cui uscite fanno capo allo stesso convertitore parallelo/seriale e da qui inviate alla visualizzazione.

Pertanto il contenuto della CGRAM dovrà essere analogo a quello della CGROM, ovvero comprendere le matrici di punti da 40 bit necessarie per visualizzare un simbolo specifico.

 
 

In ogni caso, occorre avere ben chiare alcune limitazioni:
  • i caratteri creati in CGRAM si trovano in un' area di memoria statica di tipo RAM, ovvero scrivibile e leggibile e modificabile; questo permette all' utente di inserire il simbolo desiderato. Ma il contenuto della RAM va perso nel momento in cui viene a mancare la tensione di alimentazione. Questo vuol dire che, ad ogni avvio del modulo, occorre riscrivere l' area di CGRAM che interessa.
  • i caratteri in CGRAM sono solitamente molto limitati come numero, tipicamente fino ad 8 caratteri nella matrice 5x7. Questo dipende dalla complessità e dal costo dell' implementazione di un' area RAM nel circuito integrato.  Per disporre di un set più esteso durante l'uso, occorre scrivere nuove matrici di volta in volta prima di usarle. Normalmente questo non è un problema, in quanto la visualizzazione sul pannello LCD è un processo abbastanza lento e una gestione dinamica della CGRAM arriva a consentire effetti grafici interessanti, come indicatori a barre o in movimento.
Tutti i seguenti controller hanno una CGRAM da 64 bytes, il che permette di impostare 8 caratteri nel formato 5x8 o 4 nel formato 5x11:
  • HD44780
  • ST7066
  • NT3881
  • NJU6408B, NJU6468, NJU6470
  • SED1278
  • SPLC780D
  • KS0066, KS0070B
  • LC7985NA/ND

I controller KS0073, S6A0074, S6A0075 , S6A0078, S6A0079 e ST7036 hanno uguale CGRAM, il che li rende compatibili con i precedenti, ma dispongono anche di una Segment Icon RAM (SEGRAM)  da 16 x 5 a 16 x 8 bit (96 icone possibili) .

Per altri controller come  NJU6623, NJU6624A, NJU6428, NT7606, MSM6562B, UPD16681, ML9040/41/42, SED1200F,  KS0078, KS0093, NJU6450, HD66730, SPLC501C, KS0713, ecc, anche se la struttura dell' interfaccia e il principio di funzionamento sono analoghi a quelli finora vista, occorre certamente fare riferimento ai fogli dati per comprenderne le differenze.  Anche perchè alcuni hanno sensibili differenze, come l' assenza di un character generator interno (e quindi i caratteri vanno preparati esternamente come elementi della grafica), oppure sono dedicati a display con 1 linea sola o ad applicazioni OEM con particolari configurazioni di caratteri, o, anche, della stessa sigla base ne esistono varie versioni con caratteristiche diverse. Alcuni di questi componenti non sono comuni sul mercato e quindi può capitare di non avere mai occasione di utilizzarli.

 


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 03/12/12.