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.

DS90UB926Q-Q1: i2c false response after setting registers

Part Number: DS90UB926Q-Q1

I'm using DS90UB926 and 925 chip set and seeing a issue with the i2c bus giving me a false response or maybe it is a response based on not up and running yet . From what I can tell if I change the i2c register settings in the 926 or set the 925 and 926 to low speed mode and send a packet to the 926 so it can pass it over the link to the 925 or slave device on the 925 the 926 will respond with a nack right away for all slave devices that are not the 926. I'm sending the i2c packets back to back with no delay between the 926 reg config and the slave write packets for the other side of the link. I have enclosed a pic that show the write to the 926 in this case address 0x58  then I write to register 0x02 and set it to 0x03 (low speed mode) then send to a slave device 0x6c I see the nack happen with out delay. If you look at the next packet that address the same slave device at 0x6c it takes about 163ms for this response and the same time for all the other responses. I see this same thing if I set the 926 to i2c pass through reg 0x05 to 0xae then try to read from the 925 reg it will give me ack right away but if the link is up and I don't write to this read and access the 925 it takes time for the ack to get set. 

Is this a known behavior? If so what is the delay I need to wait between setting the reg on the 926 and then trying to use the i2c bus? It would be nice to have a value and not just guess to make sure I get good results across all my boards.

One other question what is the difference between setting the I2C pass through mode bit 3 of reg 03 in the 926 and i2c pass through all bit 7 of reg 05? 

   

  • Hi Jason,

    the back-channel delay between 925 and 926 is ~10us, NOT >160ms level. So i concern if it has some I2C confliction in your case? 

    can you capture the I2C signal with scope? 

    best regarsd,Steven

  • Here is a capture that shows the i2c bus on the remote side. In my system I only have a master i2c device the 926 then a 925 and one slave device. I have left the 925 as default set up so the i2c speed is 66 khz while the 926 master side is set for 300khz. If you look at the image you can see the 925 doesn't put out the packet on the bus it just responds with a nack. But the next packet does go through and is good.  If you still want to see the i2c bus with a scope let me now exactly what you are looking for so I can give detail info on the wave form.  

  • Hello Jason

      It seems the i2c speed on the 925 side is very low (66 KHz) and looks like from 926 you are sending packets at much higher rate, at rate before the i2c slave connected to 925 side is responding. Can you isolate the 925 only (disable all the slaves connected to 925 i2c bus and see if you get the i2c commands out of 925 properly without any latency?). You can also try disabling the watchdog timer on 925 side Reg0x05 bit 0 and see if the latency imroves

    Thanks

    Vijay

  • Thanks for the responses. The issue is when I make changes to the mode setting regs or change the pclk freq it causes the link to drop. When the link it down and you send a packet to the 926 that is not the 926 address it will automatically respond with a nack. Changing the speed of the link didn't help and I do see a 10us response time when the link is up.

  • Glad it is resolved

    Thanks

    Vijay