mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC18LF14K22 läuft nicht bei eingesteller Frequenz


Autor: Korbinian G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich programmiere gerade einen PIC18LF14K22. Leider bekomme ich es nicht 
hin, dass der interne RC Oszillator mit der eingestellten Frequenz 
läuft.

Ich hab mein Oszi am CLKOUT Pin hängen um die Frequenz zu überprüfen.

folgende Configuration Bits sind gesetzt:

#pragma config FOSC = IRCCLKOUT
#pragma config PLLEN = OFF
#pragma config PCLKEN = OFF
#pragma config FCMEN = OFF
#pragma config IESO = OFF

weiterhin habe ich folgende Register eingestellt:


OSCCONbits.IDLEN = 0;
OSCCONbits.IRCF2 = 1; // Oszillator läuft bei 4Mhz
OSCCONbits.IRCF1 = 0; //
OSCCONbits.IRCF0 = 1; //
OSCCONbits.OSTS = 0;  // Interner Oszillator
OSCCONbits.HFIOFS = 1;
OSCCONbits.SCS1 = 1; // Interner Oszillatorblock
OSCCONbits.SCS0 = 1;

OSCCON2 = 0x05;

OSCTUNEbits.INTSRC = 0;
OSCTUNEbits.PLLEN = 0;
OSCTUNEbits.TUN5 = 0;
OSCTUNEbits.TUN4 = 0;
OSCTUNEbits.TUN3 = 0;
OSCTUNEbits.TUN2 = 0;
OSCTUNEbits.TUN1 = 0;
OSCTUNEbits.TUN0 = 0;

Das komische ist dass ich immer 1/4 der eingestellten Frequenz am Oszi 
sehe, sprich bei 4MHz habe ich 1MHz, somit komme ich maximal auf 4MHz 
wenn ich 16MHz einstelle. Nachdem ich jetzt x mal schon das Datenblatt 
studiert habe, frage ich hier. Vielleicht kann mir einer den 
entscheidenden Tipp geben. Danke im Vorraus.

Autor: morph1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vollkommen normal, PIC18 laufen IMMER mit 1/4 vom Takt.

Autor: Korbinian G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, oder?
Und ich mach mir hier schon Gedanken, warum ich es nicht hinbekomme.
Aber bei den Features steht:  31.25 kHz - 16 MHz internal oscillator, 
CLKOUT function on RA4/OSC2

Frage mich, wie man die 16 MHz dann erreichen kann?

Autor: stephan_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Vollkommen normal, PIC18 laufen IMMER mit 1/4 vom Takt.

Am CLKOUT liegt aber der Takt des Oszillators an. Die 1/4 sind die 
Frequenz, mit der die Befehle abgearbeitet werden (1 Befehl sind 4 
OSC-Takte).

Autor: Korbinian G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ist es normal, dass ich am CLKOUT immer nur 1/4 der eingestellten 
frequenz sehe?

Autor: daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, denke nicht. Hast du den PLL aktiviert?

Autor: Korbinian G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die PLL ist deaktiviert, aber laut datenblatt soll er ja auch 16MHz ohne 
PLL schaffen.

Autor: morph1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie gesagt, das ist normal so :)

Da liegt der interne Clock an, also eben nicht der vom Oszillator


When operating with either oscillator, OSC1 will be an
I/O and OSC2 will be either an I/O or CLKOUT. The
CLKOUT function is selected by the FOSC bits of the
CONFIG1H Configuration register. When OSC2 is
configured as CLKOUT, the frequency at the pin is the
frequency of the Internal Oscillator divided by 4.

Seite 19 des Datenblatts

Autor: Korbinian G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah jetzt verstehe ich^^
Wenn ich OSC1 auf CLKOUT konfiguriere müsste ich auch die volle Frequenz 
sehen oder?

Autor: Korbinian G. (korbinian_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So wie ich das jetzt nach nochmaligen lesen verstanden habe, ist das 
nicht möglich den eingestellten Clock OSC1 auf CLKOUT auszugeben. Nun 
weiß ich ja dass mein Clock richtig eingestellt war und muss mir 
deswegen keine Sorgen mehr machen. Meine PWM läuft nun auch einwandfrei 
:)
Ich möchte mich hiermit nochmal bei allen für die Aufklärung bedanken.

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.