bus de datos paralelo de 4 bits utilizando DMA y GPIO en STM32?

0

Es posible generar una salida paralela de 8 o 16 bits en un STM32 utilizando DMA para transferir desde un búfer al registro ODR de un puerto GPIO, transfiriendo un byte o una palabra a la vez. Sin embargo, me pregunto si hay una manera de transferir medio byte a la vez a 4 pines GPIO y generar una salida paralela de 4 bits.

Sé que esto se puede hacer fácilmente mediante bit banging, pero quiero saber si puede hacerlo el controlador DMA. O alternativamente, ¿hay algún componente disponible que tome 8 bits y genere 2 * 4 bits, algo así como una matriz de 4 registros de desplazamiento de 2 bits en paralelo?

La aplicación para esto sería un simple controlador VGA con 3 señales RGB de 1 bit más una señal de control. Por lo tanto, tendría un búfer de fotogramas en la memoria, cada byte contenía 2 píxeles.

Pensando en esto, debería ser posible utilizando un búfer de línea de exploración, y expandiendo cada medio byte en el búfer de cuadros un byte en la búfer de línea de exploración, con solo los primeros 4 bits establecidos.

O alternativamente, cada byte en la línea de escaneo podría asignarse usando una búsqueda de índice de paleta de 4 bits. Lo que daría un color de 8 bits con una paleta de 16 colores.

El gasto sería un procesamiento de la CPU antes de cada línea de exploración.

    
pregunta Batperson

0 respuestas

Lea otras preguntas en las etiquetas