Sobre la posibilidad de añadir HDMI mediante placa addon

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Sobre la posibilidad de añadir HDMI mediante placa addon

Mensaje por mcleod_ideafix » 06 Oct 2015, 19:27

Para rutar pares diferenciales TMDS con garantías de éxito:
https://ez.analog.com/docs/DOC-11303

La parte matemática del principio es realmente útil, salvo que nosotros no usaremos un CLK de 297MHz como en el ejemplo, sino unos modestos 28MHz. Esto es, tenemos:

Tbit = time duration for a single bit across a TMDS channel
Tcharacter = 10 x Tbit
CLK = 28MHz
Data = 10 x CLK
Propagation Delay for FR4 ~= 6.67ps/mm
Intra-pair skew = 0.15 Tbit
Inter-pari skew = 0.20 Tcharacter

Por tanto:

Data rate = 10 x 28MHz = 280MHz = 3571,4285 ps
Intra-pair skew in time = 0.15 x 3571,428 ps = 535,71428 ps
Intra-pair skew in distance = 535,71428 ps / 6.67ps/mm = 80,317 mm

Lo que significa que, en principio, no debemos preocuparnos demasiado porque ambos trazos del par diferencial tengan exactamente la misma longitud, ya que contamos con hasta 8 cm de margen. Esto es:
- Dentro de cada uno de los pares TMDS, una pista no debe exceder de 8 cm de longitud respecto de la otra
- Contando todas las pistas que forman parte de los 4 pares TMDS (esto es, 8 pistas), la diferencia de longitud de la pista más corta respecto de la más larga no debe exceder de 8 cm.

Siempre y cuando no tengamos intención de generar video en formato UXGA o cosas así con una burrada de resolución, podemos pasar del tema longitudes y centrarnos en las reglas de rutado que aparecen en esa página, excepto los puntos 5 y 9 donde ya hemos visto que tenemos más margen por la relativamente baja frecuencia que usamos.

Del punto 3 se encarga la TV, que es quien tiene la resistencia de entrada de 50 ohmios.

Luego os cuento cosas sobre el cálculo de la impedancia diferencial y la impedancia no diferencial, ya que al no estar usando una placa de 4 capas, la distancia desde las pistas al plano de masa es muy grande (1.6 mm) y eso hace que aumenten ambas impedancias.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Sobre la posibilidad de añadir HDMI mediante placa addon

Mensaje por jepalza » 06 Oct 2015, 20:11

Haplo escribió:Joseba, yo no tengo npi de electrónica y también pensaba algo parecido :rofl!:

Por cierto, me sumo al reto "eggless" de Miguel!
Ya va, tacita a tacita.... a ver si puedo acoplar el tema del HDMI que lleva VGA tambien, y puedo pasar el compuesto del ZXUNO por él, y matamos dos de un tiro. Lo mio no es ni la imágen ni el sonido, son muy malo en esos menesteres, pero probar no cuesta nada.

Avatar de Usuario
Quest
Mensajes: 900
Registrado: 27 Sep 2015, 00:20

Re: Sobre la posibilidad de añadir HDMI mediante placa addon

Mensaje por Quest » 06 Oct 2015, 20:15

Puestos a pedir, pasar el audio por el HDMI sería el remate final :mrgreen:

Hay varios proyectos para la placa Pipistrello que traen los fuentes para el HDMI que lleva. También se puede echar un vistazo ahí.

Alguno de los cores que cogí de ahí tuve que desactivarle el HDMI para poder usarlo con el ZXUNO.
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Sobre la posibilidad de añadir HDMI mediante placa addon

Mensaje por mcleod_ideafix » 06 Oct 2015, 20:57

A esto he podido llegar en el calculo de la impedancia diferencial. Está fuera de rango, pero no por mucho. Para clavar los 100 ohmios necesitaria que el plano de masa estuviera en una capa interior, a 0,2 mm de la capa que lleva las pistas con los pares. O sea, habria que usar una placa de 4 capas
image.jpg
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
Radastan
Mensajes: 389
Registrado: 05 Oct 2015, 14:39

Re: Sobre la posibilidad de añadir HDMI mediante placa addon

Mensaje por Radastan » 07 Oct 2015, 08:31

Repito, vídeo mio saltando por la casa con el ZX Uno en la mano cuando el soporte VGA esté implementado.

Ahora a ver la excusa...

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Sobre la posibilidad de añadir HDMI mediante placa addon

Mensaje por jepalza » 07 Oct 2015, 13:31

Estoy trabajando yo con ello, pero no prometo nada, que lo mio no son las señales de vídeo y esas cosas. Ya estoy metiendo el soporte VGA y HDMI sobre la señal que sale de la ULA. De momento, he implementado el HDMI que he usado de pruebas, que ese sé que funciona, y ahora estoy con el "scandoubler" para coger la señal RGB+CSYNC de la ULA, y pasarla a señal VGA (RGBHV), a ver si me sale bien, y si no me sale, al menos, tendré el esqueleto del núcleo para que otro que entienda mas lo pueda continuar.
Lo de implementar tanto VGA como HDMI, es por que el módulo HDMI lo que hace es coger una señal VGA para convertirla, por eso, en lugar de convertir directo de ULA a HDMI (y perder VGA), me permito el paso intermedio de meter también VGA y así, si todo cuadra, tener VGA y HDMI a la par (y quién sabe, en dos monitores tal vez)

Por cierto, el proyecto de Spectrum HDMI de Pipistrello (http://joco.homeserver.hu/zxpipi/) ya tiene resueltos los problemas de salida a HDMI, pero no libera los fuentes. En su página dice, que la ULA es libre (lógico, es de Mcleod_Ideafix) y el HDMI es el mismo que ya tengo yo, que ya he probado con éxito, pero el "scandoubler" no lo suelta, sino es bajo "pedido", y no seré yo quién se lo pida.
En su lugar, estoy tratando de usar varios Scandoubler que he localizado por la red, como algunos de máquinas arcade o el del Spectrum DE1. Pero ninguno de ellos tiene las entradas que necesito, y ahí ando, tratando de adaptar.

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Sobre la posibilidad de añadir HDMI mediante placa addon

Mensaje por mcleod_ideafix » 07 Oct 2015, 15:59

Pero.... precisamente la gracia de usar HDMI es que no necesitas scandoubler, ¿no? Quiero decir: en HDMI tú puedes transmitir una señal PAL entrelazada, o sea, dos campos de 704x288 cada uno, para formar un cuadro de 704x576. En tal caso no necesitas scandoubler, ya que la frecuencia de línea siguen siendo los 15.6kHz de PAL

Lo que sí hay que doblar es el número de puntos en horizontal. En HDMI-PAL el reloj "oficial" es de 27MHz, mientras que en RGB-PAL es de 13.5MHz. Así, lo que se hace para HDMI es sacar el mismo valor de pixel dos veces, pero eso no es "scandoublear" (que sería repetir una línea entera en la siguiente)

Por eso comentaba en un post anterior que, probablemente, el número de recursos necesarios para sacar HDMI sea menor que los necesarios para sacar VGA. En VGA necesito un buffer de block RAM lo suficientemente grande como para almacenar temporalmente dos scans de video. Es decir, 704 pixeles por línea (los dos bordes de 32 y 64 píxeles cada uno, más los 512 píxeles de paper). Cada pixel tiene 9 bits de color, así que tienes en total 704*2*9 = 12672 bits de memoria RAM, o mejor dicho, dos bloques independientes de 704*9 bits. Mientras la ULA está "pintando" en uno de esos bloques, el otro es explorado dos veces seguidas, al doble de velocidad, para formar la imagen VGA. La doble exploración (double scan) consume exactamente el mismo tiempo que lo que tarda la ULA en generar la siguiente línea, así que cuando se han pintado dos líneas VGA, el otro buffer recién rellenado por la ULA está listo para ser "double scanned" por la VGA, mientras que el buffer que estaba siendo usado para VGA queda libre para que la ULA almacene en él la siguiente línea.

No sé si me he explicado... A ver si encuentro algún enlace, video, o gráfico que lo explique mejor... Mira: esto puede servir: http://elm-chan.org/works/sc/report.html
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Sobre la posibilidad de añadir HDMI mediante placa addon

Mensaje por jepalza » 07 Oct 2015, 16:17

Ya, pero es que mi idea es sacar las dos, tanto VGA como HDMI a la vez, o bien para poder sacar imágen a ambos a la vez, o bien para quedarse con uno u otro. Por eso mi intento de hacer juntos ambos. Por eso, y por que todos los ejemplos que he encontrado, pasan de VGA a HDMI (o de RGBHV a HDMI, como ocurre en las máquinas arcade antiguas).
De todos modos, el problema es el mismo, como descomponer CSYNC en HSYNC/VSYNC, y ademas obtener BLANK y PIXELCLOCK desde la ULA, para que el HDMI funcione.

Otra cosa, ¿por que entonces el de Pipistrello requiere scandoubler y "No lo suelta"? algo habrá. El también usa el mismo HDMI que empleo yo, y ha requerido un doblador antes de meterlo al HDMI saliendo desde la ULA tuya, que genera CSYNC.

Avatar de Usuario
mcleod_ideafix
Mensajes: 831
Registrado: 27 Sep 2015, 00:14
Ubicación: Jerez de la Frontera
Contactar:

Re: Sobre la posibilidad de añadir HDMI mediante placa addon

Mensaje por mcleod_ideafix » 07 Oct 2015, 18:22

jepalza escribió:Otra cosa, ¿por que entonces el de Pipistrello requiere scandoubler y "No lo suelta"? algo habrá. El también usa el mismo HDMI que empleo yo, y ha requerido un doblador antes de meterlo al HDMI saliendo desde la ULA tuya, que genera CSYNC.
Creo que a lo que Josef llama scandoubler...
create a scan doubler that gets the specrum video output and generates the scanlines with the doubled pixel rate (14MHz)
Es algo distinto a lo que se suele entender por un scandoubler. Aquí lo que dice es que ha hecho "algo" para que la salida de video genere una señal con el doble de reloj de pixel, o dicho de otra forma, con el doble de píxeles por línea. Algo que de hecho ya hace ZX-Uno, porque tiene que soportar el modo de 512x192 que emplea precisamente el doble de píxeles por línea que un Spectrum normal (y es de hecho el modo en el que me baso para los cálculos del tamaño del scandoubler para VGA que comento antes)

De todas formas, esto que digo es cierto sí y solo sí en HDMI se puede emitir una señal PAL entrelazada, es decir, 704x288 @50Hz que equivale a 704x576 @25Hz. Si la resolución PAL en HDMI es, como empiezo a sospechar, 704x576 @50Hz, entonces SÍ que hace falta un scandoubler idéntico al que usarías para la VGA.

Por cierto: estos experimentos que hacemos con el HDMI están muy bien si son eso, experimentos. Si tuviéramos que meter HDMI en el producto final, y éste fuera para el mercado de consumo, como el Vega, tendríamos que pagar 10000 dólares cada año, más 15 centavos por aparatito vendido. Ahí lo digo, ahí lo dejo ;) (bueno, para pequeños volúmenes "sólo" hay que pagar 5000 dólares al año, más 1 dolar por aparatito vendido). ¿Entendeis ahora por qué el Vega no tiene HDMI?
Discursión sobre el tema, aquí: https://boards.openpandora.org/topic/18 ... t-of-hdmi/

