Adress-/Datenbus routen

  • Thread starter Tankred Müller
  • Start date
T

Tankred Müller

Guest
Hallo Leute,
ich stehe gerade vor der Aufgabe, den Adress- und Datenbus einer
komplexeren Schaltung zu routen. Der Systemtakt liegt bei 66 MHz, also
durchaus im kritischen Bereich.

Nun stellt sich die Frage, wie die Bausteine am besten zu platzieren
sind. Sollte der Bus die Bausteine nacheinander verbinden (dann wäre der
Bus sehr lang), oder sind T-Kreuzungen erlaubt?

Hat irgend jemand eine Quelle parat, die sowas wie Richtlinien in dieser
Frage bietet, oder selbst ein paar Ratschläge aus der Praxis für mich?

Grüße,
Tankred.
 
Tankred Müller schrieb:

ich stehe gerade vor der Aufgabe, den Adress- und Datenbus einer
komplexeren Schaltung zu routen. Der Systemtakt liegt bei 66 MHz, also
durchaus im kritischen Bereich.

Nun stellt sich die Frage, wie die Bausteine am besten zu platzieren
sind. Sollte der Bus die Bausteine nacheinander verbinden (dann wäre der
Bus sehr lang), oder sind T-Kreuzungen erlaubt?

Hat irgend jemand eine Quelle parat, die sowas wie Richtlinien in dieser
Frage bietet, oder selbst ein paar Ratschläge aus der Praxis für mich?
Hallo,

tja, was sagen denn Datenblätter und Applikationen der beteiligten
Bauteile dazu?

Bei den VME Bus Backplanes dürfen T Abzapfungen nur sehr kurz sein, aber
das ist auch ein an beiden Enden mit Wellenwiderstand abgeschlossener
Bus. Das erfordert aber auch recht kräftige Bustreiber, aber mit
Spannungsteilern zwischen VCC und GND als Abschluß kann man ja den
nötigen Strom verringern, noch mehr mit aktiver Terminierung.

Also wenn auf beiden Seiten mit Wellenwiderstand abgeschlossen werden
soll dürfen Stichleitungen zu den Baustein nur sehr kurz sein.

Wie lang wäre denn bei Dir sehr lang?

Bye
 
tja, was sagen denn Datenblätter und Applikationen der beteiligten
Bauteile dazu?

Naja, es ahndelt sich um "gewöhnliche" SDRAM-Bausteine, einen
Motorola-Prozessor und ein paar andere. In den Datenblättern steht im
Grunde gar nichts über das Layout.

Bei den VME Bus Backplanes dürfen T Abzapfungen nur sehr kurz sein, aber
das ist auch ein an beiden Enden mit Wellenwiderstand abgeschlossener
Bus. Das erfordert aber auch recht kräftige Bustreiber, aber mit
Spannungsteilern zwischen VCC und GND als Abschluß kann man ja den
nötigen Strom verringern, noch mehr mit aktiver Terminierung.

Also wenn auf beiden Seiten mit Wellenwiderstand abgeschlossen werden
soll dürfen Stichleitungen zu den Baustein nur sehr kurz sein.

Wie lang wäre denn bei Dir sehr lang?
Ich will das ganze auf eine Euro-Platine bekommen, der Bus wird daher
maximal 10-20cm lang sein.

Grüße,
T.
 
Tankred Müller schrieb:
Ich will das ganze auf eine Euro-Platine bekommen, der Bus wird daher
maximal 10-20cm lang sein.
Hallo,

mal eine Abschätzung dazu:
66 MHz entsprechen 4,54 m Wellenlänge im Vakuum, auf der Platine etwa 3
m. Eine Viertelwellenlänge davon sind 75 cm, da sind 20 cm noch deutlich
kürzer.
Wieviele Takte dauert denn ein ganzer Buszyklus und wieviele Änderungen
erfolgen dabei an den Adress-, Daten und Steuersignalen?
Wenn ein Buszyklus mehrere Takte dauert liegst Du mit 10 bis 20 cm
meiner Meinung nach auf der sicheren Seite, jedenfalls von der reinen
Länge her.

Bye
 
Hallo Tankred,

Nun stellt sich die Frage, wie die Bausteine am besten zu platzieren
sind. Sollte der Bus die Bausteine nacheinander verbinden (dann wäre der
Bus sehr lang), oder sind T-Kreuzungen erlaubt?
T-Kreuzungen sind im allgemeinen das was du auf jeden Fall vermeiden
solltest, da diese zu schwer zu kontrollierenden Reflektionen fuehrt. Die
Bausteine nacheinander anordnen und insbesondere die Clockleitungen zu den
SDRAMs mit Terminierungswiderstaenden versehen.

