Skip to content

[N] Memoria de vídeo LCD

Carlos Venegas Arrabé edited this page Apr 23, 2019 · 4 revisions

El manejo de la LCD se plantea como si fuera una pantalla mucho más avanzada (tipo VGA) con la idea de que nos ayude a aprender conceptos básicos que llevar luego hacia sistemas gráficos más complejos.

La memoria de vídeo va a estar mapeada en memoria RAM, podría ser una memoria externa y compartida con el resto del sistema o ser una memoria interna dedicada para la LCD.

Inicialmente vamos a contemplar que es una memoria sólo para la LCD y así simplificaremos los ejemplos.

El tamaño máximo que necesitaremos (para calcular el ancho de palabra de las direciones será) en el caso más drástico será una LCD de 4 líneas que lleva dos chips en cascada.

Así que necesitaremos 80 caracteres por chip, es decir 160 caracteres de 8bits cada uno.

Como podemos personalizar 8 caracteres y el formato de comando es:

  • DIRECCION
  • LINEA de bits

y cada caracter tiene 8 líneas de bits, necesitaremos para personalizar cada caracter 8 posiciones de memoria para los datos y 8 para la dirección, así que en total 16 palabras por caracter.

Si personalizáramos los 8 caracteres posibles serían 16*8 = 128 palabras.

Es decir en total necesitamos para mapear la LCD y almacenar los caracteres personalizados 128+160 = 288 palabras.

A esto hay que añadirle un rango para posibles inicializaciones, actualmente por ejemplo usamos 6 palabras de inicialización.

Así que en el caso actual necesitaríamos 288+6= 294 palabras

por redondear bits vamos a usar un rango de direciones de 9 bits y así podremos utilizar hasta 512 Palabras.

Como vamos a almacenar en la memoria los dos bits de control para flexibilizar el uso y así poder incluso meter comandos entre medias, utilizaremos los 8 de datos +2 para control es decir 10bits.

Generación señal E

La señal E es como el reloj de la LCD , es la señal que le indica cuando debe ejecutar un comando.

El tiempo de funcionamiento del ciclo son 500ns por lo que deberemos estar 250 a 1 y 250ns a 0.

Para el ciclo E se ha generado el siguiente circuito que se activará y desactivará con la máquina de arranque y parada:

Clone this wiki locally