This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS90UB935-Q1: DVP mode with DS90UB934-Q Missing Pixels and Sync Problems

Part Number: DS90UB935-Q1


Tool/software:

Dear Experts,

I am currently working on implementing the DS90UB935-Q with the DS90UB934-Q in backwards compatibility mode, and we are attempting to extract data from the IMX412 sensor. However, we are encountering difficulties in transmitting an image over the FPD-Link III.

Issue Details:

  • Test Pattern from serializer: We can successfully obtain a test pattern from the serializer (1920x1080).
  • Test Pattern from serializer size problem: When attempting to capture a larger image size (4056x3040), we are missing pixels.
  • Test Pattern from IMX412: We receive some data from the IMX412 test pattern, but it is not the expected amount.

Observations:

  • The image on the left is what we expect, and the image on the right is what we received. Although the image is not yet debayered, it is evident that we are not receiving the expected number of pixels.
  • In both cases, it appears that we are missing pixels and experiencing issues with horizontal and vertical syncs.

Steps Taken:

  • We have thoroughly reviewed the datasheets and the application note for the DS90UB953 in backwards compatibility mode. We understand that this application note should be applicable to the DS90UB935 as well.

Request for Assistance:

We would greatly appreciate any insights or suggestions on how to resolve these issues. Specifically, we are looking for guidance on:

  • Ensuring proper pixel transmission for larger image sizes.
  • Addressing the missing pixels and sync issues.

Our initialization can be viewed here: https://pastes.io/ds90ub934-ds90ub935-python-init, I'm not allowed to share the imx412 settings because of NDA.

Thank you in advance for your help!

Best regards,

Bram

  • Hello Bram,

    I had a couple additional questions:

    1. Are you operating in RAW10/RAW12HF/RAW12LF?
    2. Are you enabling the PATGEN feature in the 935 device?
      1. PATGEN is a feature only for generating CSI packets. The 935 PATGEN cannot be used to feed test video data into the 934 device.
      2. It seems you are using a test pattern from your IMX412 sensor instead.
    3. You are trying 2 different resolutions in your test pattern.
      1. 1920x1080
      2. 4056x3040
      3. Depending on the BW, you would need to change the CLKIN frequency on the 953, according to the video bandwidth being inputted.

    ...

    Some example calculations:

    CSI-2 Throughput = MIPI Clock x # data lanes

    CLKIN = CSI-2 Throughput / 20 (Assuming RAW10 mode)

    If MIPI Clock = 150MHz (300Mbps) and # of data lanes = 4, then:

    CSI-2 Throughput = 1200Mbps

    CLKIN = 60MHz

    ...

    Can you provide more details on the CSI bandwidth in your system and what CLKIN frequency was fed into the 935 serializer?

    Best,

    Justin Phan

  • Hello Justin,

    Thanks for your reply,

    1. We are using the raw12HF.

    2.
    a. We thought that we could use Patgen in the 935 to test the video data.
    We do see test pattern data coming out of the 934 that corresponds to the test pattern from the 935.
    However, we are missing pixels and H/V syncs. Where can we find that the Patgen only generates CSI packets?

    b. Yes, we are also trying to get the IMX412 test pattern working,
    but we are also missing pixels and H/V syncs.

    3.
    a/b. On the 935 Patgen, we tried both. On the IMX412, we only tried 4056x3040.
    c. We are using a 66.666 MHz clock.

    We've calculated the clocks etc like this:
    The deserializer has a max output rate of 100MHz with a width of 12 bits => 1200Mbps
    In DVP mode the CSI throughput should be the same as the deserializer output rate (so 1200Mbps).
    Therefor CSI throughput should be 1200Mbps and with RAW12 HF this results in a CLKIN of 1200/18 = 66.6666... MHz (closest we could find was 66.666)
    SNLA270A also states that the CSI input needs to be synchronous with CLKIN when using DVP external clock mode. So we are using the CLKOUT of the 935 to feed 6MHz clock to the sensor.

  • Hello Bram,

    In general, here is the table you should be following.

    Is the imager operating in CSI continuous clock mode? If so, then what is the frequency on the MIPI clock pins? And how many data lanes are active in the CSI port?

    If we know that, then we can calculate the minimum CLKIN frequency of the 935, in order to properly sample the incoming video data.

    Best,

    Justin Phan