mehrere SPI geräte an einem controller

Gast #628703
Bis jetzt hatte ich erst einmal das Problem, dass ich zwei SPI Geräte 
gleichzeitig in einem Programm benutzt habe. Ein grafiklcd (nokia 6100) 
und SD Karte. Beides ging über Hardware SPI. Habe einfach nur auf die 
Karte geschrieben wenn das LCD nicht gebraucht wurde oder ähnlich. Was 
mache ich aber wenn ich wirklich mal alles gleichzeitig brauche oder 
evtl. NOCH ein Gerät anschließen will (zum Bsp. nen DAC oder VS1001...)?
@ Philipp Karbach (Gast)

>Karte geschrieben wenn das LCD nicht gebraucht wurde oder ähnlich. Was
>mache ich aber wenn ich wirklich mal alles gleichzeitig brauche oder
>evtl. NOCH ein Gerät anschließen will (zum Bsp. nen DAC oder VS1001...)?

Alle SPI-Slaves brauchen ein Chip Select Signal.

MFG
Falk
Gast
das weiß ich ja aber irgendwie kam es dennoch zu interferenzen 
(manchmal). Was ist denn dann der beste weg? CS von Slave A auf low, CS 
von Slave B auf High und dann B schreiben? Was mach ich zum beispiel 
wenn ich einen Schreib status auf dem LCD ausgeben will? Nach jedem 
geschriebenen byte das CS wechseln? das ist mir unklar
(Firma: TravelRec.) Persönliche Seite
>Nach jedem geschriebenen byte das CS wechseln?

Sinnvollerweise nach jedem übertragenem Befehl (kann mehrere Bytes lang 
sein). Bei vielen Bausteinen muß ohnehin nach jedem Byte das CS 
getoggelt (1->0->1) werden, damit der Baustein das Ende des einen und 
den Anfang des nächsten Bytes erkennt.
@ Philipp Karbach (Gast)

>das weiß ich ja aber irgendwie kam es dennoch zu interferenzen

Das sind zu 99% Programmierfehler.

>(manchmal). Was ist denn dann der beste weg? CS von Slave A auf low, CS
>von Slave B auf High und dann B schreiben? Was mach ich zum beispiel

Cs ist meist LOW aktiv, also in deinem Beispiel schreibst du auf Salve 
A.

>wenn ich einen Schreib status auf dem LCD ausgeben will? Nach jedem
>geschriebenen byte das CS wechseln? das ist mir unklar

Das kommt auf die ICs an. Meist muss ein Zugriff, welcher meist mehrere 
Bytes umfasst, mit einer Steigenden Flanke von Cs beendet werden.

MFG
Falk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.