Frage:
Einen Bus entwerfen - Master an einem Ende oder in der Mitte?
Majenko
2011-07-12 19:20:12 UTC
view on stackexchange narkive permalink

Ich lege gerade einen Datenbus aus (zunächst auf einem Steckbrett) und frage mich, ob es einen „richtigen“ Weg gibt, ihn auszulegen. Ich habe eine CPU, die als Busmaster fungiert, und eine Reihe von Geräten (RAM, ROM, IO usw.), die an den Bus angeschlossen sind.

Wir sprechen von nicht mehr als ein paar MHz Prozessortakt hier - nichts unglaublich schnelles.

Ist es besser, das Bus-Master-Gerät an einem Ende des Busses zu haben (so):

enter image description here

oder ist es in Ordnung, den Busmaster zwischen anderen Geräten (wie diesem) zu haben?

enter image description here

Macht es bei den Geschwindigkeiten, über die wir sprechen, tatsächlich einen Unterschied? Ich kann mögliche Probleme bei viel höheren Taktraten vorhersehen, aber bei etwa 4 MHz ist es eine Designüberlegung, über die ich nachdenken sollte?

Die Tatsache, dass Sie sich auf einem Brotbrett befinden, ist wahrscheinlich ein größeres Problem als die Art und Weise, wie der Bus angeschlossen ist.
Ja, aber sollte ich beim Wechsel vom Steckbrett zum kupferkaschierten Material die Platzierung meiner Komponenten in Bezug auf die Auslegung des Busses auf eine bestimmte Art und Weise in Betracht ziehen?
Ich denke, der Punkt, den ich anstrebte, war, dass wenn es auf einem Brotbrett funktioniert, es sicherlich auf einer Leiterplatte funktioniert.
Bei 4 MHz können Sie mit fast allem davonkommen, mit Steckbrett, Drahtwickel und praktisch jedem PCB-Layout, das Sie sich vorstellen können, vorausgesetzt, Sie geben sich nicht die Mühe, übermäßig lange Läufe zu erstellen. Wenn Sie nur logische Geräte innerhalb von ein oder zwei Fuß voneinander zusammenhängen, gibt es einfach nicht genug Reaktanz, um sich darum zu kümmern.
Drei antworten:
Olin Lathrop
2011-07-12 20:31:25 UTC
view on stackexchange narkive permalink

Der Standort des Busmasters spielt keine Rolle. Der wichtige Punkt ist, ob der Bus eine Übertragungsleitung ist oder nicht, und daher, welche Schritte unternommen werden müssen, um die Signalintegrität sicherzustellen. Wie Stevenvh betonte, handelt es sich bei 4 MHz nur um digitale Signale auf Ihrem Board, und Sie müssen wahrscheinlich nichts Besonderes tun.

Wenn die Geschwindigkeit und / oder Buslänge so gestiegen sind, dass es sich um eine Übertragungsleitung handelt (konzentriert) Modell gilt nicht mehr), dann muss man sich als solches damit auseinandersetzen. Es gibt verschiedene Dinge zu tun, je nachdem, wie weit Sie sich im Gebiet der Übertragungsleitung befinden. Übliche erste Schritte bestehen darin, sicherzustellen, dass der Bus nur eine einzige Linie mit kurzen Tropfen ist (z. B. kein Stern), und die Enden zu beenden. Manchmal reicht es aus, jedem Bustreiber nur Widerstände mit niedrigem Wert hinzuzufügen. Dioden zum Übersteuern und Unterschwingen können helfen. Wenn dies alles richtig gemacht wird, spielt es jedoch keine Rolle, ob sich der Master (vermutlich der Busfahrer?) In der Mitte oder an einem der Enden befindet.

stevenvh
2011-07-12 19:32:51 UTC
view on stackexchange narkive permalink

Kellenjb hat ein Argument für das Breadboarding, aber Flachkabel mit Interleaving-Gründen können hier hilfreich sein.
Die Faustregel besagt, dass Sie Übertragungsleitungseffekte erhalten, wenn die Trace- / Drahtlänge größer als 1/10 von ist die Wellenlänge. Ein 4-MHz-Sinus hat eine Wellenlänge von 75 m, aber Sie benötigen einige Harmonische, um anständige Kanten zu erhalten. 20 MHz bedeutet eine Wellenlänge von 15 m. Erwarten Sie daher Übertragungsleitungseffekte ab \ $ \ pm \ $ 1,5 m. Dies ist viel länger als Ihre Verkabelung, daher erwarte ich keine Probleme, wo immer Sie den Master platzieren.
Wenn Ihr Bus Pull-Up / Down-Widerstände verwendet, ist es eine gute Idee, diese am Ende zu platzieren.

+1 für den Hinweis auf die Harmonischen. Ich muss diese Kanten einigermaßen quadratisch halten.
BarsMonster
2011-07-12 19:28:15 UTC
view on stackexchange narkive permalink

Bei 4 MHz haben Sie eine Zykluszeit von 250 ns.

Nehmen wir an, Sie können Verzögerungen ignorieren, ohne darüber nachzudenken, wenn sie nicht mehr als 1/4 davon betragen.

Um eine Verzögerung von 62 ns zu erzielen, benötigen Sie eine 930 cm lange Spur (15 cm) per 1ns).

Solange sich alle Ihre Teile im selben Gebäude befinden, sollten Sie auf jeden Fall in Ordnung sein.

Es gibt noch weitere Überlegungen: Möglicherweise möchten Sie eine ordnungsgemäße Kündigung & passt die Impedanz aller Geräte im Bus an, um Reflexionen zu vermeiden, die Sie bei dieser Uhr nicht töten würden, aber es ist besser, ohne sie zu leben.

Ist diese 1/4 Regel eine willkürliche Sache oder worauf basiert sie? Sie sprechen von Verzögerung, aber Übertragungsleitungen sind viel mehr als das; dann sprechen wir über Reflexionen, charakteristische Impedanz und Gruppenverzögerung.
@stevenvh: Die 1/4-Regel beruht wahrscheinlich auf mehreren Faktoren: (1) Wenn Flanken an der Taktflanke abgetastet werden, die dem Zeitpunkt ihrer Änderung entgegengesetzt ist (bevorzugtes Szenario, wenn der Datensender die Uhr liefert), hinterlässt ein 1/4-Zyklus-Versatz immer noch a volle 1/4 Zyklus Abtast- / Haltezeit am Empfänger. Ein Versatz von 0,49 Zyklen würde nur 0,01 Zyklen für Probe / Halten belassen; (2) Jedes reflektierte Signal ist am Ende eines Halbzyklus von beiden Enden der Leitung abgeprallt. Wenn also eines der beiden Enden Reflexionen gut absorbiert, sollte das Signal bis zu diesem Punkt sauber sein.
@supercat Perfekt
@BarsMonster: Ich habe vergessen zu erwähnen, dass man mit SPI die Zeit möglicherweise deutlich unter 1/4 der Ausbreitung reduzieren muss. Wenn ein SPI-Master erwartet, empfangene Daten an der Taktflanke zwischen der zu speichern, an die der Slave-Sender sie sendet, muss das Signal innerhalb eines halben Zyklus, nachdem der Master jede aktive Taktflanke erzeugt hat, den Slave erreichen, der Slave muss erzeugen Die Antwort und die Antwort müssen den Master erreichen. Wenn die Ausbreitungszeit z.B. 0,24 Zyklen, das würde nur 0,02 Zyklen sowohl für die Antwort des Slaves als auch für die Rüstzeitanforderungen des Masters lassen.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...