Forum: Analoge Elektronik und Schaltungstechnik Taktversorgung über Backplane


von Tobias K. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

in einem mehrkanaligen Messsystem sollen mehrere Boards über eine 
Hauptplatine (quasi Backplane) miteinander verbunden werden. Die 
einzelnen Boards bestehen jeweils aus einem Mikrocontroller (STM32) und 
einem Sigma-Delta-AD-Wandler.
Über die gemeinsame Backplane laufen:
* Versorgungsspannungen
* RS-485-Datenbus für die Messdatenübertragung
* Gemeinsame Taktquelle (temperaturkompensierter Quarzoszillator, 3.3V 
16 MHz)

Es geht um den letzten Punkt, die gemeinsame Taktversorgung aller 
Mikrocontroller und AD-Wandler mit dem 16 MHz Takt. Diese gemeinsame 
Taktversorgung soll die Auswertung der Daten und die Programmierung 
vereinfachen und Störungen bei der A/D-Wandlung reduzieren (indem z.B. 
auch das Schaltnetzteil - indirekt - aus dieser Taktquelle versorgt 
wird).

Der Abstand zwischen dem Quarzoszillator und den ICs auf den 10 Boards 
beträgt maximal 30cm. Das wären dann 10 Taktleitungen zu je maximal 30cm 
Länge.

Der naive Ansatz wäre, den Oszillator mit einem Ausgangstreiber zu 
verstärken und sternförmig Taktleitungen zu allen 10 Boards zu führen. 
Das ist vermutlich aus zwei Gründen schlecht:
1.) Abstrahlung (EMV) der langen Taktleitungen
2.) Fehleranfällig: Wenn bei einem der 10 Boards die Versorgungsspannung 
ausfällt, dann liegt die Taktleitung über die Schutzdioden in den ICs 
auf GND.

Besser wäre vermutlich eine differentielle Taktübertragung mit kleinerem 
Spannungspegel. LVDS-Transceiver bieten dies, haben aber mit ihrer hohen 
Bandbreite (Gbps) sehr steile Schaltflanken und scheinen mir für 16 MHz 
overkill zu sein.
Stattdessen nutze ich derzeit RS-485 Transceiver mit 20 Mbps Bandbreite 
(konkret ISL3178e) und eine Bus-Struktur zur Taktverteilung. Obwohl das 
funktioniert, bleibt ein ungutes Gefühl dabei. Kann man das so machen?

Den Clock-Jitter habe ich nicht gemessen. Meinem Verständnis nach ist 
Jitter in der Schaltung unkritisch: Die Mikrocontroller arbeiten mit 
einer integrierten PLL und die AD-Wandler müssen nur Quasi-DC-Signale 
messen.

Also: Kann man das mit den RS-485 Transceivern so machen? Oder: Wie wäre 
die professionelle Lösung für die Taktübertragung?

von Georg (Gast)


Lesenswert?

Tobias K. schrieb:
> Kann man das mit den RS-485 Transceivern so machen?

Die haben natürlich den Nachteil eines hohen Pegels, und damit auch 
Störpegels.

Grundsätzlich ist das natürlich eine Frage der Verdrahtung, die sollte 
schon nach HiSpeed-Gesichtspunkten erfolgen, wie Impedanzanpassung und 
störarme Verlegung durch Verdrillen, wie z.B. in Ethernet-Kabeln. Es ist 
nicht recht klar, ob du mit Backplane eine Leiterplatte meinst, da geht 
z.B. Verdrillen nicht, aber verlegen als differential pair und 
Abschirmung. Allerdings landet man dann bei einem Multilayer. Wenn es 
aber anders nicht zufriedenstellend funktioniert dann ist das eben so.

Georg

von Tobias K. (Gast)


Lesenswert?

Ja die Backplane ist eine Leiterplatte. Vermutlich 4-lagig.

von Falk B. (falk)


Lesenswert?

@Tobias K. (Gast)

>Der Abstand zwischen dem Quarzoszillator und den ICs auf den 10 Boards
>beträgt maximal 30cm. Das wären dann 10 Taktleitungen zu je maximal 30cm
>Länge.

Schon recht lang, siehe Wellenwiderstand.

>Der naive Ansatz wäre, den Oszillator mit einem Ausgangstreiber zu
>verstärken und sternförmig Taktleitungen zu allen 10 Boards zu führen.
>Das ist vermutlich aus zwei Gründen schlecht:
>1.) Abstrahlung (EMV) der langen Taktleitungen

Nein. Wenn diese gescheit layoutet sind und die richtige Terminierung 
haben, ist das OK.

