1-pin Video

474 views
Skip to first unread message

Jesus Arias

unread,
Mar 19, 2024, 12:13:31 PMMar 19
to FPGAwars: explorando el lado libre
Hola,
Después de generar señales de video en una pantalla VGA me he planteado la interfaz con un monitor de tipo televisión (PAL).
Lo interesante es que para una imagen monocroma basta con un único pin en la FPGA. El truco está en usar su salida de tres estados:
compos1.gif
Pulso sincronismo:  Salida en bajo (0V en el monitor)
Video negro: Flotante (0.3V en el monitor)
Video Blanco: Salida en alto (1V en el monitor)

La otra complicación es la generación de la onda correspondiente al sincronismo vertical, que es:
Vsyn.gif
Aquí he seguido las indicaciones de esta figura:
Timing_PAL_FrameSignal_Progressive.gif
Aunque los pulsos de sincronismo los he redondeado a 2, 4, o 28us.
Y esta es una primera prueba:
20240319_155809.jpg
La imagen no está muy bien centrada, y parece que faltan algunas líneas en la parte de arriba, pero por lo demás es estable y nítida.

Saludos



charli va

unread,
Mar 19, 2024, 1:05:47 PMMar 19
to fpga-wars-explora...@googlegroups.com
Muy interesante ! ¿cómo has conectado por video compuesto o por coaxial ?

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/d6fdafa3-7857-451b-a79d-6d0abad5674dn%40googlegroups.com.

Jesus Arias

unread,
Mar 19, 2024, 1:14:32 PMMar 19
to FPGAwars: explorando el lado libre
Es un cable coaxial con un conector Jack de 3.5mm similar a los de audio. Lo normal sería un RCA, pero ese monitor necesita un jack.
Y lo curioso es que también tiene una entrada YPbPr, pero si se conecta la señal en ella las últimas líneas salen con basura. Me da la impresión que en esa entrada sólo  admite video NTSC...

charli va

unread,
Mar 19, 2024, 2:07:25 PMMar 19
to fpga-wars-explora...@googlegroups.com
Curioso! hace poco compré una consolilla pequeña de estas chinas ultra baratas para ver si podría reutilizarla de otro modo y traía una salida de video compuesto por jack ( de jack a vídeo compuesto), no lo había visto nunca pero parece que no debe ser extraño usar jack para vídeo.

Voy a ver si puedo hacerme con un monitor con entrada de vídeo analógico porque me parece muy interesante y así poder seguirte en esta aventura.





Jesus Arias

unread,
Mar 19, 2024, 3:20:59 PMMar 19
to FPGAwars: explorando el lado libre
Acabo de probar con otro televisor que no tiene entrada AV pero sí YPbPr (Samsung), y no se ve nada de nada.
Pero si quito 50 líneas a la imagen sí que se ve. Esto equivale a una señal de vídeo NTSC.

El color debería ser blanco pero sale un poco azulado. Sospecho que es debido a tener desconectada la entrada Pb (tendría que haber usado un jack mono en vez de estéreo para que Pb quedara conectada a tierra) De todos modos tener colores un poco raros es lo normal para el vídeo NTSC (Never The Same Color ;)

El video PAL no se ve, pero la tele lo identifica como  "720x576i @50Hz", así que el problema es que no traga la versión "no-entrelazada" del PAL, cosa que sí hace con el NTSC: "720x240 @60Hz"
20240319_195715.jpg

Jesus Arias

unread,
Mar 20, 2024, 3:18:27 PMMar 20
to FPGAwars: explorando el lado libre
Hola
Finalmente he generado la señal de video PAL con entrelazado y 625 líneas. Ha sido un rollo pero al final se ve perfectamente en la tele, al igual que la versión de 525 líneas entrelazadas (NTSC)
La dificultad estriba en tener que generar dos formas de onda distintas para el sincronismo vertical de los cuadros pares y los impares, aunque las diferencias tampoco son muchas:
VsynInterlace.gif
En los cuadros impares hay una línea menos y los pulsos largos comienzan y terminan media línea más tarde.
Además he comprobado que la parte visible de la línea son 48us  y que en cada cuadro se muestran las líneas que van de la 36 a la 303, lo que nos da un total de 536 líneas entre los dos cuadros (436 líneas visibles para NTSC).

Ahora solo falta la generación del una señal de vídeo útil ;)

charli va

unread,
Mar 20, 2024, 4:00:34 PMMar 20
to fpga-wars-explora...@googlegroups.com
Es un gran paso Jesús! vete contándonos, y a ver si esta semana consigo un monitor con el que pueda jugar.

Jesus Arias

unread,
Mar 21, 2024, 6:41:59 PMMar 21
to FPGAwars: explorando el lado libre
Hola,
Ya he conseguido portar el terminal de texto al vídeo PAL y la imagen tiene buena calidad. Adjunto el módulo
20240321_224524.jpg
Con un reloj de 12MHz tengo 576 pixeles por línea y 19 filas de 64 columnas (duplicando líneas, en realidad haciendo los cuadros pares idénticos a los impares)

txtPAL.v
fontD7x12.hex

charli va

