My experiments with my home-brew protocol analyzer have been informative. I threw enough logic into the FPGA so I could generate versions of HSync, VSync, and DE, and measure the pixel clock. The CM4 with the default timings outputs a continuous stream of hsync pulses with a one line vsync pulse (followed by 21 lines before the start of the active region, so meeting the 22/2/20 vertical timings overall). The hfp/hsync/hbp timings are also consistent throughout the frame.
On the RPi 5 with the RP1, I see a nice continuous stream of hysnc pulses starting with the vfp, vsync, vbp, and active region, then things get ugly. After the last active line of the video frame, there is a "runt" horizontal line (3.48uS) instead of the expected 17.28 uS horizontal line time. After this discontinuity, the timing remains consistent for the entire next frame, until the last active line comes around again and the sequence repeats.
So...what's resetting the video timing at the bottom of the frame? Maybe the MIPI bridge is working fine but the DPI block is not setup correctly for our fairly low resolution?
I suspect you should be able to easily see the discontinuity on your analyzer if you look at the tail of the active video region and vfp. Once I got my 'scope to properly trigger on the "runt" horizontal line, everything else seems perfectly stable. The start/end of active video, the vsync pulse, etc. are all stable when referenced to the short horizontal line.
On the RPi 5 with the RP1, I see a nice continuous stream of hysnc pulses starting with the vfp, vsync, vbp, and active region, then things get ugly. After the last active line of the video frame, there is a "runt" horizontal line (3.48uS) instead of the expected 17.28 uS horizontal line time. After this discontinuity, the timing remains consistent for the entire next frame, until the last active line comes around again and the sequence repeats.
So...what's resetting the video timing at the bottom of the frame? Maybe the MIPI bridge is working fine but the DPI block is not setup correctly for our fairly low resolution?
I suspect you should be able to easily see the discontinuity on your analyzer if you look at the tail of the active video region and vfp. Once I got my 'scope to properly trigger on the "runt" horizontal line, everything else seems perfectly stable. The start/end of active video, the vsync pulse, etc. are all stable when referenced to the short horizontal line.
Statistics: Posted by cdsteinkuehler — Mon Jul 29, 2024 5:43 pm