Author Topic: Capturing parallel RGB data with low pixel clock  (Read 76 times)

0 Members and 1 Guest are viewing this topic.

Online snobolegTopic starter

  • Newbie
  • Posts: 2
  • Country: de
Capturing parallel RGB data with low pixel clock
« on: July 14, 2024, 07:01:38 pm »
So I have this project in mind but I am not sure what the best/easiest way to aproach it might be.
The goal is to capture the parallel RGB output of a TI DS90CR216 chip. https://www.ti.com/lit/ds/symlink/ds90cr215.pdf?ts=1720978293511
I "just" want to create a video stream over some kind so I can display/stream the video data on a linux machine. I wouldn't mind black bars or somewhat low fps.
The image output is 400x240pixels, I currently don't know the refresh rate. However at something like 60Hz this would result in a pixel clock below 10MHz.

Now I had a couple of ideas on how to approach this issue, but I'm not sure which one would even work.

Converting parallel RGB to DVI using the TFP410
I found a project here where a very similar issue was solved.
In this project the op created a PCB with a TFP410 to convert from parallel RGB to DVI.
As far as I can tell the underlying video data is at 480p though which satisfies the necessary pixel clock of 25MHz for the TFP410.

https://www.eevblog.com/forum/testgear/tektronix-tds3xxx-replacing-backlight-power-supply-fan-etc-(photos)/msg5502568/#msg5502568

I have been testing around a bit with one of these loiw budget HDMI to USB capture cards. And it only takes the resolution of 400x240 at weird timings. For CVT it only work at a refresh rate above 180Hz.
With some tweaking of the timings I can actually get a picture at 60Hz with black bars too. However I don't think I can replicate these timings with a TFP410.

The data sheet states that the required pixel clock is at least 25MHz. I would guess the chip would still work outside of that spec and might output a signal that is not DVI compliant. However I don't know how to capture that, because the receiving end doensn't accept a signal with a pixel clock that low.

This application note lists DS90CR218A as compatible to the TFP410, which appears similar to the DS90CR216. But I guess this is also expecting a higher pixel clock.
https://www.ti.com/lit/an/slla559/slla559.pdf


Using a ESP32 to read the parallel data and stream over http webserver
There are some ESP32 projects like the ESP32-cam etc that utilize the i2s functionality to read parallel data and stream it.
So in theory the ESP32 could be capable to do something like this.
The ESP32-camera library only supports a couple of camera sensors as far as i can tell and these use a data bus and instead of just parallel RGB bits.
The closest things i was able to find for this approach are these topics. Sadly I just don't know enough at this level of coding to make this work for me.
The first link has got some code at the end of the thread that is used to read parallel data if I understand correctly.

https://esp32.com/viewtopic.php?t=24980
https://github.com/TobleMiner/esp_i2s_parallel


Converting parallel RGB to analog Video
Last idea I had was to maybe convert to CVBS or VGA or something like that and feed it back to a capture card.
I was looking into chips like the ADV7125 for example. https://www.analog.com/media/en/technical-documentation/data-sheets/ADV7125.pdf
But I'm not sure if it would work.


I would be open to any other ideas to make this work. Would appreciate any input.
Scaling the original data from 400x240 to 800x480 would eliminate the pixel clock issue. Woulnd't even mind just padding the picture with black bars.
But i just don't know if or how that could be achieved.
« Last Edit: Yesterday at 01:37:34 am by snoboleg »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf