8085 System Speicherbelegung

OP #2647235
Lesenswert?

Hallo Miteinander !

Ich hätte eine Frage:

Wie kann man mit einen 74138 CS-Signale erzeugen für eine Schaltung ?

Die Adressenvergabe hab ich schon für den Memory Bereich.

0000-8000 H EPROM
8000-A000 H RAM
A800-A800 H RAM*/EEPROM


Nur bei dem I/O Bereich weiß ich noch nicht wie ich es löse!
Ich dachte mir ich verwende

1*8255 als PIO
1*8253 als Counter
1*8251 als EIA-232 Schnittstelle.
1*8259 als Interrupt
1*LCD Display
evt. einen CoProzessor

Es wäre sehr hilfreich wenn sich jemand das anschauen könnte.

Danke
#2647296
Lesenswert?

Daniel Rohrhofer schrieb:
> Nur bei dem I/O Bereich weiß ich noch nicht wie ich es löse!
> Ich dachte mir ich verwende
>
> 1*8255 als PIO
> 1*8253 als Counter
> 1*8251 als EIA-232 Schnittstelle.
> 1*8259 als Interrupt
> 1*LCD Display
> evt. einen CoProzessor

Der 8085 hat einen getrennten Addressbereich fuer seine IO Bausteien.
Dafuer hat er die Leitung IO/M. Einmal wird mit dieser Leitung der 
Speicher addressiert zum anderen der IO-Bereich. Der IO Bereich geht 
allerding nur bis 256 Addressen also A0..A7. Da nimmst du die Addressen 
A5,A6,A7 und legst sie an deinem 74xx138. Und schon hast du 8 CS 
Leitungen fuer dein IO Bausteine mit jeweils einen Addressraum vom 32 
Byte. RS,WR vom Prozessor an die IO Bausteine und schon sollte das 
laufen.
Gast #2647622
Lesenswert?

A15 der CPU an !CE des Eproms und E2 des Dekoders. A2, E0 und E1 auf 
Masse.
Mit A13 und A14 den Bereich zwischen 8000 und FFFF in 4 Teile aufteilen.

Du musst dir noch überlegen ob du den Speicher und IO bus über RD/WR 
trennen willst oder gleich über die Adressdekoder. (IO/M mit an den 
hc138)
Gast #2647633
Lesenswert?

Für die Memory-Decodierung

EPROM         0000H - 7FFFH ->  Adressleitung A15 als CS für EPROM 
verwenden
RAM           8000H - 9FFFH ->  mit 7400 decodieren
RAM*/EEPROM   A000H - A7FFH ->  mit 7400 decodieren
Display       C000H         ->  mit 7400 decodieren


Memory                 CPU-ADR
                 A15    A14   A13   A12  A11  A10  A9   A8
RAM               1      0     0     0    0    0    0    0
                  1      0     0     1    1    1    1    1

                  A15 und A13(invertiert) Nand verknüpfen


RAM*/EEProm       1      0     1     0    0    0    0    0
                  1      0     1     0    0    1    1    1

                   A15 und A13 Nand verknüpfen

Display           1      1     0     0    0    0    0    0

                  A15   A14 Nand verknüpfen

Und die 8085-Peripheri-Bausteine, wie Helmut Lentzen erklärt hat 
ansteuern

Hans Peter
Gast #2648392
Lesenswert?

'138 ist eine gute Wahl, keine Frage.

Aber verschieb mal irgendwann die Adressbereiche -> Änderung der 
Hardware.
Beim Gal wird einfach umprogrammiert.


Ich nehm noch eine Frühstücksemmel. Und ein P wie Pause ;-))
Gast #2648435
Lesenswert?

> '138 ist eine gute Wahl, keine Frage.

Na ja, wenn man nur 4 Ausgänge braucht,
die aber 2 mal, ist ein '139 besser,
aber scheinbar nimmt man hier nur was
in der Ausbildungsbastelkiste liegt,
und schlägt nicht und niemals nach.
OP #2649073
Lesenswert?

Reinhard Kern schrieb:
> chick schrieb:
>> Ich persönlich würd ja kein '138 einsetzen, sondern ein GAL.
>> Flexibel und gut.
>
> und von allen Herstellern abgekündigt.

Ich habe im Internet gesucht und noch welche gefunden, die diese 
Verkaufen:

http://www.reichelt.at/GALs-PALs/GAL-16V8-25QP/index.html?;ACTION=3;LA=2;ARTICLE=8128;GROUPID=2955;artnr=GAL+16V8-25QP;SID=12T4viKn8AAAIAAGyDHlUe3d5341f06451fd9c10cd4ed28e2ed71
( ist keine Werbung)

Eigentlich kann mann dies Schaltung auch mit einen GAL zulaufen bringen.

Ich dachte mir ich hänge auf die Eingänge die Adressleitungen, die für 
die Speicherbelegung notwendig wären und das I/O Signal und verknüpfe 
diese.

Aber wie brenne ich GALs.
Ich habe wegen meiner Arbeit einen GALEP 4 zu Hause stehen aber kenne 
kein Programm mit dem ich das GAL programmieren könnte.
#2649122
Lesenswert?

Daniel Rohrhofer schrieb:
> Eigentlich kann mann dies Schaltung auch mit einen GAL zulaufen bringen.
>

Yepp kann man.

> Ich dachte mir ich hänge auf die Eingänge die Adressleitungen, die für
> die Speicherbelegung notwendig wären und das I/O Signal und verknüpfe
> diese.
>

Auf das GAL muessen:  Addressen,IO/M,RD,WR

> Aber wie brenne ich GALs.
> Ich habe wegen meiner Arbeit einen GALEP 4 zu Hause stehen aber kenne
> kein Programm mit dem ich das GAL programmieren könnte.

Anscheinend kann Galep4 keine Gals mehr.

Du brauchst aber auch noch einen GAL Assembler um das Programmierfile zu 
erzeugen. Da wird sich bestimmt noch was im I-Net finden lassen.
Aber wenn es nur um die paar IOs geht ist es einfacher einen 74xx138 zu 
nehmen. Der kann dann fuer 8 IO Bausteine die CS erzeugen
Gast #2649203
Lesenswert?

Hallo


Galep4 kann GALs programmieren, aber was fehlt ist ein GALAssembler.

In Anbetracht des Stromverbrauches und der Verfügbarkeit würde ich 
74HCxx nehmen.

Mein alter ECB-Bus-Rechner mit Z80 hatte als Dekoder auch nur 74138/139 
(LS ). Das war auch nicht so wild.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren