Forum: Mikrocontroller und Digitale Elektronik Vorteil von Asynchronzähler


von Simon E. (es1)


Lesenswert?

Hallo zusammen,

was ist ein wesentlicher Vorteil eines Asynchronzählers gegenüber einem 
Synchronzähler.
Zusätzliche Schaltlogik wird doch meist in beiden Fällen benötigt und 
die Signalaufzeiten sind aufgrund der Verschachtelung beim 
Asynchronzähler schlechter.

Gruß

von Helmut L. (helmi1)


Lesenswert?

Simon E. schrieb:
> was ist ein wesentlicher Vorteil eines Asynchronzählers gegenüber einem
> Synchronzähler.
> Zusätzliche Schaltlogik wird doch meist in beiden Fällen benötigt und
> die Signalaufzeiten sind aufgrund der Verschachtelung beim
> Asynchronzähler schlechter.

Beim Asynchronzaehler muss nur das erste Flipflop die volle 
Geschindigkeit mitmachen.  Alle anderen werden langsamer getaktet.

von Simon E. (es1)


Lesenswert?

Was bedeutet das ungefähr in Zahlen?
Ich hab mir ein paar Datenblätter angesehen, aber da fehlt mir ein wenig 
die Routine um die Bausteine richtig gegenüber zu stellen.

von W.S. (Gast)


Lesenswert?

Simon E. schrieb:
> was ist ein wesentlicher Vorteil eines Asynchronzählers gegenüber einem
> Synchronzähler.

Sowas gibt es nicht. Man könnte auch fragen, was der wesentliche Vorteil 
eines NAND gegenüber einem XOR wäre. Es sind eben unterschiedliche 
Konstruktionen für unterschiedliche Einsatzfälle.

Einen Synchronzähler benötigt man, wenn man zu jedem Zähltakt den 
exakten Zählerstand ablesen muß. Sowas ist üblich bei getakteten 
Systemen. Einen Asynchronzähler benötigt man, wenn man mit wenig 
Zusatzlogik maximale Geschwindigkeit haben will und das Ergebnis nicht 
sofort braucht, sondern erst ein paar Schaltzeiten später.

Beispiele:
a) ein Frequenzzähler mit der Torschaltung vor dem Zähler: 
Asynchronzähler, kann am schnellsten zählen.

b) ein Frequenzzähler mit der Torschaltung per Software 
(Time-Stamp-verfahren): Synchronzähler. Ist aufwendiger als a) und kommt 
längst nicht so hoch wie a) - dafür kann man Zwischenergebnisse auslesen 
und von denen auf eventuelles Jittern usw. zurückschließen.

W.S.

von Planlos (Gast)


Lesenswert?

Simon E. schrieb:
> Was bedeutet das ungefähr in Zahlen?

Z.b kann man mit einem alten PIC 16F einen Frequenzzähler bis 50MHz 
(Datenblatt)/~70 MHz (real) bauen, auch wenn der selber nur mit 1MHz 
läuft.

Mit einem eigentlich schnelleren AVR geht das nicht ohne Zusatzhardware, 
da  ist der Zähler synchron.

von Rolf M. (rmagnus)


Lesenswert?

W.S. schrieb:
> Simon E. schrieb:
>> was ist ein wesentlicher Vorteil eines Asynchronzählers gegenüber einem
>> Synchronzähler.

> Sowas gibt es nicht.

Und doch hast du genau das hier genannt:

> Asynchronzähler, kann am schnellsten zählen.

> Synchronzähler. Ist aufwendiger als a) und kommt
> längst nicht so hoch wie a) - dafür kann man Zwischenergebnisse auslesen
> und von denen auf eventuelles Jittern usw. zurückschließen.

von Axel S. (a-za-z0-9)


Lesenswert?

Rolf M. schrieb:
> W.S. schrieb:
>> Simon E. schrieb:
>>> was ist ein wesentlicher Vorteil eines Asynchronzählers gegenüber einem
>>> Synchronzähler.
>
>> Sowas gibt es nicht.
>
> Und doch hast du genau das hier genannt:
>
>> Asynchronzähler, kann am schnellsten zählen.

Das stimmt ja auch nicht. Wenn man die gleiche Technologie verwendet 
(gleiche maximale Schaltfrequenz für das Basis-Flipflop), dann kann ein 
damit gebauter Asynchronzähler kein bißchen schneller zählen als ein 
Sychnronzähler.

Aber da beim Asynchronzähler nur das erste Flipflop mit der vollen 
Eingangsfrequenz läuft, wird man vielleicht einen Unterschied bei der 
(dynamischen) Stromaufnahme sehen.

Andererseits kann (könnte?) man für den Asynchronzähler ein anderes 
(einfacheres) Flipflop nehmen und wäre dann bei gleicher Technologie in 
der Tat schneller.

