Nehmen Sie die Flanke / den Ring eines Taktsignals mit einer RC-Schaltung ab?

Ich entwerfe ein Board für ein Hobbyprojekt, bei dem ich ein Gitter machxo2 cpld als Systemverbindung verwende.

Der cpld muss mit 80-100 MHz getaktet werden, und da ich mich für einen billigeren cpld entschieden habe, hat er keine PLLs an Bord. Der einfachste Weg für mich, es zu takten, besteht darin, eine programmierbare Uhr von meinem Haupt-MCU (Atmel SAM4S) zu verwenden, um die CPLD zu takten (mit einer Leiterplattenspur von etwa 3 cm).

Da das Signal 100 MHz beträgt, muss die Anstiegsgeschwindigkeit ziemlich hoch sein, und ich erwarte viel Klingeln. Kann ich das Klingeln reduzieren, indem ich einen kleinen Widerstand zum Ausgangspin der MCU (10-100 Ohm) und eine kleine Kappe zur Masse auf der Taktleitung (10-100 pF) hinzufüge? Nach meiner Rückseite der Hüllkurvenmathematik erzwingen diese Werte die Anstiegs- / Abfallzeit auf etwa 1 ns.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wird dieser Ansatz funktionieren? Ist es gängige Praxis? Ich komme aus einem CS-Hintergrund, daher sind meine Kenntnisse etwas wackelig.

Danke.

Antworten (2)

Ich gehe davon aus, dass Ihre Taktquelle ein dedizierter Taktausgang in der MCU ist, also sollte sie in der Lage sein, die Anstiegsgeschwindigkeiten gut zu bewältigen (vorausgesetzt, sie ist für diese Frequenzen ausgelegt). Eine mögliche Ursache für das Klingeln könnten Übertragungsleitungseffekte (oder schlechte Layoutprobleme) sein.

Eine allgemeine Faustregel lautet: Wenn Ihre Wellenlänge größer als das 10-fache der Spurlänge ist, können Sie Übertragungsleitungseffekte ignorieren.

Eine Rechteckwelle besteht aus ungeraden Harmonischen, also nehmen wir die 5. Harmonische bei 500 MHz. Bei 2/3 Lichtausbreitungsgeschwindigkeit beträgt die Wellenlänge ~0,4m. Dies ist mehr als das 10-fache Ihrer Spurlänge, sodass Sie diese wahrscheinlich ignorieren können. Betrachtet man jedoch die 7. Harmonische, ist dies eine andere Geschichte. Jetzt spielen Übertragungsleitungseffekte eine Rolle.

Die übliche Technik zur Umgehung von Übertragungsleitungseffekten besteht darin, Widerstände mit angepasster Impedanz (kein RC-Filter) zu verwenden. Dies ist relativ einfach, wenn Sie ein Kabel mit einem Nennwiderstand haben; Es ist schwieriger für eine Spur und hängt von der Geometrie ab. Zum Beispiel habe ich die Methode zur Berechnung des Wellenwiderstands eines Mikrostreifens verlinkt . Normalerweise finden Sie online Rechner, die verschiedene gängige Geometrien verarbeiten.

Da Ihre Taktspur immer von der MCU stammt, können Sie diesen Abschlusswiderstand in Reihe mit der Spur in der Nähe des Clock-Out-Pins platzieren (wieder nach der Faustregel von <10x der Spurlänge).

Mit diesem Online-Übertragungsleitungssimulator (schamloser Stecker) können Sie auch abschätzen, wie sehr Sie sich um Übertragungsleitungseffekte sorgen müssen . Bei der 11. Harmonischen hat sich die Amplitude auf 1/11 der Amplitude der Grundfrequenz verringert, sodass Sie den Kehrwert der 11. Harmonischen (909 ps) als Anstiegs- und Abfallzeit verwenden können. Wählen Sie einen schlecht angepassten R1 (Abschlusswiderstand) und prüfen Sie, ob der Klingelpegel ~ 10 % überschreitet (oder welche Toleranz Sie für Ihre Anwendung für akzeptabel halten), um festzustellen, ob Sie sich Gedanken über den Abschluss machen müssen.

bearbeiten:

Der Grund, warum keine RC-Schaltung verwendet wird, liegt darin, dass sie das Übertragungsleitungsproblem nicht löst. Um dies zu veranschaulichen, habe ich zwei Schaltungen erstellt:

Filtern Sie in der Nähe von CPLD

Die erste Schaltung platziert das RC-Filter am Empfangsende der Übertragungsleitung (in der Nähe des CPLD).

Geben Sie hier die Bildbeschreibung ein

Ich habe dies mit verschiedenen Werten für C1 simuliert. R1 und R2 wurden absichtlich so gewählt, dass sie nicht mit der charakteristischen Impedanz übereinstimmen.

C1 = 100 pF ( F 3 D B = 1590 M H z )

Geben Sie hier die Bildbeschreibung ein

C1 = 330 pF ( F 3 D B = 482 M H z )