Hat irgend jemand eine Quelle parat, die sowas wie Richtlinien in dieser
Howard Johnson et al., High Speed Digital Design - A Handbook of Black
Magic, ist meiner Meinung nach die Bibel zu dieser Thematik (und extrem
parxisnah)

Frage bietet, oder selbst ein paar Ratschläge aus der Praxis für mich?
Gerade bei SDRAMs ist es wichtig, dass das Layout keinen Clockskew erzeugt,
dass heisst Clockleitungen muessen genau gleich lang sein etc. Uebersprechen
kann bereits ein Problem bei diesen Frequenzen sein, das heist die
Leiterbahnfuehrung erfordert bereits einige Aufmerksamkeit. Falls sich die
Ausgangsimpedanz des Clockdrivers nicht in Software einstellen laesst sind
Serienterminierungswiderstaende direkt am Clockdriverausgang ebenfalls eine
gute Idee.


Viel Glueck
Klaus
 
Hallo Klaus!

T-Kreuzungen sind im allgemeinen das was du auf jeden Fall vermeiden
solltest, da diese zu schwer zu kontrollierenden Reflektionen fuehrt. Die
Bausteine nacheinander anordnen und insbesondere die Clockleitungen zu den
SDRAMs mit Terminierungswiderstaenden versehen.
Das habe ich soweit getan (größtenteils aus einem Referenzdesign
abgeleitet).

Hat irgend jemand eine Quelle parat, die sowas wie Richtlinien in dieser


Howard Johnson et al., High Speed Digital Design - A Handbook of Black
Magic, ist meiner Meinung nach die Bibel zu dieser Thematik (und extrem
parxisnah)
Ich werde es mir gleich bestellen!

Gerade bei SDRAMs ist es wichtig, dass das Layout keinen Clockskew erzeugt,
dass heisst Clockleitungen muessen genau gleich lang sein etc. Uebersprechen
kann bereits ein Problem bei diesen Frequenzen sein, das heist die
Leiterbahnfuehrung erfordert bereits einige Aufmerksamkeit. Falls sich die
Ausgangsimpedanz des Clockdrivers nicht in Software einstellen laesst sind
Serienterminierungswiderstaende direkt am Clockdriverausgang ebenfalls eine
gute Idee.
Terminierungswiderstände sind bereits eingeplant. Was meinst Du mit
gleichlangen Clock-Leitungen?
Ich verwende zwei SDRAM-Bausteine, die an derselben Clock-Leitung
hängen. Den Bus (und auch den Takt) führe ich zuerst an den ersten
Baustein, danach an den zweiten. Die weiteren Komponenten (Flash etc.)
sollen danach kommen. Ich werde den Bus wohl falten müssen, um alles in
Serie legen zu können...

Grüße,
T.
 
Terminierungswiderstände sind bereits eingeplant. Was meinst Du mit
gleichlangen Clock-Leitungen?
Falls ein Clockdriver mit mehreren Ausgaengen verwendet wird und z.B. jedes
SDRAM seine eigen Clock bekommt ist es wichtig, dass die Clocktraces
gleichlang sind, weil die SDRAMs sonst eine zeitlich verschobenen Takt sehen
("Skew"). Wenn der zu gross wird, dann gibt's Datenmuell.

Ich verwende zwei SDRAM-Bausteine, die an derselben Clock-Leitung
hängen. Den Bus (und auch den Takt) führe ich zuerst an den ersten
Baustein, danach an den zweiten. Die weiteren Komponenten (Flash etc.)
sollen danach kommen. Ich werde den Bus wohl falten müssen, um alles in
Serie legen zu können...
In diesem Fall muessen die Clockeingaenge der SDRAMs so dicht
beieinanderliegen, dass die Laufzeitverzoegerung zwischen den beiden Chips
klein genug ist um nicht zu stoeren (sollte bei 66 MHz und
Europakartenformat nicht wirklich ein Problem sein).
Den Bus zu falten ist an sich kein Problem sein, je nach Anzahl der Chips
die am Bus haengen, kann allerdings die Eingangskapazitaet und die
Eingangscharakteristik zu vertrackten Problemen fuehren. Unter Umstaenden
kann es dann besser sein Busswitches zu haben, die nur die jeweils
angesprochenen Bausteine an den Bus legen. Wann das notwendig ist und wann
nicht, kann ich nicht beantworten - habe da noch nie eine verlaessliche
Berechnungsmethode zu gefunden. Das ist Trial and Error oder eine Sache der
Erfahrung ...

Gruss
Klaus
 

Welcome to EDABoard.com

Sponsor

Back
Top