Ruhezustand an SPI-Datenleitungen definiert??

Gast #1380077
Lesenswert?
• ▲
▼
Hallo an alle!

Es geht um die Datenübertragung per SPI mit einem MSP340. Wenn ich ein 
Zeichen übertrage, bei dem das letzte Bit HIGH ist, dann bleibt die 
entsprechende Datenleitung bis zum nächsten Zeichen auf HIGH nachdem das 
Zeichen übertragen wurde. Wenn aber bei dem zu übertragenden Zeichen das 
letzte Bit LOW ist, dann bleibt die Leitung auf LOW. Ist das normal? 
Gibt es bei SPI keinen definierten Ruhezustand, den die Datenleitungen 
annehmen, wenn gerade keine Übertragung erfolgt?

Danke schon mal für jede Antwort!!!
#1380094
Lesenswert?
• ▲
▼
noips schrieb:

> Was ist aber, wenn mehrere Slaves auf der SOMI-Leitung hängen und einer
> die Leitung nach der Übertragung auf HIGH hält und der nächtste
> Übertragen will?

Es gibt Slaves mit Select-Leitung und welche ohne. Mit solcher Leitung 
wird die Leitung vom Slave bei inaktivem Select hochohmig geschaltet und 
das Problem tritt nicht auf. Ohne solche Leitung ist dieser SPI-Bus 
ausschliesslich für diesen einen Slave verwendbar. Das hängt nicht vom 
Pegel ab, ob low oder high ist dabei egal.
#1380098
Lesenswert?
• ▲
▼
noips schrieb:
> Was ist aber, wenn mehrere Slaves auf der SOMI-Leitung hängen und einer
> die Leitung nach der Übertragung auf HIGH hält

Das darf er nicht, jeder Slave muß nach /CE = 1 in tristate gehen.
Und der Master muß natürlich für jeden Slave ein eigenes /CE erzeugen.
Es darf immer nur ein /CE = 0 sein.


Peter
Gast #1380120
Lesenswert?
• ▲
▼
Danke!
Ich verwende eben einen Slave mit Select-Leitung (low active) und auch 
nachdem das Zeichen übetragen wurde und die zugehörige Select-Leitung 
wieder auf HIGH gesetzt wurde bleibt die Datenleitung auf HIGH. Der 
zuletzt übertragende Slave ist eigentlich schon deaktiviert hält die 
Leitung aber trotzdem auf HIGH.
Gast #1380145
Lesenswert?
• ▲
▼
>Aktiv auf high gezogen, oder passiver Pullup? Manche SPI-Slaves haben
>schwache Pullups an den Pins, bei der Select-Leitung ist das auch sehr
>nützlich.

Aktiv, mit einem µC-Portpin.

>Pull up in den Datenleitungen?
>Um was für einen Slave handelt es sich?
>Wie hast du das "Die Leitung ist aber trotzdem auf HIGH" gemessen?

Kein Pull up in den Datenleitungen. Slave ist ein Serial Interface des 
MSP430 im SPI-Slave-Mode. Gemessen mit Oszi.
Gast #1380157
Lesenswert?
• ▲
▼
> und die zugehörige Select-Leitung wieder auf HIGH gesetzt wurde bleibt die 
Datenleitung auf HIGH.

Was mir eben erst aufgefallen ist. Die Select Leitung sollte doch eher 
auf LOW gehen nach der Kommunikation.
Gast #1380176
Lesenswert?
• ▲
▼
Ich habe jetzt die Pause zwischen den Zeichen länger gemacht und sehe, 
dass die Spannung an der Datenleitung abfällt (Kondensatorentladekurve). 
Wenn ich einen Pull down an sie hänge, dann fällt die Spannung schneller 
ab.
#1380228
Lesenswert?
• ▲
▼
noips schrieb:

> Ich habe jetzt die Pause zwischen den Zeichen länger gemacht und sehe,
> dass die Spannung an der Datenleitung

Dann ist doch alles ok, und es ist eben kein aktiver Pullup, nicht mal 
ein passiver, sondern das natürliche Verhalten einer offen hängenden 
Leitung. Kein Konflikt mit anderen Slaves zu erwarten.

Antwort schreiben

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.

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.