unread,
Mar 21, 2024, 7:20:16 PMMar 21
to fpga-wars-explora...@googlegroups.com
¡Que buena pinta!, me ha sorprendido la nitidez del texto, estoy deseando probarlo.

Democrito

unread,
Mar 22, 2024, 4:03:42 AMMar 22
to FPGAwars: explorando el lado libre
Muy bueno Jesús, los trabajos que sacas son siempre interesantes y tienen un halo curioso o peculiar o poco común cosa que atrae mucho la atención.

charli va

unread,
Apr 7, 2024, 3:56:17 PMApr 7
to fpga-wars-explora...@googlegroups.com
//ENGLISH BELOW

Hola a todos! ya he conseguido una tele para poder trabajar con esto que me parece super interesante, os animo a probarlo y que participéis en este hilo promete ser interesante.

Captura de pantalla 2024-04-07 a las 20.16.40.png

Os mando un ejemplo sencillo, utiliza los fuentes de Jesús pero dentro de Icestudio.  El ejemplo está hecho con la Alhambra II, pero realmente cualquier tarjeta con reloj a 12Mhz y configurando el pin de salida por el que toque .

Lo he hecho así para quien no esté acostumbrado vea lo fácil que es trabajar entre verilog y icestudio. Si veis el bloque , se incluye el verilog y el archivo de fuentes de Jesús y sólo hay que instanciarlo.

Ahora mismo Icestudio tiene muchas limitaciones en esto, los ficheros tienen que estar en el mismo directorio que el .ice, sin carpetas y los archivos binarios tienen que tener extensión lst.

En esta línea estoy trabajando en unas mejoras que pronto verán la luz, estoy trabajando en un "gestor e proyectos", tendremos una vista tipo el de las colecciones en la que podremos incluid directorios con fuentes de verilog, ficheros binarios, testbenches.... la idea es que que quien quiera o sólo necesite usar un .ice lo haga pero para proyectos más complejos podamos tener estructuras más complejas que permitan trabajar cómodamente entre verilog y icestudio, pero bueno esto a su tiempo.

La puesta en marcha es muy sencilla, sólo tenéis que montar el circuito que dejó Jesús planteado, como veis en la foto yo lo he montado en una breadboard pequeñita, no tiene ningún misterio ni complejidad.

conector_arriba.jpg    conector_detalle.jpg

Este primer archivo de prueba con Icestudio lo que hace es mostrar lo que hay inicialmente en memoria en pantalla y luego según vas pulsando el primer switch va avanzando columna a columna empezando por el ascii 0 y pasando al siguiente caracter en cada columna (y saltando a la siguiente fila cuando corresponda).

He colgado un pequeño vídeo en twitter para quien quiera verlo:


Tengo algunas ideas sobre esto que quiero probar los próximos días, ahora que tengo una tele donde probar, ya os iré contando novedades.

Un fuerte abrazo !


// ENGLISH

Hello everyone! I've already got a TV to work with this, which I find super interesting, I encourage you to try it and participate in this thread, it promises to be interesting.

Captura de pantalla 2024-04-07 a las 20.16.40.png

I'm sending you a simple example, it uses Jesus's sources but within Icestudio. The example is made with the Alhambra II, but really any board with a 12Mhz clock (or with a PLL or frequency divisor at 12Mhz) and configuring the output pin as needed.

I did it this way so those who are not used to it can see how easy it is to work between Verilog and Icestudio. If you see the block, it includes the Verilog and Jesus's source file, and you just have to instantiate it.

Right now, Icestudio has many limitations in this, the files have to be in the same directory as the .ice, without folders, and binary files must have a .lst extension.

In this way, I'm working on some improvements that will soon see the light of day, I'm working on a "project manager", we will have a view like the one for collections in which we can include directories with Verilog sources, binary files, testbenches... the idea is that those who want to or only need to use a .ice can do so, but for more complex projects we can have more complex structures that allow comfortable work between Verilog and Icestudio, but well, this in its own time.

The setup is very simple, you just have to assemble the circuit that Jesus proposed, as you can see in the photo I have mounted it on a small breadboard, it has no mystery or complexity.

conector_arriba.jpg.      conector_detalle.jpg

This first test file with Icestudio what it does is show what is initially in memory on the screen and then as you press the first switch it advances column by column starting with the ascii 0 and moving to the next character in each column (and jumping to the next row when appropriate).

I've posted a short video on Twitter for those who want to see it:

https://twitter.com/cavearr/status/1777062665161974012

I have some ideas about this that I want to try in the next few days, now that I have a TV where to test, I will be telling you news.

A big hug!


El vie, 22 mar 2024 a las 9:03, Democrito (<spo...@gmail.com>) escribió:
Muy bueno Jesús, los trabajos que sacas son siempre interesantes y tienen un halo curioso o peculiar o poco común cosa que atrae mucho la atención.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
01_iterate_char.zip

Democrito

unread,
Apr 7, 2024, 6:24:51 PMApr 7
to FPGAwars: explorando el lado libre
Muy bueno Carlos y muy bien presentado! Sobre el "instanciamiento" es una de las asignaturas que tengo pendiente y me viene muy bien tu ejemplo en Icestudio para estudiar ese procedimiento.

Un abrazo!

charli va

