LC-80  mit Z80-KIO als Peripherie-Baugruppe - in Arbeit ab 11. Februar 2018 history menue Letztmalig dran rumgefummelt: 14.02.18 14:18:23

LC-80 - Vorbemerkungen - Schaltplan und feste Adressen history menue scroll up

Der LC-80 - neben dem POLY-Computer  wahrscheinlich der einzige und beste Rechner, um die Hardware auch eines modernen Rechnersystems verstehen zu lernen, hat für einen aktuellen Nachbau inzwischen den Nachteil, dass originale Bauteile zum Neuerwerb nicht mehr zur Verfügung stehen. Zwar schwirren auf EBay & Co. immer noch Restbestände zu teilweise exotischen Preisen, andererseits sind Nachfolge-Bauelemente durchaus vorhanden, müssen dann aber eben in die Baugruppen-Struktur eingearbeitet werden.

mehr LC-80 - 2018 aktuell

LC-80 - 2018 mit Z84C90 84-Pin PLCC Configuration (Z80-KIO)

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Wissen für Fortgeschrittene der Informatik

Informatik-Profi-Wissen

1. Besonderheiten der Z80 KIO
2. Neue Adressdecodierung
3. Leiterplattenentwicklung
4. Umbauten an der Anzeigesteuerung
5. Erweiterungen
6. Fotodokumentation
7. Verwandte Themen

1. Besonderheiten der Z80-KIO history menue scroll up

Zilogs Z84C90 ist ein serieller/paralleler Zähler / Timer KIO ist ein Mehrkanal-Mehrzweck-I/O Peripheriegerät - entwickelt, um dem Endbenutzer eine kostengünstige und leistungsstarke Lösung zu bieten um eine Reihe von Peripherieanforderungen zu erfüllen. Das Z84C90 KIO vereint die Eigenschaften eines Z84C30 CTC, eines Z84C20 PIO und eines Z84C4x SIO, plus ein 8-Bit, Bit-programmierbarer E/A-Port und ein Quarzoszillator in einem einzelnen 84-Pin-PLCC oder 100-Pin LQFP-Paket. Programmierbar ist die KIO über fünfzehn interner Register für Daten und Programmierinformationen, die KIO kann problemlos für jede gegebene Systemumgebung konfiguriert werden. Die optimale Leistung erzielt man mit einer Z84C00 CPU, die KIO lässt sich genauso gut mit jeder anderen CPU verwenden.
Typenübersicht
Part Number Package Frequency (MHz)
Z84C9008ASC 100-pin LQFP 8
Z84C9010ASC 100-pin LQFP 10
Z84C9008VEC 84-pin PLCC 8
Z84C9008VSC 84-pin PLCC 8
Z84C9010VSC 84-pin PLCC 10
Z84C9012VSC 84-pin PLCC 12

LC-80 - 2018 mit Z84C90 84-Pin PLCC Configuration (Z80-KIO)

LC-80 - 2018 mit Z84C90 100-Pin PLCC Configuration (Z80-KIO)

Z84C90 KIO - The Data-Sheet

Z80-KIO - Blockdiagramm

Z80-KIO - interne Kanal-Struktur

Z80-KIO - interne Daisy-Chain-Logik

Konfiguration

... bei Anzahl der gesetzten externen Devices ist der Einsatz von Treiben unbedingt zu empfehlen, damit der Datentransfer auch sicher ist sowie die erforderlichen "Einschwingzeiten" auch eingehalten werden. Für den Daten-BUS sind bidirketionale acht-Bit Treiber vom Typ 74LS540 (... am 14.2.2018 nicht geprüft, ob diese bidirektional sowie nicht-negierend sind!!!) vorgesehen.
... die Signale sowie deren technische Randbedingungen
Die Address Pins von A0 bis A3  decodiert eines der 16 Control Registers. Nachfolgende Tabelle zeigt die Adressierung der Festadressen der Z80-KIO
Register Adresse Binär gelegt auf A0 bis A3 freie Adressbits werden auf "0" gelegt - betrifft theoretisch A15 bis A4 - ich verwende  A7 bis A4 Register-Adressierung

Adresse

A3 A3 A3 A3

Adressierung der Einzelbausteine - maximal 2048 sind auf einfachem (also direktem) Wege möglich

 

Register 0: PIO Port A Data

0 0 0 0

00H (bei Einsatz eines Bausteins)

Register-Adressierung

Register 1: PIO Port A Command

0 0 0 1

