why dont we need pull up resistors in SPI but are used in I2C?

Status
Not open for further replies.

kaushikrvs

Member level 5
Joined
Jan 27, 2017
Messages
82
Helped
0
Reputation
0
Reaction score
0
Trophy points
6
Activity points
613
whats the idle state of the lines of an SPI if not connected to a slave ?
 

why dont we need pull up resistors in SPI but are used in I2C?

Because the I2C slave devices are open drain in-general

whats the idle state of the lines of an SPI if not connected to a slave ?

The most common settings are CPOL=0 (idle low) and CPHA=0 (sample rising edge).
 
Last edited:

I2C is open collector outputs so that you can have multiple devices on the I2C bus and is thus limited to 400Khz or so, SPI selects each device with its own enable pin and is much faster more than 25Mhz. The idle state depends on the settings of the SPI bus and can be programed to be any state that is compatible with the device on the SPI bus.
 

what happens if I try to operate beyond SPI maximum frequency ? will the bus capacitance come into picture ?
 

Hi,

The answer is simple:
The communication becomes unreliable.
The communication may work or not.
It may work today, but not tomorrow.
It may work with the temperature now, but not with any other temperature.

But what's a communication worth if you can't rely on it's informations?

My recommendation: don't do it.

Klaus
 

Any interface capacitance will have it's effect, can be nothing or minimal or enough to disturb data transmission. It's a natural phenomina.
Be clear on question.
 

There is no defined upper limit on the speed of the SPI bus. The SPI devices have an upper limit specified in their data sheet. for example a SD card in SPI mode can run at 25Mhz, however a maximum bus capacitance is also specified.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…