Forum: Mikrocontroller und Digitale Elektronik Maßnahmen zum ausfallsicheren Busreceiververhalten, wie geht das?


von noips (Gast)


Angehängte Dateien:

Lesenswert?

Guten Morgen!

Kann mir jemand vielleicht sagen, wie ich diesen Receiver (Anhang) 
richtig einsetze. Mir ist folgendes unklar:

1. Damit bei deaktivierten Treibern am Bus die Ausgänge der zugehörigen 
nicht betriebenen Receiver im definierten HIGH-Zustand bleiben, dürfen 
laut Datenblatt (Seiten 7, 8) die Signale an den betriebenen Receivern 
bei LOW-Zustand nicht die Schwelle von 0.4V unterschreiten. Dazu muss 
die Gleichtakt-Spannung z.B. ca. 1.5 V betragen und die 
Differenzspannung der beiden Eingänge ca. +/- 2V. Aber wie erreicht man 
das?

2. Der vorletzte Satz auf S. 7 lautet:

As in all data transmission applications, it is necessary to provide a 
return ground path between the two remote grounds (driver and receiver 
ground references) to avoid ground differences.

Heißt das, dass man zusätztlich zu den 2 Signalleitungen noch eine 
Masseleitung führen sollte, oder verstehe ich was falsch? Das wäre doch 
aufwändig!


3. In Abbildung 10 ist ein Bus dargestellt mit 4-fach-Treiber und 
4-fach-Receiver. Und es heißt, dass wenn 2 von den Treibern 
anwendungsbedingt deaktiviert werden können müssen, muss man die hier 
unter 1. genannten Maßnahmen treffen. Wenn man es aber wie in Abbildung 
11 gemacht wird, dann sind die Maßnahmen nicht nötig. Dabei verstehe ich 
nicht, wieso es so ist.

Bin für jede Hilfe sehr dankbar!!

von (prx) A. K. (prx)


Lesenswert?

Ich gehe mal davon aus, dass es hier um den früher skizzierten SPI-Bus 
geht.

Das in Datasheet skizzierte Problem mit teilweise offenen teilweise 
aktiven Leitungen stellt sich hier doch garnicht. Der Master schaltet 
sowieso nichts ab, der Slave schaltet alle seine Transmitter 
gleichermassen und das sind sämtliche Receiver-Leitungen des Masters. 
Der Pegel von nicht genutzten Receivern interessiert niemanden.

Ein GND für alle reicht aus. Ist ja bei Differenzsignalen (hoffentlich) 
weitgehend stromfrei.

von noips (Gast)


Angehängte Dateien:

Lesenswert?

Hallo A. K.!

>Das in Datasheet skizzierte Problem mit teilweise offenen teilweise
>aktiven Leitungen stellt sich hier doch garnicht. Der Master schaltet
>sowieso nichts ab, und der Slave schaltet alle seine Transmitter
>gleichermassen. Und der Pegel von unbenutzen Receivern interessiert
>niemanden.

Die Treiber des Masters bleiben tatsächlich immer aktiv. Der Master hat 
für SOMI-Signal einen Receiver, der mit den Treibern aller Slaves 
verbunden ist. Nur der Treiber des gerade sendenden Slaves ist aktiv und 
andere Treiber deaktiviert. Wenn aber keiner der Slaves sendet sind alle 
Treiber deaktiviert und dies würde am Ausgang des Master-Receivers einen 
undefinierten Zustand produzieren. Oder sollte man einen Slave immer 
aktiv lassen, auch wenn länger kein SPI-Datentransfer stattfindet?

Wenn auch es zu diesem Problem gar nicht kommt, würde mich das 
interessieren, wie man z.B. die Gleichtaktspannung anhebt. Etwa indem 
man an GND-Anschluss statt 0V einen Offset legt? Oder geht das auch so, 
wie in der angehängten Abbildung(hab die aus Datenblatt eines anderen 
Receivers). Dann wäre ja auch keine Masseleitung nötig.

von (prx) A. K. (prx)


Lesenswert?

noips schrieb:

> andere Treiber deaktiviert. Wenn aber keiner der Slaves sendet sind alle
> Treiber deaktiviert und dies würde am Ausgang des Master-Receivers einen
> undefinierten Zustand produzieren.

Die Eingangsbeschaltung eines Receivers sorgt bei offener Leitung selbst 
für einen kontrollierten Pegel, siehe Schaltbild im Datasheet.

Bild 10/11 und Tabelle 1 beziehen sich auf den Fall, dass ein Teil der 
verwendeten Receiver eine aktive Busleitung und ein Teil der verwendeten 
Receiver eine offene Busleitung vorfinden. Da alle deine entsprechenden 
Leitungen gleichermassen entweder offen oder aktiv sind, können einzig 
die unbenutzten Receiver spinnen. Na lass sie, wenn ihnen Spass macht.

