PIC18F2550 läuft nicht an - externer Oszillator

Gast #258923
Lesenswert?

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
Gast #258924
Lesenswert?

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!
Gast #258926
Lesenswert?

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
Gast #258927
Lesenswert?

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.
Gast #258928
Lesenswert?

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.
Gast #258929
Lesenswert?

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.).
Gast #258932
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren