Cika S1D13706, PD064VT4 Display LCD color, S1D13706 controlador, Rabbit Nota de Aplicación

Cika S1D13706, PD064VT4 Display LCD color, S1D13706 controlador, Rabbit Nota de Aplicación

A continuación encontrará información breve sobre Display LCD color S1D13706, controlador S1D13706, Display LCD color PD064VT4, Rabbit.

Anuncio

Asistente Bot

¿Necesitas ayuda? Nuestro chatbot ya ha leído el manual y está listo para ayudarte. No dudes en hacer cualquier pregunta sobre el dispositivo, pero proporcionar detalles hará que la conversación sea más productiva.

Display LCD color S1D13706, controlador S1D13706, Display LCD color PD064VT4, Rabbit - Nota de Aplicación | Manualzz

CAN-087, Utilización de displays LCD color con controladores S1D13706 y Rabbit

Nota de Aplicación: CAN-087

Título: Utilización de displays LCD color con controladores S1D13706 y Rabbit

Autor: Sergio R. Caprile, Senior Engineer

Revisiones Fecha Comentarios

0 04/01/08

Modificamos levemente el desarrollo de las CAN-035, CAN-036 y CAN-037, para trabajar con displays TFT de 640x480 en formato VGA, como por ejemplo el PD064VT4 presentado en CTC-053.

Limitaciones

Dadas las características de memoria del controlador, no es posible tener más de cuatro colores simultáneamente en pantalla. Sin embargo, cada uno de estos colores se puede obtener de una paleta de 18-bits y ser modificado en tiempo real.

Hardware de display

La conexión al display se realiza mediante las líneas analizadas en CTC-053, como indica el diagrama a continuación:

+5

V

FPDAT11

FPDAT10

FPDAT9

FPDAT2

FPDAT1

FPDAT0

FPDAT14

FPDAT13

FPDAT12

FPDAT5

FPDAT4

FPDAT3

FPDAT17

FPDAT16

FPDAT15

FPDAT8

FPDAT7

FPDAT6

FPLINE

FPFRAME

FPSHIFT

DRDY

G0

G1

G2

G3

G4

G5

R0

R1

R2

R3

R4

R5

B0

B1

B2

B3

B4

B5

Hsync

Vsync

CLK

DENB

VDD

GND

S1D13706 display

Es fundamental mantener conexiones cortas, no olvidemos que estamos trabajando con un bus de dieciocho señales de 25MHz.

CAN-087 1

CAN-087, Utilización de displays LCD color con controladores S1D13706 y Rabbit

Configuración del S1D13706

Para obtener los valores a setear en cada uno de los registros, utilizamos el software de configuración provisto por el fabricante. Primero deberemos indicar 2bpp en la solapa Preferences. A continuación en la solapa Clocks, la frecuencia de reloj corresponderá al utilizado, en este caso 50 MHz, el divisor de PCLK debe ser 2:1 para poder lograr el pixel clock de 25MHz. En este desarrollo, utilizamos la entrada CLKI para ingresar el reloj. Luego, en la solapa Panel, definimos uno a uno los parámetros del panel:TFT de 18-bits,

color, 640x480 pixels. Para generar el timing de VGA, el cual requiere este display, transferimos las especificaciones en microsegundos a unidades en pixel clocks.

El resto de los parámetros podemos dejar los valores por defecto, o leer detenidamente el manual técnico del

S1D13706 para saber cómo configurar a nuestro antojo. Exportamos luego los datos en un archivo de tipo C

header file (s1d13706.h), el cual podremos editar e incluir en el código para Rabbit.

Puede observarse un ejemplo del seteo de estas opciones en las pantallas que figuran a continuación:

CAN-087 2

CAN-087, Utilización de displays LCD color con controladores S1D13706 y Rabbit

Configuración del display

A fin de mantener compatibilidad con lo desarrollado anteriormente, configuramos los dip-switches del

PD064VT4 para un shift de 8 pixels y 3 líneas; los switches de barrido los colocaremos 1:off, 2:on dado que no utilizamos los pines correspondientes.

Software de bajo nivel

El hardware y el entorno son muy similares a los de CAN-036, por lo que utilizaremos el mismo set de rutinas. La única diferencia es que tenemos cuatro colores, por lo tanto nuestra paleta tendrá cuatro triplets.

A continuación, la inicialización del chip. Los valores los obtuvimos utilizando el software de configuración provisto por el fabricante, según comentáramos.

typedef unsigned short S1D_INDEX; typedef unsigned char S1D_VALUE; typedef struct

{

S1D_INDEX Index;

S1D_VALUE Value;

} S1D_REGS; const static S1D_REGS aS1DRegs[] =

