Consola portátil (brazo equipo de MCU) (4 / 6 paso)

Paso 4: Interfaz de MCU - FPGA Xilinx Spartan 6

Hemos diseñado la interfaz MCU de manera a poder compartir datos entre el microcontrolador STM32 y SDMONexys 3 FPGA. Para asegurar una tarjeta de gráficos completamente funcional, datos recibidos de los STM32 deben ser dirigidos hacia el registro correcto o hacia el controlador DMA sin ninguna discontinuidad o perdidos de datos. El STM32 también deben ser capaces de leer los datos de los registros sin poner en peligro el proceso de escritura.

El protocolo de interfaz MCU

El conector de pantalla LCD para conectar el microcontrolador STM32 SDMONexys 3 FPGA es un 17 por 2 conectores de junta a Junta.

Para poder utilizar el protocolo SRAM asincrónico de FSMC, necesitamos:

  • Un bus de datos de 16 bits, directamente en el conector de pantalla LCD (D0 a D15)
  • Las señales de NOE, NWE y NE4, también disponibles en el conector de pantalla LCD (RD, WR y CS)
  • Una broca 26 dirección no está disponible en el conector de pantalla LCD, hay solo el A [0] bit. Este por qué tuvimos que crear nuestro propio protocolo para que podamos usar la FSMC para transferir datos desde el microcontrolador STM32.

Para cubrir la falta del autobús de dirección de 26 bits, se decidió una operación (lectura o escritura) se dividen en tres operaciones sucesivas. La primera es una operación de escritura que contiene la dirección del registro que queremos leer o escribir. La segunda es una lectura o una transacción de escritura dependiendo del tipo de operación que tenemos que hacer. En el caso de una operación de escritura, el bus de datos se que contiene los datos que queremos escribir en los registros que dirección está especificada en la operación anterior. Puesto que los registros GPU son registros de 32 bits, necesitamos dos escribir (o leer) transacción de 16 bits.

Para continuar el protocolo, para escribir en un registro, necesitamos tres de escritura de transacción. La primera de ellas sostiene la dirección y los otros dos que contiene los datos de 32 bit (LSB y MSB). Si queremos leer los datos de los registros, la primera transacción será a escribir uno que contiene la dirección. Los otros dos mantener los datos de los registros (LSB y MSB).

Gestión de bus de datos y dirección

El bloque de gestión de bus de datos y dirección
actualiza el buffer de datos de 32 bits y el búfer de dirección de 16 bits. En la primera transacción del STM32, los datos de 16 bits se transfieren al búfer de dirección. Las siguientes dos transacciones se transfieren al búfer de datos de 32 bits.

En el caso de una transferencia de datos del controlador DMA, no hay necesidad para una transacción de tres escritura ya que no hay ninguna dirección y el bus de datos es de sólo 16 bits. En ese caso, el bus de datos STM32 16 bits se transfieren al bus de datos DMA. Utilizamos el LSB del autobús de dirección de 26 bits de la FSMC, llamado RS, para identificar la ubicación de la transferencia de datos (controlador DMA o mapa registro).

Datos son transferidos de los buffers del autobús disponible según el tipo de la transferencia, detectado con el NOE, NWE señales de la FSMC, como se muestra en la sección anterior. Ya que estas señales son asíncronas, hemos añadido a la interfaz MCU un generador de señal sincrónica que puede utilizarse para sincronizar los otros bloques, pero con un retraso de 10 a 20 ns.

Gestión de petición de bus

En el caso de una transferencia de datos desde o hacia el bloque de registros de mapa, el bus de datos tiene que concederse para que la transacción sea procesada correctamente. Si el autobús está disponible, debe enviarse una solicitud a RegisterMap y el STM32 debe permanecer inactivo hasta que el autobús esté disponible.

Por esta razón utiliza uno de la fines generales entrada/salida (GPIO), en el conector de pantalla LCD, está configurado para enviar una señal de ocupado que está el nombre dice el STM32 que la FPGA está ocupada y no puede continuar la operación hasta que la señal de ocupado se pone otra vez a '0'. Este sencillo procedimiento garantiza que cada transferencia hacia o desde el mapa de registros se procesarán con éxito y sin ninguna pérdida de datos. Cuando el autobús está disponible, una habilitación de salida se envía a los registros en el caso de una transacción de lectura. Si es una operación de escritura, una señal de carga se envía a los registros en el mismo tiempo que el bus de direcciones.

Versión parcial de programa

En esta demostración verá cómo logramos encender y apagar LEDs la Junta de SDMONexys 3 de la Junta MCU.

Artículos Relacionados

Consola portátil de RetroGame (frambuesa Pi)

Consola portátil de RetroGame (frambuesa Pi)

Este instructable es escrito para el curso FabLab haciendo de las Rotterdam University of Applied Sciences.Para este curso voy a hacer una consola de juego portátil en combinación con una Raspberry Pi y una carcasa personalizada.Para una asignación d
Consola portátil frambuesa Pi $20

Consola portátil frambuesa Pi $20

