Discussion in "General help Guidance and Discussion" started by    RUSHI D    Apr 28, 2009.
Tue Apr 28 2009, 04:13 AM
#1
hi frnz...!

can u pls list down d differences between SPI and I2C protocols...

regards
rushi d.
Tue Apr 28 2009, 05:50 AM
#2
I2C =>less no. of pins only one line for data transfer
SPI=>two lines required for data transfer
I2C is slower than SPI.
Tue Apr 28 2009, 07:14 AM
#3
thanx shyam...

but i want detailed differences like if we r compairing their speeds den mention d max speeds they can achieve

any more difference...

regards
rushi d.
Tue Apr 28 2009, 07:32 AM
#4
There are a lot of difference from the protocol point of view. But Hardware wise it same as mentioned by shyam.

1. In I2C lot of s/w manipulation has to be done. where as in SPI programmer need to handle only SS pin if SPI is used between multiple ics.

2. I2C can reach only till 384kbps based on CCLK. Whereas SPI can go till CCLK/4. i.e., if CCLK=12MHz, Then SPI speed is 3MHz.

3. There are atleast 30-40 situation which programmer is suppose to handle in I2C for effective and efficient communication. where as in SPI only SS is suppose to be managed and data is supposed to be placed in SPDAT.

4. In SPI since both the MOSI(Master Out Slave In) and MISO(Master In Slave Out) uses a single buffer care should be taken to transfer the data.

5. I2C can be used in a situation where shrinking of the pcb is more important than speed and SPI is vice-versa

 RUSHI D. like this.
Tue Apr 28 2009, 07:41 AM
#5
I2C can go upto 4Mhz SPI can go upto 70Mhz
 RUSHI D. like this.
Tue Apr 28 2009, 07:42 AM
#6
thanx ajaz 4 ur reply

but i did not get 3rd pt..

can u explain..?
Tue Apr 28 2009, 07:57 AM
#7
He mens to say that, incase of I2C programmer has to take care of right sequence of data transfer on bus like address, start, stop, ack, nak etc...
where as in case of SPI just SS (slave select) is to be managed and data read/write is done from SSPDAT register.

these names may vary from controller to controller
Tue Apr 28 2009, 12:47 PM
#8
k got it...
thanx ajay
Tue Apr 28 2009, 06:10 PM
#9
A very valuable tool to discovering what things mean and what things do is the Google search engine.

If you type into this search engine the phrase "SPI interface", your first website shown is:
http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

This is a pretty good description of the SPI interface, and some of what it can do...

Likewise, if you type in "I2C interface", you get this website:
http://en.wikipedia.org/wiki/I%C2%B2C

Give it a try, and see for yourself...

Hope this helps,

Get Social

Information

Powered by e107 Forum System

Conversation

ExperimenterUK
Wed May 25 2016, 05:05 AM
@ Ramanjaneyulu, post in forum,explain your problem
Mon May 23 2016, 11:34 PM
Ramanjaneyulu
Hi, I Am using at89c4051 for my application, I want 5u sec dely.. Up to 1milli sec iam able to producing delay. Beyond the 1milli second, I am unable to produce the acceurate dely. Plz any one help me
Sat May 21 2016, 09:51 PM
A K
i want to mak an auto dialer using gsm and atmega 16. please helpe me how to write a code to auto dial a number saved in sim
Sat May 21 2016, 10:42 AM
Alec
Hi im trying to program my 89s51 with a usbasp so any ideas on the circuit?
Wed May 18 2016, 10:08 AM
Tashu joshi
anyone know how to develop
Wed May 18 2016, 10:07 AM
Tashu joshi
i'm working for resporatry system using 8051,
Wed May 18 2016, 10:06 AM
Tashu joshi
i'm developing a respiratory system using Arduino
Fri May 13 2016, 11:03 AM
MEGHANA
i need c code for counting frequency of two sensors and compare these frequencies and it has to give high/ low signal after comparision
ExperimenterUK
Tue May 10 2016, 05:02 PM
@Suren ..create a thread in the 8051 Discussion Forum to discuss your problem
Tue May 10 2016, 04:04 PM
Suren Avushyan
how can I increment address not the content of it, like 0x70 and get 0x71

Downloads

Comments

zaft93
Sun May 15 2016, 01:52 AM
CELEBI
Thu May 12 2016, 08:28 AM
Suro1996
Wed May 11 2016, 06:07 PM
yigithan
Sat May 07 2016, 09:09 PM
jaque
Fri May 06 2016, 07:51 PM
afzal42
Wed May 04 2016, 11:16 AM
pd
Sun May 01 2016, 01:35 AM
uk2308
Fri Apr 29 2016, 12:27 PM

Online

Guests: 48, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 37765
Newest member: zaft93
Forum Activity
ExperimenterUK Avatar
Posted By ExperimenterUK
Sun May 15 2016, 10:58 PM
zaft93 Avatar
Posted By zaft93
Sun May 15 2016, 01:55 AM
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri May 13 2016, 07:59 PM
If you want only one relay to be on at a time the ...
CELEBI Avatar
Posted By CELEBI
Fri May 13 2016, 06:16 AM
Yes. It must be as you said. It must be 1.5 second...
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu May 12 2016, 08:35 PM
Here is one way.If you have the Keil compiler you ...
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu May 12 2016, 05:20 PM
Sorry I don't understand what you want.Is that 1.5...
CELEBI Avatar
Posted By CELEBI
Thu May 12 2016, 08:53 AM
Hello Guys, I want to make a Project with 89s51 bu...
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed May 11 2016, 09:28 PM
No this is all I've got, the algorithm I think is ...
Suro1996 Avatar
Posted By Suro1996
Wed May 11 2016, 09:27 PM
Is this all the code you have ?As it is, it will n...
Suro1996 Avatar
Posted By Suro1996
Wed May 11 2016, 07:31 PM
Hello, I am new to assembly programming and I am h...