50MHz Frequenzcounter
Frequenzzähler mit AVR und TTL Binärzähler
Nach einer erfolgreichen Auktion bei einem einschlägigen Internet-Auktionshaus, erwarb ich einige 7-Segment-Anzeigen, hierfür musste ich mir etwas einfallen lassen. Heraus kam ein kleiner, preiswerter 50MHz Frequenzzähler, den ich nicht vorenthalten will.
Der Aufbau eines kleinen Frequenzzähers ist dank der heutigen Atmel AVR Controller oder aber auch der Mikrochip PIC Controller (um nur zwei zu nennen) relativ schnell und einfach aufzubauen. Dazu werden meist die internen Timer/Counter des Controllers benutzt. Der Counter wird durch das anliegende Signal am Takteingang hoch gezählt. Durch den Timer wird dann der Counter zu einen festgelegten Zeitpunkt stetig ausgelesen und zurückgesetzt. Nehmen wir mal an, ein 20Hz TTL-Signal taktet den Counter, dann steht im Counterregister nach einer Sekunde der Wert 20.
Dieses bedeutet für so einen Frequenzzähler leider auch, dass nur maximal die Controller-Taktfrequenz/2 gemessen werden kann. Hier kommt nun ein TTL Binärzähler zum Einsatz, der die Frequenz des Eingangsignals durch 16 teilt, somit kommt man weit über 50Mhz. Allerdings sollte das TTL IC eines von der schnellen Sorte sein z.B. 74HC590 (HC = HIGH SPEED). Laut Datenblatt von SGS THOMSON hat der M74HC590 fmax = 62MHz (TYP.) bei VCC = 5V. Dieser Teiler am Eingang stellt uns wieder vor ein neues Problem, bei niedrigen Frequenzen tritt nun ein Fehler von +/- 16Hz auf. Dies kann umgangen werden, wenn der Eingang durch ein Logik IC umgeschaltet wird, oder es werden 2 Counter benutzt: Einmal T0 für niedrige Frequenzen unter 2Mhz und T1 für höhere Frequenzen ab 2MHz. Für die zweite Lösung habe ich mich entschieden. Der Timer/Counter3 erzeugt das Signal zum Auslesen des Counters und dient des Weiteren zum Multiplexen der sechs 7-Segmentanzeigen.
Eagle Layoutdateien und SourceCode (14.06.07)
Dabei dienen die ersten 5 Displays für die Anzeige der Frequenz, das letzte Display zeigt den Bereich an, also Hz, KHz oder MHz. Der Frequenzzähler ist also in der Lage Frequenzen von 1Hz bis 50.000MHz anzuzeigen und schaltet dabei selbstständig den Bereich um. Als Eingangssignal benötigt der Frequenzzähler zur zeit ein 5V TTL Signal, dies kann man aber noch mit einem kleinen Eingangsverstärker ändern. Eine serielle Schnittstelle stellt später die Verbindung mit dem PC her.
Vorherige Seite: AVR Mega Display (Laufschrift)
Nächste Seite: BaseKit AVR Experimentierboard