Steuercomputer mit CPU 8085 - Verständnissfrage

Gast #2226497
Lesenswert?

Hallo!
Nun ist das letzte Schachterl ausgepackt. Auf der Box steht 
"Steuercomputer"

Der Inhalt im Antistatic-Pack:
1x CPU D8085
1x Expander D8255
1x SOUND-IC AY-3-8910
1x 64k-EPROM TMS2764
1x Echtzeituhr DS12887
8x DRAM HM51256P-10

Der Inhalt brauchbar, nur wie baue ich die Schaltung richtig auf. Der 
8085 ist ja punkto Verbindung mit EPROM mit dem 8051 ähnlich. Ich habe 
mich zuvor mal mit dem Schaltbild des C64 und C128 von Commodore 
vertraut gemacht. D0-D7 an D0-D7 zu verbinden ist klar, nur die 
Adressleitung macht mich unsicher.
Klar sind mir AD0-AD7, welche man durch ein LATCH auf D0-D7 und A0-A7 
splitten kann. A8-A15 gehört zum EPROM. Da der 8085 aber nur 2 PORTs 
hat, frage ich mich, wie ich Softwaremäßig über die Datenleitung auf die 
Echtzeituhr und dem Expander zugreifen kann. Die sind ja auch von der 
Adressleitung abhängig und mich frage wie ich das realisieren kann. Kann 
man mit dem 8085er-Assembler selbst bestimmen was eine bestimmte Adresse 
von A0-A15 mit Echtzeituhr und Expander macht?
Immerhin hatte ich noch nicht mit dem 8085 zutun gehabt.

Geplant habe ich mir eine Schaltung die mir eventuell eine Uhrzeit auf 
einem LCD anzeigt, müsste ja hinhauen mit D8255 und DS12887.
Datenblätter der ICs habe ich schon gefunden.

Da ich gern vorher nach Infos suche fand ich raus, das trotz des hohen 
Alters des 8085, noch immer gern was draus gebaut wird:

http://saundby.com/electronics/8085/images/MAG-85%20Schem%20pg%201.png
http://www.izabella.me.uk/assets/multimedia/8085cct16.jpg
http://web.sunybroome.edu/~eet_dept/eet267/PLS858Schematic.JPG

Hilfe kann ich trotzdem brauchen ;)
Gast #2226785
Lesenswert?

Uwe schrieb:
> Adressdecoder basteln und an die Adressleitungen anschließen z.b. ein
> par ANDs und 74138 oder so. Ausgänge an die /CEs bzw. CEs,ENs,/WEs,/REs
> usw.
> Ein kleines CPLD wäre natürlich sehr flexibel und erweiterbar.

Adressdecoder müsste auch mit einem AVR drin sein, auch wenn der nicht 
wirklich dazu passt. Da ich die Teile nun mal hier habe und obendrein 
nichts gekostet haben und ich gerne was dazu lerne, müssen die Teile 
halt verbaut werden.

Mit CPLDs habe ich Null Erfahrung. Das Einzige was ich von den CPLDs 
weiß ist, die Ähnlichkeit mit PALs und GALs.
#2226791
Lesenswert?

Electronicfox schrieb:

> 8085 ist ja punkto Verbindung mit EPROM mit dem 8051 ähnlich. Ich habe
> mich zuvor mal mit dem Schaltbild des C64 und C128 von Commodore
> vertraut gemacht.

Falsche Baustelle.
Such dir ein SChaltbild für einen 8085 Computer. Leider waren die nicht 
so zahlreich, wie die 8080 oder Z80 Systeme.

Das Problem beim 8085: Er hat einen gemultiplexten Adress und Datenbus.


> Klar sind mir AD0-AD7, welche man durch ein LATCH auf D0-D7 und A0-A7
> splitten kann.

Nicht kann.
Muss!

> A8-A15 gehört zum EPROM.

sagt wer?
Das kann schon mal nicht stimmen, weil du ja auch noch irgendwo das RAM 
liegen hast. Also wirst du dir einen Adressdekoder machen müssen, mit 
dem du zwischen den Bausteinen (über deren Chip-Select Leitungen) 
auswählen kannst, wer denn nun den Bus bedient.

> Da der 8085 aber nur 2 PORTs
> hat

Der 8085 hat überhaupt keine Ports.
Aber er unterscheidet im Adressraum zwischen RAM und Ports. Und da kommt 
jetzt der 8255 ins Spiel.

> Immerhin hatte ich noch nicht mit dem 8085 zutun gehabt.

Ich würde mir das an deiner Stelle ehrlich gesagt auch nicht mehr antun. 
Nimm einen µC, da ist das alles in einem IC integriert, wozu du beim 
8085 erst mal Unmengen an Hardware aufbauen musst.
#2226807
Lesenswert?

Electronicfox schrieb:
> Uwe schrieb:
>> Adressdecoder basteln und an die Adressleitungen anschließen z.b. ein
>> par ANDs und 74138 oder so. Ausgänge an die /CEs bzw. CEs,ENs,/WEs,/REs
>> usw.
>> Ein kleines CPLD wäre natürlich sehr flexibel und erweiterbar.
>
> Adressdecoder müsste auch mit einem AVR drin sein


