Hallo, ich möchte einen Quarz ( ECS-240-20-5PXDU-TR )als Taktversorung für einen PIC32MZ(EF) nutzen. Der Quarz soll auf Grund des Temperaturbereichs verwendet werden. Als Schaltung verwende ich einen Pierce-Oszillator mit 20 und 40pF. Es handelt sich um einen 24MHz Grundton-Quarz, wenn ich das Datenblatt richtig gelesen habe. Leider schwingt er nur mit 2MHz (siehe Bild). Gemessen habe ich direkt am Quarz, aber auch ohne Tastkopf am Quarz ist die Frequenz zu niedrig. (Gemessen mit Timer-IR und Pin-toggle) Der PIC funktioniert mit dem internen Oszillator. Habe ich etwas übersehen? Wie kann so eine extreme Abweichung zustandekommen? Sind die Kondensatoren falsch gewählt? (Wobei mir hier die extreme Abweichung nicht klar wird) Danke schon mal für eure Hilfe, Grüße Thomas
Thomas H. schrieb: > sind die Kondensatoren falsch gewählt? die sind sicherlich etwas zu groß. > (Wobei mir hier die extreme Abweichung nicht klar wird) Ja, kann eigentlich nicht sein. Wie ist denn dein Oszillator aufgebaut (welcher Inverter, Layout)? Und warum nutzt du den Quarz nicht direkt am PIC32?
:
Bearbeitet durch User
Joe F. schrieb: > Wie ist denn dein Oszillator aufgebaut (welcher Inverter, Layout)? > > Und warum nutzt du den Quarz nicht direkt am PIC32? Den Quarz nutze ich direkt am PIC. Im Nachhinein betrachtet ist da wohl die Beschreibung mit dem Pierce-Oszillator etwas irreführend.
Also so einen Fall hatte ich schon, aber das war ein falsch etikettiertes Reel (also ein Bestückungsfehler). Ich kann mir irgendwie nicht vorstellen, dass man einen Grundtonquarz nur mit Kapazitäten von 24MHz auf 2 MHz niederzwingen kann. Man kann sowas allerdings durchaus per Software schaffen, nachdem man Oszillatorpins des PIC auch als Ausgänge konfigurieren kann. Du bist sicher, dass das passt? Also die Configbitsettings und der Code?
1 | #pragma config FPLLIDIV = DIV_3, FPLLMULT = MUL_50, FPLLODIV = DIV_2
|
2 | #pragma config FPLLRNG = RANGE_13_26_MHZ, FPLLICLK = PLL_POSC, FNOSC = SPLL
|
3 | #pragma config FSOSCEN = OFF, IESO = ON, POSCMOD = EC
|
4 | #pragma config FDMTEN = OFF, DMTCNT = DMT31, FWDTEN = OFF, ICESEL = ICS_PGx2
|
5 | #pragma config OSCIOFNC = ON
|
6 | #pragma config FCKSM = CSECME
|
Das ist meine Config für den PIC mit 200MHz, damit läuft auch ein EF-Starterkit. Mit OSCIOFNC = ON sollten die Pins als Takteingang gesetzt sein.
:
Bearbeitet durch User
Hast du schon ins errata sheet geschaut und deine silicon revision verglichen? AFAIR wurden da Serien vom MZ verkauft bei denen der Oszillator mit externem Quarz nicht zuverlässig funktionierte.
Kann nur raten: POSCMOD = EC falsch? (EC = external Clock Source - also CMOS Oszillator und kein Quarz?) FNOSC = SPLL dann vermutlich auch nicht passend. Wie kommst du eigentlich auf die 40 & 20pF? Meinem Gefühl nach würde man eher so jeweils 15pF nehmen...
:
Bearbeitet durch User
Andi B. schrieb: > AFAIR wurden da Serien vom MZ verkauft bei denen der > Oszillator mit externem Quarz nicht zuverlässig funktionierte. Das ist DER Hinweis gewesen^^ Errata sheet gelesen und das gefunden: 2. Module: Oscillator A crystal oscillator cannot be used as an input to the Primary Oscillator (OSC1/OSC2 pins). Work around Use an external clock or the Internal FRC Oscillator. Warum macht man sowas? =) Danke euch für die schnellen Antworten. PS: Joe F. schrieb: > Wie kommst du eigentlich auf die 40 & 20pF? Meinem Gefühl nach würde man > eher so jeweils 15pF nehmen... Bis jetzt habe ich immer den MiniPIC32 verwendet, jetzt die erste Platine fertigen lassen und bin natürlich in die Lastkapazitäten-Falle (CL = C1 = C2 <- Facepalm) getappt. Nach ein wenig Einlesen in das Problem habe ich dann C26 verdoppelt. (Habe in der Größenordnung auch nur 20p da)
:
Bearbeitet durch User
Thomas H. schrieb: > Errata sheet gelesen und das gefunden Ist denn deine silicon revision wirklich betroffen? Ein Konfigurationsfehler ist ja trotzdem noch drin... Wenn dieser Stromlaufplan hier (S. 22) http://ww1.microchip.com/downloads/en/DeviceDoc/70005147C.pdf deinem Starterkit entspricht gibt es 2 Konfigurationsmöglichkeiten. Y4 bestückt: 24 MHz Oszillator, und kein Quarz. Y1 bestückt: Quarz. Guck mal nach, welche Hardwarekonfiguration zu der von dir genannten "#pragma" Konfiguration passt. "POSCMOD = EC" kommt mir wirklich verdächtig vor.
:
Bearbeitet durch User
Joe F. schrieb: > deinem Starterkit entspricht gibt es 2 Konfigurationsmöglichkeiten. > Y4 bestückt: 24 MHz Oszillator, und kein Quarz. > Y1 bestückt: Quarz. > > Guck mal nach, welche Hardwarekonfiguration zu der von dir genannten > "#pragma" Konfiguration passt. > > "POSCMOD = EC" kommt mir wirklich verdächtig vor. Es läuft auch mit der "POSCMOD = HS" - Einstellung auch nur mit Back-Up-FRC. MPLab zeigt beim Debuggen folgendes an: Target device PIC32MZ2048EFH100 found. Device ID Revision = A1 Es ist also die Revision, die vom obengenannten Fehler betroffen ist. Noch einmal Danke an alle für die Antworten.
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.