Frage:
Auswahl eines Kristalls und Lastkondensatoren für den Mikrocontroller
helloworld922
2012-08-21 11:59:25 UTC
view on stackexchange narkive permalink

Ich versuche, eine Kombination aus Kristall und Lastkondensator für den Mikrocontroller der Serie atmel UC3C auszuwählen. Der Ziel-CPU-Takt, für den ich fotografiere, liegt nahe an der maximalen Frequenz von 66 MHz.

Hier ist die Konfiguration, die meines Erachtens dieses Ziel am besten erreichen würde:

A 11 MHz Quarz wird zwischen XIN0 / XOUT0 mit den entsprechenden Lastkondensatoren angeschlossen. Verwenden Sie dann die PLL, um die Frequenz mit 6 zu multiplizieren. Verwenden Sie die PLL 66MHz als CPU-Uhr ohne Teilung.

Hier habe ich einige Fragen:

Ich habe eine spezifiziert Vielzahl von 11MHz Kristallen. Alle von ihnen haben eine Frequenzstabilität von 50 ppm und eine Frequenztoleranz von 30 ppm. Es gibt jedoch verschiedene ESR. Laut dieser Quelle repräsentiert der ESR ungefähr die Volumenverluste im Kristall, sodass ein niedrigerer ESR-Wert die bessere Wahl wäre. Richtig?

Gibt es einen signifikanten Unterschied zwischen dem Erreichen der 66-MHz-Frequenz des CPU-Takts?

Ich habe zusätzlich zu meiner ursprünglichen Wahl eines PLL-Multiplikators von 6 einige Auswahlmöglichkeiten:

  1. Multiplizieren Sie 11 MHz mit 12 und dividieren Sie dann durch 2 für eine PLL-Ausgabe von 66 MHz . Kein CPU-Taktteiler.
  2. 11 MHz mit 24 multiplizieren ( Multiplikator = 12 , Teiler = 0 ). CPU-Taktteiler von 4 .
  3. Multiplizieren Sie 11 MHz mit 12 , PLL-Teiler = 1 für 132MHz PLL-Ausgabe . Verwenden Sie einen CPU-Taktteiler von 2 .
  4. ol>

    Alle diese Werte scheinen gleichermaßen gültig zu sein, abzüglich der Codekomplexität, um jede Auswahl zu treffen. Sollte ich mich an meine derzeitige Annahme "Einfachste ist am besten" halten oder schafft eine dieser anderen Lösungen eine bessere CPU-Uhr?

    Alle Kristalle, die ich bei 11 MHz gefunden habe, erfordern entweder eine Lastkapazität von 18pF oder sind in der -Serie . Gibt es einen Grund, einen über den anderen zu wählen? Ich kann zwischen den Spezifikationen keinen Unterschied feststellen (gleiche Frequenztoleranz / Stabilität, gleicher ESR, ungefähr gleicher Temperaturbereich). Die Dokumentation von Atmel zeigt nur parallele Kristallkonfigurationen.

    Wenn ich am Ende eine parallele Konfiguration verwende, Wie nahe sollten die Lastkondensatoren an der angegebenen Lastkapazität des Kristalls liegen?

    Das Datenblatt von Atmel enthält eine Gleichung zur Berechnung des Werts jedes Lastkondensators:

    $$ C_ {LEXT} = 2 (C_L - C_i) - C_ {PCB} $$

    C_i wird im Datenblatt als 1,7 pF angegeben. Ich bin mir nicht sicher, wie ich C_ {PCB} berechnen soll, aber ich würde mir vorstellen, dass es größer als 0 ist. Dies bedeutet, dass C_LEXT höchstens 32,6 pF ist Code>. Es gibt einige 30pF , 32pF und 33pF 1% C0G -Kondensatoren. Ich würde denken, dass die 30pF -Kondensatoren die beste Wahl sind, da sie im Vergleich zu den 32pF -Kondensatoren immer noch relativ billig sind und die 32,6 pF nicht überschreiten Code> Limit als billigste 33pF Kondensatoren. Habe ich Recht mit meinen Annahmen und Schlussfolgerungen?

    Ist dies schließlich ein gutes Setup? Gibt es andere Frequenzkristalle, die ich erforschen sollte?

Bei den meisten Anwendungen muss die Frequenz nicht genau so gehalten werden, es sei denn, Sie möchten eine Uhrzeit behalten. Und 50 ppm sind sowieso nicht so gut für die Zeitmessung. Erfordert Ihre Anwendung diese Frequenzkalibrierungsstufe?
Ich brauche nicht unbedingt 50 ppm, aber ich brauche etwas Besseres, als die internen Oszillatoren bieten können. Der 8-MHz-Oszillator schwingt "[7,6, 8,4] MHz", was zu einem Fehler von bis zu ~ 8% führen kann. Kristalle sind ziemlich billig, deshalb habe ich beschlossen, dass dies ein guter Weg ist, um eine bessere Uhr zu liefern. Außerdem nutze ich diese Gelegenheit, um mehr über Quarzoszillatorschaltungen zu erfahren. 50ppm ist so ziemlich die einzige Toleranz, die ich bei 11MHz finden kann.
Okay, wir werden dies als Lernerfahrung nutzen. Mit welcher (externen Ausrüstung) werden Sie den Kristall auf die richtige Frequenz trimmen?
Nach meinem Verständnis der Funktionsweise von Kristallen sollte ich nicht wirklich viel externe Ausrüstung benötigen, um den Kristall zu testen. Ich dachte, dass Quarzoszillatoren außerhalb des angegebenen Toleranzbereichs oder in der Nähe dieses Bereichs einfach nicht mehr richtig funktionieren. Ich hatte vor, Komponenten auszuwählen, die nicht viel oder gar kein Tuning benötigen, sondern nur eine einfache Überprüfung, ob dies funktioniert. Falls erforderlich, habe ich eine Dokumentation gelesen, aus der hervorgeht, dass bei bestimmten AVRs die Uhr an einen separaten Pin ausgegeben werden kann, der mit einem Oszilloskop gelesen werden kann.
Wenn Sie versuchen, einen Kristall außerhalb der Frequenz zu betreiben, funktioniert er möglicherweise nicht. Aber so funktionieren die Taktoszillatoren nicht. Sie laufen in einem weiten Frequenzbereich, und es ist der Kristall selbst, der bestimmt, wie hoch diese Schwingungsfrequenz sein wird. Dies bedeutet also, dass mindestens ein Problem, über das Sie sich Sorgen gemacht haben, überhaupt kein Problem sein wird.
Zwei antworten:
gbarry
2012-08-22 22:33:13 UTC
view on stackexchange narkive permalink

Mein Verständnis für Lastkondensatoren (Korrekturen erwünscht) lautet wie folgt:

Wenn ein Kristall für eine bestimmte Lastkapazität geschnitten wird, wird er während dieser Zeit mit dieser Kapazität gemessen endgültiges Werksschneiden. Der Wert hat nichts Magisches. Es ist einfach eine Art zu sagen, dass, wenn Sie Ihre Schaltung so gestalten, dass sie dieselbe Kapazität aufweist, Ihr Kristall innerhalb der angegebenen Toleranz (0,005% oder was auch immer) liegt.

Sie addieren also alles die Kapazität in Ihrer Schaltung, und fügen Sie dann hinzu, was erforderlich ist, um es auf die Spezifikation zu bringen. Wir werden Ihre Nummern verwenden. Die Streukapazität aufgrund der Spuren auf der Platine variiert offensichtlich mit der Platine, also raten wir mal 1,3 pf. Eine Zahl, die ich zusammen mit der Kapazität des Oszillators des Mikroprozessors erfunden habe, wurde mit 1,7 pf angegeben. Wir haben also 3 pf parallel zum Kristall. Der Kristall will 18pf, also müssen wir den Unterschied von 15 pf mit diskreten Teilen ausgleichen.

Da die beiden Lastkondensatoren in Reihe geschaltet sind (Gnd-> cap-> xtal-> cap-> Gnd), verdoppeln wir den Cap-Wert auf 30pf. Zwei 30-Pf-Kappen in Reihe geben uns die 15-Pf, die wir suchen.

Hinweis 1. Ich habe versucht, nach einer typischen PCB-Streukapazität zu suchen. Es war überall auf der Karte. Es genügt zu sagen, dass die Kapazität immer kleiner wird, wenn die Hardware kleiner wird. Viele typische Werte beanspruchen weniger als 1 pf.

Hinweis 2. Wenn mehr Kapazität als angegeben vorhanden ist, schwingt der Kristall mit einer niedrigeren Frequenz als angegeben. Wenn es weniger gibt, ist es höher. Sie können sehen, dass es einfacher ist, für eine niedrigere Kapazität zu fotografieren und später etwas hinzuzufügen, wenn Sie den Oszillator auf die Spezifikation zuschneiden möchten, als das Gegenteil zu versuchen.

Hinweis 3. Zum Spaß suchen Sie nach "Gimmick-Kondensator".

Hinweis 4. Meine Erklärung zum "Sitz der Hose" ist als Einführung ausreichend, und diese Technik funktioniert in vielen Fällen Fälle, aber nicht überall. Weitere Informationen zu den EE-Prinzipien hinter diesen Kondensatoren finden Sie unter dieser Antwort.

Wenn ich Ihrem Denken folge, haben Sie in Ihrer Hypothese "4 pF parallel zum Kristall", nicht 3 pF.
Gut in Konzepten, nicht so gut in Rechnen :) Du bist wahrscheinlich der erste, der es durchführt. Ich habe die erfundene Zahl so geändert, dass sie 3pf beträgt, anstatt die Mathematik zu korrigieren. Vielen Dank.
user3624
2012-08-22 09:14:37 UTC
view on stackexchange narkive permalink

Ich bin nicht der Typ, der nach Ladekappen fragt, aber ich kann Ihnen bei den PLL-Einstellungen helfen.

Die verschiedenen Multiplikator- / Teilereinstellungen scheinen Ihnen die gleichen Endergebnisse zu liefern. aber sie sind nicht alle gleichwertig. Wenn Sie sich Abbildung 8-2, Seite 85 ansehen, sehen Sie in den Datenblättern ein vereinfachtes Diagramm der PLL. Was Sie wissen müssen, ist, dass jedes Signal in dieser PLL sowohl eine minimale als auch eine maximale Frequenz hat. Der Ein- und Ausgang des CPU-Teilers hat ebenfalls eine maximale Frequenz.

Der Trick beim Konfigurieren einer PLL besteht darin, die verschiedenen Einstellungen für die gewünschte Ausgangsfrequenz zu korrigieren, ohne die minimalen / maximalen Frequenzgrenzen zu verletzen.

Im Datenblatt Tabelle 40-11, Seite 1257, listet die PLL-Spezifikationen auf. Ausgangsfrequenzbereich von 80 bis 240 MHz. Eingangsfrequenz von 4 bis 16 MHz. Beachten Sie, dass die Eingangsfrequenz der Eingang zur PLL nach dem Eingangsteiler ist.

Ich kann Ihnen auch sagen, dass die PLL-Eingangsfrequenz so hoch wie möglich sein soll. Auf diese Weise erhält Ihre PLL mehr Stabilität und weniger Jitter.

In jedem Fall wird der Eingangsteiler durch 1 geteilt, da dies die höchste Eingangsfrequenz innerhalb des zulässigen Bereichs oder 4 bis 16 MHz ergibt.

Der maximale Multiplikatorwert, den Sie haben kann verwendet werden ist 21. Weil 240 MHz / 11 MHz = 21,82. Wenn der Multiplikator auf 22 eingestellt wurde, ist die Ausgangsfrequenz höher als die max. 240 MHz. So können wir sofort die 24x-Option streichen.

In Tabelle 40-11 ist die maximale CPU-Taktfrequenz mit 66 MHz aufgeführt. Was mich verwirrt, ist, ob diese Frequenz vor oder nach dem CPU-Taktteiler liegt. Es steht wahrscheinlich irgendwo im Datenblatt, aber ich habe heute nicht wirklich Lust, alle 1.316 Seiten zu lesen. Wenn das Maximum von 66 MHz am Eingang des Teilers liegt, müssen Sie Option 1 verwenden: Der PLL-Ausgang ist 66 MHz und der CPU-Teiler = 1.

Wenn das 66-MHz-Limit jedoch ein Post-CPU-Teiler ist, ist auch Option 3 gültig. Option 3 kann andere Vorteile haben, wenn andere Peripheriegeräte getaktet werden, aber das geht über den Rahmen dieser Antwort hinaus.

Im Zweifelsfall scheint Option 1 Ihre beste Wahl zu sein.

Ich glaube, 66 MHz ist in der Tat ein Post-CPU-Teiler. Andernfalls könnte der 120-MHz-RC-Oszillator niemals als Haupttaktquelle verwendet werden. Siehe Abbildung 7-2 auf Seite 52 und Tabelle 7-6 auf Seite 60. Ich habe Atmel kürzlich nach den Uhren gefragt und sie empfehlen tatsächlich die Verwendung eines 12-MHz-Kristalls (anscheinend sind sie häufiger und als zusätzliche Bonusskala zu verwenden mit anderen Peripheriegeräten wie der USB-Schnittstelle).


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