viel zu aufwändig.

Wenn du in deinen ersten Link schaust, dann sind die 74138 die 
Adressdekoder (diesmal für die diskret aufgebauten externen Ports)

In deinem 2.ten Link ist der Adressdekoder der 74139

Beides waren/sind übliche Lösungen

Im 3.ten hab ich ihn noch nicht gefunden.
Geh einfach von den Chip Select Leitungen vom EPROM oder RAM aus und 
sieh nach wo die herkommen. Jedes EPROM oder RAM reagiert nur dann auf 
die Bussignale, wenn seine Chip Select Leitung ( /CS ) richtig steht. 
AUfgabe des Adressdekoders ist es, aus den höherwertigen Adressleitungen 
zb 8 'Speicherbänke' zu schaffen (mit einem 74138 auf A13, A14, A15) und 
dann jeweils dem richtigen IC die Freigabe zu erteilen.
Gast #2226810
Lesenswert?

>Adressdecoder müsste auch mit einem AVR drin sein,
Man macht nicht einen Adressdecoder mit nem uC (auch braucht der ewig 
zur Dekodierung)
Nimm doch (74er), GAL oder CPLD, da kommst du auf wenige ns.
(GALs von Lattice sind alle abgekündigt, von Atmel gibts noch welche)
Einfach die höheren A's- und Ctr-Ltgs an PLD, und ein paar Outs für die 
\CS's der Bausteine.
Gast #2226885
Lesenswert?

Karl Heinz Buchegger schrieb:

> Und mit deinem DRAM wird der 8085 auch nicht glücklich werden.

Ich war mir nicht sicher, ob die RAMs DRAM-Typen sind. In meiner 20 
Jahre alten Vergleichstabelle bzw. Datenbuch finde ich sie nicht mal.

Allerdings fand ich schon Schaltungen im Internet, wie man mit dem 8085, 
oder auch mit dem 8051 DRAM betreiben kann. Das ist aber sicherlich hier 
zuviel des Guten. Es ging wohl auch ordentlich auf die Laufzeit, wenn 
man Refresh per Software machen mußte.

Man kann sich ein EPROM und ein SRAM zu je 32kByte suchen, das biegt die 
Sache einigermaßen gut hin. So machte ich es auch mal.
Gast #2226910
Lesenswert?

Wenn man sich beim Speicher beschränkt, kann man den Adressdekoder 
eventuell auch auf ein einfaches Inverter Gatter reduzieren. Je die 
Hälfte des Adressraums bekommen dann das EPROM und RAM (bevorzugt ein 
SRAM).

Wirklich antun würde ich mir einen so veralteten Computer aber nicht 
mehr. Die AVRs sind deutlich schneller und lassen sich dank C-Compiler 
an PC und ISP leichter programmieren. Bei Mega8515 oder Mega128 lässt 
sich bei bedarf auch externes RAM anschließen - übrigens ganz ähnlich 
wie beim 8085.
Gast #2227200
Lesenswert?

Einfach nach "51256 RAM" googlen. Das ganze ist wohl doch ein SRAM und 
kein DRAM.
z.b. http://www.datasheets.org.uk/51256-datasheet.html

Es erinnerte mich in der Bezeichnung doch sehr an "alte Tage" und macht 
in der Zusammenstellung eher Sinn.

Ich gebe Karl Heinz recht dass man sich sowas heutzutage eigentlich 
nicht mehr antun sollte weil es doch mehr als nur ein bischen 
Hühnerfutter bedarf um klassische Mikroprozessoren mit notwendiger 
Peripherie auszustatten.

Ich habe vor ~25 Jahren auch mal mit 8085-Designs gearbeitet. Und im 
Vergleich zu 6502, Z80 usw. ist ein heutiger uC in Kompaktheit und 
Geschwindigkeit haushoch überlegen.

Solltest Du aber an dem Projekt festhalten wurden ja schon die 
wesentlichsten Punkte genannt wie z.B. Adressdecoder, I/O Ports usw.

Die 8085-Boards die ich in der Vergangenheit benutzte hatten einige 
7-Segmentanzeigen für Adresse + Daten sowie eine 4x5 oder 5x5 
Tastaturmatrix für hexadezimale Eingaben + Steuertasten, ausserdem noch 
zusätzliche Ports um LED's und dergleichen anzusteuern.
Gast #2227210
Lesenswert?

bob schrieb:
> Einfach nach "51256 RAM" googlen. Das ganze ist wohl doch ein SRAM und
> kein DRAM.
> z.b. http://www.datasheets.org.uk/51256-datasheet.html

Das sind Intel Chips

Die HM51256P-10 sind von Hitachi und sehr wohl DRAM.
http://www.electronicpool.de/list/index_H_M_HM51256P-10_Hitachi.html

In der Bausteinesammlung fehlt Addressdecoder und vor allem ein DRAM 
Controller. Ausser Refresh muss man ja auch noch das RAS CAS Timing 
korrekt erzeugen und die Addressleitungen entsprechend Multiplexen.

