Oscillatorschaltung dsPIC33FJ128MC706A

OP #7467026
Lesenswert?

Von einem Board mit dsPIC33FJ128MC706A haben sich über die Jahre rund 50 Boards angesammelt, die nach Lieferung durch unseren Bestücker nicht funktiniert haben. Wegen Lieferproblemen eines darauf befindlichen Bauteils würdem wir gerne zumindest einen Teil dieser Boards reparieren.

Bei rund der Hälfte von diesen Boards läßt sich der Prozessor nicht programmieren.

Bei den ersten zehn davon, die ich mir angeschaut habe, läuft der Oscillator nicht, nur sporatisch oder mit falscher Frequenz.

Ich habe nun ATS08ASM-1E Quarze von CTS bestellt (load capacitance 20pF) und gedacht, durch einen simplen Austausch des Quarzes sollte ein ordentliches Oscillatorsignal bei diesen Boards hervorgerufen werden können - weit gefehlt, ich habe nach wie vor ein schwankende Amplitude (siehe Bilder 1 bis 4), auch wenn jetzt das Programmieren nun möglich ist.

Ich mag mir nicht so recht vorstellen, dass der Oszillator nur dann nicht sauber arbeitet, wenn ich mit meinem Oscilloscope-Tastkopf zusätzliche ca. 10pF in die Oscillator-Schaltung einbringe!?

Ich habe schon Versuche mit anderen Werten für R10 (0 - 100Ohm) unternommen und auch die beiden 22pF Kondensatoren getauscht.

Auch mit R10 = 0Ohm und einem 510k bzw. 1M großen Widerstand parallel zu dem Quarz habe ich getestet, aber nie ein stabiles Oscillatorsignal erhalten.

Sieht jemand ein prizipielles Problem an dieser Oszillatorschaltung?

Angehängte Dateien:
(Firma: Privat) #7467071
Lesenswert?

von Uli N. schrieb:

Ich mag mir nicht so recht vorstellen, dass der Oszillator nur dann nicht sauber arbeitet, wenn ich mit meinem Oscilloscope-Tastkopf zusätzliche ca. 10pF in die Oscillator-Schaltung einbringe!?

Einer von den beiden Anschlüssen OSC1 OSC2 ist Ausgang und einer Eingang. Du mußt am Ausgang Messen. Und Tastkopf mit Vorteiler 1:10, so daß du 10 MOhm hast.

#7467126
Lesenswert?

Dein Fehlerbild spricht für ein Designproblem: gute Anbindung an GND? Unter dem Quarz - auch auf den anderen Layers - keine anderen Leitungen ausser GND?

So blöd es klingt, angeregt durch ein Paper der Fa.Geyer Schwingquarze (Anlage) habe ich die auf S.12 beschrieben asymmetrische Beschaltung bei PICs die nicht so recht schwingen wollten versucht. Das Ergebnis war nicht immer, aber sicher in mehr als 50% der Problem-PICs so, dass der Oszillator stabiler wurde.

Einfach mal ausprobieren!

Wenn alle Stricke reissen: Quarz-Oszillator an OSC1 (=CLKI), ggf. mit kleiner Hilfsplatine

Angehängte Dateien:
#7467310
Lesenswert?

Uli N. schrieb:

Auch mit R10 = 0Ohm und einem 510k bzw. 1M großen Widerstand parallel zu dem Quarz habe ich getestet, aber nie ein stabiles Oscillatorsignal erhalten.

Laut DB ist für XT und HS Quarze ein 1MOhm Widerstand zwischen OSC2 und OSC1 zu bestücken.

Mit der jetzigen Standardbeschaltung (2 x 22pF + R10) wird die Phasendrehung nicht ausreichend sein um eine stabile Schwingung sicherzustellen. Deshalb Schleife auftrennen und Amplitudengang und Phase messen. Zusammen mit dem Inverter sollten es idealerweise 0°/360° sein. Im angefügten Bsp. mit asymmetrischer Beschaltung ist ein zusätzlicher, relativ hochohmiger Serienwiderstand notwendig. Mit 2 x 22p müsste der Serienwiderstand doppelt so hoch ausfallen.

Angehängte Dateien:
OP #7467615
Lesenswert?

Günter L. schrieb:

Einer von den beiden Anschlüssen OSC1 OSC2 ist Ausgang und einer Eingang. Du mußt am Ausgang Messen. Und Tastkopf mit Vorteiler 1:10, so daß du 10 MOhm hast.

Ich verwende 1:10 und habe sicherheitshalber an beiden Pins gemessen, da ich noch nicht verifizieren konnte, dass OSC2 tatsächlich der Ausgang ist - ich finde dazu widersprüchliche Angaben (siehe Bilder).