Es kommt wie immer auf Details an. Wenn man den Zähler in ein CPLD 
reinprogrammiert, dann ist die höhere Komplexität des Synchronzählers 
direkt sichtbar (höherer Resourcenverbrauch) und er ist trotzdem kein 
bißchen schneller. Wenn es um Zähler-IC geht, dann ist der höhere 
interne Aufwand für den Anwender unsichtbar.


Planlos schrieb:
> Simon E. schrieb:
>> Was bedeutet das ungefähr in Zahlen?
>
> Z.b kann man mit einem alten PIC 16F einen Frequenzzähler bis 50MHz
> (Datenblatt)/~70 MHz (real) bauen, auch wenn der selber nur mit 1MHz
> läuft.
>
> Mit einem eigentlich schnelleren AVR geht das nicht ohne Zusatzhardware,
> da  ist der Zähler synchron.

Das stimmt so nicht. Der Grund, warum der AVR externe Signale nur so 
viel langsamer zählen kann, liegt darin, daß der Zähleingang mit dem 
Systemtakt synchronisiert ist. Ob der Vorteiler dahinter dann ein 
synchrones oder asynchrones Design hat, spielt keine Rolle mehr.

von Harald W. (wilhelms)


Lesenswert?

Simon E. schrieb:

> was ist ein wesentlicher Vorteil eines Asynchronzählers gegenüber einem
> Synchronzähler.

Er ist billiger.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Axel S. schrieb:
> Das stimmt ja auch nicht. Wenn man die gleiche Technologie verwendet
> (gleiche maximale Schaltfrequenz für das Basis-Flipflop), dann kann ein
> damit gebauter Asynchronzähler kein bißchen schneller zählen als ein
> Sychnronzähler.
Es ist ja nicht das "erste Flipflop", das die Zählfrequenz limitiert, 
sondern die Carry-Chain (bzw. die Weiterschaltlogik) des 
Synchronzählers.

Natürlich ist ein asynchroner Zähler schneller, weil dort natürlich nur 
das erste Flipflop mit der Eingangsfrequenz umschaltet, und nicht mit 
der maximalen Taktfrequenz auch noch vom ersten bis zum letzten Bit die 
Carry-Chain durchlaufen werden muss.

Und genauso natürlich ist ein synchroner Zähler immer langsamer, weil 
sich dort jedes Flipflop nicht nur um seinen Takteingang, sondern auch 
um einen Überlauf der Flipflops davor scheren muss: nur wenn alle 
Flipflops davor '1' sind, darf/muss das jeweilige Flipflop umschalten.

Für einen richtig schnellen Synchronzähler in einem FPGA muss daher 
z.B. ein 32-Bit Zähler in einen schnellen 2-Bit-Zähler und einen 
langsamen 30-Bit-Zähler aufgeteilt werden. Dann kommt man auch mit einem 
Synchronzähler auf hohe Taktfrequenzen.

von W.S. (Gast)


Lesenswert?

Lothar M. schrieb:
> Für einen richtig schnellen Synchronzähler in einem FPGA muss daher
> z.B. ein 32-Bit Zähler in einen schnellen 2-Bit-Zähler und einen
> langsamen 30-Bit-Zähler aufgeteilt werden. Dann kommt man auch mit einem
> Synchronzähler auf hohe Taktfrequenzen.

Ja.

Wenn man ein eher klassisches CPLD benutzt, dann sieht das etwas 
günstiger aus, denn dort haben die UND-Gatter vor den FF's bei manchen 
Typen bis zu 36 Eingänge. Da kann man die Carry-Chain völlig parallel 
machen - was bei den LUT's beim FPGA nicht so geht. Aber dafür kriegt 
man in Letzteres mehr Logik rein...

W.S.

von Jakob (Gast)


Lesenswert?

Wenn du schon mit den Datenblättern Schwierigkeiten hast,
aber nicht erzählst, was du mit Asynchronzähler, oder
Synchronzähler zu erreichen gedenkst - dann wundere dich nicht,
dass hier nach CPLD und FPGA abgedriftet wird!

Ansonsten: Bei gleicher Technologie ist asynchron schneller,
(kann höhere Frequenzen), liefert aber die erfassten Zählpulse
mit etwas Verzögerung (also ASYNCHRON) als Bitkombination an den
Ausgängen ab.

Für einen Frequenzzähler kann der asynchrone Zähler die bessere
Wahl sein, denn er verarbeitet höhere Frequenzen:
- Das GATE wird für GENAU eine Sekunde geöffnet.
- Die Pulse in einer Sekunde werden gezählt.
- Nachdem das GATE geschlossen wurde, muss man halt ein
  paar ns...µs warten und kann den Zählerstand auslesen.
