Dieses Thema hat an sich nichts direkt mit Arduino zu tun, trotzdem:
Wisst ihr einen EEPROM oder auch RAM Speicher, der weder Seriell noch per I²C angesteuert wird,
sondern durch ein Adress Register und einem Eingangs- wie Ausgangsregister? Nun an eigen Bau mit Flip-Flops und Decoder habe ich zuerst gedacht, bis ich die geringe Ausbeute bei einer mir zu hohen Rechnung gesehen habe.
Ich dachte bisher solche Speicherchips gäbe es, vielleicht habe ich mich aber auch getäuscht. Zumindest habe ich bisher keine gefunden.
Es geht um die Konstruktion eines 4-Bit Rechners, da hatte ich nicht vor mit einem I²C oder Seriellem Protokoll anzufangen.
Chips mit parallelem Interface waren früher üblich. Einfach weil die µC keine Schnittstellen wie I2C oder SPI hatten. Da wird es sicher irgendwo noch was geben,
Danke Serenifly!
Habe nun auf Ebay schon paar vermutlich ausrangierte EEPROMs gefunden, jetzt ist eher das Problem, dass diese mehr Speicher haben wie ich brauchen kann
Wie wärs mit 29C512? Das ist der Kleinste mit 512 Kb. Wieviel brauchst du? Ich habe davon noch etliche rumfliegen, da ich damit vor etlichen Jahren Controllerkarten umgeflasht habe und mich mit Reservechips eingedeckt habe.
Das High-Byte zu A8-A15 ist rechts und belegt eigene I/O Pins. So können auf dem µC A0-A7 und der Datenbus die gleichen I/O Pins verwenden.
Wenn man jetzt nicht den ganzen Speicher im EEPROM braucht, kann man nur so viele Pins von A8-A15 nehmen wie man wirklich braucht. Der Rest kann fest auf Low sein.
Ich habe einen kurzen Blick übers Datenblatt geworfen, und ja der ist interessant, vorallem weil er nicht zu komplex scheint :). Ich habe noch nicht herausgefunden wie man schreibt, aber ich bin mir sicher, dass ist nicht zu komplex.
Also beim 29C512 sind aber I/O Bus und unterer Adress Bus getrennt. Was ich auch noch nicht weiß, ist wie wird nachdem die Spalte gewählt wurde die Reihe gewhählt?
Also beim 29C512 sind aber I/O Bus und unterer Adress Bus getrennt
Ja. Auf EEPROM Seite ist das klar so. Aber extern macht man das normal mit so dass man erst A0-A7 auf den Bus schreibt. Dann betätigt man ALE (Address Latch Enable) um die Bits ins Latch zu schreiben. Dann legt man die Daten an.
Bei RAMs die das gleiche Prinzip verwenden ist dass dann voll automatisiert, so man externes RAM nicht viel anders als internes ansprechen kann.
Wobei der Bus dann normal auch 8 Bit breit ist. Bei einem 4 Bit Rechner, wäre der nur die Hälfte. Man kann natürlich auch 4 Bit Latchen. Dann hätte man immer noch 2 ^ 8 Speicherzellen
Was ich auch noch nicht weiß, ist wie wird nachdem die Spalte gewählt wurde die Reihe gewhählt?
Das macht das EEPROM intern. Für dich gibt es ganz normal Adressen von 0 bis N
Serenifly:
Ja. Auf EEPROM Seite ist das klar so. Aber extern macht man das normal mit so dass man erst A0-A7 auf den Bus schreibt. Dann betätigt man ALE (Address Latch Enable) um die Bits ins Latch zu schreiben.
Latch enable, da war doch was, ist ja bei der ALU dasselbe
Hey danke Serenifly! Du hast mir echt weiter geholfen.
Hallöle, für ein ähnliches (Versuchs-) Projekt hatte ich auch mal nach solchen Bausteinen gesucht. Die gibt es heute tatsächlich noch günstig zu kaufen: Für 1,99 € erhält man bei Reichelt 32k x 8Bit SRAM im DIP28-Gehäuse mit den benötigten Adress- und Datenleitungen. Sogar Pin-Kompatibel zu anderen (wesentlich älteren) Bausteinen, die ich Anfang der 80er Jahre eingesetzt hatte...