mikrocontroller.net

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


Autor: Michael T. (michelback)
Datum:

Bewertung
0 lesenswert
nicht 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/mpum...

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

Autor: mo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Schrotty (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael T. (michelback)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.