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.

DS90UB954-Q1: About abnormality detection

Part Number: DS90UB954-Q1

Hi Team,

I will use 954 for my product.
To perform system testing, I use evaluation equipment with a 933 installed.
I am updating drawing data from the 933 at 1 second intervals, which is received by the 954 and transmitted to the SoC via CSI communication.
A TFT is connected to the output of the SoC.

  • Case 1
    When the antenna irradiation test is performed in the noise test, the screen update stops and the TFT display sticks.
    The TFT display is overlaying drawing data (sprite) and is working normally except for the drawing data from FPD-LINK III.
    From this, the output circuit from the SoC to the TFT is normal.
    When the antenna irradiation is stopped from the screen sticking and the 954 register is rewritten, it returns to normal.
  1. Question 1
    Is there any way to determine whether the FPD-LINK III is abnormal or the CSI is abnormal?
  2. Question 2
    The wiring pattern of CSI is long, so I assume that CSI is abnormal.
    Is it possible to detect CSI abnormality with IS_CSI_PASS or IS_CSI_PASS_ERROR of 0x37?
  • Case 2
    I tried to create the same condition as the screen sticking and shorted the CSI data line to GND.
    (For example, shorting CSI_D0P to GND)

Releasing the short and rewriting the register did not restore it to normal.
This is a different state from case 1.

If I reset PDB to Low and rewrote the register, it did not return to normal.
It is not a permanent damage because it will return to normal after a system reset including SoC.
When the CSI waveform was checked, it was out of specification.

Since CSI is a signal output from the 954, I believe there is something wrong with the 954, but is it possible that there is a case where the 954 does not recover even if it is reset?
(For example, is the receiving side (SoC) of CSI abnormal?)

Best Regards.

  • Hello Masanori,

    Question 1
    Is there any way to determine whether the FPD-LINK III is abnormal or the CSI is abnormal?

    You may test the DES output using its own Pattern generator.

    Alternatively, please check the DES registers values before the flickering and after the flickering.

    Question 2
    The wiring pattern of CSI is long, so I assume that CSI is abnormal.
    Is it possible to detect CSI abnormality with IS_CSI_PASS or IS_CSI_PASS_ERROR of 0x37?

    CSI PASS and CSI PASS Error registers will tel you if there are valid CSI data at the DES output or not. But they will not tell you if the data got corrupted after the noise radiation.

    I tried to create the same condition as the screen sticking and shorted the CSI data line to GND.
    (For example, shorting CSI_D0P to GND)

    Please do not short CSI lanes to GND, this could damage the DES or the SoC partially or completely.

    " Masanori Okano said:

       Since CSI is a signal output from the 954, I believe there is something wrong with the 954, but is it possible that there is a case where the 954 does not recover even if it is reset?

    If you reset the DES but the issue did not recover, but it recovers only by resetting the system, that means the SoC is the one was affected by the issue or both SoC and DES.

  • Hi Hamzeh,

    Thanks for the answer.

    I compared the registers before and after the screen sticking.
    Address 0x37 went from 0x00 to 0x03.
    Address 0x36 is 0x00 both before and after, so I am wondering why it would be 0x03.
    Since it was 0x03, I thought that the detection could be done at address 0x37.

    Question 1
    In CSI, is there a way to detect if data has been corrupted after noise radiation?

    I would like to monitor the registers periodically to make sure they are working properly.

    Question 2
    I wanted to refresh all the registers periodically, but would it stop the operation even temporarily?
    Are there any considerations such as not writing to the same setting values?

    Question 3.
    I can't think of which registers to monitor periodically.
    Is there any way to check the operation of the 954 receiving FPD-LINK III and outputting CSI?

    Best Regards.

  • Hello Massanori,

    Question 1
    In CSI, is there a way to detect if data has been corrupted after noise radiation?

    You may enable Interrupts on register 0x36 and monitor Interrupts status in register 0x37.

    Also, you can monitor register 0x4D and 0x4E.

    Question 2
    I wanted to refresh all the registers periodically, but would it stop the operation even temporarily?
    Are there any considerations such as not writing to the same setting values?

    What do you mean by refreshing the registers? Writing them again? Can you specify which registers?

    Question 3.
    I can't think of which registers to monitor periodically.
    Is there any way to check the operation of the 954 receiving FPD-LINK III and outputting CSI?

    You can monitor reg 0x4D bit 0 and bit 4 to monitor if LOCK is stable.

    You can monitor register 0x73-0x76 to see if the 954 is receiving the expected resolution or not.

    You can monitor reg 0x35[0] to see if the 954 is outputting valid data or not.

  • Hi Hamzeh,

    I would like to add to question 2.
    Refreshing a register means to write the set register again.

    As an example, let us take one address.
    The initialization process sets CSI_LANE_COUNT at address 0x33 to 10: 2 lanes.
    Periodically (e.g., in 100ms cycles), 10: 2 lanes is written.
    At this time, we want to know if the operation continues without stopping.
    It would be great if there is a control in place such that it does not write the same value.

    If writing again causes the operation to stop, I will try not to write again.

    Best Regards,

  • Hello Masanori,

    I understood your point. But I am not sure why are you writing periodically the same value every cycle? These configuration values need to be written just once at the beginning of operation.

    I can't really answer your question if any value will cause the operation to stop, because we have never validated our devices to work in this way!

  • Hello Hamzeh,

    When using a device from another company, there was an incident in which the register value changed due to external noise, causing the device to malfunction.
    Therefore, the registers are periodically overwritten to prevent recurrence.
    We are considering overwriting the DS90UB954 periodically as well, which is why we asked this question.

    I understood that the results are not known as I have never verified this.

    Best Regards,