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.

DS92LX1621: DS92LX1621/DS92LX1622 I2C problem

Part Number: DS92LX1621
Other Parts Discussed in Thread: DS92LX1622,

Hello!

I'm using DS92LX1621/DS92LX1622 pair in camera mode. The serializer's I2C-bus is connected to image sensor. My problem is that I cannot communicate with the image sensor (I get ack error from deserializer). I have done following:

SER ID = 0x59

DES ID = 0x61

CAMERA ID = 0x20

1) Perform Remote Wake up Sequence

Write 0xC0 to register 0x26 of device 0x61

Write 0x04 to register 0x1 of device 0x61

Write 0x00 to register 0x26 of device 0x61

2)Program Serializer DEVICE ID=0x59

Write 0xB2 to register 0x7 of device 0x61

3)Program Remote Slave ID into DES Index Register

Write 0x40 to register 0x8 of device 0x61

3)Program Remote Slave ID into DES Match Register

Write 0x40 to register 0x10 of device 0x61

4)Program Slave ID to SER SLAVE ID Register

Write 0xB2 to register 0x7 of device 0x59

5)Program Deserializer Device ID to DES ID Register

Write 0xc2 to register 0x6 of device 0x59

6)Set Deserializer in normal mode

Write 0xE0 to register 0x27 of device 0x61

The Cable Link Detect Status is high and LOCK-pin is also high. What is missing?

best regards,

Joonas

  • Hi Joonas,

    I reviewed your steps and have a few comments:

    1. Steps 1-3 look fine. I don't see a need for Step 4 or Step 5, since the "Slave ID" and "Deserializer Device ID" register in the DS92LX1621 will be used only when you are operating in Display Mode in order to commute to a Remote Slave after the deserializer. Since you are in Camera Mode and going in the opposite direction, the Remote Slaves are located on the serializer side, not the deserializer side. However, I don't think this is the cause of your issue.

    2. At which step are you getting an ACK error? Is it when you communicate with the deserializer or when you attempt to communicate remotely with the serializer?

    3. What are your M/S pin settings? If you are operating in Camera Mode, the Deserializer must be set as a Slave (M/S = 1) and Serializer must be set as Master (M/S = 0).

    Thanks,

    Michael
  • I get ACK error when I try to communicate over the high speed link with remote slaves attached to the serializer. I can read/write the deserializer's and serializer's registers without any ACK errors. The M/S pin settings are correct.
  • Hi Joonas,

    Because you are able to communciate with the serializer over the back-channel, this tells me that the M/S pins are set correctly and that you have properly invoked the Remote Wake Up Sequence.

    I think the next step is to verify that the schematic for I2C connections to the serializer make sense. Is it possible to share a schematic? I'm happy to work through e-mail exchange if you do not wish to share the schematic on this forum.

    Thanks,

    Michael
  • Okay, I can send the schematic through e-mail to you. Could give your e-mail address?

    Thanks,
    Joonas
  • Hi Joonas,

    I will send you an e-mail shortly, and we can take the discussion offline from here.

    Regards,

    Michael
  • Hi Joonas,

    I'm recapping our discussion that occurred via e-mail regarding thisI2C communication issue:

    ===========================

    After determining that the addresses were unique for all devices that are to be addressed via remote control (meaning there was not a bus-contention issue), we then discovered that the image sensors were the only devices to which we were unable to establish communication. We also could not communicate locally to thei mage sensors, implying that there were no issues with the I2C timing or the setup of the DS92LX1621/22 devices for Camera Mode operation using back-channel communication.

    The issue was in an ambiguity with the image sensor datasheet, where the I2C address is described as an 8-bit address with a 0 appended. Typically, I2C addresses are typically expressed as 7-bit values, since the LSB is the Read/Write bit. After compensating for this difference in addressing convention, I2C communication was successfully established.

    ===========================

    Thanks,

    Michael