Sida 1 av 1

SPI eller I2C

Postat: 25 oktober 2005, 10:40:15
av Jones
Vad är enklast/bäst att använda, SPI eller I2C?
Ska använda flashminne o en RTC tillsammans med en PIC.

// Jones

Postat: 25 oktober 2005, 12:13:49
av PaNiC
Tror att SPI är lite enklare att använda. Jag har inte använt det själv, men dock I2C. Det kan vara lite krångligt.

Postat: 25 oktober 2005, 12:45:20
av sodjan
Vilken PIC ?
Jag antar att du kan välja både extern flashminne och RTC med båda interfacen ? Annars är det ju ganska givet... :-)

I2C:
- Färre pinnar
- Lite mer komplex programmering
- Enkelt (hårdvarumässigt) att utöka med flera "slaves".

SPI:
- Fler pinnar på PICen (separate CS bl.a).
- Jag tror att det går att köra SPI något snabbare än I2C.
- Enklare programmering (speciellt om din PIC saknar MSSP modul vilket är anledningen till att jag frågade om PIC modell...).
- Kräver mer hårdvaruändringar för expansion (extra CS linje).

Notera att även med MSSP modulen så är nog vanligtsvis SPI lite enklare att sätta upp och hantera.

Postat: 25 oktober 2005, 13:57:30
av Icecap
I²C är och kommer alltid att vara mitt andrahandsval!

SPI fungerar oftast snabbare och enklare enligt mitt tycke.

Jag kör SPI på RTC och EEPROM på mina projekter och har ingen problemer, jag körte mjukvara-I²C på ett till RTC & EEPROM och det var inget hit: RTC'n skulle ha dataledningerna isolerat vid backup-drift vilket fick uppstartssekvensen att bli knasig osv.

Sen ger den pull-up drivna buss i I²C mer känslighet för störning, inte mycket men..... Dessutom är det 2 motstånder extra att montera.

Postat: 25 oktober 2005, 16:25:12
av Jones
Tänkte nog använda PIC18F6527, då den har flera UART's (exjobbar med att ta fram en protyp för en bärbar USB host som ska skicka data via GPRS) vilket enligt kravspec från företaget behövdes för en massa saker dem ville ha med ... hur som helst så hade den pic'n både I2C o SPI så jag tänkte kolla vad som verkade enklast.

Postat: 25 oktober 2005, 16:33:38
av sodjan
OK, en rellativt "high-end" PIC. Med bl.a dubbla EUSART och dubbla MSSP moduler. Det enda är väll att 64 TQFP är lite knökigt att "labba" med, vad har du för hårdvara att bygga på ? Något av Microchips färdiga "development" kort ?

Postat: 25 oktober 2005, 16:42:29
av Jones
Företaget som vi gör jobbet hos har tydligen redan labkort för detta, o den pic'n skulle tydligen funka men jag vet tyvärr inte ännu vilket kort det är.
Än så länge e ingenting riktigt spikat, ev så blir det kanske processor från atmel istället ...."dem" hade utvecklingskit för dem med! Just nu ligger nog krutet på att hitta en usb host, läste lite på detta forum om någon som snackade om Cypress USB host, skulle tydligen ha SPI I/F så det kanske blir en sådan.

Postat: 25 oktober 2005, 23:58:40
av fatpo83
egentligen spelar det väl ingen roll, båra protokollen är ändå enkla!

De som dock avgör vilket man väljer är hastighet samt tillgänglighet. Vissa ftg köper in som galningar men som inte använder det. Sen när de startar ett projekt så vill de självklart utnyttja det de en gång i tiden köpt in.

Utbudet av komponenter med SPI stöd är större än I2C. själv har jag kört med i2c och fungerar felfritt. att bara 2 pinnar behövs är ju bara bra men nu är det inte så att man har ont om pinnar heller ;)

Postat: 26 oktober 2005, 00:29:39
av baron3d
I2c =Massa meck! Fastfungerar när man äntligen är klar. Det finns en hel del avanceradekretsar. Har bara provar mjukvaru-implementerat.

SPI=Enkelt! Tag en enkel 74HC4094, och du har 8 utgångar.
Har testat på EEPROM och annat, fungerar bra.

Postat: 26 oktober 2005, 10:42:11
av Jones
Tackar för svaren förresten,
har däremot fortfarande ett litet problem att hitta en schysst USB host som har SPI lr I2C I/F. Har kollat på Cypress som sagt men dem verkar så jäkla stora, kikade även på lvr.com under USB kapitlet men hittade inget direkt som kändes bra, eller som hade SPI/I2C!
Någon som har något tips?

Postat: 26 oktober 2005, 13:49:55
av sodjan
Är detta inte samma fråga som : http://www.elektronikforumet.com/forum/ ... php?t=7527 ??

Var vill du ha svaret ???

EDIT: Ett svar finns på "andra stället..." :-)

Postat: 26 oktober 2005, 13:57:28
av Jones
På det andra stället ... :)