Forum: Mikrocontroller und Digitale Elektronik PIC18F26K80 Oszillator ist immer durch 4 geteilt


von Oliver S. (os252)


Angehängte Dateien:

Lesenswert?

Hallo,

ich möchte grade den Timer0 eine PIC18F26K80 programmieren, aber dabei 
ist mir aufgefallen, dass der Takt dieses Timers immer der durch 4 
geteilte Wert des eigentlichen Systemtaktes ist.
Ich verwende den internen RC Oszillator (INTIO1 im CONFIG1H)
Dabei kann ich den Takt am OSC2 Pin mit einem Oszilloskop messen.
Im OSCCON Register habe ich die ICRF Bits auf 111 gesetzt, sodass laut 
Tabelle ein Takt von 16MHz anstehen sollte.
Am OSC2 Pin kann ich allerdings immer nur einen durch 4 geteilten Takt 
messen.
Auch der Timer läuft mit einem durch 4 geteilten Takt.
Die CAN Einheit habe ich allerdings mit dieser Einstellung schon 
verwendet und die Berechnung der einzelnen Segment-Zeiten mit den 16MHz 
durchgeführt. Dieses hatte Erfolg, sodass dort die entsprechenden Zeiten 
richtig eingehalten wurden.
Gibt es also noch einen Vorteiler, der immer den Takt durch 4 teilt und 
dann erst diesen zum OSC2 Pin und den Timern durchreicht?

Ich habe leider im Datenblatt dazu nichts gefunden.
Das Bild zeigt den schematischen Aufbau der Takteinheit des Prozessors.

Vielen Dank.
MfG

von Martin S. (drunkenmunky)


Angehängte Dateien:

Lesenswert?

Bei den 8-bit PICs ist der Maschinenzyklus Takt immer Oszillatortakt / 
4.

Da steht aber auch deutlich bei dem Schaubild zu Timer 0 dran (siehe 
Anhang).
Bei Timer 1 hast du die Möglichkeit den Oszillatortakt zu verwenden.

von Michael S. (rbs_phoenix)


Lesenswert?

Bei den 8bitter PICs wird immer der Oszillator-Takt (Fosc) durch 4 
geteilt und wird zum Fcyc. Und dieser Fcyc geht dann wahlweise an 
CLKOUT. Was du tun könntest: Wenn du den PLL anschaltest, hast du 16MHz 
* 4 / 4, also wieder Fcyc von 16MHz.

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
Noch kein Account? Hier anmelden.