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.

SN65DP159: Is there any pin on this device or HDMI pin that we can read it out, and get the information that shows the monitor operates normally?

Part Number: SN65DP159

Hi Expert,

Since my customer would like to know whether their remote monitors operates normally or not?

May I know does we have any pin or register in SN65DP that can match this requirements?

or Does the pins in HDMI that can indicate it?

From my perspectives, we can monitor HPD pin first, since it pulls high(>2v) if the connection is fine.
After that, we could monitor DCC data pin to see if the data is transmitting.

The question is that how do I read out the DCC data?
What waveform indicates the normal operation? 
What waveform indicates the abnormal operation? 

 

Thanks,

BR,

Aaron Chen

  • Aaron

    The DDC follows the I2C protocol, so you can try to read address 0xA0 (7-bit I2C addressing) and you should read the monitor EDID information.

    Thanks

    David

  • Hi David,

    Got it.

    It means that If I can read the 0xA0 data, the monitor is operates normally?


    May I know what data will show in this register?
    What are these data means?

    BR,

    Aaron Chen

  • Aaron

    Please refer to the EDID-spec, the value will show the monitor vendor, the supported resolution, etc.

    Thanks

    David

  • Hi David,

    The application block is below:

    Since their center control would like to know whether the monitors are transmitting the data or not?
    Apart from HDMI pins, If they implemented SN65DP159 in their design, can they read out register 09h to know the HDMI is working or not?

    like if I read out this 0Bh register, and I get below data:

    Bit   5   is   0
    Bit 4:3  is  11
    Bit   1   is   1

    That means the HDMI2.0 data is transmitting.

    BR,

    Aaron Chen  

  • Aaron

    As part of discovery, the source reads the sink’s E-EDID information to understand the sink’s capabilities. Part of this read is HDMI forum vendor specific data block (HF-VSDB) MAX_TMDS_Character_Rate byte to determine the data rate supported. Depending upon the value, the source will write to slave address 0xA8 offset 0x20 bit1, TMDS_CLOCK_RATIO_STATUS. The SNx5DP159 snoops this write to determine the TMDS clock ratio and thus sets its own TMDS_CLOCK_RATIO_STATUS bit accordingly. 

    So for HDMI2.0, if you are reading TMDS_CLOCK_RATIO_STATUS bit being set to 1, you could infer that monitor is working because the source is correctly reading the MAX_TMDS_Character_Rate byte from the monitor.

    But the most direct way is to see if you can read the EDID directly from the monitor as I said in my previous response.

    Thanks

    David

  • Hi David,

    Thanks for the reply.

    It seems that TMDS_CLOCK_RATIO_STATUS changes when the HDMI2.0 plugs in.

    This is not suitable since my customer would not know which protocol will be plugged in from their customer, maybe their customer will plug HDMI1.4 applications.

    If we recommend them to read the EDID information to realize whether the monitor is transmitting or not.

    Are both pairs SDA_SRC/SCL_SRC and SDA_SNK/SCL_SNK workable for reading DCC information?
    Which pair is more recommended?
    Which register in EDID is more suitable for this function?

    They read these information is because they would like to check the monitors periodically.

    Like if I open the PCs and monitors at 9am, but the monitors shut down or burned out at 10am.

    The remote control center needs to know that the monitors are dead.

    This is the function that my customer would like to have, so the checking need to be periodic.

    Could I achieve this function by EDID?

    If the monitors are shut down, does the DCC transmit the data again?

    What situation makes the DCC transmit the data again?

    BR, 

    Aaron Chen

  • Aaron

    The two required output from the monitor is the HPD and the DDC bus. But how the HPD and the DDC is implemented depends on the monitor itself and the implementation will vary from monitor to monitor. What kind of information they can infer from the HPD and reading of 256byte of EDID information is up to the monitor itself. 

    If the control center can support DDC clock stretching, then they can connect the control center to the SDA_SRC and SCL_SRC(3.3V) and have the SDA_SNK and SCL_SNK connected to the HDMI connector (5V). 

    If the control center can't support DDC clock stretching,

    • If the control center can't support 5V DDC signaling
      • use external level shifter to shift between the control center voltage and the HDMI 5V.
      • SDA_SRC/SCL_SRC connected to ground.
      • SDA_SNK and SCL_SNK connected to the DDC bus between the level shifter and the HDMI connector.
    • If the control center can support 5V DDC signaling
      • SDA_SRC/SCL_SRC connected to ground.
      • SDA_SNK and SCL_SNK connected to the DDC bus between the control center and the HDMI connector.

    Thanks

    David

  • David,

    Since the EDID or TMDS_CLOCK_RATIO_STATUS are be set down while the HDMI just plug in.

    It will not change in real-time.

    Is there any pin that can real-time monitor the monitors?

    Thanks

    Aaron

  • Besides, for SN65DP159, 0Bh register bits 4:3 will be automatically select mode if I left it floating.

    Like I left it floating, when I plus in HDMI 1.4, it will be set as 00 or 01; HDMI 2.0 will be set as 11.

    Am I making sense? 

  • Aaron

    Bits 4:3 will not be automatically set if the DP159 is in the I2C mode, these two bits needs to be set manually depending on HDMI1.4 and 2.0. In pin-strap mode and with TX_TERM_CTL pin set to NC, then the termination will be set automatically.

    As far as I know, there is no pin that can check the monitor in real-time.

    Thanks

    David