Einen echten Unterschied zwischen den Messungen an OSC2 oder an OSC1 kann ich eigentlich nicht erkennen.

Angehängte Dateien:
OP #7467624
Lesenswert?

Peter H. schrieb:

Hallo, Beispiel: An meinen dsPIC33FJ16MC102 ist der 8MHz-Quarz mit R=1M überbrückt und an den beiden Quarzpins je ein 22p nach GND. Kein R vorm Quarz. Schwingt Problemlos. Gruß Peter

Diese Variante hab' ich auch schon ausprobiert (R10 = 0R) und 1M parallel an den Quarz gelötet. Die Schwingprobleme hat das aber auch nicht gelöst.

#7467632
Lesenswert?

Uli N. schrieb:

Ich verwende 1:10 und habe sicherheitshalber an beiden Pins gemessen, da ich noch nicht verifizieren konnte, dass OSC2 tatsächlich der Ausgang ist - ich finde dazu widersprüchliche Angaben (siehe Bilder).

Wo hast Du denn das Bild oscdiads1.jpg her, das kann nicht stimmen. oscdiads2.jpg wäre m.E. ok, auch wenn bei anderen PICs die interne Verschaltung etwas anders ist.

#7467634
Lesenswert?

Uli N. schrieb:

Von einem Board mit dsPIC33FJ128MC706A haben sich über die Jahre rund 50 Boards angesammelt, die nach Lieferung durch unseren Bestücker nicht funktiniert haben.

Quarze halten keine hohen Beschleunigungen aus. Wenn ein Quarz mal runterfällt, nicht einlöten, sondern wegschmeißen. Sie können noch schwingen, sind aber beschädigt. Daher werden in Handys auch keine Quarze verwendet, sondern MEMS-Oszillatoren.

Uli N. schrieb:

Wegen Lieferproblemen eines darauf befindlichen Bauteils würdem wir gerne zumindest einen Teil dieser Boards reparieren.

Neuen Quarz drauf.

OP #7467635
Lesenswert?

Stephan S. schrieb:

Dein Fehlerbild spricht für ein Designproblem: gute Anbindung an GND? Unter dem Quarz - auch auf den anderen Layers - keine anderen Leitungen ausser GND?

Das LAyout schaut meines Erachtens gut aus, ich lasse aber gerade von unserem Layouter noch überprüfen, ob sich auf den anderen Lagen was findet, was stören könnte.

Eine unsymmetrische Beschaltung werden ich als nächstes testen.

Angehängte Dateien:
OP #7467651
Lesenswert?

Stephan S. schrieb:

Wo hast Du denn das Bild oscdiads1.jpg her, das kann nicht stimmen. oscdiads2.jpg wäre m.E. ok, auch wenn bei anderen PICs die interne Verschaltung etwas anders ist.

Beide Varianten finden sich z.B. in dsPIC33/PIC24 Family Reference Manual / Oscillator Module (DS70005131A) - oscdiads1.jpg ist dort als Figure 5-1 auf Seite 21 unter 5.0 PRIMARY OSCILLATOR (POSC).

OP #7467719
Lesenswert?

Bei Board #1 ändert eine unsymmetrische Beschaltung (C4 = 68pF) nichts prizipielles (An- und Abschwellen der Frequenz schaut halt ein bißchen anders aus), bei den Boards #2 und #3 (noch mit den ursprünglichen Quarzen) stellt sich nun ein stabile Freqenz ein (siehe vorher und nachher mit 68pF), allerdings nicht die korrekte mit 8MHz, sondern eine etwas unterhalb von 4MHz.

Angehängte Dateien:
#7467839
Lesenswert?

Stephan S. schrieb:

Wenn alle Stricke reissen: Quarz-Oszillator

So ein Quarzoszillator kostet doch auch nicht mehr als ein Quarz und Du hast stabile Verhältnisse. Musst ggf noch eine kleine Platine machen. An welchen Anschluss der Oszillator gehört, musst Du halt angesichts der widersprüchlichen Zeichnungen im Datenblatt des IC und des Family Reference Manual / Oscillator Module ausprobieren.

(Firma: Privat) #7467949
Lesenswert?

von Uli N. schrieb:

da ich noch nicht verifizieren konnte, dass OSC2 tatsächlich der Ausgang ist

Im Datenblatt auf Seite 3 findet man die Anschlußbelegung. Da findet man folgendes:

OSC2/CLKO/RC15 OSC1/CLKIN/RC12

CLKO bedeutet Output, also Taktausgang. CLKIN bedeutet Input, also Takteingang.

