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.

How to control delay time after I2C controller’s START condition?

Anonymous
Anonymous
Other Parts Discussed in Thread: DM3725, DM3730

Hi,

 

How to control the delay between START condition and the first word in an I2C controller’s write operation?

 

 

In the figure above, the upper part was the waveform captured by oscilloscope for a “driving board” that could successfully communicate with an OV sensor, and the below is the waveform when I am communicating with an OV sensor of the same type soldered on my customized board using DM6437’s I2C controller.

 

The most prominent difference is the delay time:

1.    In the “good" waveform, there is a 60 µs delay between the START condition and the slave address (0x42 for OV sensor).

2.    In DM6437’s I2C controller waveform, there is no such delay, and the START condition is immediately followed by the 0x42 device address.

 

The I2C clock speeds in both cases are 200K bits/s, which has been proven to be working by the “driving board”. It is also within the 100K (standard mode) – 400K (fast mode) bits/s range.

 

Since the “driving board” could make the sensor work (video can be seen), its waveform thus is guaranteed to be correct and I am attempting to mimic the waveform using DM6437’s I2C controller. So the problem is: How should I add the 60 µs delay between START condition and the slave address?

 

Does I2C controller allow such tuning? Could anyone help on this?

 

    

 

Zheng

  • Hi Zheng,

    Unfortunately, the DM6437 I2C controller does not have such tuning capability.

    Have you tried to slow down the I2C clock some more to see if the OV sensor would respond?

    Thanks,

    Tai Nguyen

  • Anonymous
    0 Anonymous in reply to Tai Nguyen

    Tai,

     

    I have made the I2C clock very very slow to even 20 Kbits/s by changing the IPSC register, but of no avail.

     

    I have several further questions regarding your answer.

    1.    According to your knowledge, does the 60 µs delay exist in SCCB waveform? Is it necessary? Although I have captured this waveform on a driving device that is working properly, it is perhaps just one implementation that happened to work. I cannot rule out the possibility that some other problem caused my SCCB OV sensor not to respond. Could you consult TI employee with experience with SCCB on this?

    2.    I regard your answer as a confirmation that DM6437’s I2C controller cannot insert this arbitrary delay after the START condition. If not, and if such delay is necessary, this means DM6437’s I2C controller cannot be used to drive this particular SCCB device (there are many OV SCCB sensors and some are just more “I2C compatible” than others, according to MattLipsey). I therefore need another confirmation here: Are you aware of any instance that customers uses DM6437’s I2C controller to successfully communicate with an OV sensor, or not?

    3.    I googled SCCB within TI domain (SCCB site:ti.com) and there are several information suggesting some TI devices natively support SCCB protocol in their I2C controller:

    a.     DM3730, DM3725 Digital Media Processors Silicon Errata contain information about SCCB

    b.    AM/DM37x Overview - Texas Instruments Embedded Processors Wiki contain information about SCCB

    c.     AM35x Overview - Texas Instruments Embedded Processors Wiki contain information about SCCB

    For example, in (c) one can find such description

    AM35x Overview - Texas Instruments Embedded Processors Wiki said:
    Each multimaster HS I2C controller can be configured to act like a slave or master I2C-compatible device. Moreover, each multimaster HS I2C controller can be configured in serial camera control bus (SCCB) mode (the SCCB is a serial bus developed by Omnivision Technologies, Inc.) to act as a master on a 2-wire SCCB bus. Only multimaster HS I2C controllers I2C2 and I2C3 can be configured in SCCB mode to act as a master device on a 3-wire SCCB bus.

     

    This basically means that SCCB are supported in these devices. Regarding this, could you help me to confirm this with experts on DM3730, DM3725, AM/DM37x and AM35x? Most importantly, could you show the waveform I posted above and ask about the 60 µs delay to them? I believe they should have the authority to answer question 1 above (of this reply, not the whole thread).

     

     

     

    Zheng