unread,
Apr 8, 2024, 1:59:19 AMApr 8
to fpga-wars-explora...@googlegroups.com
Gracias Demócrito, es un eemplo muy sencillo, el sistema de proyectos que estoy preparando nos va a permitir importar automáticamente verilog, lo tengo aun "verde" pero de cara al verano creo que estará ya listo.

Esto no sólo es cómodo sino que permitirá trabajar mucho más cómodo entre verilog y icestudio para en bloques en los qu ehya código extenso se pueda trabajar en un editor mejor fuera de icestudio pero sinperder la vista de bloques .

Ya iremos viendo todo! :)


El lun, 8 abr 2024 a las 0:24, Democrito (<spo...@gmail.com>) escribió:
Muy bueno Carlos y muy bien presentado! Sobre el "instanciamiento" es una de las asignaturas que tengo pendiente y me viene muy bien tu ejemplo en Icestudio para estudiar ese procedimiento.

Un abrazo!

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Jesus Arias

unread,
Apr 9, 2024, 5:54:33 AMApr 9
to FPGAwars: explorando el lado libre
Hola,
Me alegro que haya funcionado sin problemas, y tomo nota para cambiar las extensiones de los archivos ROM a .LIST
Saludos

charli va

unread,
Apr 9, 2024, 6:07:24 AMApr 9
to fpga-wars-explora...@googlegroups.com
Gracias Jesús! no te preocupes tengo que cambiar eso para que sea independiente de la extensión, hay mucha variedad para este tipo de ficheros .rom .hex..... y siempre es un lio cuando se reutilizan códigos andar cambiando las extensiones.

charli va

unread,
Apr 10, 2024, 6:19:48 AMApr 10
to fpga-wars-explora...@googlegroups.com
Buenas a todos, este proyecto me ha dado pie a retomar unas cosas que tenía paradas en torno a vídeo analógico (gracias Jesús!).

uhf1.jpg

He conseguido reproducir con cierta calidad la señal de vídeo en una tele de CRT antigua por UHF, en este punto no he tocado nada del código sino es un tema puramente de la etapa electrónica, la foto no se ve muy bien porque había mucha luz y me ha sido imposible evitar el reflejo, pero se ve con una nitidez muy buena (el contraste blanco sobre negro peor pero vamos que bastante aceptable).

Ahora mismo estoy usando un modulador uhf que tenía pendiente de reparar de un antiguo MSX, el arreglo parece que ha ido aparentemente bien.

Los colores salen algo apagados, tengo que ver bien la parte electrónica porque es algo que tiene que ver con la adecuación de la señal (cuando estaba ajustando las resistencias para ajustar la sincronía en el canal había momentos que salía totalmente desincronizado pero con color blanco y negro muy vivo). 

Por otro lado tiembla un poquito.

Pero bueno es un gran avance la verdad que me ha hecho mucha ilusión poder ver esta señal de vídeo generada en nuestra FPGA en un monitor CRT antiguo, además es bastante divertido que colocando el cable a modo de antena, aunque con algo de niebla por falta de potencia se llega a ver la imagen XD

He puesto el vídeo en Twitter por si queréis verlo:


Un abrazo!

Jesus Arias

unread,
Apr 10, 2024, 12:21:08 PMApr 10
to FPGAwars: explorando el lado libre
Interesante, ya casi no quedan teles "de verdad" para probar estas cosas.

No llego a ver bien las líneas de arriba, pero me da la impresión que el video sale invertido (los bordes laterales y de debajo deberían salir en negro)
Por otra parte no sé qué impedancia tiene la entrada del modulador. Seguramente sea bastante mayor de 75ohm, por lo que habría que poner una resistencia de valor parecido entre la entrada y tierra. Sin ella los niveles de señal van a quedar mal (eso tal vez sea la causa del video invertido, o simplemente es que el modulador espera la señal opuesta...)
Saludos

charli va

unread,
Apr 10, 2024, 12:29:27 PMApr 10
to fpga-wars-explora...@googlegroups.com
Ando investigando , probaré lo que me indicas, aunque sea un sistema obsoleto me parece muy interesante para aprender y jugar un poco con modulaciones uhf que es un tema que me interesa bastante de cara a temas de radio.

Yo no tengo tele, la que probé por AV es de casa de un familiar, al menos me valió para validar que el diseño funcionaba, he pedido un pequeño monitor a aliexpress para trabajar con video compuesto y pal comodamente pero aún tardará en llegar.

Y nada, al verme probar esto mi familiar sacó las llaves del trastero y apareció esta tele que no tiene ni euroconector, sólo entrada de antena, así que no tuve más remedio que echarla al coche XD

Pero la verdad que me va a dar para hacer algunas pruebas interesantes, os iré contando.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Jesus Arias

unread,
Apr 10, 2024, 5:44:03 PMApr 10
to FPGAwars: explorando el lado libre
Hola, he encontrado estas especificaciones para el modulador UHF del ZX Spectrum:
astec_voltages.gif
Como vemos, las tensiones son distintas a las de las entradas de vídeo compuesto, así que habría que recalcular las resistencias (añadiendo además otra resistencia a tierra). Y tampoco tengo claro que el modulador del MSX fuese idéntico a este...
Por cierto, este es el esquemático (con unos símbolos curiosos para los transistores)
astec_schem.gif

