Hallo, um sicher zu gehen, dass ich auf dem richtigen/sinnvollsten Weg bin, hätte ich mein Vorhaben gerne kurz Diskutiert: Ich habe eine Sinusspannung und möchte die Frequenz mit meinem PIC12 erfassen. Ich dachte also, ich warte auf eine positive Flanke, starte einen Timer, warte auf die nächste positive Flanke und lese den Timervalue aus (gegebenenfalls mit Überläufen). Was haltet Ihr davon? Hat Jemand eine bessere/einfachere Lösung oder einen Grund, wieso das nicht funktionieren könnte? Viele Grüße Georg
Ah der macht es anders herum, feste Zeit und die Schritte zählen. Ich habe aber vergessen zu erwähnen, dass es bei mir nicht um 150 MHz geht, sondern ich Frequenzen zwischen 533 Hz und 1600 Hz zu erwarten habe. Eine Periode dauert also mindestens 625 µs. Meine Taktfrequenz beträgt 1 MHz, ein Taktschritt damit nur 1 µs. Mein Timer würde demnach dann 625 Schritte machen, bis die nächste Flanke kommt. Das ist für mich genau genug. Soweit richtig, oder mache ich einen Denkfehler?
Georg schrieb: > Ah der macht es anders herum, feste Zeit und die Schritte zählen. Am besten nochmals lesen und die Umstände ignorieren, dass der PIC als der beste Prozessor der Welt und das reziproke Meßverfahren als völlig neue Erfindung dargestellt werden. Mit einem AVR läßt sich natürlich alles einfacher gestalten :-)
> Hat Jemand eine bessere/einfachere Lösung oder einen Grund, wieso > das nicht funktionieren könnte? Das passt schon so. Es gibt eben 2 Möglichkeiten * einmal lässt man einen Eingang eine gewisse Zeit offen und zählt wieviele Pulse in diesem Zeitraum reinkommen * die andere Möglichkeit vertauscht einfach nur die Rollen die Eingangspulse steuern das Zeitfenster, in dem man Takte einer bekannten Frequenz zählt. Das eine Verfahren ist für hohe Frequenzen besser, das andere für niedrige. Das erste Verfahren hat dafür wieder den Vorteil, dass man Ergebnisse in einem definierten, immer gleichen Zeitraster bekommt. Dafür kann es wieder sein, dass die Update Frequenz mit dem 2.ten Verfahren höher ist. Schliesslich muss man ja nicht 1 Sekunde lang Pulse zählen (die 1 Sekunde jetzt nicht als in Stein gemeisselt ansehen) Nicht ausser Acht gelassen werden darf auch der Fall, dass überhaupt kein Eingangssignal vorliegt. Das erste Verfahren kommt problemlos damit zurecht und liefert auch das erwartete Ergebnis von 0, das zweite Verfahren (naiv implementiert) wartet hingegen bis zum St. Nimmerleinstag auf den Startpuls. Klar, lässt sich lösen. Man darf nur nicht darauf vergessen.
Karl Heinz Buchegger schrieb: > Das erste Verfahren hat dafür wieder den Vorteil, dass man Ergebnisse in > einem definierten, immer gleichen Zeitraster bekommt. Ausserdem war die Schaltung in Vor-µC-Zeiten wesentlich einfacher. :-) Gruss Harald
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.