Geben Sie hier die Bildbeschreibung ein

C1 = 500 pF ( F 3 D B = 318 M H z )

Geben Sie hier die Bildbeschreibung ein

Wie Sie sehen können, ist keines davon wirksam bei der Reduzierung des Überschwingens; Sie verwandeln Ihre schön definierte Rechteckwelle einfach in Müll.

Filtern Sie in der Nähe von MCU

Geben Sie hier die Bildbeschreibung ein

C1 = 100 pF ( F 3 D B = 1590 M H z )

Geben Sie hier die Bildbeschreibung ein

C1 = 330 pF ( F 3 D B = 482 M H z )

Geben Sie hier die Bildbeschreibung ein

C1 = 500 pF ( F 3 D B = 318 M H z )

Geben Sie hier die Bildbeschreibung ein

Es scheint, als wäre dies eine effektive Technik, aber wenn Sie sich den 500pF-Fall ansehen, wird die Taktflanke immer mehr zu einem Exponential. Schließlich wird es die Ausgangsamplitude verringern, was nicht gut ist.

Sie könnten einen Filter höherer Ordnung bauen, der nur die Frequenzen oberhalb der Übertragungsleitungsgrenze viel besser entfernt, aber es gibt Probleme:

  1. Diese umgehen wirklich das eigentliche Problem und können nicht immer verwendet werden.
  2. Diese erfordern viele Komponenten und nehmen viel Platz in der Vorstandsetage ein. Sie können sogar auf Übertragungsleitungseffekte stoßen, bevor Sie das Ende des Filters erreichen!
  3. Ein Abschlusswiderstand ist ein einzelner Widerstand, was überhaupt nicht schwierig ist.
Vielen Dank für die Verknüpfung mit Ihrer Simulation. Es war wirklich lehrreich zu benutzen. Warum verwenden die Leute nicht die Technik, eine RC-Schaltung als Tiefpassfilter zu haben, um die 5., 7., 9., 11. usw. Harmonischen herauszunehmen? Reicht die Eingangskapazität der Mosfets aus, um als RC-Filter zu fungieren?
@johnny_boy hat die Antwort bearbeitet, um anzugeben, warum ein RC-Filter (oder irgendein Filter) nicht die beste Lösung ist.
Ich wünschte, ich könnte Ihnen eine weitere positive Bewertung für Ihre erstaunliche Antwort geben. Ich denke, ich muss ein wenig mehr darüber lesen, wie Übertragungsleitungen funktionieren, weil ich ehrlich gesagt ein wenig damit zu kämpfen habe, zu verstehen, warum ein einzelner Abschlusswiderstand hilft. (Dämpft es den RLC-Kreis in der Übertragungsleitung?)
Übertragungsleitungen sind seltsame Dinge ... die traditionelle Methode zur Verwendung eines "konzentrierten" Modells (was wir normalerweise mit Schaltkreisen tun) funktioniert bei ihnen nicht wirklich. Eine Möglichkeit, um zu visualisieren, wie sie sich verhalten, als würde sie jederzeit vor tdelay die Quelle nur die charakteristische Impedanz sehen, und nach 2 * tdelay (Zeit, die die Quelle benötigt, um auf die andere Seite und zurück zu gelangen) sehen sie die Lastimpedanz. Siehe: Bounce-Diagramme

Sowohl eine zu hohe als auch eine zu niedrige Slew-Rate sind laut hier nicht gut .

Bei Takteingangssignalen nehmen sehr langsame Taktflanken große Mengen an Schaltrauschen von der Platine und dem Gerät auf. Zusätzlich zum Rauschproblem sind langsamere Taktflanken anfälliger für Jitter, was die bereits engen Timing-Spielräume in Hochgeschwindigkeitsdesigns reduzieren kann.

Bei Dateneingangssignalen führen sehr schnelle Flankenraten bei breiten Datenbussen zu Rauschproblemen bei simultan schaltenden Eingängen (SSI). Es können auch Übersprechprobleme auftreten.

Stellen Sie also sicher, dass Ihre Slew-Rate nicht zu hoch und nicht zu niedrig ist.

Angenommen, Ihr 100-MHz-Takt benötigt eine Anstiegs- / Abfallzeit von 1,7 ns. Gemäß der 2-Zoll / ns-Regel sollte Ihre Spur weniger als 3,5 Zoll betragen, etwa 9 cm. Wenn Sie Ihre Spurlänge auf etwa 3 cm kontrollieren können, benötigen Sie möglicherweise keinen Abschluss.

Wenn Sie jedoch die Anstiegsgeschwindigkeit verlangsamen müssen (möglicherweise nicht wegen des Klingelproblems, sondern wegen der durch den obigen Link angegebenen Probleme), können Sie eine RC-Schaltung verwenden. Sie können auf diesen Link verweisen , S. 2.

Vielen Dank für die Bereitstellung der Links zu den obigen 2 Artikeln. Sie waren sowohl informativ als auch nützlich.