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

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

rushi d.
Tue Apr 28 2009, 01:50 AM
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, 03:14 AM
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...

rushi d.
Tue Apr 28 2009, 03:32 AM
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, 03:41 AM
I2C can go upto 4Mhz SPI can go upto 70Mhz
 RUSHI D. like this.
Tue Apr 28 2009, 03:42 AM
thanx ajaz 4 ur reply

but i did not get 3rd pt..

can u explain..?
Tue Apr 28 2009, 03:57 AM
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, 08:47 AM
k got it...
thanx ajay
Tue Apr 28 2009, 02:10 PM
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:

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:

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

Hope this helps,

Get Social


Powered by e107 Forum System



Fri Apr 18 2014, 01:23 PM
Fri Apr 18 2014, 12:10 PM
Fri Apr 18 2014, 10:44 AM
Fri Apr 18 2014, 04:55 AM
Fri Apr 18 2014, 03:09 AM
Fri Apr 18 2014, 02:00 AM
Thu Apr 17 2014, 05:32 PM
Thu Apr 17 2014, 10:19 AM


Thu Apr 17 2014, 01:23 PM
@mba Great .. please do.
Thu Apr 17 2014, 12:27 AM
like the forum and wish to participate
Wed Apr 16 2014, 04:45 PM
@viniciusheidrun..you should read my comment just before your post
Wed Apr 16 2014, 01:43 PM
I'm doing a drive system with SIM900D modem and microcontroller AT89S52 via sms. I'm having trouble can not generate the. Hex to send to the microcontroller, whenever I compile the error, I'm using MCU 8051 IDE, what should I do so that my system receive sms and perform my task?
Mon Apr 14 2014, 01:00 PM
@Haranadh,bipin chandra etc. Create threads for your questions.
Sun Apr 13 2014, 04:05 AM
we bought HC 06 Bluetooth modem instead of Module ,Can any one help me of using it as bluetooth module since i am doing this project?
Sun Apr 13 2014, 03:58 AM
Hi,Actually we bought Bluetooth modem instead of Bluetooth Module
Sat Apr 12 2014, 02:55 PM
Please use forum if you want to ask a question.
Sat Apr 12 2014, 01:06 PM
Hi Ahana,I can Help you on this
Sat Apr 12 2014, 03:51 AM
bipin chandra
can anybody help me. we are making a project to control the position of dc motor. so there we need to interface lcd screen and the 4X3 memberane keypad and a dc motor driver chip. can anybody please give me the complete circuit diagram connection of these components with the 8051.and alse help in the programming. my email id is bipin.chandra666@gmail.com
  Choose Skin