Forum: Mikrocontroller und Digitale Elektronik R8C: Frage zur SPI-Schnittstelle


von Michael T. (michelback)


Lesenswert?

Hallo,

ich habe eine Frage zur SPI Schnittstelle beim R5F2122 von Renesas. Da 
ich insgesamt 4 bis 5 slaves an die SPI hängen möchte, brauche ich ja 
theoretisch auch 5 Chip Select Leitungen. Allerdings wird im Datenblatt 
nur eine SCS Leitung dafür vorgesehen...

Adresse zum Datenblatt:

http://documentation.renesas.com/eng/products/mpumcu/rej09b0251_r8c2223hm.pdf

Auf Seite 334 steht aber folgendes zur SPI:
"When the clock synchronous serial I/O with chip select is set as master 
device, the chip select
line controls output of the SCS pin or controls output of a general port 
by setting the CSS1 bit in the SSMR2
register."

Das heißt doch, dass ich jeden GPIO hernehmen kann um einen 
Chip-select-Pin zu erhalten, oder? Ich müsste nur das CSS1 Bit bei einem 
anderen Port setzen, oder? Allerdings ist es jetzt so, dass in den 
Pin/Port-Beschreibungen nur beim SCS-Pin das CSS1-Bit auftaucht (Seite 
83 "Port settings"). Kann ich jetzt auch für einen anderen Port das 
CSS1-Bit setzen? Wenn ja, wie würde dazu ein Codebeispiel aussehen? Ich 
blicke grad gar nicht mehr durch...

Grüße
Michael

von mo (Gast)


Lesenswert?

Hallo Michael,

das CCS1-Bit gibt es nur einmal. Damit kann man generell einschalten, ob 
der SCS-Pin von der Hardware gleich mit gesteuert wird. Wenn CSS1 nicht 
gesetzt ist, kann man jeden beliebigen Port-Pin als CS nutzen, man muß 
es nur vor der Übertragung von Hand setzen und nach Beendigung auch 
wieder löchen.

Gruß
Mo

von Schrotty (Gast)


Lesenswert?

Du kannst beim SPI-Interface auch deine 5 Slaves kaskadieren (also in 
Reihe schalten), dann brauchst du gar kein CS.

Nachteil: Du musst immer durch alle Slaves schieben, was länger dauert.

http://de.wikipedia.org/wiki/Serial_Peripheral_Interface

von Michael T. (michelback)


Lesenswert?

hallo zusammen,
vielen Dank an alle. Es waren viele interessante Ideen dabei. Habe mich 
jetzt dafür entschieden, einen DEMUX (74HC138D) für die CS-Leitungen 
herzunehmen. Vorteile sind, dass ich die "original" SPI nehmen kann, 
ohne noch groß was an den Ports einzustellen und dass ich insgesamt 8 
SLaves dranhängen kann, wobei ich nur 4 Pins vom µC brauche. Ausserdem 
gibt der DEMUX alle Ausgänge erstmal mit HIGH aus (bis auf den 
ausgewählten) wodurch ich mir die Pull-up-Geschichte spare.
Grüße,
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.