• TI Thinks Resolved

DS90UB934-Q1: Initialisation Sequence for Deserializers

Intellectual 820 points

Replies: 15

Views: 314

Part Number: DS90UB934-Q1

Hi all,

On top of the above link, I can't able to communicate with DS90UB933 Serializer from DS90UB934 Deserializer.

In 934 Deserializer, Address: 0x04 (Status Register), showing : 0xc0

this means, LOCK not happened between serializer and Deserializer and its not passed also.

In our board, we are not using any IO Expander for FPD Communication as like D3/EVM. I muxed GPIO to control all pins.

The steps i followed in pinmux for FPD Initialization via USB Type C (STP) :

  • Set PDB pin configured as output and set high for all FPD Link channels.
  • Set OEn pin configured as output and set high for all FPD Link channels
  • Lock and Pass pins are not set to High or Low.
  •     {0x01, 0x02},
  •     {0x4c, 0x01},
  •     {0x02, 0x9e},   
  •     {0x6D, 0x03},
  •     {0x58, 0x58},
  • Then passing Address and Alias Addres of serializer and sensor.

How to LOCK the SER-DESER to communicate via FPD STP (Shielded Twisted Pair) Cable ?

Can anyone help me, regarding the above issue. Its little-bit emergency.

Regards,

ARUNKUMAR VN

  • Hi,

    Can anyone reply for this above question.

    I am waiting for your response.

    Thanks & Regards,

    ARUNKUMAR V N

  • In reply to ARUN KUMAR1:

    Hi Arun,

    The register settings look good to me. Could you check if the 933 is powered-up correctly and make sure you can communicate to the 933 via local I2C?

    Best,

    Jiashow

  • In reply to Jiashow Ho:

    Hi Jiashow,

    There is some Hardware wire problem. Now OK.

    Now the LOCK  and PASS bits are High. Showing 0x04 status like below.

    Deser - 34 - Address: 0x4, Value: 0xcc 

    But in configuring Deserializer the serializer alias address not writing 0x00. Please see the Log below.

    Actual Serializer Address is configured to 0x58. I am writing Alias Address as 0x59. But its showing error.

     [HOST] [IPU2  ]     33.150430 s:  VIDEO_SENSOR: INST0 : I2C3 : I2C Addr = 0x61
     [HOST] [IPU2  ]     33.150552 s: src/bsputils_lvdsB1.c @ Line 450:
     [HOST] [IPU2  ]     33.150643 s: B1_Debug: Inside BspUtils_appConfSerDeSer DevID=4635
     [HOST] [IPU2  ]     33.150735 s: B1_DEBUG: BspUtils_appConfDeSer
     [HOST] [IPU2  ]     33.151040 s:  Write8 I2C3: DEV 0x34: WR 0x01 = 0x02
     [HOST] [IPU2  ]     33.151985 s:  Write8 I2C3: DEV 0x34: WR 0x4c = 0x01
     [HOST] [IPU2  ]     33.153022 s:  Read8 I2C3: DEV 0x34: RD 0x5b = 0xb0
     [HOST] [IPU2  ]     33.153144 s:  Deser - 34 - Address: 0x5b, Value: 0xb0
     [HOST] [IPU2  ]     33.154029 s:  Read8 I2C3: DEV 0x34: RD 0x5c = 0x00
     [HOST] [IPU2  ]     33.154151 s:  Deser - 34 - Address: 0x5c, Value: 0x0
     [HOST] [IPU2  ]     33.155218 s:  Read8 I2C3: DEV 0x34: RD 0x04 = 0xcc
     [HOST] [IPU2  ]     33.164978 s:  Deser - 34 - Address: 0x4, Value: 0xcc
     [HOST] [IPU2  ]     33.820594 s: src/bsp_deviceI2c.c @ Line 590:
     [HOST] [IPU2  ]     33.820716 s:  I2C3: DEV 0x59: WR 0x33 = 0x00 ... ERROR !!!
     [HOST] [IPU2  ]     33.820838 s: src/bsp_deviceI2c.c @ Line 612:
     [HOST] [IPU2  ]     33.820929 s:  I2C3: Error timeout 0 ms!!!
     [HOST] [IPU2  ]     33.820990 s: src/bsputils_lvdsB1.c @ Line 641:
     [HOST] [IPU2  ]     33.821082 s: Error: Failed to Configure ser for device 0x59
     [HOST] [IPU2  ]     33.822820 s:  VIDEO_SENSOR: MULTI_DES: Configuring instance 0 failed !!!
     [HOST] [IPU2  ]     33.823613 s: src/bsp_deviceI2c.c @ Line 775:
     [HOST] [IPU2  ]     33.823735 s:  I2C3: DEV 0x61: RD 0x300a ... ERROR !!!
     [HOST] [IPU2  ]     33.823857 s: src/bsp_deviceI2c.c @ Line 846:
     [HOST] [IPU2  ]     33.823949 s:  I2C3: Error timeout 0 ms!!!
     [HOST] [IPU2  ]     33.824315 s:  Assertion @ Line: 851 in /u/ee211029/Custom_Board/vision_sdk/apps/src/rtos/video_sensor/src/vid_sensor.c: status == SYSTEM_LINK_STATUS_SOK : failed !!!
     [HOST] [HOST  ]     31.479899 s:

    What may be the problem ?

    Regards,

    ARUNKUMAR V N

     

  • In reply to ARUN KUMAR1:

    Hi Arun,

    In your code, I noticed that you are not setting register 0x5C. Could you set 0x5C = 0x58 and try to communicate to the serializer using I2C address 0x58 (8-bit)?

    Best,

    Jiashow

  • In reply to Jiashow Ho:

    Hi Jiashow,

    Thanks for quick reply.

    0x58 is 7-bit Address.

    I am writing Serializer Alias Address to 0x5C already but didn't mentioned here. Please see the below configuration of Deserializer

    {0x01, 0x02},

    {0x4c, 0x01},

    {0x02, 0x9e},  

    {0x6D, 0x03},

    {0x58, 0x58},

    {0x5B, 0xB0}, -> 933 Serializer Address 0xB0 (8-bit)

    {0x5C, 0xBC}, -> 933 Serializer Alias Address 0xBC (8-bit)

    {0x5D, 0xC0}, -> Camera Address 0xC0 (8-bit)

    {0x65, 0xCC}, -> Camera Alias Address 0xCC (8-bit)

    Is anything missed ?

    Regards,

    ARUNKUMAR V N

  • In reply to ARUN KUMAR1:

    Hi Arun,

    How come it returns a value of 0x00 if you read reg 0x5c?

    Also, since you are setting 0x5C = 0xBC, you should communicate to the serializer using register 0xBC.

  • In reply to Jiashow Ho:

    Hi Jiashow,

    Yes, I am writing 0xBC to 0x5C. But, when i read it's showing zero (0x00).

    I am not getting, How come it returns a value of 0x00 if i read reg 0x5c?

    I am communicating via 0xBC address only.

    1) I tried to probe all the device (Ser, Deser, Sensor) address on the I2C Bus. I am getting only Deserializer address not the Serializer and Sensor Address.

    2) I enabled I2C Debug = TRUE and tried to debug. But i can see few debug messages of i2c writing and reading not fully. what may be problem ?

    3) Before i mentioned LOCK and PASS bits are not high in Deserializer. For that, our hardware team made changes in wire. Connected two direct wires from Serializer to Deserializer Capacitors FPD Data. Then I Can see High. But, Didn't got Data.

    Here, Instead of USB3.1 Communication, normal wire is not enough to get data right ??

    My Device communication setup is like this below :

    FPD Link III is STP Communication (USB-C Connector with USB3.1 Communication)

    Is there any changes can do and in this setup to get the serializer data ??

    Regards,

    ARUNKUMAR V N

  • In reply to ARUN KUMAR1:

    Hi Arun,

    1) I tried to probe all the device (Ser, Deser, Sensor) address on the I2C Bus. I am getting only Deserializer address not the Serializer and Sensor Address.

    When you set register 0x5C, did you first select the port in register 0x4C? If 0x4C is not selected when you write to register 0x5C, you will not be able to write to the register.

    Are you seeing the issue with both the 954 and the 934? Or just the 934?

    2) I enabled I2C Debug = TRUE and tried to debug. But i can see few debug messages of i2c writing and reading not fully. what may be problem ?

    Could you clarify what's I2C debug = true? What do you mean by I2C not fully transmitted? Do you mean that the transaction starts but doesn't complete? Is it only to the 953/933, or also on the deserializers?

    3) Before i mentioned LOCK and PASS bits are not high in Deserializer. For that, our hardware team made changes in wire. Connected two direct wires from Serializer to Deserializer Capacitors FPD Data. Then I Can see High. But, Didn't got Data.

    Here, Instead of USB3.1 Communication, normal wire is not enough to get data right ??

    Are the serdes on the same board? Or you have a cable between the Ser and Des? Could you share your schematics?

  • In reply to Jiashow Ho:

    Hi Jiashow,

    933 Serializer and 934 Deserializer are not in same board.

    • Camera's and Serializer's are in Remote Side.
    • Deserializer's, ISP are in Local Side.
    • Using STP communication between SerDes.

    At present, i am working on OV Camera + SerDes.

    Remote Side [ OV Sensor + 933 Ser ] ======(STP)====== [944 Deser + TDA2x SOC ] Local Side

    1) As you know and mentioned above. I am following the register write sequence like below,

    {0x01, 0x02}, {0x4c, 0x01}, {0x02, 0x9e},  {0x6D, 0x03}, {0x58, 0x58}, {0x5B, 0xB0},{0x5C, 0xBC},{0x5D, 0xC0},{0x65, 0xCC}, 

    I selected the port 0 in register 0x4C. Then, i am writing alias address to register 0x5C.

    2) PDK having function Int32 Bsp_deviceI2cDebugEnable(UInt32 enable)  to enable the I2C Debug prints. 

    After enable this function, i have to get all the registers read/write debug messages. But I am getting few registers write debug messages, not all the above registers mentioned in 1).

     [HOST] [IPU2  ]     33.151040 s:  Write8 I2C3: DEV 0x34: WR 0x01 = 0x02
     [HOST] [IPU2  ]     33.151985 s:  Write8 I2C3: DEV 0x34: WR 0x4c = 0x01
     [HOST] [IPU2  ]     33.153022 s:  Read8 I2C3: DEV 0x34: RD 0x5b = 0xb0
     [HOST] [IPU2  ]     33.154029 s:  Read8 I2C3: DEV 0x34: RD 0x5c = 0x00
     [HOST] [IPU2  ]     33.155218 s:  Read8 I2C3: DEV 0x34: RD 0x04 = 0xcc

    Regards,

    ARUNKUMAR V N

  • In reply to ARUN KUMAR1:

    Hi,

    I am waiting for your reply.

    Kindly look into this and give support to understand and overcome this above problem.

    Regards,

    ARUNKUMAR V N