Jesus Arias

unread,
Apr 10, 2024, 6:19:38 PMApr 10
to FPGAwars: explorando el lado libre
Estas son las resistencias que he calculado para ese modulador (R1 y R2). Hay que señalar que ahora tenemos un pull-down en lugar de pull-up pues el modulador mete corriente hacia la entrada (por la resistencia R7 de su esquemático, aquí R3):
astec_sim.gif

charli va

unread,
Apr 10, 2024, 7:00:35 PMApr 10
to fpga-wars-explora...@googlegroups.com
Acabo de ver tus mensajes, millones de gracias, mañana me pongo manos a la obra con el cacharreo y te cuento resultados. El modulador no es el mismo del spectrum pero serán primos hermanos, van a 5V iguales y al ser máquinas competidoras de la época me imagino que serán similares.

 El modelo no fuí capaz de encontrarlo como tal, así como el del spectrum creo que es un modelo comercializado en la época, el del msx (al menos en la máquina que tengo yo) está todo fabricado en la misma fabrica y parece super manual y a medida para la máquina, pero el esquema parece super similar, así que probaremos a ver.

 yo andaba también buscando información de esto y me he encontrado con una joya... he estado tentado de no enviártelo hoy para no quitarte el sueño XD pero aquí va.

Es impresionante el nivel de "apertura" de este tipo de libros antiguos. Vienen varios modulares uhf y vhf, uno de ellos se supone que es el de la máquina original del pong y realmente parecen bastante sencillos de implementar electrónicamente (en la página 12 por ejemplo) hay uno aparentemente muy sencillo).


GIMINI1978.pdf

Jesus Arias

unread,
Apr 11, 2024, 11:14:17 AMApr 11
to FPGAwars: explorando el lado libre
Muy curioso el contenido de ese libro. Una auténtica reliquia qué muestra las cosas que hacía General Instrument en los 70. De la serie AY- sólo conocía los chips de audio AY-3-8910 y poco más (una UART y un controlador de teclado para Apple-ii). Luego inventaron los microcontroladores PIC como soporte de E/S para su CPU CP1600, que pasó con más pena que gloria, y esos son los que nos han seguido incordiando hasta hoy ;)

charli va

unread,
Apr 11, 2024, 3:33:29 PMApr 11
to fpga-wars-explora...@googlegroups.com
He probado con los valores de resistencias y no hay forma de sincronizar la imagen, yo creo que el modulador al no ser igual los valores serán distintos.

Mañana voy a intentar localizar unos componentes que me faltan y si lo consigo montaré uno de los moduladores del libro para poder jugar y comparar con el del msx. Mañana igual lo abro y dibujo el esquema o intento localizaro, para intentar ajustar bien las impedancias de la entrada como has hecho con el del spectrum.



--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Jesus Arias

unread,
Apr 11, 2024, 4:41:48 PMApr 11
to FPGAwars: explorando el lado libre
Hola
Me temo que cada modulador va a tener sus propias especificaciones. Y además tampoco tengo claro que es esquemático que había adjuntado esté correcto porque en las fotos del Astec se ven algunos componentes (dos autoinducciones) que no parecen estar en la figura.
Aunque estoy pensando que la modulación seguramente se podría hacer en la propia FPGA. A fin de cuentas bastaría con un PLL y una lógica de tipo AND para convertir la señal de vídeo en trenes de pulsos. Al tratarse de ondas cuadradas van a tener armónicos en frecuencias de VHF y hasta UHF, solo haría falta que uno de esos armónicos coincida en la frecuencia de un canal.

charli va

unread,
Apr 12, 2024, 4:03:20 AMApr 12
to fpga-wars-explora...@googlegroups.com
Me parece super intersante Jesús, es algo que tenía en mente XD pero quería tenerlo funcionando con un modulador externo para poder comparar señales luego, como nunca me he enfrentado a generar señales de radio con la fpga directamente me parecía interesante tener "un aparato" que funcionara para ayudar en el debug, pero no sé si será más complicado esto que intentarlo directamente con la FPGA XD

Creo que estos días vamos a violar unas cuantas leyes del espectro electromagnético XD

charli va

unread,
Apr 12, 2024, 4:09:12 AMApr 12
to fpga-wars-explora...@googlegroups.com
Estoy consiguiendo avanzar luego os cuento

charli va

unread,
Apr 12, 2024, 6:48:03 AMApr 12
to fpga-wars-explora...@googlegroups.com
Buenas! a ver he estado mirando el modulador que tengo que es ligeramente diferente del del spectrum pero basándome en lo que ha propuesto Jesús, he recalculado las resistencias y ..... ha funcionado!

La imagen tiembla un poquito pero eso podría ser incluso por el propio televisor, al no tener referencia no sé si es el monitor que está muy viejo y el tubo genera esa vibración o esque habría que ajustar más.

