mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC18F2550 läuft nicht an - externer Oszillator


Autor: Florian D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Florian D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: GeriB (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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_PI...

Beste Grüsse
Geri

Autor: Florian D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Florian D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.).

Autor: GeriB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
plus evtl. ein Parallelwiderstand mit 1Meg..

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck mal in's Datenblatt.
Da steht nämlich , dass der Oszi im XT, bzw HS betrieben werden muss.

Autor: Florian D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Florian D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Problem gelöst. Es war eine fehlende Null in meiner Programmer-Software.
Dadurch blieben die Config-Bits leer. Dumme Sache.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.