Hallo zusammen, ich hätte da zwei Fragen. Mich würde interessieren, ob bei den Logik - IC's die Eingangspins, welche nicht angeschlossen sind, mit Masse verbunden werden müssen. Falls diese verbunden werden müssen stellt sich mir die Frage, ob ich die übrigen Pins verbinden kann und dann über einen Widerstand an Ground anschließen? Des weiteren würde ich geren mit dem 74HC4040 arbeiten. Im Datenblatt steht, "Clock Input (LOW to HIGH, edge triggered)", was für mich bedeutet, dass dieser auf eine steigende Flanke reagiert. In der Wahrheitstabelle reagiert dieses jedoch auf eine fallende Flanke. Was ist hier nun richtig? Sollte das IC auf eine fallende Flanke reagieren, so kann man dieses mit einem NOT-IC auf eine steigende Flanke ändern? Ich hoffe ihr könnt mir weiter helfen. Gruß IH453
>ob bei den Logik - IC's die Eingangspins, welche nicht angeschlossen sind, >mit Masse verbunden werden müssen. Die Eingangspin müssen auf einem definierten Pegel liegen, abhängig von ihrer Funktion und deinen WÜnschen an die Schaltung. >Im Datenblatt steht, "Clock Input (LOW to HIGH, edge triggered)", was ... Zeig doch mal dieses Datenblatt. Meines Wissens zählt der Counter bei der High-Low-Flanke. Was ist ein NOT-IC?
https://cdn-reichelt.de/documents/datenblatt/A240/74HC4020_74HC4040_SMDHC4040%23STM.pdf Seite 2 Mit NOT-IC meinte ich einen Negierer z.B. LS04
Fehler im ST-Datenblatt von 1993(!), der Zähler reagiert definitiv auf die fallende Flanke; siehe z.B. hier auf Seite4: http://www.nxp.com/documents/data_sheet/74HC_HCT4040.pdf
Die 'Truth table' zeigt, dass der Clock low-high aktiv ist, der geänderte Ausgangszustand aber erst mit der Hilg-low Flanke erfolgt. Das liegt daran, dass das Ausgangsregister erst durchgeschrieben werden muss, und dazu muss der Zähler hochgezählt werden. Das kann naturgemäss nicht im gleichem Takt erfolgen. Robert
Das Datenblatt unter deinem Link sind auch wesentlich neuer aus. Wäre nur noch die Frage bezüglich der Flanke. Kann ich mit einem Negierer (LS04) dafür sorgen, dass statt auf eine High-Low auf eine Low-High Flanke reagiert wird?
@ R. Freitag Wenn ich mir das Datenblatt, welches Helmut K. gepostet hat ansehe, dann kann ich nicht daraus entnehmen, dass hier ein Low-High-Pegel notwendig ist. Hier steht, dass "clock input (HIGH-to-LOW, edge-triggered)", die Wahrheitstabelle sagt das gleiche und auch aus dem "Timing diagram" kann ich lediglich entnehmen, dass dieser die High-Low-Flanke braucht. In dem "Timing diagram" geht direkt nach der High-Low-Flanke der erste Ausgang auf High.
IH453 schrieb: > Kann ich mit einem Negierer (LS04) dafür sorgen, dass statt auf eine > High-Low auf eine Low-High Flanke reagiert wird? Wenn die Pegel kompatibel sind, und der Inverter (gängiger Name für "Negierer") den Fanout treiben kann, steht dem nichts im Weg. Du must einfach sicherstellen, dass Dein Clock-Netz trotz zusätzlichem Propagation-Delay des Inverters (erhöhter Clock-Skew) nicht zu Timing-Violations führt (Setup- und Hold-Zeiten).
:
Bearbeitet durch User
Bei Ripple Countern wie dem 4040, 4024 und dem 4060 ist auch immer zu beachten, das die Ausgänge für eine kurze Zeit Zustände 'dazwischen' annehmen können, da es sich ja um in Serie geschaltete Flipflops auf dem Chip handelt, die mit der Verzögerung durch die Laufzeit der Gatter schalten. Es entstehen dabei während des Taktens 'Ripple'. Synchronzähler haben dieses Problem nicht.
:
Bearbeitet durch User
Wichtig für mich ist nun zu wissen, welche Flanken ich nun brauche, damit der Zähler eins hoch zählt? Wird hier nur eine Flanke benötigt, dann sollte die Dauer bis zum Auslesen lang genug sein, damit der Zähler wieder in einem stabilen Zustand ist (?).
IH453 schrieb: > Wichtig für mich ist nun zu wissen, welche Flanken ich nun brauche, > damit der Zähler eins hoch zählt? Die negativen Flanken werden gezählt. IH453 schrieb: > Wird hier nur eine Flanke benötigt, dann sollte die Dauer bis zum > Auslesen lang genug sein, damit der Zähler wieder in einem stabilen > Zustand ist (?). Du kannst gerne auf die pos. Flanken verzichten, wenn es Dir gelingt, nur fortlaufend nur neg. Flanken zu erzeugen ;-) Nach der neg. Flanke muß passend gewartet werden, wenn Du den Zählerstand parallel auslesen willst.
@ m.n. Das wollte ich wissen.Danke. Die Zeit zwischen der Flanke und dem Auslesen sollte ja mindestens der "propagation delay"(gilt diese für das IC oder für jedes einzelne FF?) entsprechen. Eine weitere Frage hätte ich jedoch noch, nachdem der Zähler (bis alle Ausgänge auf high stehen) hoch gezählt hat, fängt dieser dann automatisch wieder bei 0 an?
IH453 schrieb: > Mich würde interessieren, ob bei den Logik - IC's die Eingangspins, > welche nicht angeschlossen sind, mit Masse verbunden werden müssen. > Falls diese verbunden werden müssen stellt sich mir die Frage, ob ich > die übrigen Pins verbinden kann und dann über einen Widerstand an Ground > anschließen? Die Eingänge von Logik-IC müssen i.d.R. einen definierten Pegel haben, der von der gewünschten Funktion abhängt. Zähler haben z.B. typisch einen Reset-Anschluß. Auch wenn man die Reset-Funktion nicht benötigt, muß man den Reset-Anschluß trotzdem auf den inaktiven Pegel legen (ein H-aktiver Reset-Anschluß also auf L). Ähnliches gilt für andere Eingänge. Wenn es Eingänge gibt, deren Pegel für die Funktion der Schaltung wirklich egal ist - z.B. die Eingänge überzähliger, nicht genutzter Gatter in einem IC das mehrere Gatter enthält, dann darf man sich den Pegel aussuchen. Spezifisch für CMOS gilt, daß kein Eingang unbeschaltet sein darf. Und man darf einen Eingang der L sehen soll, direkt mit GND verbinden und einen der H sehen soll, direkt mit Vcc. IH453 schrieb: > Die Zeit zwischen der Flanke und dem Auslesen sollte ja mindestens der > "propagation delay"(gilt diese für das IC oder für jedes einzelne FF?) Das steht im Datenblatt dabei. Ein propagation delay gilt immer zwischen zwei Punkten in der Schaltung. Für ein Simpel-IC wie den 4040 wird wohl die Verzögerung zwischen der Taktflanke und einem beliebigen Ausgang gemeint sein. Da der letzte Ausgang am längsten braucht bis er seinen Zustand eingenommen hat, ist das auch gleichbedeutend mit "für das ganze IC". > Eine weitere Frage hätte ich jedoch noch, nachdem der Zähler (bis alle > Ausgänge auf high stehen) hoch gezählt hat, fängt dieser dann > automatisch wieder bei 0 an? Ein Binärzähler zählt immer zyklisch über alle Zustände. Ein vorwärts zählender springt dabei vom Maximum wieder zu 0.
:
Bearbeitet durch User
Axel Schwenke schrieb: > Für ein Simpel-IC wie den 4040 > wird wohl die Verzögerung zwischen der Taktflanke und einem beliebigen > Ausgang gemeint sein. Da der letzte Ausgang am längsten braucht bis er > seinen Zustand eingenommen hat, ist das auch gleichbedeutend mit "für > das ganze IC". Nein, stimmt nicht ;-) Die 'propagation delay' gilt für Qn -> Qn+1. Daher dauert es schon eine Weile, bis der letzte Ausgang umgeschaltet hat. Axel Schwenke schrieb: > Ein Binärzähler zählt immer zyklich über alle Zustände. Ein vorwärts > zählender springt dabei vom Maximum wieder zu 0. Und damit springt auch der allerletzte Ausgang von 1 -> 0. Damit man diese Zähler kaskadieren kann, müssen sie auch immer die negative Flanke zählen!
Um die Rechnerei mit dem "propagation delay" und den anderen Zeiten zu vereinfachen stellt sich mir die Frage, worauf sich die im Datenblatt angegebene Frequenz bezieht? Ist dieses die Grenzfrequenz, bis zu welcher der Baustein ohne Probleme und ohne "Ripple" (aufgrund der Wartezeit) arbeitet? Folglich müsste ich ja nur ausrechnen, mit welcher Frequenz ich Schalte. Ist diese kleiner wie die maximale Frequenz, so ist hier mit keinem Problem bezüglich der Zeit und des "Ripple" zu rechnen?
Den Artikel habe ich mir schon mehrmals durchgelesen. In dem Datenblatt finde ich jedoch folgende tp's tpd für /CP to Q0 := 14 ns tpd für Qn to Qn+1 := 8 ns tphl für MR to Qn := ca. 37 ns Zudem finde ich die Werte für "Dynamic characteristics" und für "Dynamic characteristics …continued". Welchen tp Wert muss ich nehmen um quasi den worst-case zu berechnen. tp*12 = ? Des weiteren wird fmax mit 90 Mhz angegeben. Also kann der Baustein fehlerfrei bis < 90 Mhz getaktet werden?
IH453 schrieb: > Um die Rechnerei mit dem "propagation delay" und den anderen Zeiten zu > vereinfachen stellt sich mir die Frage, worauf sich die im Datenblatt > angegebene Frequenz bezieht? > Ist dieses die Grenzfrequenz, bis zu welcher der Baustein ohne Probleme > und ohne "Ripple" (aufgrund der Wartezeit) arbeitet? Es ist die Frequenz bis zu der er zählt, ohne sich zu verzählen. Den Ripple gibts sowieso immer. Außerdem sieht bei einem Asynchronzähler nur das erste Flipflop den vollen Takt, alle folgenden nur den entsprechend geteilten Takt. Das erste Flipflop bestimmt also wie weit es geht. IH453 schrieb: > In dem Datenblatt finde ich jedoch folgende tp's > > tpd für /CP to Q0 := 14 ns > tpd für Qn to Qn+1 := 8 ns > tphl für MR to Qn := ca. 37 ns > > Welchen tp Wert muss ich nehmen um quasi den worst-case zu berechnen. > tp*12 = ? Na die 14ns plus sovielmal 8ns wie du weitere Ausgänge verwenden willst. Maximal für Q11 dann (14 + 11*8) ns.
IH453 schrieb: > Ist diese kleiner wie die maximale Frequenz, so ist hier mit keinem > Problem bezüglich der Zeit und des "Ripple" zu rechnen? Doch, natürlich. Das heisst nur, dass sich der Zähler bei dieser Frequenz gerade noch nicht verzählt, dass also der Ausgang Qn die Frequenz geteilt durch 2^n ausgibt. Was an den einzelnen Q-Augängen zu einem bestimmten Zeitpunkt relativ zum Clk ansteht, ist aber eine ganz andere Frage, es ist durchaus möglich, dass der "vordere" Teil schon einen neuen Zählerstand hat, der "hintere" aber nicht. Es kommt also darauf an, welche Ausgänge du benutzen willst. Um das Problem zu vermeiden wurden die Synchronzähler erfunden, da stimmt deine Vermutung so etwa. Georg
Woher soll man bitte all diese Daten aus dem Datenblatt entnehmen? Zu dem Ripple: Wenn nun der Zähler seine Zählerstand um 1 erhöht, da an dem Eingang eine fallende Flanke anliegt, dann liegen in einer Dauer von (14 + 11*8) ns Ripple an den Ausgängen an bzw. können entstehen. Nach den (14 + 11*8) ns hat das letzte (worst-case) FF geschaltet und ich kann die Ausgänge beruhigt abfragen?
Warum wiederholst Du Deinen Fragen immer wieder? Es ist doch bereits Alles gesagt. Sag besser, was Dein Ziel ist, was Du machen möchtest.
Ich wollte das Wichtigste nur noch einmal kurz zusammenfassen, ob ich dieses nun richtig verstanden habe. Dann kann es jetzt an den praktischen Teil gehen. Ihr habt mir alle sehr geholfen. Danke.
IH453 schrieb: > Ich wollte das Wichtigste nur noch einmal kurz zusammenfassen, ob ich > dieses nun richtig verstanden habe. Bei den Zeiten musst Du unbedingt das Datenblatt des Herstellers verwenden, dessen IC Du hast. In meinen (alten) Datenblatt von National Semiconductor stehen nämlich andere Zeiten. Und natürlich musst Du die die Worst-Case-Werte und nicht die typischen Werte verwenden. Gruß Dietrich
IH453 schrieb: > Woher soll man bitte all diese Daten aus dem Datenblatt entnehmen? Es hilft wenn man ein paar Grundlagen der digitalen Schaltungstechnik kennt. Also z.B. einen Asynchronzähler. > Zu dem Ripple: Wenn nun der Zähler seine Zählerstand um 1 erhöht, da an > dem Eingang eine fallende Flanke anliegt, dann liegen in einer Dauer von > (14 + 11*8) ns Ripple an den Ausgängen an bzw. können entstehen. Nein. Du verstehst schon den Begriff "Ripple" nicht. Ca. 14ns nach der fallenden Taktflanke wechselt Q0 (der Ausgang des ersten Flipflops) den Pegel. Da der Ausgang des ersten Flipflops gleichzeitig der Eingang des zweiten ist, kippt ca. 8ns nach der fallenden Flanke an Q0 (was 14ns + 8ns = 22ns nach der Taktflanke ist) der Ausgang des nächsten Flipflops Q1. Usw. usf bis hin zu Q11. Am längsten dauert das ganze, wenn der Zähler vom Maximalwert wieder auf 0 zurückspringt. Dann wechseln die Ausgänge alle hübsch nacheinander von 1 auf 0. Und dieses Verhalten, daß der Übertrag wie eine Welle über die Ausgänge rollt, das nennt man englisch ripple. > Nach den (14 + 11*8) ns hat das letzte (worst-case) FF geschaltet und > ich kann die Ausgänge beruhigt abfragen? Ja. Wenn du die Zählerausgänge schnell genug betrachen würdest, dann würdest du beim Sprung von 1111 1111 1111 auf 0000 0000 0000 die Zwischenzustände 1111 1111 1110, dann 1111 1111 1100, weiter mit 1111 1111 1000 usw. sehen können. All diese Zwischenzustände sind falsch, sie sollten nicht auftreten. Und wenn du sie nicht sehen willst, mußt du nach der Taktflanke entsprechend lange warten.
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.