Lo que sí pasa ahora es que la imagen es mucho más nítida (se leen muy bien tanto negro sobre blanco como blanco sobre negro) y el blanco y negro son mucho más vivos (creo que aún se podría conseguir más pero he intentnado jugar entorno a los nuevos valores de resistencias y no he conseguido mejoría.

No sé si se aprecia bien la imagen porque con el refresco y la leve vibración que tiene es complicado sacar una foto nítida:

reajuste_resistencias.jpg

Para este modulador, las dos resistencias han pasado a ser el pull down de 3.3K(R2) y R1 de 820Ohmnios

Además como vemos ahora ya no se invierten los colores, sale igual que el original en televisión moderna por AV.

Como bonus track y esto sé que es una chorrada pero me ha llenado de emoción, he quitado el cable y he metido un cable de cobre en la salida de antena del modulador (esto habría que hacerlo bien calculando la longitud de la antena pero para una prueba rápida me ha valido):

first_antenna.jpg

La magia de la radio se ha hecho y tenemos transmisión inalámbrica XD eso sí sólo unos pocos metros....ha nacido FPGAwars TV XD

uhf_1_transmission.jpg

La verdad que me ha sorprendido que alejándome unos10 metros esta es la imagen que se ve, sin poner antena en al tele (el propio cable desenchufado hace de antena random). Salvo un poco de nieve bastante bien la verdad.

El tema de modular desde la FPGA sin electrónica externa es motivante, las posibilidades de transmitir información por radio en esta línea de utilizar pocos recursos me parece muy interesante.

Un abrazo a todos!



Democrito

unread,
Apr 12, 2024, 11:29:58 AMApr 12
to FPGAwars: explorando el lado libre
Me ha resultado muy curioso eso de las ondas hercianas. Estaría bien explorar ese tema y crearnos nuestros propios "nRF24", comenzar con algo e irlo desarrollando poco a poco.

He estado mirando información sobre los moduladores y según parece es más complicado de lo que parece, entre otras cosas hay que tener en cuenta si es a 50Hz o a 60Hz (y no me refiero a la frecuencia de la red eléctrica).

Un abrazo y mucho ánimo!

charli va

unread,
Apr 12, 2024, 1:32:09 PMApr 12
to fpga-wars-explora...@googlegroups.com
Al final los nRF24 no dejan de ser "radios", la magia luego está en la modulación, algoritmos de corrección de errores.... hay mucha tela ahí pero puede ser interesante plantearnos un proyecto de comunicación radio con fpga sin más elementos externos, desde luego aprender aprenderemos un montón de cosas.

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Jesus Arias

unread,
Apr 12, 2024, 1:54:28 PMApr 12
to FPGAwars: explorando el lado libre
Hola a todos

He conseguido generar la señal para la antena directamente en la FPGA. Aunque he necesitado 3 pines.
Esto es porque ahora tengo que generar cuatro niveles de tensión ya que la modulación AM del vídeo no debe superar el 85%:
DAC_rf.gif
Como portadora he usado 60MHz (5 ciclos / pixel) No es una frecuencia estándar, pero mi tele sintoniza a partir de unos 30MHz en pasos de 1MHz y por descontado pilla el armónico fundamental:
20240412_191042.jpg
También lo pilla en 120 y 180 MHz, aunque con bastante "ghosting" y más nieve.
Observar que no hay un contacto eléctrico entre la FPGA y la tele. Las antenas llegan a tocarse pero están aisladas. A un metro de distancia todavía se lee el texto bien pero la nieve ya se nota bastante.

> Creo que estos días vamos a violar unas cuantas leyes del espectro electromagnético XD
Mientras no sean las de Maxwell... ;)

Saludos

Jesus Arias

unread,
Apr 12, 2024, 1:58:33 PMApr 12
to FPGAwars: explorando el lado libre
Perdón, tengo una errata en la figura, las puertas deberían ser AND en lugar de NAND:
DAC_rf.gif

charli va

unread,
Apr 12, 2024, 2:05:36 PMApr 12
to fpga-wars-explora...@googlegroups.com
Que grande Jesús! 

¡qué son 3 pines en nuestra vida! me parece una avance enorme.


Jesus Arias

unread,
Apr 15, 2024, 2:38:17 PMApr 15
to FPGAwars: explorando el lado libre
Hola de nuevo,
Esta vez he preferido generar imágenes gráficas, aunque sean de sólo un bit por pixel. Como almacenamiento uso la misma flash SPI que contiene el bitstream. El bit con el pixel de vídeo es directamente la señal MISO de la flash.
 Adjunto un ejemplo simple en el que el archivo img.bin hay que grabarlo en la posición 0x30000 de la flash. En mi placa se graba como:
 iceload -a 192k -p img.bin

luego se puede programar el bitstream con la configuración de la FPGA de la forma habitual

Ejemplo:
20240415_203340.jpg
img.bin
system.v
grPAL.v

Democrito

unread,
Apr 15, 2024, 3:09:44 PMApr 15
to FPGAwars: explorando el lado libre
Impresionante Jesús. La imagen me recuerda a los tiempos de las BBSs y las pantallas Hércules de fósforo naranja o verde. Yo nunca llegué a usar las BBSs pero me pasaban imágenes/fotos en disquetes. 

charli va

unread,
Apr 15, 2024, 4:05:29 PMApr 15
to fpga-wars-explora...@googlegroups.com
Muy chulo! yo estoy sin tele por unos días , pero en cuanto pueda conectarme a una lo pruebo.

