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.

DS90UB925/926 I2C Difficulties

Hello,

I can't communicate with the 926 at all. I know that the 925 (serializer) can communicate with the 926 because it is able to determine the 926 serial address, and I can read it from the 925. However, I cannot read/write to the 926 from the serializer, but I can read/write to the 926 with an Arduino connected directly to its I2C bus. 

Although, I do know that the 926 is alive because it is passing parallel RGB video data with no problem, and PASS / LOCK are always set. Below is a register dump of the 926.

***********START*************
0: 58
1: 4
2: 0
3: F0
4: FE
5: 1E
6: 0
7: 18
8: 0
9: 0
A: 0
B: 0
C: 0
D: 0
E: 0
F: 0
10: 0
11: 0
12: 0
13: 0
14: 0
15: 0
16: 0
17: 0
1C: 3
1D: A0
1E: 0
1F: 0
20: 0
21: 0
22: 47
23: 19
24: 8
25: 0
26: 83
27: 84
29: 0
2A: 0
2B: 0
2C: 0
3A: 0
41: 3
44: 30
56: 8
64: 10
65: 0
66: 0
67: 0
************END**************

  • Also, I am in LF-mode with a PCLK of 10MHz. The jitter is well below the 0.6UI requirement. Perhaps something within the serializer needs to be initialized that I'm missing?

    I've also noticed that my MODE configuration, according to the register dump, isn't what I had programmed through the MODE pin. Here's the register dump of the 925.

    ***********START*************
    0: 18
    1: 0
    2: 0
    3: F2
    4: 80
    5: 0
    6: 58
    7: 0
    8: 0
    A: 0
    B: 0
    C: 5
    D: A3
    E: 33
    F: 3
    10: 0
    11: 0
    12: 0
    13: 19
    14: 0
    16: FE
    17: 5E
    18: A1
    19: A5
    1B: 0
    64: 10
    65: 0
    66: 0
    67: 0
    C6: 0
    C7: 0
    ************END**************

  • Figured it out... You have to write to the serializer ONLY, and it will pass the configuration to the deserializer. I was writing to both, which must have made something incompatible.
  • Hi, how you solve the problem? I encountered the same problem,  

    I  tried to make 925 read 926's data through I2C to see clk stretch,   so I read 0x06 of 925 and it showed 0x58(926's addr),  then should I write 0xb0(0x58<<1) to 0x07?   or should I do some other config?

    And when I config done, how can I send data from 925 to 926? just read reg 0x06 in 925?