{

{0x04,0x00}, // BUSCLK MEMCLK Config Register

{0x05,0x12}, // PCLK Config Register

{0x10,0x61}, // PANEL Type Register

{0x11,0x00}, // MOD Rate Register

{0x12,0x63}, // Horizontal Total Register

{0x14,0x4F}, // Horizontal Display Period Register

{0x16,0x8A}, // Horizontal Display Period Start Pos Register 0

{0x17,0x00}, // Horizontal Display Period Start Pos Register 1

{0x18,0x0C}, // Vertical Total Register 0

{0x19,0x02}, // Vertical Total Register 1

{0x1C,0xDF}, // Vertical Display Period Register 0

{0x1D,0x01}, // Vertical Display Period Register 1

{0x1E,0x23}, // Vertical Display Period Start Pos Register 0

{0x1F,0x00}, // Vertical Display Period Start Pos Register 1

{0x20,0x5F}, // Horizontal Sync Pulse Width Register

{0x22,0x00}, // Horizontal Sync Pulse Start Pos Register 0

CAN-087 3

CAN-087, Utilización de displays LCD color con controladores S1D13706 y Rabbit

{0x23,0x00}, // Horizontal Sync Pulse Start Pos Register 1

{0x24,0x01}, // Vertical Sync Pulse Width Register

{0x26,0x00}, // Vertical Sync Pulse Start Pos Register 0

{0x27,0x00}, // Vertical Sync Pulse Start Pos Register 1

{0x70,0x01}, // Display Mode Register

{0x71,0x00}, // Special Effects Register

{0x74,0x00}, // Main Window Display Start Address Register 0

{0x75,0x00}, // Main Window Display Start Address Register 1

{0x76,0x00}, // Main Window Display Start Address Register 2

{0x78,0x28}, // Main Window Address Offset Register 0

{0x79,0x00}, // Main Window Address Offset Register 1

{0x7C,0x00}, // Sub Window Display Start Address Register 0

{0x7D,0x00}, // Sub Window Display Start Address Register 1

{0x7E,0x00}, // Sub Window Display Start Address Register 2

{0x80,0x50}, // Sub Window Address Offset Register 0

{0x81,0x00}, // Sub Window Address Offset Register 1

{0x84,0x00}, // Sub Window X Start Pos Register 0

{0x85,0x00}, // Sub Window X Start Pos Register 1

{0x88,0x00}, // Sub Window Y Start Pos Register 0

{0x89,0x00}, // Sub Window Y Start Pos Register 1

{0x8C,0x4F}, // Sub Window X End Pos Register 0

{0x8D,0x00}, // Sub Window X End Pos Register 1

{0x90,0xEF}, // Sub Window Y End Pos Register 0

{0x91,0x00}, // Sub Window Y End Pos Register 1

{0xA0,0x00}, // Power Save Config Register

{0xA1,0x00}, // CPU Access Control Register

{0xA2,0x00}, // Software Reset Register

{0xA3,0x00}, // BIG Endian Support Register

{0xA4,0x00}, // Scratch Pad Register 0

{0xA5,0x00}, // Scratch Pad Register 1

{0xA8,0x00}, // GPIO Config Register 0

{0xA9,0x80}, // GPIO Config Register 1

{0xAC,0x00}, // GPIO Status Control Register 0

{0xAD,0x00}, // GPIO Status Control Register 1

{0xB0,0x00}, // PWM CV Clock Control Register

{0xB1,0x00}, // PWM CV Clock Config Register

{0xB2,0x00}, // CV Clock Burst Length Register

{0xB3,0x00}, // PWM Clock Duty Cycle Register

};

#define S1DNUMREGS 54

#define S1DMEMSIZE 76800 void init13706()

{ int i;

BitWrPortI(PCDR,&PCDRShadow,0,2); for(i=1;i<S1DNUMREGS;i++) write13706((aS1DRegs[i].Index),aS1DRegs[i].Value); writepalette(palette);

// M/R=0 => registros

// al regresar, M/R=1 => memoria

}

Software

El resto del software lo escribimos mayormente en C, por comodidad y velocidad de desarrollo. Se trata de simples y comunes rutinas que no incluiremos aquí para no extender el texto, pero que el lector puede obtener del archivo adjunto con el software, o consultar en cualquiera de las otras notas de aplicación, dado que son muy similares.

Nota importante

Tanto el fabricante del display como el del controlador recomiendan respetar un ciclo de encendido y apagado para maximizar la vida útil del display. Si el proceso de inicialización del controlador no es lo suficientemente rápido, deberemos desarrollar algún método de control de la alimentación del display

CAN-087 4

Anuncio

Características clave

  • Controlador S1D13706
  • Display LCD color TFT de 640x480 en formato VGA
  • Paleta de 18-bits
  • Cuatro colores simultáneamente
  • Bus de dieciocho señales de 25MHz
  • Software de configuración provisto por el fabricante
  • Archivo de tipo C header file (s1d13706.h)
  • Dip-switches del PD064VT4
  • Shift de 8 pixels y 3 líneas
  • Rutinas de software

Frequently Answers and Questions

¿Qué tipo de display se utiliza en esta nota de aplicación?
Se utiliza un display LCD color TFT de 640x480 en formato VGA, como por ejemplo el PD064VT4.
¿Cuál es el controlador utilizado?
Se utiliza el controlador S1D13706.
¿Cuántos colores se pueden mostrar simultáneamente?
Dadas las características de memoria del controlador, no es posible tener más de cuatro colores simultáneamente en pantalla.
¿De dónde se obtienen los colores?
Cada uno de los colores se puede obtener de una paleta de 18-bits y ser modificado en tiempo real.
¿Cómo se configura el S1D13706?
Se utiliza el software de configuración provisto por el fabricante para obtener los valores a setear en cada uno de los registros.

Manuales relacionados

Descargar PDF

Anuncio