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 & UB928 ] I2C and AEQ

[ DS90UB925 & UB928 ] I2C and AEQ

Hi,
Can you help me to support queries from my customer who is designing UB925 and UB928?
---
<I2C SDA Hold Time on UB925 and UB928>:

UB925 and UB928 have “I2C SDA Hold” register to configure the amount of internal hold time.

 

UB295: 0x17[5:4], I2C Control

UB928: 0x05[6:4], I2C Control 1

  

Can you help me to understand how this register affect to the timing of I2C communication?

As my understanding, this relates to “tHD,DAT”. Because of I2C specification, there would be possibility that SDA to start transition at the same time with SCL transition.

(tHD,DAT = 0).

For this case, I2C SDA Hold register gives some of delay for SDA, means SDA to be hold internally up to 120nS.

Correct?

 

On top of that, does this register only work for slave?

It’s not clear how this register contribute for UB928 as blow which acts like “Master”.

 

<SDA Output Delay on UB925 and UB928>:

As similar as above, both devices have “SDA Output Delay” register.

Can you please let me know how this work? Which timing are adjusted?

 

UB295: 0x05[4:3], I2C Control

UB928: 0x06[4:3], I2C Control 2

 

<UB928, AEQ Settings>:

  

There are some AEQ related control registers on UB928.

When customer attempts to program initial settings, is there any sequence requirement?

 

As current ideas, customer does not use LCBL, thus “LCBL Override” also left as default.

 

Drawings in this post can be found in attached pptx.

0624.140730-Drawing for E2E.pptx

  • Hi Ken,

    The SDA Hold Time register configures how long the device will wait to sample SDA after SCL goes high. This is for slave mode. SCL High Time and Low Time can be configured to adjust the timing when in master mode.

    For AEQ, what are they attempting to do? No settings need to be adjusted initially - the device will automatically find an EQ setting that establishes a solid link. If they are trying to select their own values for the EQ stages, then register 0x44 can be used to bypass AEQ and set their own values.

    Thanks,
    Jason

  • Hi Jason,
    With regards to the SDA Hold Time, you mean that value on SDA line is to be determined(sampled) during SCL is high, and SDA Hold Time can adjust the waiting time(sample timing) a little longer to ensure the data is stable. This is applicable only for Slave mode. Correct me, if I'm wrong.
    SDA Output Delay, does this work device to maintain the SDA value based on this register value? Also, this works for both Master and Slave mode. Is my understanding correct?
    Regarding AEQ, they just like to make sure whether any limitation and/or requirement on AEQ settings. If nothing special, should be okay.
    My customer has been reviewing all of registers, every single bits on devices, these are just part of questions from customer...
    Thanks,
    Ken
  • Hi Ken,

    You are correct about the SDA hold time.

    SDA output delay sets the time between SCL going low and when the device will start outputting the SDA value. This is for master mode only.

    Let me know if there are any other questions!

    Thanks,
    Jason

  • Hi Jason,

    Sorry for bringing this up again after two years silent...
    Can you please let me know the reason why the default value of SDA Hold Time register already have "delay"?

    DS90UB925-Q1: 40nS delay


    DS90UB928-Q1: 50nS delay


    Why not "0" (no delay) as default? Any specific considerations?

    Thanks,
    Ken

  • Hi Ken,

    The default delay is to allow some guard band to prevent false detection of Start/Stop in case the clock transitions slower than the data for some reason. 

    Thanks,
    Jason