>2.) Fehleranfällig: Wenn bei einem der 10 Boards die Versorgungsspannung
>ausfällt, dann liegt die Taktleitung über die Schutzdioden in den ICs
>auf GND.

Naja, wenn es soweit kommt, hast du ganz andere Probleme.

>Besser wäre vermutlich eine differentielle Taktübertragung mit kleinerem
>Spannungspegel. LVDS-Transceiver bieten dies, haben aber mit ihrer hohen
>Bandbreite (Gbps) sehr steile Schaltflanken und scheinen mir für 16 MHz
>overkill zu sein.

Sind sie auch, auch wenn es langsamere gibt.

>Stattdessen nutze ich derzeit RS-485 Transceiver mit 20 Mbps Bandbreite
>(konkret ISL3178e) und eine Bus-Struktur zur Taktverteilung. Obwohl das
>funktioniert, bleibt ein ungutes Gefühl dabei. Kann man das so machen?

Ja, wenn man richtig terminiert.

>Den Clock-Jitter habe ich nicht gemessen. Meinem Verständnis nach ist
>Jitter in der Schaltung unkritisch: Die Mikrocontroller arbeiten mit
>einer integrierten PLL und die AD-Wandler müssen nur Quasi-DC-Signale
>messen.

Dann passt das doch.

>Also: Kann man das mit den RS-485 Transceivern so machen?

Ja.

> Oder: Wie wäre die professionelle Lösung für die Taktübertragung?

Hier muss man nicht krampfhaft HighTec nutzen.

von Pandur S. (jetztnicht)


Lesenswert?

Eine saubere Loesung waere 1 Leitung entlang der Backplane, Am 
Oszillator einen 100 Ohm in Serie, Die Leitung ist dann ein 
sourceterminierter Bus. Dann auf jeder Einschubleiterplatte grad am 
Stecher einen 74SZ04 Single Gate Inverter zum Entkoppeln, als Treiber 
fuer die Karte.

Falls diese Anordnung stoert, einen Differentialbus mit LVDS entlang der 
Backplane, und auf jeder Karte grad am Stecker LVDS Receiver, ohne 
Busterminator. Der Busterminator kommt dann hinten am Bus, auf der 
Backplane.

von Tobias K. (Gast)


Lesenswert?

Vielen Dank für die hilfreichen Antworten. Es spricht also nichts gegen 
die RS-485 Lösung, d.h. ich werde dabei bleiben. Auf die richtige 
Terminierung werde ich achten.

von Georg (Gast)


Lesenswert?

Ergänzung:

Differentielle Signale sollten unbedingt auch als differential pair 
geroutet werden, also beide Leiterbahnen in definiertem Abstand 
nebeneinander und nicht irgendwie quer durch die Gegend. Dann ist die 
umschlossene Fläche zwischen Signal und invertiertem Signal minimal und 
damit die EMV optimal.

Georg

von Falk B. (falk)


Lesenswert?

@Oh Doch (jetztnicht)

>Eine saubere Loesung waere 1 Leitung entlang der Backplane, Am
>Oszillator einen 100 Ohm in Serie, Die Leitung ist dann ein
>sourceterminierter Bus. Dann auf jeder Einschubleiterplatte grad am
>Stecher einen 74SZ04 Single Gate Inverter zum Entkoppeln, als Treiber
>fuer die Karte.

FALSCH! Genau SO macht man es nicht! Siehe Wellenwiderstand!!!

"Serienterminierung ist für Takte nur bei Punkt-zu-Punkt-Verbindungen 
sicher nutzbar."

"Taktsignale dürfen nur bei Punkt zu Punkt Verbindungen mit 
Serienterminierung betrieben werden (ein Sender und nur ein Empfänger). 
Anderenfalls kann es zu Fehlfunktionen kommen, da ein Takteingang, 
welcher in der Mitte der Leitung sitzt für ein paar Nanosekunden eine 
Spannung am Eingang anliegen hat die etwa VCC/2 entspricht. Das ist aber 
genau die Schaltschwelle von CMOS-ICs. Kleinste eingekoppelte Störungen 
können nun dafür sorgen, daß der Takteingang mehrere Flanken "sieht", wo 
eigentlich nur eine sein sollte. "

PCI lief millionenfach in PCs als normales TTL-Signal mit 5/3,3V. Und 
das waren 33/66 MHz. Allerdings war das eine sternförmige 
Taktverteilung, jeder PCI-Slot hatte eine eigene Taktleitung zum 
Busmaster.

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.
Lade...