www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik C8051F120, TXCO als externen Takt


Autor: Peter S. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

in einem anderen Thread wurde mir empfohlen, um einen genaueren 
Systemtakt zu bekommen, einen TXCO als externen Takt zu verwenden. Darum 
habe ich mir nun diesen hier gekauft: 
http://docs-europe.electrocomponents.com/webdocs/0...

Angeschlossen habe ich ihn wie im Schaltbild der dem Post angehängt 
wurde.

Hier das Datenblatt meines µC (C8051F120) auf Seite 185: 
http://www.silabs.com/Support%20Documents/Technica...

Und hier das Unterprogramm, dass auf den Externen Takt wechselt:
void Oszillator_Init()
{
   SFRPAGE = CONFIG_PAGE;
   XBR2 = 0x40; //enable Crossbar und Weak Pull-ups
   
   OSCXCN = 0xA7;
   CLKSEL = 0x01;
}

Sobald auf den Externen Takt gewechselt wird, hängt sich der 
Mikrocontroller auf. --> es stimmt etwas mit dem externen Takt nicht.

Leider steht im Datenblatt meines Mikrocontrollers absolut gar nichts 
über TXCOs darum bin ich mir weder sicher ob ich die Register richtig 
eingestellt habe bzw. ob ich den TXCO richtig angeschlossen habe.

Hat von euch jemand so etwas schon mal gemacht bzw. was mache ich 
falsch? Bin echt ratlos, da ich eigentlich von diesen Dingern (TXCOs) 
absolut nichts verstehe...

Danke für eure Hilfe!

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pin 1 vom TCXO laß bitte unbeschaltet. Der Ausgang liefert 0,8Vpp, das 
reicht vermutlich nicht aus. Im Datenblatt ist zwischen TCXO und XTAL1 
noch ein Inverter eingefügt.

Autor: JoergL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aus Oszilklator-Datenblatt:
Output Level (Clipped sine wave): min 0,8VPP

Hm... ich kenne das so, daß uC's immer nur Oszillatoren
mit TTL/CMOS oder LVCMOS (bei VCC=3,3V) angeschlossen werden.

Oszillatoren mit Sinus-Ausgang kenne ich nur
für HF-Technik und Mischstufen,
nicht aber für digitale Bausteine.

Vermute also: Falscher Oszillator für diesen Zweck.

Oder wie Frank schon geschrieben hat, ein Gatter als Verstärker und 
Impulsformer einfügen.

HTH,
Jörg

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Vermute also: Falscher Oszillator für diesen Zweck.

Der ist nicht falsch, das Ausgangssignal ist typisch für diese TCXOs. 
Man könnte auch den µC so konfigurieren wie mit ext. Quarz und dann das 
TCXO-Signal über 1nF in XTAL1 einkoppeln.

Autor: Peter S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kann ich 0.8Vpp verstehen? Heißt das es schwingt 0.4V über bzw. 
-0.4V unter Ground hin und her?

Dann müsste es doch mit einem Komperator leicht zu lösen sein: Ausgang 
des TXCO beim Komperator Eingang. Am 2. Komperatoreingang Ground 
anschließen. Dann sollte bei einer Versorgumg des Komperators von 0-5V 
ein TTL-Rechteck generiert werden. Dieser würde sich dann leicht 
verwenden lassen können.

Oder liege ich da falsch?

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, da liegst Du falsch.
Mach doch einfach mal, was ich Dir gesagt habe ;-)

Autor: Peter S. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte leider nur einen 10nF Kond. zu Hause. Ist das ein Problem?

Ich habe das ganze nun so aufgebaut wie im Schaltbild das ich dem Post 
hinzugefügt habe.

Code sieht folgendermaßen aus:
void Oszillator_Init()
{
   OSCXCN = 0x67; //Crystal Oszillator Mode, 10MHz < f <= 30MHz
   Sleep(1); //warte 1 ms
   while(!(OSCXCN & 0x80)); //Wartet auf das XTLVLD flag
   CLKSEL = 0x01; //Wechselt auf Externent Takt
}

Anfangs dachte ich es funktioniert, doch dann habe ich die 
Unregelmäßigkeit der Schwingung bemerkt --> mir wurde klar, dass meine 
etwas zu lange Leitungen als Antenne agiert hat und so einen Takt 
erzeugt hat. Darum habe ich die Leitung nun sehr viel kürze ausgeführt 
mit dem Ergebnis, dass ich nun gar keinen Takt mehr habe.

Gehört Pin 1 vl. doch mit Ground verbunden?

Autor: Peter S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit 1nF Kondensator und möglichst kurzer Leitung funktioniert es nun.

Nochmal vielen Dank für eure Hilfe! Wirklich eine großartige Community!

Autor: Peter S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt habe ich doch noch eine Frage an Frank:

Warum darf ich eigentlich Pin 1 nicht auf Ground hängen?
Und warum genau ein 1nF Kondensator?

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es muß kein 1nF C sein, 10nF müßten auch funktionieren und 100pF wohl 
auch.
Was bei Dir kurze und lange Leitungen sind, weiß ich nicht. Du solltest 
das Signal an XTAL2 kontrollieren. Dort muß ein 50:50 Rechtecksignal mit 
der Nennfrequenz herauskommen.

Pin 1 liegt normalerweise auf VCC/2 und kann benutzt werden, um die 
Soll-Frequenz ca. +/- 5ppm zu verstimmen. Darum würde ich den Pin nicht 
auf GND legen. Aber probiere es doch aus und messe nach, was sich 
verändert.

Autor: Peter S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok verstehe. Vielen Dank für die Klarstellung!

Habe ab Montag wieder Zugang zu einem Oszilloskop, dann kann ich mir das 
Signal ansehen.

Autor: Peter S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin leider immer noch nicht dazu gekommen, die Messung durch zu 
führen... Dauert wohl noch bis nächste Woche. Da kann ich das ganze dann 
auch auf einer anständigen Platine messen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.