01H (bei Einsatz eines Bausteins)

Register 2: PIO Port B Data

0 0 1 0

02H (bei Einsatz eines Bausteins)

Register 3: PIO Port B Command

0 0 1 1

03H (bei Einsatz eines Bausteins)

Register 4: CTC Channel 0

0 1 0 0

04H (bei Einsatz eines Bausteins)

Register 5: CTC Channel 1

0 1 0 1

05H (bei Einsatz eines Bausteins)

Register 6: CTC Channel 2

0 1 1 0

06H (bei Einsatz eines Bausteins)

Register 7: CTC Channel 3

0 1 1 1

07H (bei Einsatz eines Bausteins)

Register 8: SIO Port A Data

1 0 0 0

08H (bei Einsatz eines Bausteins)

Register 9: SIO Port A Command/Status

1 0 0 1

09H (bei Einsatz eines Bausteins)

Register 10: SIO Channel B Data

1 0 1 0

0AH (bei Einsatz eines Bausteins)

Register 11: SIO Channel B Command/Status

1 0 1 1

0BH (bei Einsatz eines Bausteins)

Register 12: PIA Port C Data

1 1 0 0

0CH (bei Einsatz eines Bausteins)

Register 13: PIA Port C Command

1 1 0 1

0DH (bei Einsatz eines Bausteins)

Register 14: KIO Command A

1 1 1 0

0EH (bei Einsatz eines Bausteins)

Register 15: KIO Command B

1 1 1 1

0FH (bei Einsatz eines Bausteins)

Zusätzlich gilt: IORQ and CS müssen LOW sein. Die Registers werden von der CPU gelesen bzw. geschrieben mit gleichzeitig 1 oder 0 gesteuert über das RD Pin!!!
Daten- bzw. Steuerung müssen ausdecodiert werden
Wenn alles programmiert ist, muss entschieden werden, ob LESEN oder SCHREIBEN aktiviert ist


2. Neue Adressdecodierung history menue scroll up

Bedingt dadurch, dass der ROM nunmehr durch das kleinste aktuell verfügbare Bauelement ersetzt worden ist und dass der RAM jetzt durch ein 64 KByte 8 Bit Statisch RAM Speicherbauelement abgebildet wird, verändert sich die Adress-Decodierung fundamental.
LC 80 im bestehenden Adressierungs-Konzept LC 80 erweitert auf maximal vier Z80-KIO 2018 im bestehenden Adressierungs-Konzept
    Chip-Select über eine maximal 8 Bit Adressierung mittels EEPROM
F6 = Controll Port A System-PIO
F7 = Controll Port B System-PIO
F4 = Data Port A System-PIO
F5 = Data Port B System-PIO
FA = Controll Port A User-PIO 1
FB = Controll Port B User-PIO 1
F8 = Data Port A User-PIO 1
F9 = Data Port B User-PIO 1
DE = Controll Port A User-PIO 2
DF = Controll Port B User-PIO 2
DC = Data Port A User-PIO 2
DD = Data Port B User-PIO 2
BE = Controll Port A User-SIO
BF = Controll Port B User-SIO
BA = Data Port A User-SIO
BD = Data Port B User-SIO
EC = Control Channal 0 User CTC 1
ED = Control Channal 1 User CTC 1
EE = Control Channal 2 User CTC 1
EF = Control Channal 3 User CTC 1
EC = Control Channal 0 User CTC 2
ED = Control Channal 1 User CTC 2
EE = Control Channal 2 User CTC 2
EF = Control Channal 3 User CTC 2
7F = User DMA
   
