Cómo generar vídeo PAL con una Pi Pico muy overclockeada

Apenas pasa una semana sin que otro hack bendiga al RP2040 con una nueva superpotencia de interfaz. Esta vez es el turno de la humilde interfaz de vídeo compuesto estándar PAL. Como muchos de nosotros de al menos cierta edad estaremos familiarizados, el estándar Phase Alternate Line (PAL para los amigos) se usaba principalmente en Europa (no en Francia, ellos usaban SECAM como Rusia, China y co) y Australasia, y es un poco diferente del mucho NTSC que los estadounidenses recuerdan con cariño. En fin, [Fred] destaca que este hack no es para los débiles de corazón, como el RP2040 necesita un heck de un overclock (hasta 312 MHz, alrededor de 241% por encima de stock) para poder sacar la cantidad necesaria de potencia de procesamiento. Esto es mucho más que otro hack PIO.

Los núcleos duales del RP2040 están siendo realmente empujados aquí. El software se divide en funciones de alto y bajo nivel, con el primer núcleo ejecutando el renderizado de las diversas imágenes fijas y demostraciones de vídeo en un framebuffer. El segundo núcleo se ejecuta en paralelo y se ocupa de todos los detalles de formatear el búfer de fotogramas en una señal codificada PAL, que luego es succionada por el DMA y enviada al mundo exterior a través del PIO. Puede haber algunas oportunidades para acelerar el código aún más, pero [Fred] claramente ya ha hecho una gran cantidad de trabajo allí, sólo para conseguir que funcione en absoluto. El código PIO en sí es muy simple, pero es instructivo como un buen ejemplo de cómo utilizar múltiples canales DMA encadenados para empujar los datos a través de la PIO a la mayor velocidad posible.

Aparte de la placa de circuito impreso de Pico, el único hardware adicional necesario era un DAC en escalera de resistencias implementado en una protoboard sin soldaduras. [Fred] necesitó un par de intentos para conseguir los valores correctos de las resistencias del DAC, la primera versión se construyó en una pequeña PCB de prototipado, pero desafortunadamente, el pico de voltaje era de sólo 1 V, por lo que fue necesario construir una segunda versión (de ahí la protoboard) para conseguir los 1,25 V correctos.

Hemos tratado muchas veces el tema de los hacks de vídeo en hardware diminuto, incluso entrando en algunos detalles de los distintos estándares, como en este artículo sobre ¿por qué NTSC es tan raro? Pero con el paso del tiempo, los estándares de vídeo han sufrido grandes cambios hasta llegar a donde estamos ahora.

Vídeo PAL compuesto de 164×125 colores de "alta resolución" utilizando sólo un DAC de resistencia pasiva en un @Raspberry_Pi #pico. Sólo una pizca de overclock al 241%.

Código en https://t.co/pORMOgmkcq pic.twitter.com/Him694i2hP

- Fred (@theguruofthree) 22 de enero de 2023

vía Adafruit.

Maya Lorenzo
Maya Lorenzo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.