Esto me ha recordado que tengo un proyecto de hace tiempo para convertir imagenes a 1 bit usando diferentes algoritmos de dithering que en su día lo hice porque andaba experimentando con una gameboy.

Voy a ver si lo rescato y lo usamos para jugar con esto.

Por otro lado ando preparando otra demo con este tema, a ver si puedo continuarlo en cuanto tenga una tele a mano XD

Un abrazo!

El lun, 15 abr 2024 a las 21:09, Democrito (<spo...@gmail.com>) escribió:
Impresionante Jesús. La imagen me recuerda a los tiempos de las BBSs y las pantallas Hércules de fósforo naranja o verde. Yo nunca llegué a usar las BBSs pero me pasaban imágenes/fotos en disquetes. 

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Jo mo

unread,
Apr 16, 2024, 3:46:29 AMApr 16
to FPGAwars: explorando el lado libre
Hello guys,

Hi hope you are all fine!
On my side i have been occupied with other non-FPGA subjects this last months! I was just reading time to time the activity on the forum!
I will try to be more present in the following months!

Great job Jesus and Charli ! 
Yours reborn/use of that "old school" technology with our Fpga looks really nice!
All this reminds me the oldest game console that i played with an "atari 2600 Jr" that i had around the year 1990 !
Good luck for your future finding on this 1 pin pal video subject!  Soon we will have a pong game ;-)

Big hug to all of you guys

charli va

unread,
Apr 21, 2024, 12:21:44 PMApr 21
to fpga-wars-explora...@googlegroups.com
Buenas! siento no haberos mandado nada aún pero ando un poco saturado con la estabilización de los bugs de la nueva versión estable, ha habido algunos problemas extras que no contaba con ellos y el resto de cosas han pasado a la cola. Hoy o mañana ya me libero de eso y podré avanzar en las otras cosas que tenemos entre manos.

Por el momento os paso símplemente unas curiosidades.

Esta semana pasada y la próxima andaré fuera por temas laborales y no tendré tv a mano. Para la próxima semana quería avanzar cosas, así que dándole vueltas me acordé que tenía una vieja capturadora que usaba para pasar vhs y minidvs a digital.  La he recuperado y la verdad funciona perfecto!

Además lo divertido ya es rizar el rizo, pensé que no funcionaría, pero la captura que os mando es un mac M1, emulando un linux ARM que a su vez emula los drivers en x86 para hablar con el usb virtualizado que conecta a la FPGA 😅. Yo creo que puedo montar un circo, pero la verdad que funciona de cine y para trabajar con todo esto la verdad que muy cómodo (y en el equipo de sobremesa que tengo sólo linux va de cine directamente sin artificios):

Captura de pantalla 2024-04-21 a las 18.09.55.png

La capturadora es esta , una dazzle de hace un montón de años, lo digo por si alguno tenéis una por ahí y como yo ni os acordábais y queréis apuntaros a esta fiesta:

IMG_2187.jpg

Por otro lado a ratillos he estado intentando implementar una idea que llevo con ella estos días en la cabeza para meter color, no sé si se quedará en basura binaria , de momento sólo he conseguido la imagen que os mando que no vale para nada pero he pasado de no ver nada a tener una imagen con algo de estructura y motas de color XD. Si avanza hacia algo constructivo ya os lo detallo y os paso código que puede que no llegue la cosa a ningún lado:

Captura de pantalla 2024-04-21 a las 18.01.13.png

Un abrazo!



Jesus Arias

unread,
Apr 23, 2024, 3:07:31 AMApr 23
to FPGAwars: explorando el lado libre
Hola, Carlos
¿Cómo estás generando el color?
Porque hay varias posibilidades para ello, cada una con sus inconvenientes.
1 - Usar directamente señales RGB, esto se puede hacer en un Euroconector (SCART), muy poco común ahora.
2 - Generar señales separadas de croma, como en S-video o en YPbPr
3 - Generar una señal de vídeo compuesto, esto implica generar una frecuencia precisa para la subportadora de color (4.43MHz para PAL o 3.57MHz para NTSC),  incluir un pulso de "burst" al comienzo de cada línea, y modular la señal de croma en la subportadora.  Los PLLs sirven de poco a no ser que cambiemos los cristales de nuestras placas...

Saludos

charli va

unread,
Apr 23, 2024, 3:57:45 PMApr 23
to fpga-wars-explora...@googlegroups.com
Buenas! déjame unos días que lo trabaje un poco que son ideas peregrinas de las que se te ocurren en un paseo en mi caso por las lindes del Turia XD

Si van a buen puerto o si veo que tiene buena pinta pero no soy capaz de sacarlo os  doy más información pero no quiero que por un poco de basura binaria estructurada perdáis tiempo.

Estos días os voy contando.


Jesus Arias

unread,
May 7, 2024, 2:28:39 PMMay 7
to FPGAwars: explorando el lado libre
Hola de nuevo.
20240507_184149.jpg
El vídeo monocromo tenía que acabar en un ordenador "vintage", en este caso un Commodore PET, que es lo suficientemente sencillo como para caber en una ICESTICK. Aunque no sin antes aplicar unos serios recortes a toda funcionalidad no imprescindible. 

Y para que quede aún más retro también se puede usar la entrada de RF de la tele:
20240507_193145.jpg

Saludos

charli va

unread,
May 7, 2024, 3:17:23 PMMay 7
to fpga-wars-explora...@googlegroups.com
Que grande Jesús! esto va cogiendo forma a cosas realmente interesantes!! yo ando también jugando con ello a ver si os mando pronto avances.

Gracias por  este extra de motivación!

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Democrito

unread,
May 7, 2024, 4:57:06 PMMay 7
to FPGAwars: explorando el lado libre
Esto es una manera de celebrar el 50 aniversario de la creación del lenguaje BASIC!

<<
BASIC, el lenguaje de programación que acercó la informática a millones de personas sin demasiados conocimientos, cumple este 1 de mayo de 2024 50 años. Sus característicos comandos en forma de listado fueron el primer contacto de varias generaciones con los ordenadores y todavía hoy se usan algunos lenguajes derivados de él.
>>

Jesus Arias

unread,
May 8, 2024, 2:01:10 PMMay 8
to FPGAwars: explorando el lado libre
Hola,
Adjunto los fuentes y documentación del PET, por si los consideráis de interés.
Saludos

PETfpga.tgz
PET.pdf

charli va

unread,
May 8, 2024, 2:43:09 PMMay 8
to fpga-wars-explora...@googlegroups.com
Muchísimas gracias Jesús! una pasada de documentación, la he visto por encima y es fantástica la verdad.

Lo probaré en los próximos días!

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.

Jesus Arias

unread,
May 9, 2024, 10:17:52 AMMay 9
to FPGAwars: explorando el lado libre
Hola Carlos,
Adjunto una versión para la Alhambra (no he podido probarla, aunque espero que funcione). El binario incluye tanto el bitstream de la FPGA como las ROM del PET (justo al final). Tendrías que programarlo con "iceprog"
Los pines que he elegido están en el PCF:
 Video:   pin serigrafía '0'
 Antena:  pines serigrafía '1', '2', '3'
 Teclado PS2.CLK: pin serigrafía '7'
 Teclado PS2.DAT: pin serigrafía '6'

Si realmente funciona deberías tener disponible el doble de memoria que en la ICESTICK.
Saludos
pines_alhambra.pcf
img_alhambra.bin

charli va

unread,
May 9, 2024, 10:45:43 AMMay 9
to fpga-wars-explora...@googlegroups.com

Muchísimas gracias Jesús, lo pruebo lo antes posible! un gran detalle haber invertido tiempo en portarlo a la Alhambra. En cuanto cierre los temas de la estabilización de la versión  de Apio y Icestudio que me han cambiado los planes de estas semanas pasadas, retomo la integración de la Icecream!


Yo estos días ando con lo del PAL en color, me tiene "motivado" no sé si será posible conseguir que funcione pero por el camino esto aprendiendo un montón y al final es lo importante.

Empieza a coger color, de momento estoy solo simulando , creo que pronto os podré pasar código con avances para que probéis y aportéis que seguro que será mucho.

De momento en las simulaciones va tomando "color":

Captura de pantalla 2024-05-09 a las 16.33.08.png

Captura de pantalla 2024-05-09 a las 16.32.56.png

Hasta ahora no había conseguido nada que pudiera tener algún atisbo a funcionar pero parece que va tornando mejor la cosa


Un abrazo!

charli va

unread,
May 9, 2024, 10:59:57 AMMay 9
to fpga-wars-explora...@googlegroups.com

He visto que no se adjuntaron las imágenes en el email anterior, aquí pego las capturas de como va la generación de color PAL:

Captura de pantalla 2024-05-09 a las 16.32.56.png

Captura de pantalla 2024-05-09 a las 16.33.08.png


Jesus Arias

unread,
May 9, 2024, 12:00:32 PMMay 9
to FPGAwars: explorando el lado libre
Uff, veo que has elegido la ruta dura... Te comento lo que pienso.

