Hallo, ich möchte dem PIC18F4550 einen Frequenzzähler aufbauen. Der Pic läuft nach Herstellerangabe mit max 48MHz. Ich möchte den Timer0 im "Counter-Mode" verwenden. Leider finde ich nicht (oder verstehe ich nicht) mit welcher maximalen Frequenz der Modus noch Funktioniert. Auf Sprut fand ich für einen anderen Pic die angabe, das der Timer0 mit maximal Clock/4 betrieben werden kann. Ist das dann vor dem Vorteiler oder danach? Die Programmierung mach ich mit dem C18 Compiler. Vielleicht hat ja einer den DRUCHBLICK. Gruß Stefan
Datasheet, p.384:
TABLE 28-13: TIMER0 AND TIMER1 EXTERNAL CLOCK REQUIREMENTS
Ist das tatsächlich sooo schwer zu finden???
> Die Programmierung mach ich mit dem C18 Compiler.
Was hat das damit zu tun?
Clock/4 (Ich denke das hat was damit zu tun das der PIC auch 4 Takte braucht um einen Befehl auszuführen?!).
Ich kenne nicht die Specs der Serie 18F, die Serie 16F hatte das offizielle Limit von 50Mhz, einige pics gingen auch über 150 Mhz.
@chis hä? Von was sprichst du? Der 18F4550 hat eine Taktfrequenz von exakt max. 48MHZ.
Ich spreche von externen Frequenzen zu messen, Timer im counter mode.
@ Manuel: > Clock/4 (Ich denke das hat was damit zu tun das der PIC auch 4 Takte > braucht um einen Befehl auszuführen?!). > @chis hä? Von was sprichst du? Der 18F4550 hat eine Taktfrequenz von > exakt max. 48MHZ. Könntest Du bitte aufhören hier solche Gerüchte zu verteilen, wenn Du von den Specs der Chips offensichtlich keine Ahnung hast!? Wenn man sich die Specs im Datenblatt anschaut steht dort eindeutig eine (offizielle) maximale Eingangsfrequenz von 50 MHz (bei Verwendung des Prescalers). Dass der PIC (inoffiziell) in der Realität in der Lage sein wird, deutlich höhere Frequenzen zu messen, ist wohl zu vermuten.
Irgendwie bin ich jetzt noch verwirrter. Ich möchte lasse den PIC18F4550 mit maximaler Frequenz laufen (48MHz?) - nehmen wir an ich habe ganz normale TTL-Pulse mit Duty-Cycle 50%: Kann ich jetzt mit dem Counter-Mode der Timer 12MHz noch lückenlos zählen? Ist das überhaupt ein richtiger "Befehl" der 4 Takte braucht, wenn doch der Timer dafür gebaut wurde? Der Timer selbst braucht ja auch keine vier Tacke zum zählen. Oder doch? Gruß Stefan
Meine Güte, was faselst Du ständig von der maximalen Taktfrequenz des PIC. Diese hat doch so direkt gar keinen Einfluss auf die maximale Frequenz am Counter-Eingang, vorausgesetzt, Du verwendest den Prescaler. Wo ist denn Dein Problem mit der Tabelle im Datenblatt? Hast Du Dir die überhaupt schon mal angesehen? Da steht doch klipp und klar die minimale Periodendauer für ein Signal am Counter-Eingang (Param No. 42). Was brauchst Du denn noch? > Ist das überhaupt ein richtiger "Befehl" der 4 Takte braucht, wenn doch > der Timer dafür gebaut wurde? Der Timer selbst braucht ja auch keine > vier Tacke zum zählen. Oder doch? Öhm...hä???
Hallo Zwirbeljupp, ist ja gut, ganz ruhig. DU hast recht und ich UNRECHT und ich bin SO dumm... Auch wenn manchmal der Fragende durch einen kleinen Schubs zum Denken angeregt werden kann, erinnern mich deine Beiträge irgendwie an das HB-Männchen. Und ja, der Compiler hat damit nichts zu tun. Es hätte ja sein können, dass mir dringend davon abgeraten wird, bei einer solchen Zeitkritischen Anwendung den C18 Compiler zu verwenden. Und ich dachte ich gebe lieber etwas Redundanz dazu als zu wenig zu schreiben. Der Stein des anstoßes ist ein Artikel auf Sprut: http://sprut.de/electronic/pic/projekte/frequenz/freq.htm In diesem steht: "Leider ist sein Eingangstakt auf 1/4 des Prozessortaktes beschränkt. Der Timer0 eines mit 10 MHz getakteter PIC kann also maximal 2,5 MHz zählen. Für höhere Frequenzen kann man aber den Vorteiler einsetzen." Durch den Vorteiler verliere ich aber an genauigkeit. Ja, ich hab mir die Tabelle natürlich angesehen. Selbst gefunden hab ich diese aber leider nicht. 400 Seiten Doku können auch manchmal verwirrend sein. ++++++++++++++++++++++++++++++++++++++++++++++++++++++ Ohne Prescaler Impulse von der Länge (TCY+10ns) verdauen. Wenn ich den internen Takt auf 48MHz einstelle kann ich so also etwa 10MHz zählen. An den Vorteiler kann ich 50MHz sicher anlegen, muß aber aufpassen, dass ich den Counter denoch nicht überfordere. Ist das so jetzt richtig? Gruß Stefan (Ja, ich geb nichts auf Rechtschreibung)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.