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.

DS90UB913A-Q1: Software configuration for I2C fast mode (400kHz)

Part Number: DS90UB913A-Q1

If we want to run the 913A's i2c with fast mode(400khz), what’s the settings needed on 913/960. Is the below correct?

 

Should configuration of UB913 for register 0x11/0x12 SCL High/Low time be set to 0x19 for 400 KHz?

 

0x11 SCL High Time = 0x19  --> 25 * 50 ns = 1.25 µs

0x12 SCL Low Time  = 0x19 --> 25 * 50 ns = 1.25 µs

SCL period = 1.25 µs + 1.25 µs = 2.5 µs

SCL frequency = 400 KHz

  • Hi Jeramie,

    In a situation where a remote I2C command is sent from a Master->DES->SER->SLAVE, then these are the right registers to configure for the UB913A's I2C data rate.

    Here is how the register settings affect the I2C rate:

    SCL_HIGH_TIME = (1/OSC_FREQ) * VALUE_OF_REGISTER_0x11
    SCL_LOW_TIME = (1/OSC_FREQ) * VALUE_OF_REGISTER_0x12

    I2C_PERIOD = SCL_HIGH_TIME + SCL_LOW_TIME
    I2C_FREQ = 1/I2C_PERIOD

    OSC_FREQ is the internal oscillator frequency of the UB913A, which is around ~20-26MHz.

    Best,

    Justin Phan

  • Thanks Justin. For the OSC_FREQ, what do we choose for 400kHz I2C? 26MHz or 20MHz when using it in HIGH_TIME and LOW_TIME calculation. Based on how I read below, it seems we choose 26MHz?

  • Hi Jeramie,

    The nominal frequency is 20MHz and the max frequency is 26MHz. The frequency to use in the equations will depend on how your team wants to plan for the I2C frequency. Your team can use 20MHz and expect the I2C frequency to be slightly faster on fast corners. Or they can plan for the max 26MHz.

    Best,

    Justin Phan