Forum: Mikrocontroller und Digitale Elektronik Oscillatorschaltung dsPIC33FJ128MC706A


von Uli N. (uln)


Angehängte Dateien:

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?

von Günter L. (Firma: Privat) (guenter_l)


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.

von Stephan S. (uxdx)


Angehängte Dateien:

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

: Bearbeitet durch User
von Peter H. (peterhofbauer)


Lesenswert?

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

von Robert M. (r0bm)


Angehängte Dateien:

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.

von Uli N. (uln)


Angehängte Dateien:

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.

von Uli N. (uln)


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.

von Stephan S. (uxdx)


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.

von Peter D. (peda)


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.

von Uli N. (uln)


Angehängte Dateien:

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.

von Uli N. (uln)


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

von Uli N. (uln)


Lesenswert?

Peter D. schrieb:
>
> Neuen Quarz drauf.

Genau das war meine Absicht - hat aber nicht geholfen.

von Peter D. (peda)


Lesenswert?

Uli N. schrieb:
> Ich habe nun ATS08ASM-1E Quarze von CTS bestellt (load capacitance 20pF)

Dann könnten die 11pF etwas wenig sein. Probier mal 2 * 39pF.

von Uli N. (uln)


Lesenswert?

Peter D. schrieb:
> Uli N. schrieb:
>> Ich habe nun ATS08ASM-1E Quarze von CTS bestellt (load capacitance 20pF)
>
> Dann könnten die 11pF etwas wenig sein. Probier mal 2 * 39pF.

Auf dn Boards sind 2 x 22pF bestückt!

von Uli N. (uln)


Angehängte Dateien:

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.

von Uli N. (uln)


Lesenswert?

Hab' jetzt bei #2 und #3 zusätzlich den Quarz getauscht - bringt auch 
nichts, da ich immer noch die falsche Frequenz erhalte (unter 4MHz)

: Bearbeitet durch User
von Stephan S. (uxdx)


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.

von Günter L. (Firma: Privat) (guenter_l)


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

von Stephan S. (uxdx)


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"

: Bearbeitet durch User
von Stephan S. (uxdx)


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.

von Uli N. (uln)


Lesenswert?

Günter L. schrieb:
> OSC2/CLKO/RC15
> OSC1/CLKIN/RC12
>
> CLKO bedeutet Output, also Taktausgang.
> CLKIN bedeutet Input, also Takteingang.

CLKIN und CLKO sind die Namen der Pins für den EC-Mode (External Clock 
Mode) - Deine Zuordnung ist naheliegend, letztendlich muss es sich mit 
XT- oder HS-Mode aber nicht so verhalten.

von Uli N. (uln)


Lesenswert?

Stephan S. schrieb:
> OSC1 ist daher mit hoher Wahrscheinlichkeit CLKI und OSC2 ist CLKO.

ja, "mit hoher Wahrscheinlichkeit"

von Uli N. (uln)


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.

von Uli N. (uln)


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!?

von Peter D. (peda)


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.

von Robert M. (r0bm)


Lesenswert?

Uli N. schrieb:
> 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

Anstatt planlos Bauteile zu ersetzen, was hindert dich daran zu messen 
warum der Oszillator nicht tut wie er soll?

von Thomas Z. (usbman)


Lesenswert?

Robert M. schrieb:
> Anstatt planlos Bauteile zu ersetzen, was hindert dich daran zu messen
> warum der Oszillator nicht tut wie er soll?

Das sehe ich auch so. Sind vermutlich einfach banale Lötfehler. Ich 
würde z.B mal versuchen den chipinternen Widerstand an den Quarzpins 
nachzuweisen, ebenso mal die Widerstände der Quarzpins gegen GND messen.

: Bearbeitet durch User
von Christoph S. (155christo)


Lesenswert?

Warum nicht anders rum?
Nicht lieferbaren Stromsensor von den 50 Boards ablöten und auf neue 
Boards löten, deren Design erwiesenermaßen funktioniert?

von Peter D. (peda)


Lesenswert?

Typisch ist so eine Oszillatorschaltung nur ein hochohmiger Inverter. 
Man kann daher recht gut überprüfen, ob der MC defekt ist. Man legt auf 
den Eingang GND/VCC und mißt am Ausgang, ob er sich gegenläufig verhält. 
Man muß dazu nichts auslöten.

: Bearbeitet durch User
von Uli N. (uln)


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!

von Uli N. (uln)


Lesenswert?

Christoph S. schrieb:
> Warum nicht anders rum?

Das haben wir schon auch angedacht - da die Sensoren verklebt sind, 
lassen sich diese lt. Bestücker nicht zerstörungsfrei von den Boards 
runter holen.

von Michael O. (michael_o)


Lesenswert?

Und geht der wechsel des DSPic einfacher?

MfG
Michael

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
Noch kein Account? Hier anmelden.