> Wenn auch es zu diesem Problem gar nicht kommt, würde mich das
> interessieren, wie man z.B. die Gleichtaktspannung anhebt. Etwa indem
> man an GND-Anschluss statt 0V einen Offset legt?

Nein. Wenn man den Receivern das partout nicht selbst zutraut, dann kann 
man es so machen wie in deinem Anhang.

von (prx) A. K. (prx)


Lesenswert?

PS: Zu beachten wäre allerdings, dass eine rücklaufende Taktleitung (wie 
früher skizziert) im offenen Zustand beim Master als "1" ankommt. Das 
wird zu einer fallenden Taktflanke auf der Empfangsseite des Masters 
führen, wenn in Mode 0+1 die Transmitter des Slaves aktiviert werden. 
Bei Mode 0 interessiert ihn die diese Flanke wohl nicht, aber bei Mode 1 
wäre das nicht so gut.

von noips (Gast)


Lesenswert?

>Die Eingangsbeschaltung eines Receivers sorgt bei offener Leitung selbst
>für einen kontrollierten Pegel, siehe Schaltbild im Datasheet.

Ja, die interne Schaltung sorgt für kontrollierte Pegel, aber da steht 
auf S. 7 noch folgendes:

The internal fail-safe circuitry was designed such that the input 
common-mode (VIC) and differential (VID)voltages must be observed. In 
order to ensure the outputs of unused or inactive receivers remain in a 
high state when the inputs are open-circuited, shorted, or terminated, 
extra precaution must be taken on the active signal. In applications 
where the drivers are placed in a high-impedance mode or are 
powered-down, it is recommended that for 1, 2, or 3 active receiver 
inputs, the low-level input voltage (VIL) should be greater than 0.4 V.

Das vestehe ich so, dass die interne fail-safe-Schaltung nur unter der 
Voraussetzung immer für definierte Zustände an nicht aktiven Ausgängen 
sorgt, dass man an den aktiven Receivereingängen den LOW-Pegel mit 
irgend welchen Maßnahmen über 0.4V hält. Wie sonst ist dieser Abschnitt 
zu verstehen?

von (prx) A. K. (prx)


Lesenswert?

Ich lese dies so, dass dies nur von Bedeutung ist, wenn an den überhaupt 
verwendeten Receivern gleichzeitig sowohl aktive wie auch inaktive 
Busleitungen auftreten. Gibt es hier nicht.

Wobei das überhaupt nur beim skizzierten rücklaufenden Takt relevant 
ist. Hast du das noch vor? Wenn nicht, dann gibt es keine einzige 
Leitung, deren Pegel bei inaktivem Bus irgendwen interessiert. Die 
Master=>Slave Leitungen sind nie offen und der Zustand von SOMI ist 
uninteressant.

von noips (Gast)


Lesenswert?

>wenn unter den überhaupt verwendeten Receivern gleichzeitig sowohl aktive >wie 
auch inaktive Busleitungen auftreten.

Das ist einleuchtend. Dann verstehe ich auch die Abbildungen 10 und 11. 
Aber ich habe dies aus dem Text nicht sehen können.


>Wobei das auch nur beim skizzierten rücklaufenden Takt relevant ist. Hast >du das 
noch vor?

Nein. Es wurde beschlossen, die schnellsten Driver/Receiver zu verwenden 
und die Datenrate unter der Grenze zu halten, ab der die Delays zu 
problemen führen. Darum habe ich ja andere Bausteine ausgesucht. Habe 
davor andere verwendet, bevor ich überhaupt das Problem mit Delays 
wahrgenommen habe.

>dann gibt es keine einzige Leitung, deren Pegel bei inaktivem Bus >irgendwen 
interessiert.

Wie ist es eigentlich mit nichtdefinierten Zuständen an den 
Logikeingängen. Sind sie nicht grundsätzlich zu vermeiden, auch wenn die 
Funktion der betroffenen Schaltungsteile gerade nicht gebraucht wird. 
Ich habe irgend wo gelesen, dass undefinierte Zustände an Logik zum 
Oszillieren führen können.

von (prx) A. K. (prx)


Lesenswert?

Es gibt Situationen in denen undefinierte Eingänge ein Problem sind. In 
diesem Fall aber nicht, wobei manche Controller wie beispielsweise die 
AVRs mit ihren Schmitt-Triggern überhaupt keine analogen Zwischenpegel 
kennen. Jedenfalls sind undefinierte Zustände an MISO/MOSI ausserhalb 
der Transfers schon prinzipbedingt normal.

von noips (Gast)


Lesenswert?

Ich bedanke mich!!!!!

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.