Hat jemand Erfahrung mit dem 18F2550 und kennt eine ähnliche Situation? Ich treibe den PIC mit einem Oszillator, den ich aus einer alten Grafikkarte ausgebaut habe. Der Oszillator gibt - laut Aufdruck - 40 MHz aus, mein 20 MHz-Scope zeigt etwas verschmiertes an, also kommt zumindest etwas heraus. An OSC2 messe ich nichts, Oszillatorart ist ECPLL mit Output an OSC2. Ich muss mir morgen mal einen 24 MHz-Quarz besorgen, vielleicht klappt's damit. Die Config-Bits sind auf jeden Fall gesetzt. Die Programmiersoftware musste ich selbst schreiben, da die beigelegte Software zum Velleman-Bausatz leider diesen Typ nicht unterstützt. Ich habe aber mind. 50 mal gegengeprüft, ob auch alles aauber geschrieben wurde. Daher die Frage, ob vielleicht jemand einen Tip hat, was man vielleicht noch beachten sollte. Gruß, Florian
Schon mal vorher 'nen PIC programmiert? Den Oszillator kannst du nämlich nicht im ECPLL-Modus betreiben, dafür bräuchtest du eine extrene Taktquelle. Du musst da schon die XT oder HS-Modi benutzen. Willst du die PLL in Anspruch nehmen, brauchst du eine Eingangsfrequenz von 4MHz, also vorher den Vorverteiler einstellen!
Wie ich geschrieben habe, habe ich einen externen 40 MHz-Quarzoszillator verwendet. ECPLL mit einem Teiler von 10 sollte also passen. An OSC2 ist wie gesagt nichts zu messen.
Hallo Florian Ich denke, Thomas hat schon recht. Es könnte an den Configuration bits liegen. Ich verwende einen 20MHz-Oszillator. Der interne PLL stellt dann einen 48MHz Takt her. Der Ozillator wird im HS: HS+PLL, USB-HS-Mode. Schau doch mal hier: Mit diesen Configuration bits laufen meine Schaltungen: http://burger-web.com/Projects/PIC18F4550USB/en_PIC18UsbBoard.htm Beste Grüsse Geri
Wie gesagt, ich verwende keinen Quarz, sondern einen externen Oszillator. Im HS-Modus kann ich den nicht extern mit 40 MHz takten, also verwende ich EC + PLL. Ich frage mich, ob ich vielleicht zu 'undeutlich' schreibe.
Ich glaube, es bringt nichts, das Wort Quarzoszillator noch deutlicher zu schreiben. Poste lieber mal die Configbits. Eigentlich solltest du nämlich schon im ECPLL Modus an OSC2 Fosc/4 sehen und also auch mit deinem Scope messen können. Also wenn die Bits stimmen, deine Software richtig programmiert und der Oszillator auch richtig arbeitet. Christian.
Hier die Konfiguration: FOSC=ECPLL_EC PLLDIV=10 CPUDIV=OSC1_PLL2 USBDIV=2 BOR=OFF WDT=OFF MCLRE=OFF Wie gesagt, kann ich auf meinem Oszilloskop nicht erkennen, ob das 40 MHz-Signal sauber ist. Der Oskar bringt nur 20 MHz. Vielleicht war es auch nicht die beste Wahl, den Output vom Oszillator mit 0,75er Litze auf den Pin zu legen. Ich werde mir wohl wirklich mal ein 20 MHz-Quarz besorgen müssen und direkt anschließen (kurze Wege, Kondensatoren etc.).
Guck mal in's Datenblatt. Da steht nämlich , dass der Oszi im XT, bzw HS betrieben werden muss.
Da man mich ja wohl immer noch falsch versteht... (hat das überhaupt noch Sinn?) Hier ein Auszug aus dem Datenblatt: 1. XT Crystal/Resonator 2. XTPLL Crystal/Resonator with PLL enabled 3. HS High-Speed Crystal/Resonator 4. HSPLL High-Speed Crystal/Resonator with PLL enabled 5. EC External Clock with FOSC/4 output 6. ECIO External Clock with I/O on RA6 7. ECPLL External Clock with PLL enabled and FOSC/4 output on RA6 8. ECPIO External Clock with PLL enabled, I/O on RA6 9. INTHS Internal Oscillator used as microcontroller clock source, HS Oscillator used as USB clock source 10. INTXT Internal Oscillator used as microcontroller clock source, XT Oscillator used as USB clock source 11. INTIO Internal Oscillator used as microcontroller clock source, EC Oscillator used as USB clock source, digital I/O on RA6 12. INTCKO Internal Oscillator used as microcontroller clock source, EC Oscillator used as USB clock source, FOSC/4 output on RA6 ECPLL ist also externer Takteingang (an OSC1); damit wird über einen Prescaler der interne PLL gesteuert. An RA6 bzw. OSC2 sollte Fosc/4 anliegen. Desweiteren ist dort eine Tabelle abgebildet, in der für einen Oszillatoreingang von 40 MHz ein PLL-Teiler von 10 unf für einen µC-Takt von 48 MHz eine 'MCU Clock Division' von 2 für ECPLL und ECPIO angegeben ist. IMHO ist das genau das, was ich getan und eingestellt habe. Mit 'externer Quarzoszillator' meine ich ein kleines Metallkästchen im 'DIP-14'-Gehäuse, mit 4 Pins (auf 1, 7, 8 und 14), von denen Pin 7 und Pin 14 für die Versorgungsspannung und Pin 8 als Ausgang verwendet werden. Ich vermute mal, dass die meisten das mit einem Quarz-Resonator (rein passives Bauteil), meist im HC-18 Gehäuse (auch aus Metall) mit 2 Pins verwechseln. Dafür muss dann XT bzw. HS verwendet werden. In der Doku steht außerdem, dass auch im HS-Modus ein externer Oszillator verwendet werden kann, aber - laut Doku - nur bis 24 MHz.
Problem gelöst. Es war eine fehlende Null in meiner Programmer-Software. Dadurch blieben die Config-Bits leer. Dumme Sache.
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.