Pull Up Resistor Value Impact on I2C Signal Frequency

  • Thread starter likephysics
  • Start date
  • Tags
    Pull
In summary: The cap to ground represents the IC input capacitance.V1 is just a mathematical function that outputs a specific waveform at a specific amplitude and frequency. Adding external components will not affect its frequency. You need to create an oscillator in place of V1.OP, you are not using a load, and like Skeptic2 said, you are not using a realistic output driver either. Its an open collector, so that means, when the output should be high, your pin should be floating (to be pulled up by the resistor). Instead, you are driving the high output directly with a voltage source in your simulation. The voltage source can source/sink infinite current since it exists only as an ideal mathematical
  • #1
likephysics
636
2
In any signal line that's oscillating, how does the pull up resistor value affect the signal frequency.
According to I2C specs, The pullup res and the device capacitance limit the rise time of the signal, thus limiting the max frequency.
But when I simulated, I didn't see any change in frequency when I varied the value of R.
In the circuit attached, V1 is the oscillating source(1MHz), R is tied to V2(3.3V)
 

Attachments

  • rp.pdf
    5.9 KB · Views: 228
Engineering news on Phys.org
  • #2
V1 is just a mathematical function that produces a waveform at a specified amplitude and frequency. It has no internal capacitance nor can it be affected by external components.

Try creating a real oscillator using a transistor and see what happens.
 
  • #3
Why is the cap to ground? I think the parasitic capacitance should be in series with the pullup. You'll need to charge this capacitance through the pullup and that's what's going to slow you down.
 
Last edited:
  • #4
likephysics said:
IThe pullup res and the device capacitance limit the rise time of the signal, thus limiting the max frequency.
You need to give your voltage source, V1, a realistic output impedance. If the source is an open-collector arrangement, then its output impedance should be represented as a very high value for output going HI.
 
  • #5
gnurf said:
Why is the cap to ground? I think the parasitic capacitance should be in series with the pullup. You'll need to charge this capacitance through the pullup and that's what's going to slow you down.

The cap to ground represents the IC input capacitance.
 
  • #6
skeptic2 said:
V1 is just a mathematical function that produces a waveform at a specified amplitude and frequency. It has no internal capacitance nor can it be affected by external components.

Try creating a real oscillator using a transistor and see what happens.

I can add series resistance and some parallel capacitance for V1. If I add series resistance, then the series res and parallel cap of 10pf will act as low pass filter.
But I am interested in seeing how the pullup res and 10pf cap degrade the signal.
 
  • #7
Your V1 is just a mathematical function that outputs a specific waveform at a specific amplitude and frequency. Adding external components will not affect its frequency. You need to create an oscillator in place of V1.
 
  • #8
OP, you are not using a load, and like Skeptic2 said, you are not using a realistic output driver either. Its an open collector, so that means, when the output should be high, your pin should be floating (to be pulled up by the resistor). Instead, you are driving the high output directly with a voltage source in your simulation. The voltage source can source/sink infinite current since it exists only as an ideal mathematical model. That ideal voltage source has no problem removing and adding charge to the capacitor, which results in that pull up resistor basically being ignored.

Try using a diode in series, between your voltage signal source and your RC circuit, to imitate the open-collector behavior (cathode at the + side of your voltage source, anode at the RC). Using an NPN open collector would be even more accurate, especially when you are trying to discharge the capacitor with a low output. Just using a high value resistor in series will not give you accurate results, although more realistic than what you were simulating originally.

Also, as a side comment, I think generally I2C is recommended to use 1k pull-ups, and probably never much higher than 22k. It depends on the current sinking abilities of your chip and how many devices you have on the bus. Why are you using a 470k pull up?
 
Last edited:

Related to Pull Up Resistor Value Impact on I2C Signal Frequency

What is a pull up resistor and why is it needed in an I2C circuit?

A pull up resistor is a passive electronic component that is used to pull a signal line to a higher voltage level when there are no active devices pulling it down. In an I2C circuit, the pull up resistor is needed to provide a stable voltage level for the communication between the master and slave devices.

How does the value of the pull up resistor affect the frequency of the I2C signal?

The value of the pull up resistor affects the rise time of the I2C signal, which in turn affects the maximum frequency at which the signal can operate. A lower value pull up resistor will result in a faster rise time and allow for a higher frequency, while a higher value resistor will result in a slower rise time and limit the maximum frequency.

What is the ideal value for a pull up resistor in an I2C circuit?

The ideal value for a pull up resistor in an I2C circuit is dependent on the specific components being used and the desired frequency of operation. A good rule of thumb is to choose a value that allows for a rise time of 1 microsecond or less, which typically falls in the range of 1-10kΩ.

What happens if the pull up resistor value is too low in an I2C circuit?

If the pull up resistor value is too low, it can result in a faster rise time than what is specified in the I2C standard. This can cause signal integrity issues and lead to communication errors between the master and slave devices.

Is it possible to have multiple pull up resistors in an I2C circuit?

Yes, it is possible to have multiple pull up resistors in an I2C circuit. However, care must be taken to ensure that the combined resistance does not exceed the recommended value and that the individual resistors are properly placed in the circuit to avoid signal interference.

Similar threads

Replies
9
Views
1K
  • Special and General Relativity
3
Replies
95
Views
4K
Replies
4
Views
7K
  • Advanced Physics Homework Help
Replies
6
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
1
Views
6K
Replies
2
Views
6K
Replies
5
Views
3K
Back
Top