Wie sieht das Schema aus, um einen Kristall mit zwei Mikros zu teilen?


20

Wie teile ich einen Einkristall (kein vollständiges Oszillatormodul) zwischen zwei Mikros? Ist es in Ordnung, einfach alles wie gewohnt für das erste Mikro anzuschließen und auch seinen XO direkt mit dem XI des zweiten Mikrocontrollers zu verbinden? Ich gehe davon aus, dass die Mikros sehr nahe beieinander auf der Tafel platziert werden.

Antworten:


17

Was ich getan habe, als ich einen Takt zwischen Mikros teilen musste, ist, dass der Quarz den Oszillator auf einem Mikro ansteuerte und dann den Oszillatorausgangspin (normalerweise CLKOUT oder OSCOUT) von diesem Mikro zum Ansteuern des zweiten Mikros verwendete.

Ich würde Probleme beim Versuch erwarten, zwei Oszillatoren vom selben Quarz aus anzusteuern, wenn die Kapazität der langen Leiterbahnen, die zwischen den beiden Prozessoren benötigt werden, eine Fehlfunktion verursachen würde.

schematisch

simulieren Sie diese Schaltung - Schaltplan erstellt mit CircuitLab


1
Einige Mikrocontroller haben einen separaten Taktausgang, der nicht mit dem Quarz verbunden ist.
JoeForker

2
Die MSP430-Prozessoren können alle internen Takte (ACLK, SMCLK oder MCLK) aus ihren E / A-Pins heraus routen. Ich verwende den ACLK-Ausgang (32768Hz), um die RTC-Backup-Uhr für die Zeit, in der das Gerät ausgeschaltet ist, an ein GPS-Gerät zu senden.
15.

7

Das ist nicht ganz das, was du willst. Wenn Sie einen Quarz verwenden, um einen Oszillator zu bilden, verwenden Sie einen Inverter im Mikrocontroller, um den Quarz anzusteuern. Wenn Sie beide Mikros mit demselben Kristall verbinden, kämpfen sie und funktionieren nicht.

Daher sollten Sie eines der beiden Mikros als Quarztreiber auswählen (Konfiguration gemäß Abschnitt 6.2.6 des Datenblattes) und das andere Mikro für die Verwendung eines externen Takteingangs (6.2.1 des Datenblattes). Dann ändern Sie Ihren Schaltplan wie folgt:

schematisch

simulieren Sie diese Schaltung - Schaltplan erstellt mit CircuitLab

Alternativ können Sie, wenn Symmetrie gewünscht wird, einen externen Oszillator anstelle eines Kristalls verwenden. Dann könnten beide im externen Taktmodus arbeiten.


In dieser Konfiguration muss der obere Kondensator unbedingt angepasst werden, wenn die Vorhersagbarkeit eines Kristalls in vollem Umfang genutzt werden soll.
Asmyldof

@Asmyldof Ich brauche definitiv die Timing-Präzision des Kristalls. Vielleicht ist die symmetrische Lösung erforderlich? Wie ist ein externer Oszillator angeschlossen?
GisMofx

1
Also, wenn C2 = 10pF (unter der Annahme einer Belastung von etwa 10pF aufgrund des CLKI-Eingangs) und C1 = 22pF, richtig?
MarkU

1
Nein, es wird nur so angezeigt, als ob eine externe Uhr verwendet würde.
Houston Fortney

1
@GisMofx Ich habe es markiert und gefragt, ob die Antwort zusammengeführt werden soll, damit es zur anderen Frage verschoben wird, damit es beibehalten werden kann.
Passant

3

Das Problem bei diesem Ansatz besteht darin, dass die Verbindung mit dem zweiten Oszillatoreingang die Kapazität an diesem Pin beeinflusst und die Frequenz geringfügig ändert sowie den Quarzantrieb verringert. Dies spielt jedoch möglicherweise keine Rolle, und es ist sehr unwahrscheinlich, dass eine Oszillation verhindert wird. Wenn ich das für ein Produkt tun musste, habe ich für beide MCUs ein Quarzoszillatormodul verwendet.


2
Eine kleine zusätzliche Kapazität auf der Oszillatorausgangsleitung ist kein großes Problem. Es ist meistens die Kapazität auf der Ausgangsseite des Kristalls, die die Oszillatoreingangsleitung ist, die die Last auf dem Kristall bildet und ungefähr richtig sein muss, um die richtige Frequenz innerhalb des Bereichs zu erhalten. Wenn Sie den Takt weit verteilen müssen, platzieren Sie ein CMOS-Puffergatter in der Nähe des Mikros mit dem Kristall.
Olin Lathrop

Es ist auch eine großartige Idee für EMI, das Weiterleiten von Taktsignalen über Platinen zu vermeiden.
Joeforker

3

Sie können einen Oszillator mit einem billigen Inverter-Chip (0,1 USD) oder einem speziellen Taktgenerator (etwas teurer) bauen und diesen Takt an beide UC weiterleiten.

Eine einfache Verbindung von Kristall zu beiden würde nicht funktionieren (zuverlässig).


2

Wenn es etwas ist wie die PICs, die ich verwendet habe, haben Sie einen XTALout und und XTALin mit dem tatsächlichen XTAL zwischen ihnen und Kappen (vielleicht um 22pf) auf Masse. Versuchen Sie, den XTALout des einen mit dem XTALin des anderen zu verbinden.


Es wird empfohlen, einen kleinen Serienkondensator zu verwenden, um den zweiten Oszillator vom Ausgang des ersten zu treiben.
Stevenvh

1

Machen Sie einen Oszillator aus Ihrem Kristall und einem Inverter, wie es BarsMonster vorschlägt, und speisen Sie ihn in den Eingang eines Fanout-Verteilungspuffer-ICs ein . Ein Fanout-Pufferausgang geht an den Takteingang jeder MCU.

Ich kann ein bestimmtes Teil nicht wirklich empfehlen, ohne zu wissen, welche Mikros Sie verwenden, aber Sie möchten mit den folgenden Filtern beginnen:

  • Typ: Fanout-Puffer (Verteilung)
  • Anzahl der Stromkreise: 1
  • Verhältnis - Eingang: Ausgang: 1: 2

1
Eine Liste von 3000 Teilen ist nicht wirklich nützlich. Wählen Sie eine davon aus und erklären Sie, warum dies eine gute Wahl ist.
Stevenvh

Ich zögere, einen bestimmten Teil direkt in die Antwort zu schreiben, ohne zu wissen, welche Logikstufen usw. er verwendet. Ich werde einige Suchfilterinformationen einfügen, um sie einzugrenzen. Für das, was es wert ist, verwende ich derzeit einen Oszillator mit einem TI CDCLVC1102 . Es sieht so aus, als könnten Sie einen CDC3RL02 mit einem TXCO und auch ohne Wechselrichter verwenden.
Joe Baker
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.