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.

CCS/UCD3138: UCD3138064 IIC can't achieve 400khz?

Part Number: UCD3138

Tool/software: Code Composer Studio

Hello;

    Renctly i use UCD3139064 Fault0 and Fault1 pin  use for IIC function.

   here some of my code

:

I  set  I2c  speed as 100khz:

here are my wave:

It very close to 100khz

 But when i set the speed to 400khz

 the wave frequency is can't close to the 400khz :

It just about 338khz.

i do it on the EVM Board,So i want  to konw why the frequency has a big different while i set the speed to 400KHZ

  • I see there's a slow rise time on the clock. This is probably what is causing your lower rate. If you put a lower pull up resistor on your clock line, it should speed up. What's happening is that the slow rise time looks like a clock stretch to the internal logic. The internal logic doesn't start the on-time measurement for the clock signal until the signal rises to Vih. So all of the clock rise time until it reaches Vih is added to the clock period.
  • Dear Bower:
    i have try to change different resistor, i use 100Ω and 220Ω ,it still can't very closer to 400khz, the rate just arrive about 377khz.And i found use lower resistor can improve the rate, but it also have big different with the setting rate. It has other thing to effect the rate?such as it is possible that the CLK of Frequency division has a little error? And i also found when i set the rate to 1MHZ ,the measurement error is more biger than setting to the 400khz, useing 100Ω resistor the measurement of the rate is about 778khz.
    Have any solution to make the real rate more closer to the setting rate(closer to the 400 khz )? It is unpossible that put the pull up resistor as 0.
    If it have no idear ,can you tell me more reason about it, Cause i really want to konw it. If have suggestion please tell me. I grateful to you faithfuly!Thankyou very much!
  • There's no reasonable way to change the speed. I'm pretty sure that the only reason for the slower speed is the rise time of the signal. I've never found an application where the exact speed made a real difference in the application.
  • I got it ,thank you very much!