¿Métodos para controlar una pantalla LCD multiplexada con señales de nivel lógico?

5

He utilizado esta técnica en un par de productos que he diseñado, pero nunca he visto a nadie más hacerlo. Es posible manejar una pantalla LCD multiplexada de 3 vías usando un grupo de 74HC595 para generar un patrón de 8 vías que le da a cada segmento "activado" una excitación RMS de 0.866VDD, y cada segmento "apagado" una excitación RMS de 0.5VDD, un Relación de excitación RMS de 1,73: 1. En comparación, la conducción de una pantalla convencional con 1/2 polarización (lo que requiere que las filas inactivas se dirijan a medio riel, pero las filas activas y todas las columnas se conduzcan a los rieles) produce un voltaje RMS "on" de .707VDD y un "off" "Tensión de 0.408VDD - la misma relación de transmisión de 1.73: 1. El uso de un sesgo de 1/3 daría como resultado una relación de transmisión algo mejor, pero requiere que todos los controladores de fila y columna admitan cuatro niveles de voltaje de salida.

¿Cómo ha utilizado señales puramente de nivel lógico para controlar una pantalla LCD multiplexada?

    
pregunta supercat

2 respuestas

3

La técnica que utilizo es conducir los cables comunes a través de las ocho combinaciones de alto y bajo (creo que usé la secuencia 000 001 010 100 111 110 101 011, aunque no creo que realmente importe) y, para En cada fase de cable común, conduzca los cables del segmento de manera que se corrijan al menos dos de los tres segmentos. Es decir, si C2..C0 son los cables comunes, y S2..S0 son los valores deseados de tres segmentos que conectan un cable de segmento particular a C2..C0, el valor de salida debe ser alto si (C2 xor S2 ) + (C1 xor S1) + (C0 xo S0) es al menos 2.

Como ejemplo, supongamos que uno quiere que S0 sea oscuro y S1 y S2 que sean claros (entonces S2..S0 == 001). Las ocho fases, el estado de excitación de los cables del segmento y los estados resultantes de S2..S0, son los siguientes (para cada segmento, Y / N indica si está energizado; un asterisco indicará si es el estado correcto):

Com Drv S2 S1 S0
000  0  N* N* N
001  0  N* N* Y*
010  1  Y  N  Y*
100  1  N* Y  Y*
111  1  N* N* N
110  1  N* N* Y*
101  0  Y  N  Y*
011  0  N* Y  Y*

Note que cada segmento estará en el estado correcto 3/4 del tiempo. La lógica para generar los estados correctos es un poco molesta, pero para evitar atascar mi controlador de interrupciones, calculo los primeros cuatro patrones de salida al configurar el contenido de la pantalla, por lo que mi controlador de interrupciones solo tiene que generar uno de los cuatro patrones, regularmente o forma complementada.

La única molestia que he observado con este método es que, a velocidades de escaneo más lentas, cambiar el contenido de la pantalla a veces causará "efecto fantasma" en segmentos que deberían ser transparentes tanto en el valor anterior como en el nuevo. Esto ocurre porque el segmento puede haber pasado de estar incorrectamente energizado en el cuarto 'beat' un fotograma, a estar incorrectamente energizado en el primer beat del siguiente fotograma '; los dos 'beats' energizados consecutivos hacen que el segmento se vuelva visiblemente opaco. Para evitar este problema es necesario utilizar una velocidad de escaneo dos veces más rápida de lo que sería necesario para evitar el parpadeo; para minimizar el consumo de energía, mi aplicación cambia a una tasa de escaneo más rápida durante el uso activo, o una tasa más baja cuando se muestra una pantalla estática.

    
respondido por el supercat
1

Seis meses más tarde, pero ... FWIW, aquí hay un enlace a una nota de la aplicación Zilog que describe cómo conectar el Z8 Encore a una pantalla LCD multiplexada ... Los mismos principios deberían ser aplicables a cualquier MPU y pantalla LCD multiplexada.

enlace

Saludos.

    
respondido por el Alan Schneider

Lea otras preguntas en las etiquetas