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.

DS90UB953-Q1: Temp Sense Feature

Part Number: DS90UB953-Q1

Hi,

I'm doing some register check on DS90UB953-DS90UB960 system.

I'm reading deserializer register 0x51 which is sensor status 0. The value of the register on some modules are 0x0C while others are 0x08.

Now, 0x08 pertains to high value of bit[3] which for "Alarm flag for link detect from serializer".

However, 0x0C pertains to high values for bits [3 and 2], where bit[2] is "Alarm flag for temp sensor from serializer".

I looked for the alram settings on the serializer side, and have seen serializer registers 0x17 and 0x1D, where:

0x17 = SENSOR_CTRL0 that enables/disables Temperature sensor.

0x1D = ALARM_SENSE_EN where bits [5 and 4] enables Temp Sensor over the high/under the low limit alarm.

My query is: when i set serializer registers 0x17 and 0x1D to values 0x0C and 0x30 respectively which enables the temperature sensor, the bit[2] of deserializer register 0x51 is always flagged, even if i disable the temprature sensor by setting both serializer register to 0x00 value, still bit[2] of deserializer register 0x51 is always flagged.

Did i miss any proper settings for this? or the configuration is correct for enabling/disabling the temperature sensor of serializer?

is the temperature sensor of the serializer a built in temp sensor, where the temp reading is available thru 0x53 register of the deserializer?

