Forum: Mikrocontroller und Digitale Elektronik Oszillator und versteckter Vorteiler


von Bastian B. (hobby-pic)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mal eine Frage.
Ich habe meinen PIC mit einer Oszillatorschaltung versehen um ihn extern 
zu takten.

Weiter habe ich einen Timer laufen. Der Timer soll eine bestimmte Zeit 
hochzählen.

z.B. 1s

Jetzt sollte man meinen, dass bei einem 8bit Timer mit Vorteiler=2 und 
einem Oszillator 20MHz folgende Rechnung stimmt.

t= Interrups  Vorteiler  Systemtakt * Timerregister

1s ~ 39062  2  (1/20MHz) * 2^8

Jetzt spiet aber irgendwo noch ein zusätzlicher Vorteiler=4 eine Rolle.

Ich verstehe nicht ganz wo der herkommt und finde es nicht im 
Datenblatt.

Danke,

Basti

von Florian V. (Gast)


Lesenswert?

Mit Systemtakt ist bei PICs meist fcy gemeint. Dies ist die Frequenz, 
mit der Befehle verarbeitet werden. PIC16F und PIC18F benötigen 4 
Oszillatortakte je Befehl, daher dein Vorteiler durch 4.

von Bastian B. (hobby-pic)


Lesenswert?

Danke

von Bastian B. (hobby-pic)


Lesenswert?

Für's Protokoll:

Für den PIC 18F2550

Data Sheet, p. 380

TCY (Instruction Cycle Time) = FOSC/4

von Falk B. (falk)


Lesenswert?

Klar, die PICs sind Viertakter.
AVRs sind Eintakter, also Turbinen.

;-)

von Kein Name (Gast)


Lesenswert?

>AVRs sind Eintakter, also Turbinen.

Nur mit dem richtigen Optimizer.

Wenn ein dröger Compiler einen PIC Befehlt durch ein LD, ein ADD und ein 
ST ersetzt, braucht der der AVR 5 Takte.

Ohne die Arbeit der GCC Entwickler wäre die prähistorische PIC 
Architektur schneller.

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.