interfaz de memoria para salida de video

3

Estoy diseñando un sistema en el que un DSP (como el TMS320VC5501) procesa algunos datos de video y los envía a una pantalla de PSP (las que se venden en sparkfun). El problema que tengo aquí es el diseño de la interfaz de salida de video. Estoy pensando que debería tener un búfer de video y tal vez un CPLD para leer los datos y escupirlos a la pantalla de la PSP, pero los detalles exactos no se han resuelto por completo.

Mi principal preocupación es el tiempo. El DSP escribirá los datos de imagen en el búfer de video lo más rápido posible, lo que podría no dejar suficiente espacio para las lecturas de datos en el lado de salida. He mirado a mi alrededor y parece que las GPU en estos días usan SDRAM rápido, lo que sugiere que debería usarlo (ya que obviamente está funcionando para ellos), pero si lo hago, estoy dejando de lado cómo leerlo para enviarlo a la monitor. (El DSP tiene un controlador SDRAM, pero no quiero cargarlo con solicitudes de visualización constantes. Quiero usar su capacidad de procesamiento para el procesamiento real en lugar de para los juegos de memoria) Otra alternativa es VRAM, pero este es un método muy antiguo y parece estar pasando de moda. Aunque podría ser mi mejor opción ...

Como otra idea, puedo usar DMA para escribir en ráfaga 11520 bits (480 píxeles x 8 bits x 3 colores) en un registro de desplazamiento durante hsync a través de una interrupción (hsync / vsync será controlado por PLD). Desde allí, el PLD controlará ese registro de desplazamiento para generar los datos utilizando la sincronización correcta. Tengo que volver a verificar los números, pero esto parece una solución plausible.

¿Alguien tiene alguna idea sobre esto?

    
pregunta Koma

1 respuesta

3

Normalmente, la lógica de la interfaz de video (controlador de video) leerá de algún tipo de RAM y emitirá las señales de video adecuadas requeridas por la pantalla. Le recomiendo que no intente crear su propio controlador de video mediante la interfaz de algún tipo de RAM y CPLD a su DSP. Hacer un controlador de video es difícil. Realmente duro.

No lo tomes a mal, pero tu pregunta es la prueba de que aún no tienes lo necesario para crear tu propio controlador de video. Esto no es realmente una mala cosa. Pocas personas tienen lo que se necesita. Un ingeniero eléctrico superior con más de 15 años de experiencia probablemente tardaría 3 meses en crear, construir y probar un dispositivo de este tipo mientras trabaja 40 horas a la semana en él.

La forma "correcta" de resolver esto sería elegir una MCU o DSP que ya tenga un controlador de video. Por ejemplo, TI produce algunos MCU basados en ARM Cortex A8 que son tan rápidos o más rápidos en el procesamiento de señales como el TMS320VC5501 por no mucho más dinero (en comparación con otros métodos para hacer esto). Este método tampoco requiere memoria adicional para el video (se almacena en la SDRAM DDR3 normal como lo usa la CPU).

Otras soluciones requerirán hacer cosas como agregar una MCU con video a la PCB junto con el TMS320VC5501. O obtener una FPGA + SDRAM para hacer la misma función (y luego diseñar esa lógica). Ambas soluciones son una locura, dado que el TMS320VC5501 no es tan rápido como un DSP y obtienes una gran inversión de ARM Cortex A8. Estas soluciones no solo costarán más, sino que también serán más complejas, ocuparán más espacio de PCB y no funcionarán también.

    
respondido por el user3624

Lea otras preguntas en las etiquetas