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
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.
Danke für die Antwort. Ich wollte eigentlich aus Unwissenheit die Adressbelegung mit UND-Gatter bauen, aber durch die Antwort geht nun jetzt die I/O Einheit. Leider geht die Adressbelegung für den Memory Bereich noch immer nicht.
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)
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
Danke für die Antwort ! Kann man die Adressbelegung auch mit eine 74XX138 machen. Da ich schon einen 74138 benütze und ich mir dachte ich könnte die Schaltung auch mit eine 74138 machen. Falls das nicht geht werde ich auf die NAND-Gatter Schaltung zurückgreifen.
Helmut Lenzen schrieb: > Hier ein Prinzipschaltplan wie man sowas macht. Was liegt denn beim I/O-Zugriff auf A15? Bei diesem Ansatz müsste das schon garantiert 1 sein, sonst kollidieren I/O-Reads mit dem EPROM.
Ich seh da keine Kollision. IO/M- geht zu beiden '138ern, jeweils auf einen anderen Eingang -> kein Konflikt. Ich persönlich würd ja kein '138 einsetzen, sondern ein GAL. Flexibel und gut.
dann nehme ich aus Protest einen 8 auf 1 Multiplexer, noch günstiger und auch gut :-) Gruß, Holm
'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 ;-))
chick schrieb: > Ich seh da keine Kollision. IO/M- geht zu beiden '138ern, jeweils auf > einen anderen Eingang -> kein Konflikt. Yep, falscher Bezug. Muss mal die Brille putzen. Das mit A15=CE stand bei Hans Peter B. und dort muss man dann eben M/IO ins OE reinnehmen.
> '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.
chick schrieb: > Ich persönlich würd ja kein '138 einsetzen, sondern ein GAL. > Flexibel und gut. und von allen Herstellern abgekündigt. Gruss Reinhard
Reinhard Kern schrieb: > und von allen Herstellern abgekündigt. s Der Rest der Bauteile aber ebenso. Also was solls wenn er noch eins da hat.
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.
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
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.
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.