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
Mach mal die Bürdekondensatoren kleiner oder lasse diese mal zu testzwecken weg.
sind die C's denn richtig dafür? ==> Datenblatt Ich glaube du musst es dem Pic auch sagen, in welchem Bereich die Frequenz ist.
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
Also die Cs sollen laut Datenblatt 15-33pf haben. Als Oszillator-Modus wurde HS gewählt (wird empfohlen für alles ab 4Mhz).
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.
Bild und schaltplan vom Aufbau? Sonst ist alles Raterei!
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
Stefan P. schrieb: > Bedenke anber, dass dein Instruction Cycle immer Grundfrequenz/4 ist > (bei PIC12/16/18/24), aber ich denke das ist sowieso bekannt ;) Das ist für die PIC24 nicht korrekt, die haben Grundfrequenz/2. Siehe z.B.: http://ww1.microchip.com/downloads/en/DeviceDoc/39764a.pdf
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
Florian V. schrieb: >> Bedenke anber, dass dein Instruction Cycle immer Grundfrequenz/4 ist >> (bei PIC12/16/18/24), aber ich denke das ist sowieso bekannt ;) > > Das ist für die PIC24 nicht korrekt, die haben Grundfrequenz/2. > > Siehe z.B.: http://ww1.microchip.com/downloads/en/DeviceDoc/39764a.pdf Sry bei den PIC24 habe ich mich vertan. Danke für die Korrektur.
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.
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?
Das ist auf alle Fälle besser. Oder Quarz noch etwas näher ran an den PIC und die beiden C auf die Unterseite gegen die Massefläche.
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.