Forum: Mikrocontroller und Digitale Elektronik EPROMs, SRAM & Parallel-EEPROMs..


von Ths S. (motorburner)


Lesenswert?

Hallo,
mich interessiert, wie man die o.g. Bauteile am besten an einen 
Atmega32/AT90*8535 anschließen kann. Direkt geht ja eher nicht, das 
würde zu viele IOs schlucken. Außerdem hab ich mal einen 
EPROM-Soundgenerator gesehen, der die Bits anhand von TTL auswertet. Das 
würde mich auch mal interessieren.
Google spuckt aber leider nichts aus.
Also kurz gesagt würde ich gern wissen wollen:
- Wie anschließen?
- wie auswerten mit µP?
- wie auswerten mit TTL?

danke & mfG!

von Oliver J. (skriptkiddy)


Lesenswert?

Thomas S. schrieb:
> Außerdem hab ich mal einen
> EPROM-Soundgenerator gesehen, der die Bits anhand von TTL auswertet.
Bitte einen Link.

Gruß Oliver

von Bastler (Gast)


Lesenswert?

Im Eprom eine Kurve bzw. Funktion ablegen, diesen mit einem Zähler (für 
Adressen) ansteuern. Die Datenausgänge über ein R2R Netzwerk an einen 
OPV anschließen.
Fertig ist ein Soundgenerator.

von Frank K. (fchk)


Lesenswert?

Am Besten nimmst Du einen AVR mit externem Memory Interface, z.B. Einem 
Mega 64/128/640/641/1280/1281/2560/2561. Die Datenleitungen kommen an 
Port A, die unteren Adressleitungen über einen hc573 auch an Port A und 
die oberen an Port C. RD(OE), WR(WE) und ALE sind auf Port G. das ist 
die schnellstmögliche Art, mit einem AVR auf externen Speicher 
zuzugreifen, und wenn es irgendwie geht, solltest Du es auch so machen. 
Mehr dazu steht im Datenblatt des jeweiligen AVRs.

Wenn Du diesen Weg unter keinen Umständen gehen kannst, kannst Du 
Adressen und Daten komplett auf einen Port multiplexen: wie oben Daten 
direkt an den Port, und die unteren und die oberen Adressbits über je 
ein HC573 Latch führen. Heisst dann: untere Adressen ins Latch, obere 
Adressen ins Latch, dann Steuersignale anlegen und Daten übertragen. Das 
dauert natürlich viel viel länger als der richtige Weg über das External 
Memory Interface eines geeigneten AVRs und ist daher nur eine absolute 
Notlösung.

fchk

von Reinhard Kern (Gast)


Lesenswert?

Frank K. schrieb:
> die unteren Adressleitungen über einen hc573 auch an Port A und
> die oberen an Port C

Hallo, zur Ergänzung: das ergibt eine Adressraum von 64k, und man kann 
auch extern bis zu 64k anschliessen. Braucht man mehr, schliesst man 
A16, A17 usw. an zusätzliche Portpins an und setzt sie jeweils vor Lese- 
und Schreiboperation - das nennt man Paging und eine obere Grenze dafür 
gibt es eigentlich nicht. Es gibt auch entsprechend grosse Bausteine, 
z.B. RAM mit 2M x 8, das sind 32 Seiten a 64k.

Bei Daten ist das unproblematisch, Paging des Programmspeichers 
erfordert dagegen sehr viel Sorgfalt.

Gruss Reinhard

von Frank K. (fchk)


Lesenswert?

Reinhard Kern schrieb:

> Hallo, zur Ergänzung: das ergibt eine Adressraum von 64k, und man kann
> auch extern bis zu 64k anschliessen. Braucht man mehr, schliesst man
> A16, A17 usw. an zusätzliche Portpins an und setzt sie jeweils vor Lese-
> und Schreiboperation - das nennt man Paging und eine obere Grenze dafür
> gibt es eigentlich nicht. Es gibt auch entsprechend grosse Bausteine,
> z.B. RAM mit 2M x 8, das sind 32 Seiten a 64k.

genau.

> Bei Daten ist das unproblematisch, Paging des Programmspeichers
> erfordert dagegen sehr viel Sorgfalt.

Beim AVR gibts ohnehin keinen externen Programmspeicher, damit hat sich 
das Thema für den OP erledigt.

Bliebe noch die Erzeugung der Chip-Select-Signale aus den oberen 
Adressleitungen und die Anmerkung, dass die untersten n kB im 
Datenadressraum immer internes RAM plus Register ist.

fchk

von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

Bastler schrieb:
> Im Eprom eine Kurve bzw. Funktion ablegen, diesen mit einem Zähler (für
> Adressen) ansteuern. Die Datenausgänge über ein R2R Netzwerk an einen
> OPV anschließen.
> Fertig ist ein Soundgenerator.

Hatte ich mir auch mal gebaut. Das C64-ROM klang besser wie ein
Ami-BIOS ;)

von MaWin (Gast)


Lesenswert?

> Also kurz gesagt würde ich gern wissen wollen:
> - Wie anschließen?
> - wie auswerten

Falsche Fragestellung.

Wozu meinst du, die Teile zu brauchen,
wäre die richtige Fragestellung.

Dann kann man überlegen, wie schnell man zugreifen muss.

Und wenn man dann weiß, daß schneller Parallelzugriff
nicht nötig ist, man aber dazu auch viel zu wenige
Ausgangspins hat, dann nimmt man eben diese unpassenden
Speicherbausteine nicht.

Damit erledigt sich deine Frage ebenso wie sich die
Frage erledigt, wie man einen Bootsanhänger an ein
Fahrrad anbindet wenn man kein Boot hat.

von Jo (Gast)


Lesenswert?

Tach

hatte mal sowas gemacht (gibt ja genügend Platinen mittlerweile zum 
Ausschlachten mit div RAM). Die Adressierung habe ich mit einen I²C GPIO 
Expander gelöst.
Man muss halt noch die Geschwindigkeiten beachten, mit der der 
Datentransfer via Bus läuft. Für meine Zwecke hatte es aber gereicht.


Have fun

Jo

von Ths S. (motorburner)


Lesenswert?

Hallo,
http://www.webx.dk/oz2cpu/radios/eprom-sound.htm hier, das sind doch 
alles nur TTL- und CMOS-Bausteine.
Ich wollte mich auch nur mal erkundigen, weil ich mich sowas schon lange 
gefragt hab. Meine nächste Frage wäre gewesen, ob man das Problem mit 
einem Coprozessor lösen könnte..
mfG

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.