He empezado a diseñar un sistema de vídeo para micros de 8 bits

Proyectos de hardware con sus esquemáticos y si llevan software en fuente

Moderadores: cacharreo, Fundadores

Reglas del Foro
Aquí solo tienen cabida proyectos de hardware que incluyan siempre al menos sus esquemáticos para poder reproducirlos si llevan componentes electrónicos, y si es posible los ficheros del programa en que se hacen, los diseños de las placas, los gerber, etc. Si llevan algún tipo de software asociado debe estar diponible el código fuente

Para los que no cumplen estas condiciones se debe postear en el foro de proyectos generales.
Responder
Avatar de Usuario
WhatIsAMan
Aspirante a demonio
Aspirante a demonio
Mensajes: 411
Registrado: 24 Sep 2019, 11:41
Has thanked: 23 times
Been thanked: 36 times
Contactar:

He empezado a diseñar un sistema de vídeo para micros de 8 bits

Mensaje por WhatIsAMan »

Buenas noches,

El martes por la noche, tras entregar dos trabajos para la universidad, tuve insomnio y me dio por diseñar. Miré los estándares de tiempo del estándar VGA, que encontré aquí. Luego ví este vídeo en youtube.
Curiosamente usa la misma página que encontré para determinar la generación de señales, aunque usa otra resolución de la que yo finalmente escogí (640x480).
Mientras que no me gusta cómo lo hizo (breadboard, tirando siempre bajo en el diseño, etc.) me dió muchas ideas sobre como implementar un sistema de vídeo con salida VGA. Investigando un poco me dí cuenta que puede adaptarse también a scart.

Establecí unas especificaciones base:
  • Resolución 320x240.
  • 512 Colores.
  • Scroll vertical y horizontal.
Tras gastar mucha goma de borrar llegué a esto:
Diagrama_resized.png
Hay algunas cosas que tuve en cuenta y que cambiaron o adapté:
  • Al usar 16 bits de RAM de color se podría aumentar el número de colores hasta 32k.
  • Los colores se distribuirían en 128 paletas de 16 colores (sé que son muchas, pero lo que me hizo considerar usar un registro de 8 bits para determinar la paleta usada fue el ancho del bus de direcciones de la memoria (11 bits) y el bus de datos de un microprocesador de 8 bits, debería usarse sólo 7 de esos bits).
  • La memoria de caracteres es de 8k x 8 bits, pero se usaría como una de 16k x 4.
    6164_16kx4_resized.png
  • Los registros de scroll los definí como 2 registros de 10 bits (16 para que puedan ser leídos sin problemas para el procesador), incorrectamente escrito en el diagrama.
Tengo los esquemas para algunas de las partes de este diagrama, sin embargo queda aún mucho por hacer. Y también muchas dudas:
  • Me preocupa que los componentes no sean lo suficientemente rápidos.
  • En caso que individualmente fueran suficientemente rápidos, me da la impresión que necesitaré hacerlo por pasos e ir poniendo registros en algunos puntos.
  • No tengo aún la multiplexación de datos y direcciones hecha (y esto me lleva al siguiente punto).
  • Mi intención es construir mi propio micro algún día y ponerle esto, pero para hacer pruebas debería diseñarlo para uno ya existente. Me recomendaríais alguno?
  • Me gustaría construir esto con componentes de la serie 74 (sin incluir las memorias), me recomendaríais alguna subfamília?
Si tenéis alguna recomendación, consejo, truco o similar estaría encantado de oírlo.

Gracias!
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
WhatIsAMan
Aspirante a demonio
Aspirante a demonio
Mensajes: 411
Registrado: 24 Sep 2019, 11:41
Has thanked: 23 times
Been thanked: 36 times
Contactar:

Re: He empezado a diseñar un sistema de vídeo para micros de 8 bits

Mensaje por WhatIsAMan »

Buenas noches,

Me he tomado mi tiempo durante algunos ratos muertos por las noches para pasar a limpio y corregir los esquemas parciales que he dibujado. Cuando el papel está sucio a veces se ven cosas que no son :)).

VSys.png
A mí me da que esto no va a funcionar. He intentado seguir arquitecturas que ya conozo (más o menos) y les he echado algun retoque. El problema con esto es que creo que desde que la dirección se genera en el contador hasta que llega al DAC de color pasa por cuatro niveles: un sumador y tres memorias distintas... la latencia no lo haría funcionar. Supongo que tendré que ralentizar esto y procesarlo por ciclos. ¿Qué opináis?

El número de paletas se ha reducido a 128 (no creo que tantas fuesen necesarias de todos modos) debido a errores del primer diseño.
He decidido usar HC y HCT debido a que muchos componentes es difícil (o imposible) encontrarlos fuera de dichas subfamílias.

Saludos!
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Responder

Volver a “Proyectos de hardware abiertos”