Con el desarrollo continuo de la tecnología de visualización, la pantalla LCD de color real ocupa gradualmente una posición importante en el sistema de visualización integrado de PCB con sus ventajas de alta resolución, alto contraste y alta definición. En la actualidad, el diseño y desarrollo del controlador LCD basado en la plataforma integrada de PCB tiene dos formas principales de implementación: el controlador LCD integrado ARM y el dispositivo de control independiente. Sin embargo, ambas formas de implementación tienen deficiencias. El uso de controladores integrados puede aumentar la carga del procesador de PCB y limitar la tasa de fotogramas de visualización. Es difícil que los equipos externos de control de PCB no solo sean caros, sino que también tengan una alta especificidad. Se adapta a diferentes tipos de pantallas lcd.
Sobre la base de este problema, este artículo propone un esquema de diseño de controlador LCD basado en ARM y fpgas. Por un lado, este esquema de diseño puede aumentar la velocidad de escritura de la memoria de vídeo operando el dispositivo de amortiguación de fotogramas bajo el sistema operativo Linux y reducir la carga del procesador. Por un lado, el diseño del controlador LCD se realiza con fpgas, con un ciclo de desarrollo corto, bajo consumo de energía y Portabilidad flexible, que se puede aplicar a diferentes pantallas LCD pequeñas y medianas.
El sistema está compuesto principalmente por un microcontrolador, un FPGA (controlador lcd), una unidad de memoria y una interfaz periférica. El diagrama de flujo del sistema se muestra en la figura 1.
Proceso de trabajo del sistema: bajo la acción de la señal de control de tiempo generada por el circuito de generación de tiempo interno de la fpga, el controlador LCD lee los datos necesarios para la visualización del Microcontrolador a través de la interfaz framebuffer y los almacena en el amortiguador de visualización sram. Al mismo tiempo, la pantalla LCD lee los datos de visualización de la memoria de visualización SRAM y muestra la información de datos directamente en tiempo real a través del Circuito de conversión de formato de datos.
El controlador LCD se implementa sobre la base de fpgas. Este procedimiento utiliza la serie cvclone (huracán) eplc6q240 de altera. FPGAs tiene una interfaz de E / s de transmisión de datos de alta velocidad, que puede lograr una tasa de lectura de memoria de visualización de alta velocidad y mejorar en gran medida la tasa de fotogramas de la pantalla lcd. Al mismo tiempo, FPGAs es un dispositivo lógico programable que puede realizar operaciones lógicas complejas y proporcionar un tiempo de control complejo. La pantalla LCD utiliza la pantalla LCD TFT - LCD lq035q3dg01, con una resolución de 320 & tims; 240, y la señal de imagen está en formato rgb.
Debido a que el SRAM tiene una mayor velocidad de lectura y escritura, la caché de visualización del esquema de diseño de PCB utiliza un is61lv51216al SRAM con una capacidad de 512kb y una velocidad de lectura y escritura de unos 10 ns. El tamaño de una imagen mostrada es de 125 kb (320x240x2 / li024), y la velocidad de lectura y escritura de la memoria de visualización por FPGAs es de aproximadamente 200 ns, lo que cumple con los requisitos del sistema.
La unidad de control principal diseñada y desarrollada por el controlador utiliza at9lrm9200 (conocido como 9200) de Atmel como mcu. El procesador PCB se basa en el núcleo arm920t y funciona con una frecuencia de 180 mhz. El rendimiento puede alcanzar los 200 mi / s, y el sistema utiliza el sistema operativo Linux de código abierto. Sin embargo, arm9, como terminal de control del sistema, necesita completar muchas tareas, como la recopilación de información, el procesamiento y la comunicación externa. Si el controlador LCD también lee los datos de la memoria para mostrar, esto supondrá una carga para el procesador y reducirá la caché de visualización. La tasa de lectura de los datos afectará la visualización en tiempo real del lcd. Por lo tanto, este artículo propone un método de aplicación basado en la interfaz framebuffer bajo el sistema operativo linux, que mejora en gran medida la velocidad de lectura de datos de la memoria de visualización, mejorando así el tiempo real de todo el sistema de visualización. La figura 3 muestra la conexión del Circuito de interfaz at91rm9200.
El diseño de software del sistema se divide principalmente en dos partes: el diseño del controlador LCD basado en FPGAs y el diseño del controlador de amortiguación de fotogramas bajo el sistema operativo linux.
El controlador LCD diseñado consta principalmente de módulos de lectura y escritura de caché, interfaz mcu y control de tiempo lcd.
De acuerdo con los principios de la pantalla TFT - lcd, las principales señales de control necesarias para mostrar incluyen la señal de reloj de píxeles, la señal de PCB de sincronización de línea / campo y la señal habilitante. La resolución de la pantalla de este esquema es de 320x240, y es necesario diseñar la frecuencia de actualización de la pantalla LCD a 60hz, es decir, la señal de sincronización de campo (vsync) es de 60hz. Compuesto por una señal de sincronización de línea, el ciclo de la señal de sincronización de línea es de 1 / (60x240) s, y luego la señal de sincronización de línea (hsync) es de 15 khz. De la misma manera, la señal de reloj de píxeles (ck) es de 5 mhz.
El módulo IP de bucle de bloqueo de fase incorporado (pll) de la FPGAs se utiliza para dividir la señal de reloj de 50 MHz de la FPGAs F CLK por 10 y convertirla en una señal de reloj de 5 píxeles de mhz. Utilizando el método de máquina estatal, se diseña un módulo de control de tiempo con el lenguaje de descripción de hardware verilog para proporcionar señales de control de PCB vsync, hsync y enab que cumplan con los requisitos de tiempo lcd. Después de la finalización del diseño de pcb, la simulación de tiempo se completó en el entorno quartusli, y los resultados de la simulación obtenidos cumplieron con los requisitos de tiempo.
El SRAM es un módulo de almacenamiento de vídeo. Se puede ver que la transmisión de datos de PCB entre el controlador LCD y el Microcontrolador se lee bajo el control del reloj arm, mientras que la pantalla LCD lee los datos del SRAM bajo el control de la señal de reloj de píxeles ck. En respuesta al problema de la transmisión de datos de PCB entre diferentes dominios de reloj simultáneos, la solución se completa con el diseño de FPGA para implementar FIFO asíncrono.