PIC18Fxxx 10Mhz Quarz geht, 20Mhz nicht

Gast #2584588
Hallo miteinander,

ich habe hier einen PIC18F452, mit 5V Versorgungsspannung. Laut 
Datenblatt sollte der bis 40 Mhz können, jedoch schwingt er mit dem 
20Mhz Quarz(YIC D1) nicht an (22pf). Der 10Mhz funktioniert ohne 
Probleme.

Mir ist das prinzipiell wurschd. 10Mhz reichen vermutlich auch und der 
Controller hat ne integrierte PLL die ich auch noch benutzen könnte.

Mich würde nur trotzdem interessieren was denn da die Ursache sein 
könnte.

Würd mich über Anregungen freuen.

Gruß,
Jens
#2584598
Hi,

Wie ist denn deine Quarzfuse gesetzt?
10Mhz schwingt je nach Controller und laune ja mal/sowohl mit der 
Einstellung XT und HS. (Die SOLL grenze liegt XT/HS bei den 18F meine 
ich bei 4MHz, müsste aber nachsehen)
20MHz  ist mit XT aber gar nicht mehr drin.

Falls die also noch auf XT steht auf HS stellen.

Ansonsten ist 22pf für 20Mhz schon eher der obere Toleranzbereich. Wenn 
dann noch ein sehr ungünstiger(kapazitätsbelasteter Aufbau dazu kommt) 
ICh verwende da eher etwas in der Richtung 15pf.

Gruß
Carsten
Gast #2584614
Jens Plappert schrieb:
> Mich würde nur trotzdem interessieren was denn da die Ursache sein
> könnte.

- Oberwellenquarz
- Billigware
- Quarz kaputt
- falsche konfig
- schlechter Aufbau
- PLL falsch eingestellt
- kalte Lötstelle


usw usf.
#2584639
Hallo Jens

Zu deinem Problem, da habe ich ein paar Ideen/Vermutungen und auch eine 
Lösung.

Das Problem bei Quarzen mit einer hohen Frequenz ist, dass sie..
a) ...zum Einschwingen länger brauchen (also startup-time erhöhen)
b) ...mit einer Freqzenz >20MHz sind oft Oberwellen Quarze, die sehr 
leicht auch mit ihrer niedrigeren Grundfrequenz oszillieren.

Wenn der PIC mit den 10MHz Quarz funktioniert und du ihn mit maximaler 
Geschwindigkeit betreiben willst, dann habe ich gute News für dich.

Guck dir das Datenblatt an und suche nach HS/PLL Oszillator betrieb.
http://ww1.microchip.com/downloads/en/DeviceDoc/39564c.pdf

Dieser PIC den du verwendest unterstützt PLL, was do viel heißt, dass 
deine Oszillatorfrequenz intern verfierfacht wird. Natürlich geschieht 
dies nicht von alleine sondern der PLL muss erst aktiviert werden.

Dann kannst du auch mit deinem 10MHz Quarz deinen PIC mit 40MHz 
Grundfrequentz betreiben.

Bedenke anber, dass dein Instruction Cycle immer Grundfrequenz/4 ist 
(bei PIC12/16/18/24), aber ich denke das ist sowieso bekannt ;)

Achja ein Problem könnte ja natürlich auch sein, dass du deinen PIC mit 
20MHz Quarz betreibst und den PLL auch noch dazu verwendest => 4*20 = 
80MHz und das ist zu viel für den Chip.

Schau dir mal deine Oszillatoreinstellungen genauer an und beachte das 
Datenblatt.

Halte uns up-2-date was wirklich das Problem war und auch ob es mit dem 
10MHz Oszillator und PLL mit max Speed funktioniert.

LG. Stefan
Gast #2584686
10 Mhz mit PLL funktioniert. Deswegen stört es mich ja auch kaum, ist ja 
im Endeffekt sogar schneller als zuvor.

20Mhz hatte ich gewählt, weil ich die für ähnliche Projekte immer an den 
16F hatte und das gut ging. Auf die PLL bin ich erst gestern beim 
Programmieren gestossen. Da war halt der Quarz schon verbaut.

Da die schaltung später mal vor allem auch nachbausicher sein soll, 
werde ich es auch bei den 10Mhz belassen und nicht weiters mit den 20Mhz 
rumprobieren.

Im anhang mal mein Layout (man verzeihe mir gif, aber das Programm 
spuckt nichts anderes raus und ich habe an dem Rechner kein IrfanView).

Was mir mittlerweile auffällt, ist dass ich lieber die Pfostenleiste 
weiter rausgeführt und den Quarz näher am Bauteil platziert habe.

Ist diese Entfernung vom Controller jetzt eigentlich schon "richtig 
viel" oder ist sowas noch gut?

Gruß,
Jens
Angehängte Dateien:
Gast #2584909
Deine Last-Kondensatoren müssen ganz nah an den PIC, max 6mm, die sind 
VIEL zu weit weg. Auf der Homepage von Microchip gibt es ein Paper über 
µC-Oscillatoren, da sind auch Layout-Vorschläge drin.
Gast #2584952
würde das auch heissen, dass ich von der Anordnung her die Last-Cs 
zwischen Controller und Quarz setzen könnte und den Quarz dort lassen wo 
er ist?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.