Hallo, ich arbeite zum Ersten mal mit einem 8051 MCU "C8051F321" und habe Probleme mit dem Quarz. In meinem Programm ist Folgendes verwendet um sicher zu stellen, dass das Quarz funktioniert "while ((OSCXCN & 0x80) == 0);". Leider bleibt das Program in dieser Schleife hängen. Das Program selbst hat mit Sicherheit keine Fehler, da die Software von einem Referenzboard, welches ich nachdesigned habe, stammt. Die Platine hat sicherlich auch keine kalten Lötstellen etc. da ich drei gleiche Platinen professionell fertigen habe lassen und bei allen das selbe Problem auftritt. Ich glaube, dass entweder die Dimensionierung der Quarzschaltung oder das Layout das Problem ist. Kann es ein Problem sein, dass ein Kondensator ca. 3mm und der andere Kondensator ca. 10mm vom Quarz entfernt ist? Oder ist eventuell die Frequenzabweichung zu groß? Ich hoffe dass mir jemand bei meinem Problem helfen kann. Thomas
Miss mal nach ob der Quarz tatsächlich auf der richtigen Frequenz schwingt. "Spiel" mal mit den Lastkapazitäten (versuchsweise mal etwas kleiner, 12 pF oder so. Auch 2 verschiedene Werte. Je nach Typ/ Hersteller brauchen die andere Lastkapazitäten.
Hallo Andreas, wie genau kann ich die Frequenz am Einfachsten messen? Sollten die Kapazitäten nicht passen? Laut Datenblatt des Quarzes ist der Cl Wert 16pF und der C0 Wert maximal 5pF. Berechnet werden die zu verwendenten Kapazitäten laut diverser Seiten im Internet so: (Cl-C0)*2 = 22pF Thomas
Hast du kein Oszilloskop? Datenblätter sind Theorie, dienen aber als Richtlinie in diesem Fall. Mach einfach mal die C´s kleiner so 12 pF und 15 pF wenn du hast, dann mal gegeneinander tauschen.
Deine Schaltung ist Mist. Du darfst den Quarz nur an XAL1 und XAL2 anschliessen am µC. Die zusätzlichen Verbindungen zu P1.0 und P1.1 machen Dir das Signal vermutlich total kaputt: Normalerweise sind da mindestens die "Weak Pullup" dran, also 100 kOhm nach VCC. Dagegen kommt kein Quarzkristall an. Trenne diese Verbindungen, und Dein Quarz sollte schwingen, wenn das restliche Programm OK ist. Ach ja: Das Quarzdatenblatt sagt nur was von Frequenzen ab 3,5 MHz während im Schaltplan 32,768 kHz steht.
Oszilloskop habe ich leider noch keines. Ich werde versuchen die Kondensatoren zu tauschen. @Jim Meba: die Schaltung funktioniert bestimmt. Das Layout ist vom erwähnten Referenzboard welches ich besitze und welches wunderbar funktioniert.
Ok, das ist ne fiese Trickschaltung, bei der man sicherstellen muss dass P1.0 und P1.1 auf "analog" gestellt sind, bevor man den Quarz anwirft. Den Trick kannte ich noch nicht: Der Comperator wird benutzt, um auf P1.7 (RCLK) den 32.768 Hz Takt auszugeben. Da würde ich zuerst das Oszilloskop ranhalten - an den Quarz- Pins selbst könnte der Tastkopf das Signal deutlich verändern. Kritisch ist dann übrigens der gesamte Signalweg einschliesslich zu den P1.0 und P1.1. Deswegen ist ja auch ein Layout vorgegeben...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
