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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren