10-08-2019 01:22 PM
I'm trying to implement a reduced latency video pipeline, so I want the sycnronize the video source with the destination to keep buffering to a minimum. The MIPI DSI Tx subsystem has its own video timing generator within it, so I need to be careful how I synchronize with it. There is a core enable bit. Can anyone tell me if the video timing generator in the DSI Tx is free running, or does it start when the core enable bit is asserted? If it's free running, then there can be a one frame delay between core enable, and video starts going. If the timing generator starts when core enable is asserted, then there is a few lines delay only.
Some related questions: Is there any easier way to start the DSI Tx from FPGA logic other than generating AXI transactions? I was hoping for a control line...
Is there any way to access the vsync and hsync generated by the DSI Tx core?
10-08-2019 07:36 PM
Hello Joe @jhallen
1. The timing generator inside MIPI DSI controller will start when the core enable bit is asserted.
2. Unfortunately, user cannot access vsync/hsync directly.
As mentioned in the PG238 that The controller must be programmed with required timing values for video data transfer. Please refer Example Timing Register Calculations in PG238 Chapter3.
01-27-2020 10:25 PM
Hello Joe @jhallen
Do you have any update on this post ?
If your question is answered or issue solved, would you be able to share your solution ? so other forum users can learn from your experience.
Thanks & regards
01-28-2020 11:16 AM
Oh, I did get this to work, I mean I could start a DSI Tx subsystem by having an FPGA state machine generate an AXI transaction to set the enable bit. However, I then ran into the issue where the sync timing within the DSI core is not calculated correctly, see this thread:
This second issue ultimately prevented me from using the Xilinx DSI IP. I ended up writing my own IP (I now have DSI Tx, DSI Rx and CSI Rx and I will soon also have CSI Tx).
01-30-2020 12:41 PM
It might be possible to share it as unsupported open source, I'm checking with the client. But it will certainly take months before this could be possible.