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!
Thomas S. schrieb: > Außerdem hab ich mal einen > EPROM-Soundgenerator gesehen, der die Bits anhand von TTL auswertet. Bitte einen Link. Gruß Oliver
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.
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
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
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
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 ;)
> 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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.