Paso 3: arquitectura
Elegimos una arquitectura genérica y flexible, que permite lugar para mejoras en el proyecto y lo que nos permite fácilmente agregar o quitar módulos diferentes. La arquitectura presentada en la imagen se inspira en algunos las de existentes que mantuvieron los aspectos que parecía útil a nuestras especificaciones.
En esta arquitectura el uso de un bus de memoria compartida y el uso de mapas específicos de módulo de registro proporciona gran flexibilidad para cambios en la GPU.
Para resumir los roles de los diferentes módulos, la interfaz MCU permite el STM32 escribir en los registros de varios módulos, que se reagruparon en mapas de registro, los datos escritos pueden configurar diferentes aspectos de la GPU o lanzar una operación de procesamiento de imágenes.
Entre los módulos tenemos regulador de exhibición de Video, que proporciona las señales de sincronización adecuado para la salida de VGA o LCD, y el Frame Buffer también se sincronizarán a este módulo.
El Frame Buffer es responsable de obtener líneas de muestra de la memoria, aplicar alguna mezcla y funcionalidad de desplazamiento y lo más importante para él es responsable de proporcionar los datos RGB correctos en el momento adecuado. La obtención de la línea se realiza a través de un bus de memoria de gráficos optimizados, proporcionado por el controlador de memoria RAM.
Este controlador proporciona un bus de memoria compartida orientada a la prioridad que es utilizado por todos los módulos que requieren acceso al RAM. Entre los que tenemos el bloque unidad de procesamiento que puede operar sobre porciones de imagen rectangular, primitiva unidad del generador, que puede generar figuras geométricas en el destino especificado y el controlador de DMA proporciona una manera rápidamente los datos de imagen direccionados a la RAM a bordo.
Y por último, LCD configuración unidad se utiliza para hacer las transferencias de datos SPI en registros internos del controlador LCD; estos registro se puede modificar para ajustar el brillo, contraste y muchas otras características de la pantalla LCD.
Relativa a los módulos integrados en el tablero MCU:
El sistema operativo de tiempo Real es responsable de la gestión de las limitaciones de tiempo con respecto a los videojuegos.
La API de gráficos de alto nivel permite al usuario controlar fácilmente el coche de los gráficos, mediante la creación de primitivas, estructuras y macros.
La API de Audio de alto nivel permite al usuario reproducir cualquier música creado previamente en un PC.
En el siguiente, secciones, explicación detallada del equipo MCU relacionado con módulos se proporcionará.