Die 8 Stück HM51256P-10 sind insgesamt 256 KByte, der 8085 kann aber nur 
64K direkt addressieren. Muss also noch eine Bankinglogik her.

Mein Vorschlag:
In Harz eingiessen und Briefbeschwerer draus machen :-)
Gast #2227688
Lesenswert?

Gibts eigentlich einen ASM-zu-HEX-Wandler für den 8085. Also für WINDOWS 
oder Ubunto. Das Progstudio und der GNUSIM8085 bringen es einfach nicht 
zusammen. Wobei der zweite bei "ASSEMBLE" keine HEX oder BIN-Datei 
erstellt.

Zu Beginn sollte ein 8085, 8255, 2 LATCHes, 2 BUS-Treiber, 1x 
3fach-TRIPLE-NAND, 1x 4fach-DUAL-NAND und ein EEPROM ausreichen. EEPROM 
deshalb, da ein UV-Löschgerät immer nur leihweise da ist.

RAM und Echtzeituhr kann man ja später noch hinzufügen. Zuerst möchte 
ich mich etwas mit Relaisplatinen und Display spielen.
Gast #2227750
Lesenswert?

eine ausführleiche Beschreibung des 8085 gibt es in folgendem Buch :
ISBN: 3142212515
Die Hardware, Peripheriebeschaltung und die Programmierung binär und 
Assembler werden da detailliert vorgestellt.
Der 8085 Microprozessor mit Peripherie war in meiner Ausbildung zum 
Kommunikationselektroniker das Lernsystem und als Microcontroller der 
8051.
Anno Tobak wie heute kann ein uC und ein uP je nach Anwendungszweck 
nicht beliebig getauscht werden.

Gruß,

dasrotemopped.

PS: ich würde dank der heute existierenden Alternativen keinen 8085 oder 
8051 mehr anfassen wollen.
Gast #2228004
Lesenswert?

Electronicfox schrieb:
> Zu Beginn sollte ein 8085, 8255, 2 LATCHes, 2 BUS-Treiber, 1x
> 3fach-TRIPLE-NAND, 1x 4fach-DUAL-NAND und ein EEPROM ausreichen. EEPROM
> deshalb, da ein UV-Löschgerät immer nur leihweise da ist.

Ein Programmiergerät hast du? Wenn ja kann dieses auch EEPROMs und wenn 
ja sind die passenden Typen noch aufzutreiben?

>
> RAM und Echtzeituhr kann man ja später noch hinzufügen. Zuerst möchte
> ich mich etwas mit Relaisplatinen und Display spielen.

Ohne RAM wirst du mit dem 8085 nicht weit kommen, der hat intern nichts 
ausser ein paar Register (6 Stück a 8bit).

Am einfachsten wäre eine statischisches paralleles RAM, z.B. 62256 
(32k*8) die sind auch einfach anzusteuern.
#2228068
Lesenswert?

Electronicfox schrieb:
> Der Inhalt im Antistatic-Pack:
> 1x CPU D8085
> 1x Expander D8255
> 1x SOUND-IC AY-3-8910
> 1x 64k-EPROM TMS2764
> 1x Echtzeituhr DS12887
> 8x DRAM HM51256P-10
>
> Der Inhalt brauchbar

Meine Meinung dazu: völlig unbrauchbar.

Die ICs scheinen ja alte NMOS-Stromfresser zu sein, da plane mal ein 
kräftiges Netzteil und Lüftung ein.

Hast Du irgendwelche Gründe, daß es unbedingt ein 8085 sein muß?

Sonst wäre es billiger einen modernen MC mit Bootloader zu nehmen. Dann 
hast Du alles in einem Chip und mußt nur noch VCC und die RS-232 zum PC 
anschließen, um ein Programm in den MC zu flashen. Nichtmal ein 
Programmiergerät ist nötig.


Peter
Gast #2228090
Lesenswert?

Peter Dannegger schrieb:

> Die ICs scheinen ja alte NMOS-Stromfresser zu sein, da plane mal ein
> kräftiges Netzteil und Lüftung ein.

So arg schlimm ist es nun auch nicht: Meine Europakarte voll mit 
Peripheriebausteinen zieht sich in NMOS etwa 300mA, das sind gerade 
1,5W.

Bestücke ich das Ding mit CMOS, und wechsele die paar TTL noch gegen 
HCMOS, komme ich bis runter zu 20..30mA. Das geht schon eher in Richtung 
Batteriebetrieb, als zum Lüfter.

OK, so ein Ding sollte man nur als eingefleischter Nostalgiker bauen. 
Vielleicht ist der TE einer. Und ich bin auch einer.
Gast #2228215
Lesenswert?

Helmut Lenzen schrieb:
> Hier habe ich dir mal eben ein Minimales 8085 System aufgezeichnet.
>
> EPROM = 8 KByte
> RAM   = 8 KByte  (bitte statisches RAM verwenden kein DRAM)
> PORT  = 8255 Parallelport

Kleiner Bug:
Am 2. LS138 sollte nicht A0,A1,A2 angeschlossen werden sondern 
sinvollerweise A5,A6,A7, Sonst kann man nicht auf all Register eines IO 
Bausteins zugreifen.

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