Das 120-MHz-Zähler-Projekt
von Rudolf Drabek

Dieses Projekt ist meinem Freund Wolfgang Steinkopf gewidmet, von dem ich eine Printplatte und Material für einen 50 MHz Zähler erhielt und zwar im Jahr 1973. Dieser Zähler mit 5x ZM1000 ist heute noch in Verwendung. Wolfgang Steinkopf arbeitete in Eindhoven SL3 bei Philips. Ich habe sehr viel von ihm gelernt. Er ist einer jener Menschen, die ich hoch achte und bewundere.
Ich wollte einen Zähler mit 9 Digits, damit ich 100 MHz bis auf 1 Hz herunter darstellen kann. Das Zählermodul wird mit dem Displaymodul verbunden. Sinn macht es ja wenig, da die Zeitbasis sicher nicht 10e-8 genau ist, aber 10e-6 ist auch ganz schön genau um Frequenz eines UKW Senders auf 100 Hz genau zu bestimmen. Nun, für 120 MHz und 9 Stellen braucht man 27 bit Auflösung, ich nahm also 28 bit und teilte sie auf:
Ganzen Artikel lesen...
4 bit Counter mit 74F161 der bis typ. 120 MHz zählt.
16 bit Timer1 im tiny2313 und
8 bit mit einem Softwarecounter für die Überläufe von Timer1
Der 74F161 ist ein 16er Teiler dessen Ergebnis nach der Gateopenzeit abgefragt wird. Damit ist auch klar, dass die Gatezeit genau 1 Sekunde sein muss und nicht, wie bei anderen Zählern mit Vorteilern die Gatezeit um den Vorteilerfaktor länger sein muss, um auf die gewünschte Auflösung zu kommen.
Der Tiny2313 muss mit mindestens 16 MHz laufen um mit einem 16er-Teiler auf über 100 Mhz zu kommen. Bei 16 MHz clock kann man mit dem Timer1 - Nyquist - bis 8 MHz kommen. Ich habe 20 MHz Clock mit einem externen Oscillator verwendet, da ich ürsprünglich einen 74F160 10er-Teiler aus der Schatzkiste verwenden wollte.
Habe noch 10 Stück 74F161 ergattern können, um sicher mehr als 100 MHz zu erreichen. Außerdem wird die nötige Rechnerei etwas einfacher, wenn man im Binärsystem bleibt. Alternatives Bauteil ist der 74ACT161, der auch typ. 125 Mhz kann. Der Eingangsverstärker ist nicht einfach. Der Schmitttrigger sorgt für die nötige Flankensteilheit der Impulse von > 125 mV/ns, anderenfalls rührt sich nichts bei niedrigen Frequenzen.

Bitte anklicken für volle Bildauflösung
Software
Innerhalb der 1-Sec-Zeitschleife ist auch die Routine für den Softwarecounter untergebracht. Es muss ja daruf geachtet werden, dass kein Überlauf des Timer 1 verloren geht, da sonst das Zählergebnis falsch wäre. Nun bei 120 MHz Input kommen 120/16= 7,5Mhz in den Timer 1 hinein. Also alle 133 ns wird hinaufgezählt und nach 8,7 ms läuft der Timer1 über. Man muss also zeitgerecht den Zählerstand abfragen, was ich alle 5 ms durchführen lasse. Sonst sollte das reichlich kommentierte asm Listing reichen.Es werden nur 188 von 1024 words benötigt. Der Attiny2313 ist also fast leer.
Als Unterstützung und Vorbereitung möchte ich noch auf Fred Krom's Homepage http://home.ict.nl/~fredkrom hinweisen, von wo ich etliche Anregungen und Programmteile angewendet habe.
Download: Firmware und Eagle-Schaltbild

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen