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.

DS90UB913/4 , I2C clock stretching at the slave Read

Guru 20090 points
Other Parts Discussed in Thread: DS90UB913A-Q1, DS90UB914A-Q1

Hello,

Please see the attached file.

20150320_I2C read.pdf

Our customer use Imager which have SPI I/F and they use the MCU for bridge the SPI to I2C.
Current ly, they can't read the imager data.
Please see the attached file.

The DS90UB913A-Q1 sent the ACK when receive the address data and Read bit.
However, the data was not sent to Des due to the data of imager was not ready.
Thus, SCL of Ser was held to Low until the data ready.
After the data ready, SCL of Ser is asserted to high but the data is not trasmitted due to there is no SCL.

Could you please let me know this reason?
Should DS90UB913A-Q1(slave) output the SCL  and SDA without SCL from DS90UB914A-Q1(master)?


Best Regards,
Ryuji Asaka 

  • Hello team,

    I'm looking forward to the update.
    Thanks.

    Best Regards,
    Ryuji Asaka
  • Hello Ryuji,

    My apologies for the delayed reply.

    Is the SPI to I2C MCU bridge capable of bi-directional I2C transfer (SPI to I2C and I2C to SPI)?

    Also, does the imager your customer is using support clock stretching? Does the MCU bridge support clock stretching?

    Please also run the test case for an I2C read where the imager and MCU (SPI to I2C) are not connected. Do you see read/timeout errors with this test case due to deserializer SCL line staying low and not being released?

    -Sean
  • Hello Sean san,

    Thank you for the reply.

    If they use the imager which have I2C I/F and not use the MCU(SPI to I2C), there is no problem.
    I'm requesting the test of the following connection(not connected the FPD-Link3).

    ECU - MCU(SPI to I2C) - Imager

    I will get back to you after getting the customer reply of your question and above result.

    Best Regards,
    Ryuji Asaka
  • Thank you Ryuji, I believe that the MCU bridge (SPI to I2C) needs to support clock stretching for their system to work properly.

    -Sean
  • Hi Sean san,

    I got the reply from the customer.

    Is the SPI to I2C MCU bridge capable of bi-directional I2C transfer (SPI to I2C and I2C to SPI)?
    >> Yes it is.

    Also, does the imager your customer is using support clock stretching?
    >> SPI is not support clock stretch.
    If the MUC access to the Imager by the SPI, the imager respond immediately.
    Thus, there is no problem.

    Does the MCU bridge support clock stretching?
    >> Yes it does.

    Best Regards,
    Ryuji Asaka
  • Hello Ryuji-San,

    Has the customer resolved the issue here in regards to the deserializer SCL line staying low?

    If the MCU bridge (SPI to I2C and I2C to SPI) supports clock-stretching this issue is not very likely to occur. Please let me know what pullup resistors and voltages are being used on the serializer side and deserializer side of the system. We recommend 4.7k pullups to VDD_IO voltage.

    -Sean

  • Hello Sean san,

    Sorry for late reply.
    They are checking the softwafe in the MCU now.
    I requested the test of direct connection from ECU to "MCU(SPI to I2C) - Imager" however they couldn't yet.

    Their pull up resistor is 2.7kohms and VDDIO for 913A is 2.8V and for 914A is 3.3V.

    Best Regards,
    Ryuji Asaka
  • Hello Sean san,

    I got the customer reply.
    They can access the I2C read when they change the SDA falling timing.
    In the before timing, there is the SDA falling edge after the SCL rising edge for the I2C streching remove.
    This timing is met the start condition. As a result, they couldn't access.
    Thank you for your cooperation.

    Best Regards,
    Ryuji Asaka