- La frecuencia de la subportadora de color tiene que ser muy precisa y no creo que podamos generarla sin cambiar los cristales que tenemos en nuestras placas FPGA. Por otra parte, esos cristales que antaño eran de lo más habitual ahora ya no son tan fáciles de encontrar, sobre todo los de la frecuencia PAL (4.43MHz, 17.72MHz), los NTSC parecen más comunes (14.318MHz  = 4 x 3.57MHz aparece todavía en multitud placas, por ejemplo en los PCs viejos (14.318 / 3 = 4.77 ;)

- En el estándar PAL se hace un cambio de fase de 180º cada línea. No tengo muy claros los detalles pero esa es la principal diferencia con el color NTSC y la razón de que las teles PAL incluyesen una línea de retardo piezoeléctrica de 64us (justo la duración de una línea) . Puede que sea más sencillo comenzar por una señal de video de tipo NTSC que seguramente cualquier televisor un poco moderno va a ser capaz de mostrar. (En el PET el video era NTSC,  en PAL sobraban demasiadas líneas)

- También se puede simplificar mucho la cosa si generamos el color como en el Apple-II: Usando pixeles en blanco y negro pero con una frecuencia de pixel que es el doble de la subportadora de color (7.151MHz en NTSC). En este caso lo único que hay que añadir a la señal de video que ya tenemos es la ráfaga de "burst", que podría ser una onda cuadrada para simplificar todavía más. Entonces una secuencia de píxeles On,Off,On,Off... está generando una onda en fase o contrafase con la subportadora, y si se retrasan medio ciclo la generarían en cuadratura. Esto permitía a Wozniak mostrar 6 colores mediante una señal monocromo de sólo 1 bit por pixel.

charli va

unread,
May 9, 2024, 12:16:21 PMMay 9
to fpga-wars-explora...@googlegroups.com
Que bueno lo de Wozniak, era un genio indiscutible, leí hace tiempo unos temas sobre el oscilador del apple II creo recordar que también era oro puro, a ver si lo localizo y os lo envío porque recuerdo una lectura muy gratificante.

Me he tirado a la piscina con esto porque inicialmente quería tantear la dificultad y sólo hacer pequeñas pruebas, pero al final me ha enganchado... y ahorano sé si voy a flote o tengo un ancla en el cuello 😅

La señal burst la estoy generando con mucha facilidad, y parece bastante precisa, ahora mismo la pelea la tengo con la codificación del color en cuadratura, que no se comporta como debería.

Me parece muy interesante explorar todos estos "artefactos" primigenios del vídeo que planteas. A mi entender ayudan a comprender  muchas cosas y pueden salir piezas muy interesantes y útiles para otros proyectos (yo no me había pegado nunca con temas analógicos de video y radio y la verdad me está encantando). Como esta semana y la próxima las tengo raras, voy a ir avanzando en lo que pueda con esto, pero podemos plantear otros ejercicios en paralelo como sugieres, la verdad que todos me parecen muy interesantes.

Tengo pendiente rescatar unos trabajos que hice con dithering y que encajan muy bien con todo el tema de video en blanco y negro y que pueden dar mucho juego os prometo mandarlo en unos días.

 




charli va

unread,
May 9, 2024, 12:54:16 PMMay 9
to fpga-wars-explora...@googlegroups.com
Buenas Jesús.... no he podido esperar.... menudo regalazo! no sé si algún día desaparecerá la emoción de ver funcionar estas cosas.

No tengo teclado PS2 a mano, en los próximos días monto versión Icestudio con tus fuentes (crearé bloques que sólo importen tus verilogs) para que se pueda ver la arquitectura en modo bloques y te la paso por si la quieres adjuntar con tus fuentes para los usuarios de Icestudio.

Os mando un pequeño vídeo del arranque, como no tengo teclado no he podido ejecutar nada pero sigue siendo algo fantástico :)

Un abrazo!

P.D.  Por cierto, como veis estoy usando una pantallita CRT PAL (también soporta NTSC) pequeñita. Como preveía estas semanas fuera y quería avanzar con estos temas, me dio por probar a comprar una pantalla que se usan para los retrovisores de los camiones y sinceramente estoy super contento. Me esperaba cualquier cosa porque me costó con gastos de envío 9€, soporta 2 canales de vídeo , la carcasa es cómoda y se ve razonablemente bien, no la he probado con colores pero con temas blanco/negro se ve fantástico , ya os mandaré algún vídeo con las otras pruebas.  Si a alguien le interesa la referencia y quiere comprarse una que me escriba por privado que no me gusta dar referencias de productos en sitios públicos.  Me ha parecido "un juguete" muy bueno para trabajar cómodamente con estos temas que nos traemoso entre manos. Por ponerle un pero, se alimenta a 9V, que puede ser lo más incómodo.

PET_01_720p.mp4

Democrito

unread,
May 9, 2024, 6:23:59 PMMay 9
to FPGAwars: explorando el lado libre
Buen trabajo a ambos! Carlos, pasa una referencia, que sé que más de uno va a querer una pantalla tan cuqui como esa!

charli va

unread,
May 10, 2024, 1:43:01 AMMay 10
to fpga-wars-explora...@googlegroups.com
Bueno pues dejo por aquí la referencia, miré bastantes y esta fue la que mejor pinta me dio, la verdad que fue todo perfecto, envío en menos de 2 semanas, la han subido algo de precio desde que la compré (ahora está a 11 y pico).

Una de las cosas que me motiva de todo esto del video PAL es que con este tipo de pantallas pequeñas, se pueden plantear arquitecturas muy interesantes utilizando pocos recursos de la FPGA y un sólo pin de salida. Además que la resolución aunque la pantalla sea pequeña sigue siendo la misma que para pantallas digitales del mismo tamaño es prácticamente el doble, yo cogí una lo más pequeña que encontré y que tuviera buena pinta pero las hay con tamaños algo mayores y que siguen siendo muy manejables:


No conocía el mundo de este tipo de tfts pequeñitos que se utilizan para las cámaras de los coches (retrovisroes de camiones, monitores de marcha atrás....) pero tiene potencial XD

Un abrazo!

El vie, 10 may 2024 a las 0:24, Democrito (<spo...@gmail.com>) escribió:
Buen trabajo a ambos! Carlos, pasa una referencia, que sé que más de uno va a querer una pantalla tan cuqui como esa!

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages