Forum: Mikrocontroller und Digitale Elektronik Chip Select SPI auf high impedance


von Narben Johnny (Gast)


Lesenswert?

Hey,

ich möchte an einen SPI-Bus vier Slaves anschließen. Damit die digitale 
Schnittstelle entkoppelt ist, soll der ADuM3154 von Analog Devices zum 
Einsatz kommen 
(http://www.analog.com/media/en/technical-documentation/data-sheets/ADuM3154.pdf). 
Da hier ein MUX verbaut ist kann ich zwei Leitungen für CS sparen, aber 
dennoch die vier Slaves ansprechen.

Der ADuM3154 unterscheidet beim MUX-Ausgang zwischen 3 Zuständen: 1, 0 
und high impedance.
Ein Slave reagiert erst, wenn CS von 1 auf 0 gezogen wird. Was macht der 
Slave, wenn sich die CS-Leitung im high impedance Zustand befindet?

Vielen Dank für eure Hilfe.

von Stefan S. (chiefeinherjar)


Lesenswert?

Das ist schwer vorherzusagen. Das Verhalten ist entweder im Datenblatt 
deines Slaves dokumentiert (bspw. Ob diese einen internen Pullup haben). 
Ansonsten gilt das, was für alle hochohmigen Co's-Eingänge gilt: Nicht 
offen lassen, ansonsten kann es zu unerwünschtem bzw undefiniertem 
Verhalten kommen.
Es können auch Störungen eingekoppelt werden, die dein CD-Signal 
kurzzeitig auf Low ziehen.

von RTFM (Gast)


Lesenswert?

Das legst du mit dem entsprechenden Pull Widerstand am CS fest, ich 
würde einen Pullup einbauen.

von Stefan S. (chiefeinherjar)


Lesenswert?

Stefan S. schrieb:
> Co's-Eingänge

Ich meine natürlich CMOS-Eingänge!

Und ich bin von sonst keinen weiteren Pull-ups oder -downs ausgegangen. 
Dann ist der Eingang als - näherungsweise - offen zu betrachten.

von Chris K. (Gast)


Lesenswert?

High imedance bedeutet ja nichts anderes als Hochohmig. Der Mux 
entkoppelt also seinen Port vom Rest der Schaltung. Somit kann jedes 
Pull device an dem Mux diesen ohne große Querströme treiben. Wenn also 
einer deiner anderen ICs einen Pull up oder Down an der CS Leitung hat 
wird die CS diesen Zustand annehmen.

von Narben Johnny (Gast)


Lesenswert?

Vielen Dank für den Hinweis mit dem Pull Up Widerstand. Ich denke das 
sollte das Problem lösen.

von Falk B. (falk)


Lesenswert?

@Narben Johnny (Gast)

>ich möchte an einen SPI-Bus vier Slaves anschließen. Damit die digitale
>Schnittstelle entkoppelt ist,

Warum glaubst du, eine galvanische Trennung zu benötigen?
Die übliche Paranoia?

>Ein Slave reagiert erst, wenn CS von 1 auf 0 gezogen wird. Was macht der
>Slave, wenn sich die CS-Leitung im high impedance Zustand befindet?

Unsinn. Ein CS darf niemals in Tristate gehen.

von HildeK (Gast)


Lesenswert?

Narben Johnny schrieb:
> Vielen Dank für den Hinweis mit dem Pull Up Widerstand.

Ja, unbedingt notwendig.
Sonst: wenn du von LOW auf High-Z gehst wird der Pin auf Grund von 
einigen pF Streukapazität zunächst noch eine gewisse Zeit auf LOW 
bleiben, bis auf Grund von Restströmen diese Kapazität geladen wird und 
er in den undefinierten Bereich oder ev. auch auf HIGH kommt - nicht 
vorhersehbar! Das ist so unbrauchbar.

von Pandur S. (jetztnicht)


Lesenswert?

Die galvanische Trennung wird wirklich benoetigt ?

von . . (Gast)


Lesenswert?

Zitronen F. schrieb:
> Die galvanische Trennung wird wirklich benoetigt ?
Wird die Schaltung wirklich benötigt? :P

von foobar (Gast)


Lesenswert?

Ich denke, die lassen die deselektierten SS-Ausgänge floaten, damit der 
Anwender über Pull-Ups/Downs einen beliebigen Ruhepegel festlegen kann.

von Falk B. (falk)


Lesenswert?

RTFM

"The outputs that are not selected are set to high-Z, and the 
application pulls them to the desired idle state."

Seite 18, unten.

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.