Hallo, erst mal sry für den Titel aber etwas Besseres fällt mir einfach nicht ein. Zu Beginn: Ich bin in der Thematik kein Vollprofi. Ich habe im Studium damit ein wenig Kontakt gehabt und hin und wieder bastel ich halt ein wenig. Habt also bitte Nachsicht mit mir. Ich bin vor einer Weile auch die Videos von Ben Eater gestoßen, in denen er eine ganz einfach 8-Bit CPU auf Steckboards baut (www.eater.net). In der Theorie weiß ich, wie eine CPU arbeitet, welche Architekturen es gibt usw... Aber so was mal vor sich zusammen zu stecken fand ich dann schon sehr faszinierend. Da ich die meisten Teile auch schon hatte, baue ich seine Videos also gerade nach. Ich bin gerade beim RAM und hier kann man per Schalter auswählen, ob er vom Bus aus beschrieben werden soll, oder via DIP Switch von Hand: https://www.youtube.com/watch?v=Vw3uDOUJRGw&t=6s Das Umschalten wird über Multiplexer (74ls157) geregelt. Genau bei diesen Multiplexern liegt nun das Problem beim Umschalten zwischen den beiden Inputs, die während dessen High sind, kommt es manchmal aber nicht immer zu einem kurzen Low, wodurch mein RAM mit Müll beschrieben wird. Bei meiner Suche bin ich auf das Video hier gestoßen, das genau das Problem mit Minimalbeispiel zeigt: https://www.youtube.com/watch?v=9-_mTj23wJ8 Ich hatte auch überlegt, ob die IC's einfach schlecht sind, und habe von einem anderen Hersteller 4zu1 Multiplexer ausprobiert, die zeigen aber genau das gleiche Verhalten. Ein Wegdämpfen der Spikes via RC ist leider auch keine Lösung, da der Befehl zum Schreiben später von der Clock kommt. Ich denke, die Lösung wird relativ einfach sein, aber mein beschränktes Wissen setzt mir da leider grenzen. Es wäre Super, wenn mir hier jemand helfen könnte. Vielen Dank und Gruß, Raphael
Z.B. mit einem Latch (74HC573) kann man die Daten und Adressen wärend des Schreibimpulses stabil halten. 2 Latches kann man auch über /OE multiplexen.
Raphael R. schrieb: > Das Umschalten wird über Multiplexer (74ls157) geregelt. Genau bei > diesen Multiplexern liegt nun das Problem beim Umschalten zwischen den > beiden Inputs, die während dessen High sind, kommt es manchmal aber > nicht immer zu einem kurzen Low, wodurch mein RAM mit Müll beschrieben > wird. Das Write-Enable des RAM darf erst gesetzt werden, wenn die Adresse und die Daten konstant sind. Mit dem Umschalten der Adressquelle, werden die Adressen geändert. Also sind diese nicht konstant. Somit muss Write-Enable disabled sein. ==> Problem gelöst.
Vielen Dank für die Antworten! Ich bin schon immer schlecht im erklären gewesen. Ich möchte nicht schreiben! Der RAM wird beschrieben, wenn Write-Enable auf low gesetzt wird. Die beiden Schreibsignale, zwischen denen ich hin- und herschalte, sind zum Zeitpunkt des hin- und herschaltens allerdings high und trotzdem wurde geschrieben, weil der Multiplexer beim Schalten kurz low ausgegeben hat. Allerdings eben auch nur manchmal. Ich habe mittlerweile herausgefunden, dass großzügiges Verteilen von Pullup Widerständen das Problem behebt. Laut den Tutorials sollten die nicht notwendig sein, da in den IC's intern bereits welche vorhanden sind. Allerdings habe ich mittlerweile einige Beschreibungen gefunden, die genau das gleiche sagen: https://www.youtube.com/watch?v=n71zgHrWBUk Für das Video zu dem Bypass Capacitor möchte ich mich besonders bedanken! Ich hatte zwar hier und da bereits welche verteilt. Aber immer nur einen. Jetzt habe ich auch so was immer im Hinterkopf!
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.