Adresse Original LC-80 - System-PIO Kanal A Data F4H - binär 11111000B direkt auf einen Baustein adressiert:: 00H  
Adresse Original LC-80 - System-PIO Kanal B Data F5H - binär 11111001B direkt auf einen Baustein adressiert:: 02H  
Adresse Original LC-80 - System-PIO Kanal A Controll: F6H - binär 11111010B direkt auf einen Baustein adressiert:: 01H  
Adresse Original LC-80 - System-PIO Kanal B Controll: F7H - binär 11111011B direkt auf einen Baustein adressiert:: 03H  
Adresse Original LC-80 - User-PIO Kanal A Data F8H - binär 11111000B direkt auf einen Baustein adressiert:: 00H  
Adresse Original LC-80 - User-PIO Kanal B Data F9H - binär 11111001B direkt auf einen Baustein adressiert:: 02H  
Adresse Original LC-80 - User-PIO Kanal A Controll: FAH - binär 11111010B direkt auf einen Baustein adressiert:: 01H  
Adresse Original LC-80 - User-PIO Kanal B Controll: FBH - binär 11111011B direkt auf einen Baustein adressiert:: 03H  
Adresse Original LC-80 - CTC Kanal 0 Controll: ECH - binär 11101100B direkt auf einen Baustein adressiert:: 04H  
Adresse Original LC-80 - CTC Kanal 1 Controll: EDH - binär 11101101B direkt auf einen Baustein adressiert:: 05H  
Adresse Original LC-80 - CTC Kanal 2 Controll: EEH - binär 11101110B direkt auf einen Baustein adressiert:: 06H  
Adresse Original LC-80 - CTC Kanal 3 Controll: EFH - binär 11101111B direkt auf einen Baustein adressiert:: 07H  
... ab hier wird es schon neu und ist per 11.2.2018 noch etwas hypothetisch wir spezifizieren hier die KIO:    
Adresse Original LC-80 - SIO Kanal 3 Controll: EFH - binär 11101111B direkt auf einen Baustein adressiert:: 08H  
sind die Signale einschließlich eines Signals A13 aktiv, so handelt es sich definitiv um eine RAM-Adresse - dies gilt unverändert - wir verwenden immer noch 64K ROM sowie 64 K RAM ;-)
logisch müssen also nach wie vor nur die Signale von A12 bis A15 ausgewertet werden


3. Leiterplatten-Layouts history menue scroll up

Nur wer bereits einmal ein kleineres Schaltungsprojekt in ein entsprechendes Layout umgesetzt hat ahnt, was hier hinter für extrem viel Arbeit steckt. denn jeder Leiterzug aus dem Schaltplan (bitte melden, wer diesen schon mal lesen kann), muss mit den entsprechenden zugehörigen Gegenpunkten verbunden werden.
Basisplatine mit Taktgenerator, ROM sowie RAM und deren Decodierung
   
   


4. Umbauten in der Anzeigesteuerung history menue scroll up

Schwerpunkt in der Entwicklung der Umbauten waren die Ansteuerung der Anzeigen. Hierbei war es Ziel, die Steuerschaltung, im Original mit Transistor-Stufen aufgebaut, durch hochintegrierte Schaltkreise zu ersetzen. Die Wahl fiel dabei auf Ansteuerschaltkreise für Schrittmotoren, da diese durch sehr schwache Ströme angesteuert enorme Verstärkungen liefern können. Für die Zukunft gibt es Überlegungen, das unschöne Sieben-Sement-Display-Format durch eine entsprechende 35-Punkt-Matrix zu erstzen. Diese würde dann als Zeichengenerator für alle standardisierten ASCII-Codes dienen.
   


5. Erweiterungen history menue scroll up

Schwerpunkt in der Entwicklung der Erweiterungen bilden A/D- bzw. D/A-Wandlerstufen. Diese werden bewusst nicht aus hochintegrierten und damit programmierbaren Stufen gefertigt, sondern mit diskreter Logik realisiert. Das bietet den Vorteil, wirklich noch lernen zu können, wie solche Stufen prinzipiell funktionieren. Drei Bit bieten dann allerdings für den Amateur das Maximum an Auflösung.

Schaltplan Teil umgesetzt auf XX64-Bauelemente für ROM und RAM

Schaltplan als DigCAD 4.0-Datei


6. Fotodokumentation history menue scroll up

Nur wer bereits einmal ein kleineres Schaltungsprojekt in ein entsprechendes Layout umgesetzt hat ahnt, was hierhinter für extrem viel Arbeit steckt. denn jeder Leiterzug aus dem Schaltplan (bitte melden, wer diesen schon mal lesen kann), muss mit den entsprechenden zugehörigen Gegenpunkten verbunden werden.
Original-LC-80 mit Z80 KIO sowie vereinfachter Adress-Decodierung


7. Verwandte Themen history menue scroll up

Nur wer bereits einmal ein kleineres Schaltungsprojekt in ein entsprechendes Layout umgesetzt hat ahnt, was hierhinter für extrem viel Arbeit steckt. denn jeder Leiterzug aus dem Schaltplan (bitte melden, wer diesen schon mal lesen kann), muss mit den entsprechenden zugehörigen Gegenpunkten verbunden werden.

Z80-CPU

Z80-PIO

Z80-SIO

Z80-CTC

Z80-DMA



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 11. Februar 2018 um 10.48 Uhr