Thanks for the support!

  • Hi Laudencia,

    appreciate you to provide full message in your question list.

    For your question, pls check the reg. 0x57 of UB953? As described in d/s, the SENSE_T_HI / SENSE_T_LO are cleared upon read. So you need clear the T_SENSOR_HI/LOW in the reg. 0x57 of UB953, then this bit would be cleared then the UB954 would be sync. with "Low" in reg. 0x51.

    best regards,

    Steven

  • Hi Steven,

    I2C command I2C Device Register Address Register Value

    Read Deserializer 0x04 0x00
    Read Deserializer 0x22 0x00
    Write Deserializer 0X23 0xBF
    Read Deserializer 0x24 0x00
    Write Deserializer 0x32 0x01
    Read Deserializer 0x35 0x00
    Read Deserializer 0xA5 0x00
    Write Deserializer 0xB9 0x33
    Write Deserializer 0xBA 0x03
    Write Deserializer 0x4C 0x01
    Write Serializer 0x17 0x00
    Write Serializer 0x1C 0x3F
    Write Serializer 0x1D 0x00
    Write Serializer 0x1E 0x03
    Write Deserializer 0x4C 0x01
    Read Deserializer 0x4D 0x00
    Read Deserializer 0x4E 0x00
    Read Deserializer 0x4F 0x00
    Read Deserializer 0x51 0x00
    Read Deserializer 0x52 0x00
    Read Deserializer 0x53 0x00
    Read Deserializer 0x54 0x00
    Read Deserializer 0x55 0x00
    Read Deserializer 0x56 0x00
    Read Deserializer 0x73 0x00
    Read Deserializer 0x74 0x00
    Read Deserializer 0x75 0x00
    Read Deserializer 0x76 0x00
    Read Deserializer 0x7A 0x00
    Read Deserializer 0x7B 0x00
    Read Deserializer 0xD3 0x00

    Above is the full message i used for the checking the link stability on the deserializer side. On register 0x51 is the question i raised which is bit[2]= TEMP_SENSE_ALARM is flagged.

    I did you suggestion above, reading 0x57 of serializer 953 to clear T_SENSOR_HI/LOW, but reading 0x51 of 960, ithe said bit is stil "HIGH".

    Regards,

    Laud...

  • Laud,

    If you check the reg. data of de-ser, why the 0x4E/0x4D, 0x73/74.75.76 are all zero? it sounds the link is not connected correctly? please link the ser and de-ser link firstly.

    also, if you read the serializer's 0x57 twice, what is the result respectively?

    best regards,

    Steven

  • Hi Steven,

    My bad, i accidentally deleted one column. The zeroes are actually number of bytes to read, as shown in below table - where the actual results are.

    Register Address Number of Bytes to Read Register Value
    0x4D 0x00 0x03=1
    0x4E 0x00 0x04=1
    0x4F 0x00 0x64=1
    0x51 0x00 0x0C=1
    0x52 0x00 0x00=1
    0x53 0x00 0x00=1
    0x54 0x00 0x00=1
    0x55 0x00 0x00=1
    0x56 0x00 0x00=1
    0x73 0x00 0x05=1
    0x74 0x00 0x01=1
    0x75 0x00 0x12=1
    0x76 0x00 0xC0=1
    0x7A 0x00 0x00=1
    0x7B 0x00 0x00=1
    0xD3 0x00   0x02=1

    Also, reading 0x57 of serializer twice results 0x10, always.

    Regards,

    Laud...

  • Hi LAUD,

    it sounds the video format is: 2400x1281? or 1600 x1281?

    If you read ub953's 0x57 twice, both returned values are 0x10, it means the ub953 detects the internal temp. lower than SENSE_T_LO limit setting. so you can get the sensor alarm in ub960 side. pls focus on why you get 0x57 as 0x10 in UB953 side.

    0x57 SENSOR_STATUS          
        4 T SENSOR LOW RO 1'b0

    When set, this bit indicates that internal temperature input is below  SENSE_T_LO limit. This bit will be cleared upon read 

    could you check ub953 reg. 0x53 setting? you can try to set 0x1b[2:0] as 3b'000.

    0x1B SENSOR_T_THRESH          
        2:0 SENSE_T_LO RW 3'h2 Temp sensor lower threshold. When the Temp sensor is enabled,and the temperature measured below  the SENSE_T_LO limit, it will trigger the alarm   SENSOR_STATUS.T SENSOR LOW. The corresponding temperature can be seen at TEMP_MIN.

    best regards,

    Steven

  • Laud,

    you can read ub953 d/s which includes the TEMP_MIN's setting as below. the default is that when temp. is within the range -10 ~ 15c, the temp. sensor would report alarm.

    Table 3. ADC Code vs Temperature
    TEMPERATURE (°C) CODE
    T < –30 000
    –30 < T < –10 001
    –10 < T < 15 010
    15 < T < 35 011
    35 < T < 55 100
    55 < T < 75 101
    75 < T < 100 110
    100 < T 111

    best regards,

    Steven

  • Hi Steven,

    To clarify regarding video format, it is YUV422. about the reslution:

    register 0x73-0x74 = 0x0501 = 1281 in decimal
    register 0x75-0x76 = 0x12C0 = 4800 in decimal (divide by 2.5 -> output fomat is YUV422) = 1920

    Value of register 0x53 of 953 is 0x04. I have a question actually regarding this register also (see next reply)

    Going back, I did what you advised, to set SENSE_T_LO threshold to 000, and TEMP sense alarm in 960 is ow "LOW", which resolves my issue. Thanks for the help!

    Regards,

    Laud...

  • Hi Steven,

    Regarding my question about register 0x53 of 953:

    settings i used is 0x0E = 0x3C (0011 1100) and 0x0D = 0x03 (0000 0011) which gives:
    GPIO0 is output set high
    GPIO1 is output set high
    GPIO2 is input (ASIL LINE)
    GPIO3 is input (ASIL LINE)

    but 0x53 = 0x04 = 0000 0100 checks GPIO STATUS which reports
    GPIO0 is low
    GPIO1 is low
    GPIO2 is high
    GPIO3 is low

    Do i have wrong settings here? what do you think is the error?

    Regards,

    Laud...

  • Laud,

    great!

    regarding the GPIO status, your understanding is correct, you can check the d/s on 0x0d/0x0e and 0x53 description. but you need know that GPIO0/1 is reused as other function such as sense, pls make sure that 0x17 reg. has correct setting to make UB953's GPIO0/1/2/3 all work at GPIO status.

    regards,

    Steven