SPI eller I2C
SPI eller I2C
Vad är enklast/bäst att använda, SPI eller I2C?
Ska använda flashminne o en RTC tillsammans med en PIC.
// Jones
Ska använda flashminne o en RTC tillsammans med en PIC.
// Jones
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.
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.
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.
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.
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.
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.
Ä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.
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
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

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?
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?
Ä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..."
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.