Seite 1 von 3

der verrückte Chip (Z180)

Verfasst: Fr 23. Aug 2013, 19:52
von Micha
Hatte mich die Tage anstiften lassen, über einen Zilog Z180 nachzudenken ;-)

Gesagt, getan, bestellt - und dann die große Überraschung: der DIP-64 Chip entpuppte sich als Exot, mit einem Rastermaß von 1,78mm anstelle der üblichen 2,54mm. Und ich wollte doch eigentlich erst mal auf Breadboard damit experimentieren :-(
Jemand auf robotrontechnik hat mich dann auf die Adapterplatine aufmerksam gemacht, die es für solche Fälle gibt (siehe Foto). Jetzt hab ich alles zusammen und nun kann es bald losgehen mit dem experimentieren. *Freu*

Re: der verrückte Chip (Z180)

Verfasst: Sa 24. Aug 2013, 15:01
von Micha
nachdem ich die Lötstellen jetzt über Nacht hab kalt werden lassen *warnurspass* hab ich das Dingens heute auf ein Breadboard gesteckt. Geht sogar ;-)
Nun werd ich wohl mal als erste Sache testen, ob der Chip "lebt" - also mit dem Oszi schauen ob es irgendwelche sinnvollen Rechtecksignale zum anschauen gibt...

Re: der verrückte Chip (Z180)

Verfasst: So 25. Aug 2013, 14:26
von Micha
Eintrag ins Logbuch der Entenscheiss, Sternenzeit 32767

*warnurspass*

aber jetzt ma im Ernst: die Testschaltung die ich oben gepostet habe war Murks. Die Profis hier werden wohl abwinken, für mich war es eine Lernerfahrung. /RESET einfach fest auf Vcc zu verdrahten ist ne ganz dumme Idee - der Z180 ist vielleicht bei 20 Einschaltvorgängen einmal korrekt gestartet. Mit offengelassenem /RESET Eingang startet dieser Chip auch nicht (neuere Atmels können das, da interne reset-Schaltung vorhanden). Na jedenfalls hab ich was gelernt und jetzt eine minimale externe Reset-Beschaltung an dem Chip. Funktioniert zuverlässig :)

Re: der verrückte Chip (Z180)

Verfasst: Sa 31. Aug 2013, 17:31
von drohne235
Interessanter Chip! Mit zwei Props an der Seite (3,3V :( ) wäre das ein schmucker Hive.Z80!

Re: der verrückte Chip (Z180)

Verfasst: Di 1. Okt 2013, 11:28
von Micha
Hihi, nee, soweit hab ichs noch nicht gebracht. Eigentlich hatte ich erst vor, den Z180 zusammen mit einem SRAM und einem EPROM aufzubauen. Allerdings graute mirs von Anfang an bei dem Gedanken an den zähen Entwicklungsfluss: bei jedem Trial-and-Error Schrittchen einen neuen Eprom brennen - das geht garnicht!
Hab dann verschiedene Alternativen ins Auge gefasst, schliesslich bin ich bei dieser Lösung gelandet: der Z180 bekommt nur SRAM im gesamten Adressbereich. Zusätzlich auf dem Board ist ein Atmega 1284P. Der hält den Z180 nach seinem Start im /RESET Zustand und startet ein Monitorprogramm. Damit kann ich von einem Terminalprogramm aus den Speicher löschen, gemischte HEX/ASCII Dumps ausgeben, Intel Hex Files laden und schliesslich den Z180 freigeben, wenn alles soweit ist. Viel besser als das Rumgemurkse mit Eproms ;-)
Vorläufig ist alles noch im Experimentierstadium. Sieht man ja auch auf dem Schaltplan (Anlage). Wenigstens eine serielle Schnittstelle muss ich noch aus dem Z180 herausführen, bisher kann ich Lebenszeichen nur per Oszi begutachten. Ausserdem ist mindestens noch etwas Kleisterlogik notwendig, damit der Z180 seine I/O nicht noch nebenbei ins RAM schreibt (so wie das jetzt noch der Fall ist).

Re: der verrückte Chip (Z180)

Verfasst: Di 1. Okt 2013, 13:34
von drohne235
Gedanke für einen Urlader: Wenn man der CPU auf dem Datenbus ein 00H vorgaukelt, NOPt sie durch den Speicher und kann als Adresszähler mißbraucht werden. Mit dem /Wait kann man den Zyklus steuern und Byte für Byte in den RAM schreiben. Für die Methode bräuchte man einen Multiplexer am Datenbus und würde die Adresszähler sparen.

Zweiter Gedanke: Gibt es vielleicht schon ein fertiges Monitorprogramm für den Z180 um über den internen UART zu kommunizieren? Hat doch bestimmt schon mal ein Bastler mit dem Problem gekämpft...

Re: der verrückte Chip (Z180)

Verfasst: Di 1. Okt 2013, 17:25
von Micha
ich denke, wir reden gerade aneinander vorbei.
Weil ich in den Fall ausnahmsweise kein Problem beschrieben habe, sondern eine Lösung:

Nach einem Reset per Tastendruck nimmt der Atmel den Z180 als erstes an die Leine, indem er ihm das /RESET Pin auf GND hält. Der Atmel hat dann die komplette Kontrolle über den Adress- und Datenbus und kann den SRAM lesen/schreiben. Das entsprechende Monitorprogramm ist auch schon fertig und funktioniert, siehe Anhang.

Sobald die Speicherinhalte entsprechend geladen sind, schaltet sich der Atmel vom Bus weg, indem er die entsprechenden Pins von Out- auf Input umschaltet und gibt dann das /RESET des Z180 frei, worauhin dieser den Bus hat und ab Adresse 0 loswühlen kann.

Was ich als nächstes vorhabe:
1. sauber I/O und Memory Requests trennen, warte auf die Teilelieferung von Reichelt
2. die serielle Schnittstelle per Demultiplexer vom Atmel auf den Z180 umschalten, sobald ersterer die Kontrolle über das System abgibt.

Bei Punkt 2 ist mir noch nicht ganz klar welcher 74xx Baustein sich für sowas eignet. Ich brauch sicher einen Demultiplexer - aber das ist bei der Vielfalt an 74xx Typen für mich wie die Suche nach der Stecknadel im Stecknadelhaufen ;)

Re: der verrückte Chip (Z180)

Verfasst: Di 1. Okt 2013, 19:17
von unick59
Werden beim Z180 die Daten-und Adressleitungen tristate bei /Reset = L ?
Grüße Uwe

Re: der verrückte Chip (Z180)

Verfasst: Di 1. Okt 2013, 19:33
von Micha
Jupp, der Z180 ist ein "Kleiner Feigling" und lässt alle Adress- und Datenleitungen los, wenn er in /RESET = low gezogen wird. Desterwegen funktioniert ja meine Schaltung mit dem Atmega als "Super Nanny" ;-)

Re: der verrückte Chip (Z180)

Verfasst: Di 1. Okt 2013, 20:14
von drohne235
Dachte du bist noch am werkeln. :)

Mit dem Mikrocontroller kann man den Z180 auch schön step by step per /Wait bei der Arbeit beobachten. So ein Helferlein erleichtert den initialen Einstieg wirklich enorm. Bei der ersten Sichtung war da auch mein erster Gedanke: Wo hast du noch den alten Prommer, wo ist die Löschlampe?

Was kommt als nächster Schritt? *neugierig*