- Dann Zähler auf NULL setzen.
- Danach kann es von vorne losgehen.

Der Nachteil ist einfach die Wartezeit bis zum Auslesen,
ist aber bei der Anwendug ZÄHLER kein Problem.

Andere Anwendungen: Z.B. GENAU beim Zählpuls 753951 muss
reagiert werden. - Das klappt bei etwas höherer Frequenz
der Zählpulse nur mit SYNCHRON-Zählern, die mit der maximal
zu zählenden Frequenz mithalten können.

von (prx) A. K. (prx)


Lesenswert?

Lothar M. schrieb:
> Und genauso natürlich ist ein synchroner Zähler immer langsamer, weil
> sich dort jedes Flipflop nicht nur um seinen Takteingang, sondern auch
> um einen Überlauf der Flipflops davor scheren muss: nur wenn alle
> Flipflops davor '1' sind, darf/muss das jeweilige Flipflop umschalten.

Grenzfrequenz in Zahlen (nexperia):
74HC163 @ 6V typ  55 MHz (4 Bit synchron)
74HC393 @ 6V typ 107 MHz (4 Bit asynchron, 2x)

Bei TIs TTLs ist das allerdings nicht so.

: Bearbeitet durch User
von m.n. (Gast)


Lesenswert?

A. K. schrieb:
> Grenzfrequenz in Zahlen (nexperia):
> 74HC163 @ 6V typ  55 MHz (4 Bit synchron)
> 74HC393 @ 6V typ 107 MHz (4 Bit asynchron, 2x)

Es kommt aber auch darauf an, welche Gechwindigkeit man betrachtet. Die 
genannten Zahlenwerte sind für den Fall vergleichbar, daß eine Frequenz 
geteilt werden soll. Benötigt man den genauen Zählerstand selber, sieht 
die Rechnung anders aus.
Beim HC163 kann man die Ausgänge garantiert auch mit 55 MHz auslesen:
<= 18 ns.
Beim HC393 muß man für den aktuellen Zählerstand die Zeit abwarten, bis 
das Taktsignal durch alle Stufen gelaufen ist. Das sind hier wohl 
typisch 4 x 5 ns = 20 ns, was dann wiederum langsamer wäre.

von Martin W. (martin-wi)


Lesenswert?

Helmut L. schrieb:
> Simon E. schrieb:
>> was ist ein wesentlicher Vorteil eines Asynchronzählers gegenüber einem
>> Synchronzähler.
>> Zusätzliche Schaltlogik wird doch meist in beiden Fällen benötigt und
>> die Signalaufzeiten sind aufgrund der Verschachtelung beim
>> Asynchronzähler schlechter.
>
> Beim Asynchronzaehler muss nur das erste Flipflop die volle
> Geschindigkeit mitmachen.  Alle anderen werden langsamer getaktet.


Der wesentliche Unterschied zwischen Synchron- und Asynchronzählern ist 
die unterschiedliche Taktansteuerung. Während bei Synchronzählern alle 
Flipflops mit dem gleichen Taktsignal angesteuert werden, wird bei 
Asynchronzählern lediglich das erste Flipflop einer Kette von einem ex
ternen Takt angesteuert. Alle nachfolgenden Flipflops erhalten ihr 
Taktsignal durch einen Ausgang des vorangehenden Flipflops.
Asynchronzähler sind typisch aus Toggle-Flipflops aufgebaut (z.B. 
JK-Flipflop mit J=K=1)

von Gerald B. (gerald_b)


Lesenswert?

ein asynchroner Zähler ist nur in rein binärer Ausführung, ohne 
Rückführungen zur Zählstandsbegrenzung schnell.
Wenn du bsp. Für einen Dezimalzähler Rückführungen benötigst, damit er 
statt bis 15 nur bis 9 zählt und bei 10 dann resettet, geht es noch. 
Noch krasser wird es, wenn du irgend einen krummen Teilerwert über z.B. 
16 oder mehr FF brauchst. Im Extremfall kommt da bei einem 
Asynchronzähler nichts vernünftiges mehr bei rum, weil das 1. FF schon 
eins weiter ist und nach hinten hin noch "durchgereicht" wird. Da kann 
es sein, das der per NAND verknüpfte Wert, wo resettet werden soll, 
nicht zuverlässig erreicht wird, weil die (Nicht)UND-Bedingung garnicht 
erreicht wird. Vorne ist er schon weiter, da wird der Wert wieder 
ungültig, wärend am Ende der Kette das Bit noch nicht umschaltet. - Oder 
die UND Bedingung tritt durch Glitches ein, obwohl sie logisch garnicht 
auftreten dürfte.

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
Noch kein Account? Hier anmelden.