https://pdf1.alldatasheet.com/pdfjsview/web/viewer.html?file=//pdf1.alldatasheet.com/datasheet-pdf/view/564020/MICROCHIP/PIC33FJ128MC706A/+_W4Q43VKhwSP.KLufVPlDERUEhMdTOpPU+/datasheet.pdf

#7467952
Lesenswert?

Günter L. schrieb:

von Uli N. schrieb:

da ich noch nicht verifizieren konnte, dass OSC2 tatsächlich der Ausgang ist

Im Datenblatt auf Seite 3 findet man die Anschlußbelegung. Da findet man folgendes:

OSC2/CLKO/RC15 OSC1/CLKIN/RC12

CLKO bedeutet Output, also Taktausgang. CLKIN bedeutet Input, also Takteingang.

https://pdf1.alldatasheet.com/pdfjsview/web/viewer.html?file=//pdf1.alldatasheet.com/datasheet-pdf/view/564020/MICROCHIP/PIC33FJ128MC706A/+_W4Q43VKhwSP.KLufVPlDERUEhMdTOpPU+/datasheet.pdf

dort auf Seite 143

Das ist alles schon bekannt. Eines der Probleme ist, dass ein anderes Datenblatt ein anderes Schaltbild des Ozillators präsentiert

https://ww1.microchip.com/downloads/en/DeviceDoc/70005131a.pdf Seite 21

siehe auch Beitrag "Re: Oscillatorschaltung dsPIC33FJ128MC706A"

#7467972
Lesenswert?

Beitrag "Re: Oscillatorschaltung dsPIC33FJ128MC706A"

Ich habe mir jetzt einige Datenblätter von PIC24xxx und dsPIC33xxx angeshen, in allen ist der Oszillator wie im o.g. Link gezeigten Bild https://www.mikrocontroller.net/attachment/605628/oscdiads2.jpg aufgeführt. Man muss daher davon ausgehen, dass das Schaltbild in https://www.mikrocontroller.net/attachment/605627/oscdiads1.jpg falsch ist. OSC1 ist daher mit hoher Wahrscheinlichkeit CLKI und OSC2 ist CLKO.

OP #7468247
Lesenswert?

Stephan S. schrieb:

So ein Quarzoszillator kostet doch auch nicht mehr als ein Quarz und Du hast stabile Verhältnisse.

Seh' ich auch so - selber hab' ich noch kein Board entwicklet, auf dem sich ein Quarz befindet - hier liegen aber nun mal 25 Boards, bei denen der Oscillator nicht funktioniert und die man gern reparieren würde, weil sich auf dem Board ein Stromsensor befindet, der derzeit nicht lieferbar ist.

OP #7468263
Lesenswert?

Hab' jetzt insgesamt 10 Boards ohne Erfolg mit einem neuen Quarz ausgestattet - bei zweien geht gar nichts, da könnnte auch der Inverter im dsPIC kaputt sein - irgendwie drängt sich mir aber die Frage auf, ob nicht auch bei den anderen acht der dsPIC schuld ist, nachdem auch Änderungen an der Oscillatorschaltung und vielfältige Änderungen der Dimensionierung nichts bringen!?

#7468269
Lesenswert?

Stephan S. schrieb:

So ein Quarzoszillator kostet doch auch nicht mehr als ein Quarz und Du hast stabile Verhältnisse.

Ich verwende in neuen Platinen und bei Überarbeitung auch nur noch Quarzoszillatoren. Insbesondere neuere MCs sind aufs Stromsparen optimiert und haben nur noch wenige 100mV am Quarz. Damit sind sie nicht mehr so schwingfreudig, wie bei 5V. Und auch deutlich störempfindlicher. Die alten AVRs hatten ja noch einen Full-Swing Mode per Fusebit auswählbar. Man hat deutlich gemerkt, wenn man vergessen hat, es zu brennen.

OP #7468933
Lesenswert?

Thomas Z. schrieb:

Das sehe ich auch so. Sind vermutlich einfach banale Lötfehler.

Klar hab' ich, zumindest bei den ersten drei Boards, akribisch nachgewiesen, dass alle Verbindungen vorhanden und die bestückten Bauteile die korrekten Werte haben - daran liegt es nicht.

Über Nacht ist mir aber die Idee gekommen, dass sich die PICs ja eigentlich auch ohne funktionierenden Oscillator programmieren lassen müssten - ein Gegencheck mit einem guten Board hat das bestätigt. Wenn ich also 25 Boards habe, die sich nicht programmieren lassen und bei denen der Oscillator nicht funktioniert, wird wohl der PIC defekt sein!

Schon ein verdammt schlechte Rate - 25 defekte PICs auf vielleicht 2000 Boards!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren