50MHz Frequenzcounter

 

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 so steht nun im Counterregister nach einer Sekunde der Wert 20. Dieser wird nur noch auf dem Display oder serielle Schnittstelle ausgegeben. Nach einer erfolgreichen Auktion bei einen einschlägigen Internet Auktionshaus, erwarb ich einige 7Segment Anzeigen, hierfür musste ich mir etwas einfallen lassen. Heraus kam somit ein besagter kleiner preiswerter 50MHz Frequenzzähler, den ich nicht vorenthalten will.

 

 

 

 

 

Dieses bedeutet für einen Frequenzzähler dass dieser nur maximal die Controllertaktfrequenz/2  messen 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 eins von der schnellen Sorte sein z.B. 74HC590 (HC = HIGH SPEED). Aus dem 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. Dieses wird umgangen wenn der Eingang durch ein Logik IC umgeschaltet werden kann 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 sechste und 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 zurzeit 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. Soweit so gut, allerdings besteht nun das Problem das der Countereingang des Controllers vom Takt abhängig ist welches das Blockschaltbild verdeutlicht.