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.

DS90UB928Q-Q1: How to set I2C speed?

Part Number: DS90UB928Q-Q1

Hello team,

My customer understand 0x26 and 0x27 is I2C speed setting register. But they are not sure what exact value makes their target frequency. They want to set I2C 100kbps, currently setting value is 0x64 and its result is 80kbps, can you share correct setting please?

Regards,

Youhei MIYAOKA

  • Hi Miyaoka-san,

    Thanks for your inquiry, you can reference this table below (from latest FPD-Link guidance) and we can go through the values together

    Min/Max Unit
    fSCL SCL Clock Frequency

    Standard-mode

    100 (Max) kHz

    Fast-mode

    400 (Max) kHz

    Fast-mode Plus

    1 (Max) MHz

    High-speed-mode

    3.4 (Max) MHz
    tLOW SCL Low Period

    Standard-mode

    4.7 (Min) μs

    Fast-mode

    1.3 (Min) μs

    Fast-mode Plus

    0.5 (Min) μs

    High-speed-mode

    0.16 (Min) μs
    tHIGH SCL High Period

    Standard-mode

    4 (Min) μs

    Fast-mode

    0.6 (Min) μs

    Fast-mode Plus

    0.26 (Min) μs

    High-speed-mode

    0.06 (Min) μs

    Apologies for the formatting, E2E is currently having file upload issues. So they want to use I2C 100kHz I am assuming, Standard-mode.

    SCL Low period shall be set to 4.7μs, SCL High period shall be set to 4μs

    Now for the registers:

    0x27 SCL Low Time = Units of 50 ns for nominal oscillator frequency

    4700ns / 50ns  = decicmal 94 = 0x5E

    • 0x27 = 0x5E

    0x26 SCL High time = Units of 50 ns for nominal oscillator frequency

    4000ns / 50ns = decimal  80 = 0x50

    • 0x26 = 0x50

    As a reminder, these fields configure the SCL and SDA only for when the DES is the controller of the local I2C bus, not FPD-Link speeds.

    Please let me know if you have any further questions!

    Best,

    Miguel