¿Cómo controla un microcontrolador una pantalla LCD?

No soy un profesional, así que estoy buscando una respuesta simple a esta pregunta.

Si desea encender un LED con un microcontrolador, debe asignar un pin en el microcontrolador al LED. Cada vez que el microcontrolador establece el voltaje del pin en alto, el LED se enciende.

Supongo que las pantallas deberían funcionar con el mismo principio, ya que tienen algún tipo de LED para cada píxel. El problema es que si se hizo de la misma manera encendemos un LED, entonces para una pantalla pequeña de 320x240 necesitamos 76800 pines del microcontrolador . Parece que los procedimientos deberían ser diferentes de alguna manera. Entonces, ¿cómo un simple IC en una pantalla LCD le dice a cada píxel que se encienda?

Para evitar confusiones, debo señalar que al mencionar el microcontrolador arriba, me refiero al chip en el propio módulo LCD.

Un píxel LCD NO es un LED, es un cristal líquido (búsquelo en Google). Hay pantallas (OLED) que se basan en una estructura LED. En ambos casos, el controlador de pantalla multiplexa (Google it) las señales, por lo que se requieren menos pines.
" ... para una pantalla pequeña de 320x240 necesitamos 76800 pines de microcontrolador ". No. Usando la multiplexación podemos direccionar cada píxel activando su fila y columna. Esto tomaría 320 + 240 = 560 pines.
Sí, el IC como parte del panel que tiene un número de pines X*3+Y, *3 debido a RGB. Google para "controlador ili lcd" encontrará bastantes hojas de datos para varios controladores ILI lcd y verificará el pin.

Respuestas (4)

En algún nivel, una pantalla de 320x240 suele tener 320 controladores de fila y 240 controladores de columna. Estos controladores casi siempre los proporcionan chips integrados en las pantallas (a menudo en PCB flexibles alrededor de dos bordes de la pantalla) con una interfaz en serie que proporciona los datos de un píxel a la vez o un controlador inteligente con RAM para almacenar el contenido. de la pantalla

La interfaz real con un microcontrolador varía de 2 pines para i2c, 3-4 pines para SPI, 6-13 pines para una interfaz paralela de alto nivel hasta alrededor de 30 pines para una interfaz paralela píxel por píxel.

Las pantallas OLED son básicamente las mismas, aunque la interfaz entre los chips del controlador y la pantalla es diferente (aunque se requiere la misma cantidad de controladores).

Las pantallas LCD tienen una gran cantidad de píxeles como lo adivinó correctamente. Pero cada píxel no está controlado directamente por el pin del microcontrolador, ya que no es práctico adivinar correctamente.

Ahora, para que el diseño sea práctico, la tarea de controlar los píxeles de la pantalla LCD mediante un microcontrolador se divide en dos pasos.

Para el primer paso, hay un microcontrolador de propósito especial, que controla cada píxel de la pantalla LCD y se encarga de las frecuencias de actualización y los relojes y la matriz de píxeles, el mapeo de direcciones y todo el material complejo requerido para controlar la pantalla LCD correctamente.

Mientras que el segundo paso es que el microcontrolador de propósito especial tenga la capacidad de recibir comandos e información de nuestro microcontrolador de propósito general. Por lo tanto, nuestra tarea es enviar el comando y la información que se mostrará en la pantalla LCD a la mcu de propósito especial siguiendo el protocolo predefinido de la mcu de propósito especial. Entonces, ahora el dolor de cabeza de manejar cada píxel se ha reducido de mcu de propósito general.

En su mayoría, este mcu de propósito especial ya reside dentro de la pantalla LCD mientras se fabrica.

Espero que esto ayude.

Cualquiera que sea el microcontrolador especial que controla la intensidad de los píxeles dentro de la pantalla LCD, controla solo un píxel a la vez. Y actualiza cada píxel tan rápido horizontalmente (hasta 320 píxeles), línea por línea (hasta 240 líneas). Todo el cuadro se actualiza a una frecuencia de actualización típica de 60 Hz. Esto sucede tan rápido que la persistencia de nuestra visión (1/16 segundos o 16 Hz) nos da la idea de que cada píxel está controlado por el microcontrolador en un solo momento.

Con respecto a la dirección de píxeles: para decodificar direcciones de 320 filas y 240 columnas, solo necesita 9 pines y 8 pines respectivamente.

Hay tres tipos generales de LCD: los que tienen el cristal desnudo, los que tienen un controlador integrado y los que tienen un controlador integrado. Una pantalla LCD con vidrio desnudo se puede manejar bien usando pines de microprocesador de nivel lógico si no tiene demasiados segmentos. Una pantalla no multiplexada ("estática") con N segmentos requerirá N+1 pines. Una pantalla multiplexada 3:1 con 3N segmentos requerirá N+3 pines. Obtener un buen contraste con más de 3:1 multiplex requerirá algo más que pines de nivel lógico. Conducir una pantalla estática requerirá cambiar el estado de todos los pines entre 30 y 100 veces por segundo, excepto cuando la pantalla esté totalmente apagada. Conducir una pantalla múltiplex requerirá cambiar el estado de los pines unas 160+ veces/segundo (las frecuencias más bajas comenzarán a parpadear).

Un controlador LCD incluirá lógica para conectar una pantalla a una pequeña cantidad de pines, pero generalmente requerirá que algo alimente continuamente el estado de todos los segmentos. Un panel LCD de 320x240 que usé hace algunos años tenía cuatro pines de datos, un reloj de puntos, un reloj de filas y un reloj de cuadros. Unas 30.000 veces por segundo es necesario alimentar 80 grupos de cuatro píxeles y luego pulsar el reloj de fila. El tiempo de los píxeles dentro de cada línea no importa, siempre que los 80 grupos se carguen antes de que llegue el reloj de la fila, pero las filas se deben alcanzar a un ritmo constante. Es necesario presionar la luz estroboscópica del marco a una velocidad constante que debería ser aproximadamente una vez cada 240 filas, pero podría ser un poco más lento (en mi proyecto, creo que usé 250 filas para dar tiempo a que mi firmware recargue los registros DMA para el cuadro siguiente).

Un controlador LCD incluirá suficiente RAM interna para contener todos los segmentos o píxeles en la pantalla y mostrarlos continuamente sin intervención externa. Es más fácil trabajar con los controladores que con los controladores, pero si un microcontrolador es lo suficientemente rápido para funcionar con un controlador LCD, a menudo podrá realizar actualizaciones de pantalla más rápidas de lo que sería posible con un controlador. Un controlador de gráficos típico esperará que una CPU envíe un comando que signifique algo como "prepárese para aceptar píxeles en la coordenada 143,219, contando en la dirección Y creciente hasta 150, y luego ajustando con coordenadas X crecientes", y luego siga ese comando con un grupo adecuado de datos de píxeles. Los chips gráficos RGB comunes se pueden conectar a través de una interfaz serial de cuatro hilos, pero requerirán el envío de dieciséis bits de datos para todos y cada uno de los píxeles.