SPI eller I2C

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Jones
Inlägg: 16
Blev medlem: 24 oktober 2005, 10:43:44
Ort: Norrköping
Kontakt:

SPI eller I2C

Inlägg 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
Användarvisningsbild
PaNiC
Inlägg: 2610
Blev medlem: 15 augusti 2003, 22:16:15
Ort: Skånelandet

Inlägg 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.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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.
Användarvisningsbild
Icecap
Inlägg: 26630
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg 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.
Jones
Inlägg: 16
Blev medlem: 24 oktober 2005, 10:43:44
Ort: Norrköping
Kontakt:

Inlägg 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.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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 ?
Jones
Inlägg: 16
Blev medlem: 24 oktober 2005, 10:43:44
Ort: Norrköping
Kontakt:

Inlägg 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.
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

Inlägg 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 ;)
Användarvisningsbild
baron3d
EF Sponsor
Inlägg: 1353
Blev medlem: 1 oktober 2005, 23:58:43
Ort: Torestorp

Inlägg 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.
Jones
Inlägg: 16
Blev medlem: 24 oktober 2005, 10:43:44
Ort: Norrköping
Kontakt:

Inlägg 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?
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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..." :-)
Senast redigerad av sodjan 26 oktober 2005, 14:14:58, redigerad totalt 1 gång.
Jones
Inlägg: 16
Blev medlem: 24 oktober 2005, 10:43:44
Ort: Norrköping
Kontakt:

Inlägg av Jones »

På det andra stället ... :)
Skriv svar