Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

What different are I2C and SPI?

Status
Not open for further replies.

nemolee

Full Member level 3
Joined
Dec 28, 2004
Messages
155
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,298
Activity points
1,460
Hi,
As I know, the I2C have two bus which are SCL and SDA. Anyone can tell me What different are I2C and SPI?
Thanks.
 

dainis

Advanced Member level 4
Joined
May 15, 2001
Messages
1,126
Helped
53
Reputation
106
Reaction score
9
Trophy points
1,318
Activity points
9,268
https://www.epanorama.net/links/serialbus.html
https://www.epanorama.net/links/serialbus.html#i2c
https://www.epanorama.net/links/serialbus.html#spi

Advanced by Motorola, the Serial Peripheral Interface (SPI) is a synchronous serial data protocol. It provides Support for a high bandwidth (1 megabaud) network connection amongst CPUs and other devices supporting the SPI.

SPI is 4 wire fast clocked serial interface, for fast onboard chip interconnecting.
MOSI ... Master Out Slave In
MISO ... Master In Slave Out
SCK ... Clock
SS ... Slave Select
 

VVV

Advanced Member level 5
Joined
Nov 26, 2004
Messages
1,582
Helped
384
Reputation
768
Reaction score
88
Trophy points
1,328
Activity points
19,971
I2C uses only two signals for bidirectional communication, whereas SPI uses three. Start and stop conditions are indicated by a transition on the SDA (data) line, with the clock line HIGH. SPI does not need that, since the clock actually shifts the data, both in and out of the master/ slaves.

I2C allows addressing, SPI does not. In fact, SPI requires additional signals to select the different slaves.

I2C is a multimaster bus, featuring collision detection. SPI uses a single master which shifts data in/ out of shift registers in the master and the active slave.

I2C allows acknowlegde, SPI does not.

I2C signals are open-drain with pullups, to allow multiple access. In SPI, the master transmits the clock and MOSI and the slaves transmit MISO. Thus, all signals are unidirectional, driven hard in both directions.

In most cases, SPI is faster. Part of the reason is that I2C uses pullups, which slow it down in conjunction with the inherent bus capacitance.
 

billjoe

Member level 1
Joined
May 2, 2005
Messages
34
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Activity points
1,576
I2C uses only two signals for bidirectional
communication, whereas SPI uses three(3W) or four.
(4w)

both SPI and IIC can have ack ( depend on your design)

but IIC must be very very carefully about start/top state detect and master/slave commuicate


so dependence on your I/F need IIC protocol or not , (slave / master for instance : DSC(MPU<-> DSP ) , otherwise , just use SPI!
 

gerade

Advanced Member level 4
Joined
May 4, 2004
Messages
109
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,298
Location
the hole eletron left behind
Activity points
1,014
Hi,

I have another question here regarding IIC.

why IIC is used quite often in a lot of multimedia products like HDTV??

RDS and TNX
 

dainis

Advanced Member level 4
Joined
May 15, 2001
Messages
1,126
Helped
53
Reputation
106
Reaction score
9
Trophy points
1,318
Activity points
9,268
gerade said:
Hi,

I have another question here regarding IIC.

why IIC is used quite often in a lot of multimedia products like HDTV??

RDS and TNX

Because it is industrial standart for on board chips and interboard connections in device, by only signal 2 pins and multi device access by each chip invidual addressing.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top