Autor Tema: Capturar señales de video LVDS de un panel TFT  (Leído 180 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2736
Capturar señales de video LVDS de un panel TFT
« en: 11 de Octubre de 2017, 17:51:55 »

hola.

Necesito capturar las imágenes que se reproducen en un panel TFT conectado por LVDS. Entiendo que necesito un circuito extremadamente rápido para poder hacerlo.

Tengo mis dudas de que un microcontrolador, incluso los Cortex M7 a 300Mhz, como el Atmel SAM S70 pueden capturar estas señales con la suficiente rapidez, o igual estoy equivocado y no es tan complicado.

Luego barajo usar algún SOC, como un Raspberry Pi3, pero no se que tan rápidos son los puertos del RPY para capturar señales digitales.

La última opción, y seguramente la ideal sería usar un FPGA, pero es una tecnología que apenas la conozco, a menos que de una vez me meta de lleno y aprenda a programarlos. Hace ya bstante tiempo hice mis primeras cosas muy básicas en VHDL, lo típico de encender unos led y leer unos pulsadores, pero ya ni me acuerdo del lenguaje.

¿ Teneis alguna experiencia manejando señales LVDS de paneles TFT, o alguna sugerencia de como capturar estas señales, si hay algún producto comercial. ?

Saludos.
« Última modificación: 11 de Octubre de 2017, 17:56:34 por planeta9999 »

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2088
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #1 en: 11 de Octubre de 2017, 19:17:47 »
Necesitas un deserializador, ej:

http://www.ti.com/lit/ds/symlink/ds90cf384a.pdf

Y un uP con entrada de video por paralelo. Si la entrada de video es de menos bits que tu lvds/deseriaizador pues usas solo los de mayor peso del deserializador. Por cierto no has dicho cuantos "lanes" tiene el lvds.

Yo huiría de RPI y otras placas que tengan entrada de Video por MIPI ya que complica mucho. Además la RPI sólo coge sus cámaras ya que los drivers de la GPU están cerrados: "este es mi HW y mi SW y me los follo cuando quiero :P"

Saludos!

Por cierto: ni idea de lo largos que son los cables que van a "robar" video, pero si metes mucha impedancia tendrás que pondrar un repetidor/buffer o joderás la señal tanto de la entrada de video como del TFT.
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2736
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #2 en: 11 de Octubre de 2017, 19:32:25 »
Necesitas un deserializador, ej:
http://www.ti.com/lit/ds/symlink/ds90cf384a.pdf

Gracias, lo voy mirando.

Citar
Y un uP con entrada de video por paralelo. Si la entrada de video es de menos bits que tu lvds/deseriaizador pues usas solo los de mayor peso del deserializador. Por cierto no has dicho cuantos "lanes" tiene el lvds.

No tengo ni idea de que es eso. Estoy esperando que me pasen la referencia del panel TFT para bajar la hoja de características y empezar a estudiarlo.

Citar
Yo huiría de RPI y otras placas que tengan entrada de Video por MIPI ya que complica mucho. Además la RPI sólo coge sus cámaras ya que los drivers de la GPU están cerrados: "este es mi HW y mi SW y me los follo cuando quiero :P"

¿ que hardware sugieres para capturar estas señales ?, mucho me temo que tendrá que ser un FPGA o algún SOC potente, pero quitando el RPY no conozco otros.

Citar
Por cierto: ni idea de lo largos que son los cables que van a "robar" video, pero si metes mucha impedancia tendrás que pondrar un repetidor/buffer o joderás la señal tanto de la entrada de video como del TFT.

Los pondré lo más cortos posible, pero aun me queda mucho que mirar, es un melón que todavía no se ni por donde empezarlo.

Desconectado tsk

  • PIC16
  • ***
  • Mensajes: 156
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #3 en: 11 de Octubre de 2017, 19:38:02 »
Aquí clarifican que es lo que debes de hacer, aunque ellos recomiendan un FPGA

http://www.ti.com/lit/an/sbaa205/sbaa205.pdf

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2736
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #4 en: 11 de Octubre de 2017, 19:58:07 »
Aquí clarifican que es lo que debes de hacer, aunque ellos recomiendan un FPGA

http://www.ti.com/lit/an/sbaa205/sbaa205.pdf


Creo que no es lo mismo, eso parece que es para trabajar con conversores AD que envían sus datos por LVDS.

En mi caso se trata de señales de video, enviadas por LVDS a paneles TFT. Con el deserializador que indica manwenwe, tenemos prácticamente las señales de un monitor RGB, osea Rojo, Verde, Azul y los sincronismos vertical y horizontal, eso ya me suena de cuando estudié como funcionaba un televisor, que es igual que un monitor a esos efectos.

Trabajando con las señales que entrega el deserializador, creo que la cosa es más fácil, son señales de frecuencia mucho menor  y puede que incluso con un microcontrolador Cortex M7, bien un Atmel SAM S70 o los nuevo STM32H7, pueda capturarlas sin problemas, sobre todo si echo mano del DMA.

Empiezo a ver la luz, aunque hasta que no haga unas pruebas y unas mediciones con el osciloscopio, no saldré de dudas.

Si ya sabía yo que esto del DMA iba a ser fundamental para muchos de los diseños que me propongo hacer, ahora me falta encontrar buena documentación, ejemplos de código fuente y dominar cuanto antes como configurarlo con Kinetis, ST y Atmel SAM.

Con la señal de reloj que da el deserializador, puedo alimentar la señal de reloj de tres puertos SPI de un micro, vinculados a sendos canales del DMA, las señales de datos rojo, verde, azul, a la entrada de datos de esos tres puertos SPI, y las señales de sincronismos a interrupciones para capturar el buffer del DMA. Algo así ya lo tengo hecho para manejar mis pantallas LED con señales de máquinas arcade, solo que estas son mucho más lentas, pero el principio de funcionamiento es el mismo.
« Última modificación: 11 de Octubre de 2017, 20:19:59 por planeta9999 »

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2088
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #5 en: 12 de Octubre de 2017, 08:00:11 »
Ni de coña planeta: no te metas en embolados con microcontroladores o fpgas que se te va a hacer eterno. Coge un procesador que venga ya con todo mascadito. Además sin hardware ad-hoc no creo que un microcontrolador te funciones: estamos hablando de deserializar señales de fácil 80mhz...

Te sugiero estos módulos:

https://www.pine64.org/?page_id=1486

saludos.
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2088
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #6 en: 12 de Octubre de 2017, 08:34:18 »
O estos:

http://www.myirtech.com/list.asp?id=562

De iMX6UL tienes un montón de info y manuales.
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2736
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #7 en: 12 de Octubre de 2017, 09:07:43 »
 

¿ Todo eso se parece al Raspberry Pi3 Compute, no ?, es que este ya lo tengo, y me parece bastante potente, aparte de que hay mucha documentación y librerías disponibles. Monta un procesador ARM Cortex-A53 64-bit quad-core a 1.2Ghz con 1GB de Ram.

Yo creo que el PINE A64, que has puesto en tu primer enlace, es igual que el RPY3 Compute, usa el mismo procesador (Quad-Core ARM Cortex A53 64-Bit).

La idea sería usar uno de esos chips deserializadores (menuda palabreja más incomoda de escribir), y ya con las señales Rojo, Verde, Azul y los sincronismos Horizontal/Vertical, meterlas a los puertos de lo que vaya a usar para procesarlas, que podría ser un SOC de estos con un procesadsor ARM Cortex-Ax. El RPY3 Compute me parece bien, equiparable a lo que has puesto.
« Última modificación: 12 de Octubre de 2017, 09:15:59 por planeta9999 »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2736
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #8 en: 12 de Octubre de 2017, 09:25:28 »
 

A ver si voy cazando cosas. A la salida LVDS de la placa que ahora conecta al monitor TFT, le conecto el chip deserializador, este me desmenuza las señales LVDS y me da las siguiente señales:

.- Rojo (la componente roja del color RGB, de un punto)
.- Verde (la componente verde del color RGB, de un punto)
.- Azul (la componente azul del color RGB, de un punto)
.- Sincronismo Vertical (un pulso para indicar inicio de imagen)
.- Sincronismo Horizontal (un pulso para indicar inicio de linea, o se trata de un pulso por punto, no lo tengo claro)
.- DRDY (Data Enable) ---> Esto no se que es, tal vez una señal que indica que hay datos diponibles en Rojo, Verde, Azul
.- FPSHIFT OUT (20 to 65 Mhz) ---> Tampoco se que es, sospecho que la señal de reloj de los datos rojo, verde, azul
.- POWER DOWN ---> supongo que para encender o apagar el TFT


Estas vienen a ser la señales típicas de un monitor RGB, solo necesito leerlas y procesarlas con un hardware que sea lo suficientemente potente y que no sea complejo de programar. A mi me parece que un Raspberry Pi3 puede ser la elección, tengo la versión convencional y la Compute.

La señal FPSHIFT OUT (20 to 65 Mhz) de salida en el chip, ahora que lo veo, parece la misma que hay en la entrada CLOCK LVDS (20 to 65 Mhz), no se que utilidad puede tener en este caso, me tendré que leer el Datasheet con detenimiento y montar una plaquita para hacer pruebas y mediciones con el osciloscopio.



« Última modificación: 12 de Octubre de 2017, 09:38:32 por planeta9999 »

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2088
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #9 en: 12 de Octubre de 2017, 09:47:16 »
La señal de salida de reloj es deserializada. La necesitas para la entrada de la cámara. Hay varios tipos de RGB paralelo, y no todos utilizan las mismas señales de control: hsync, hsync, dotclock y dataready. Empollatelos y mira cuál te vale para la entrada de vídeo.
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2088
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #10 en: 12 de Octubre de 2017, 09:48:42 »
Hsync, vsync,... Perdón
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2736
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #11 en: 12 de Octubre de 2017, 09:51:55 »
 

Si, tengo que esperar a que me pasen la referencia del panel TFT, para conseguir la hoja de características y ya ver que señales usa.

La duda que me asalta ahora mismo, a falta de saber los detalles del panel TFT, es si la circuitería del deserializador va dentro del panel TFT, o hay paneles paralelo y otros LVDS.

Ahora mismo solo tengo esta foto del cable cinta que me paso anoche un amigo que tiene ese producto. No se, me da que pensar que el panel es paralelo y en ese caso no hace falta ningun deserializador, las señales ya llegan listas para procesar (Rojo 8bit, Verde 8bit, Azul 8bit, Sincronismo Vertical, Sincronismo Horizontal, Data Enable y Reloj).






« Última modificación: 12 de Octubre de 2017, 10:56:55 por planeta9999 »

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2088
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #12 en: 12 de Octubre de 2017, 12:26:45 »
ayyyy tanto lio pa na :P. No eso no tiene pinta de ser LVDS.

Lo que sigo sin entender es el sentido de pinchar las señales de entrada a un TFT cuando al lado tienes que tener la fuente de video. Suena a algo de ingeniería inversa :P
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2736
Re:Capturar señales de video LVDS de un panel TFT
« Respuesta #13 en: 12 de Octubre de 2017, 15:11:27 »


Si, claro está la fuente de video que es un circuito electrónico, pero necesito capturar esas imágenes como señales digitales para otros procesos. Se puede considerar ingeniería inversa.