The short of it:
Is the ESP32 powerful enough to generate a single color HDMI signal at 1080p and 4k?
The long of it:
I'm looking to generate a single color HDMI signal when a input button is pressed with sub millisecond latency. I know an FPGA can do this but I'm wondering if the ESP32 is capable. I figure since I can hardcode the needed arrays for each of the 3 data lines (RGB), that should save some clock cycles. In some reading I've done, it seems that HDMI needs a 25Mhz pixel clock which seems doable.
I'm new to these dev boards so, if I'm going down a dead end here feel free to tell me.
Generating a HDMI signal
-
- Posts: 9727
- Joined: Thu Nov 26, 2015 4:08 am
Re: Generating a HDMI signal
Without any external components you mean? It's going to be hard... as you said before, HDMI needs a pixel clock of 25MHz, however it's a serial protocol that encodes each pixel into (3 lanes of) 10 bits. This means that for each pixel, there are 10 bits that need to be clocked out. As the I2S speed has an absolute theoretical maximum of 80MHz on the ESP32, this means you can obtain a maximum pixel clock of 8MHz... while some monitors/TVs could in theory be nice enough to support a resolution with a pixel clock that low (320x240x60Hz?), it's out of spec and as such far from a given that it would work.
Alternatively, you can use an external RGB-to-HDMI chip and use e.g. Bitlunis VGA stuff to generate the RGB signals, but then you'd be generating HDMI only indirectly.
Alternatively, you can use an external RGB-to-HDMI chip and use e.g. Bitlunis VGA stuff to generate the RGB signals, but then you'd be generating HDMI only indirectly.
Re: Generating a HDMI signal
I just wonder - if I supply a HF signal from an external PLL with higher frequencies like 200Mhz+ - can I2S handle it?
For ESP32 cpu is jus a matter of how fast the buffers are read from dma/fifos. This could even increase the fps of cameras
For ESP32 cpu is jus a matter of how fast the buffers are read from dma/fifos. This could even increase the fps of cameras
Re: Generating a HDMI signal
Thanks for the response ESP_Sprite. I knew that the 3 lanes needed to be encoded in the 10 bits but for some reason was thinking that would only be an issue of eating up clock cycles. Somehow it hadn't occurred to me that the transmission of that data would be the real bottleneck. Doh!
Would a RGB->HDMI encoding chip add significant latency (greater than 1 ms)? Also, are there any chips you would recommend? I'm having trouble finding a chip that takes an RGB signal.
Would a RGB->HDMI encoding chip add significant latency (greater than 1 ms)? Also, are there any chips you would recommend? I'm having trouble finding a chip that takes an RGB signal.
-
- Posts: 9727
- Joined: Thu Nov 26, 2015 4:08 am
Re: Generating a HDMI signal
Deouss - I don't think a pll will help here - as far as I'm aware, the I2S signals get synced to the internal 80MHz clock, so you can't go faster than that.
nikescar - You may want to try looking for a parallel-to-TMDS converter, as that's the underlying physical layer of HDMI/DVI.
nikescar - You may want to try looking for a parallel-to-TMDS converter, as that's the underlying physical layer of HDMI/DVI.
Who is online
Users browsing this forum: No registered users and 62 guests