Al ser una FPGA, el conector HDMI no es tal hasta que no existe un core que lo usa como tal (no sé si me explico), así que a lo mejor no pasa nada incluso aunque se hiciera una versión del ZX-Uno con el HDMI integrado en la placa base, pero.... ¿y si nos estamos buscando un problema a lo tonto? Mejor tener HDMI, VGA y lo que quieras como opción aparte, ¿no?

En Olimex se han preguntado lo mismo, ya que querían sacar unos shhields para no se qué SoC con Linux, y se encontraron que tenían que pagar el dichoso royaltie. Es más, si usaban chips adaptadores de lo que sea a HDMI se encontraban con que en algunos casos, para poder acceder a la documentación del chip y poder incluso comprarlo, tenían que firmar un NDA y suscribirse al programa de adoptadores de HDMI con el consiguiente paso por caja.

Ellos han llegado a un chip, el Chromtel 7009B (adjunto datasheet): toma una señal digital que puede ser de 24 bits de color, o de 16 bits en formato 555 o 565, y la convierte a video compuesto, S-Video, RGB, YCrCb, VGA y DVI. ¡Casi ná! El chip está a 25 dólares el lote de 10 en Aliexpress. http://es.aliexpress.com/store/product/ ... 71004.html
Adjuntos
CH7009B.pdf
(585.91 KiB) Descargado 255 veces
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA

Avatar de Usuario
jepalza
Mensajes: 613
Registrado: 02 Oct 2015, 18:52

Re: Sobre la posibilidad de añadir HDMI mediante placa addon

Mensaje por jepalza » 07 Oct 2015, 19:35

Jopé! vaya con lo del HDMI. Yo no me esperaba eso, y me imagino que nadie mas. Sí que hay que tener cuidado. Pero por ahora, oo que tú dices, es por diversión. Sería una pena lograrlo y no poderlo incluir.
Por ahora, voya quitar lo de VGA y voy a ver si consigo endosar la señal que sale de la ULA al HDMI sin muchos cambios. Total es por diversión y pasar el rato.

Responder