Hay toneladas de emuladores retros juego frambuesa Pi alrededor en el internet, pero la mayoría son bastante cara. Con el nuevo $5 frambuesa Pi cero, en este Instructable te voy a mostrar cómo construir una batería totalmente portátil alimentado por
Cómo construir un sistema de computadora de mano consola portátil de Nintendo N64

Cómo construir un sistema de computadora de mano consola portátil de Nintendo N64

Emuladores de N64 no funciona muy bien, que el tartamudeo con video, problemas de framerate, problemas de compatibilidad. Es la única manera de jugar correctamente los juegos de N64 en el hardware original; hecho.Hacer un portable de mano básicamente
Consola portátil (equipo de GPU)

Consola portátil (equipo de GPU)

ContextoPara nuestro proyecto de ingeniería, nuestros tutores quiso enfrentar los desafíos del diseño de un sistema en tiempo real con un relativamente alto rendimiento sobre los limitados recursos (memoria, ancho de banda).Las especificaciones requi
PlayCase v1.5: consola portátil modular caso, completo HD 19 pulgadas, que lleva añadido altavoces!

PlayCase v1.5: consola portátil modular caso, completo HD 19 pulgadas, que lleva añadido altavoces!

Haz un completo monitor de HD en el formato más pequeño posible: 19,5 pulgadasEl bisel de la tira y poner el marco en un caso de vueloAñadir un sistema de fijación modular para adaptarse a la mayoría de consolas; PlayStation 3 o Playstation 4, decodi
¿Cómo hacer una ordenador de mano portátil Nintendo 64 N64 consola de juegos - iNto64

¿Cómo hacer una ordenador de mano portátil Nintendo 64 N64 consola de juegos - iNto64

siempre quería hacer su consola de juegos Nintendo 64 (N64) en una unidad portátil de mano para "sobre la marcha" jugando?Este sistema escurr las baterías del Li-ion que son lo suficientemente potente como para ejecutar el sistema y son también
Caja de consola de juego portátil todo-en-uno

Caja de consola de juego portátil todo-en-uno

construcción de caja de esta consola portátil todo-en-uno fue una gran decisión! No sólo lo hace fácil de transportar, también protege a mi sistema de juego y mantenerlo organizado.Esto es sólo una descripción, Ve el Instructable completa aquí!¿Por q
Hacer una NES portátil. (sistema de entretenimiento portátil de nintendo)

Hacer una NES portátil. (sistema de entretenimiento portátil de nintendo)

me ha encantado la idea de mano portátil de juegos de azar ya que mi primera Game Boy y yo hemos amado la idea de hacer consolas portátiles aún más! VI unos walkies NES e hicieron todo muy bien. Decidí hacer mi propio y publicar un vídeo de cómo hace
Hacer un sistema de juegos portátil-en Photoshop!

Hacer un sistema de juegos portátil-en Photoshop!

Este es mi primer instructivo que visitas el potente y extraordinario mundo de photoshop, les espero guste!Me sorprendió que había nada como esto en instructables hasta ahora, así que pensé que mostraría todo mi proyecto que hice con photoshop CS4. P
Carga Solar de 5W de Tim, 12V 4.5AH fuente de alimentación portátil.

Carga Solar de 5W de Tim, 12V 4.5AH fuente de alimentación portátil.

Este proyecto es principalmente diseño para cargar gadgets como ordenadores portátiles y equipos de comunicación, mano teléfonos, GPS, luces al hacer la misión de trabajan en áreas remotas sin suministro de electricidad de la red.La capacidad de la f
Cómo jugar en una consola en un ordenador portátil (NTSC solamente)

Cómo jugar en una consola en un ordenador portátil (NTSC solamente)

en este instructable te ser mostrando cómo jugar un juego de consola en cualquier portátil decente con puerto usb libre 1. Im sorry pero fácil cap no funciona con NTSC solo PALUsted puede hacer esto con una torre, pero hay una manera más eficaz de ha
Consola de juegos portátil RetroPie del pobre

Consola de juegos portátil RetroPie del pobre

Me encanta los juegos de video. Me gustaría poder llevarlos dondequiera que vaya a jugar. Pero tengo un problema. No tengo demasiado dinero para gastar en juegos de video. Que tomé una de las cosas que me encantan (video juegos), hecho portable y lo
Vesa brazo portátil soporte ajustable

Vesa brazo portátil soporte ajustable

se trata de la edición del martes de las 5 ibles en 5 días combate de jaula (como cailtinsdad).Hoy tenemos un proyecto que he estado trabajando durante un tiempo (algunos de ustedes podrían haber vistolo que acechan en el fondo)Encima de hasta hace p
Consola de juegos portátil frambuesa Pi

Consola de juegos portátil frambuesa Pi

Esta consola de juegos portátil es posiblemente lo más divertido que he tenido usando un Raspberry Pi. Y no es sólo la acumulación que es divertido; Ahora tengo una consola de juegos pleno funcionamiento, por lo que puedo jugar todos mi favorito arca