Z80 KIO - Z84C90 X - Serial/Parallel Counter/Timer history menue Letztmalig dran rumgefummelt: 19.02.18 10:07:00
Implementiert in ein 84-poliges PLCC, oder ein 100-poliges LQFP-Gehäuse präsentiert sich die Z80-KIO mit einem 8 Bit breitem Daten-BUS als  eine Zusammenfassung von mindestens drei Peripherie-Geräten  (PIO, SIO, CTC - wahlweise PIA) mit jeweils 3 leitungsfähigen Interruptmodi und einem linear adressierbarem Speichervolumen von 64 KByte (das entspricht 65536 Adressen). Die Peripherie-Einheit verfügt über nur eine 5 Volt-Versorgungsspannung sowie über einen Einphasentakt. Alle Ausgänge sind TTL-kompatibel und können eine Standardlast treiben.

Z80-System

UNIX & Windows war gestern - Z80 ist heute!!!

Z80-KIO

 

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

Wissen für Fortgeschrittene der Informatik

Informatik-Profi-Wissen

  1. Blockschaltbild und technische Daten
  2. Die Adressierung sowie die Funktionalität
  3. Details und Beispiele der KIO-Programmierung
  4. Praktische Umsetzung der Erkenntnisse
  5. Schaltpläne und Startprogramm-Listings
  6. Verwandte Themen

Warum fiel die Wahl für die Unterrichtsarbeit ausgerechnet auf den Z80 bzw. sein System? Dieser Prozessor sowie sein System vereinigt eine Reihe positiver Merkmale für den Rechentechnik-Einsteiger:

  • alles funktioniert im Prinzip bis heute unverändert - anders geworden sind: 
    • wesentlich höhere Taktfrequenzen - die spielen aber eh' erst bei komplexen Algorithmen eine Rolle ;-)
    • Cache
    • Befehlspipeline
    • verbesserter Befehlssatz
    • RISC-Architekturen
  • 40-jährige Einsatzzeit und nicht totzukriegen
  • kostengünstig zu beschaffen
  • zwischenzeitlich als CMOS-Bauelement mit modernen Taktfrequenzen und als Einchipsystem verfügbar und weiterhin entwickelt
  • Programme selbst mit professionellen Betriebssystemen (CPM) verfügbar (ausgetestet und fehlerfrei: PASCAL-Compiler, Word-Star, dBase liefen auf Z80!!!)
  • statischer Prozessor - das heißt, Taktrate niedrig oder ganz STOPP (nicht WAIT - das's was and'res!) - so was geht hier wirklich noch!!!
  • einfaches Verständnis für die Grundlagen der Prozessorarbeit, da Adressraum noch mit 64K linear - ein unschätzbarer Vorteil für alle Assemblerprogrammierer!!!
  • die Z84C90 Serial/Parallel Counter/Timer KIO bietet folgende Ressourcen:
    •  zwei unabhängige Synchron/Asynchron serielle Kanäle
    • drei 8-bit parallel Ports - Port A sowie B einschließlich ihrer Steuersignale äquivalent Z80-PIO - Port C lediglich paralleler 8-Bit I/O-Port
    • vier unabhängige Counter/Timer Kanäle
    • Einchip-Clock Oscillator/driver (eine Taktfrequenz)
    • Software/Hardware RESETS
    • gefertigt in CMOS-Technologie für stromsparende Operationen
    • unterstützt Z80 Family interrupt daisy chain
    • programmierbare Interrupt Priorititäten
    • 8, 10 and 12.5 MHz BUS-Taktfrequenz
    • ausschließlich +5 V Betriebsspannung

1. Blockschaltbild und technische Daten history menue scroll up
... primär werden die die Grundfunktionen der wichtigsten Peripherie-Bausteine des ehemaligen Z80-Systems zusammengefasst - dies sind jeweils einmal PIO, einmal SIO, einmal CTC sowie eine acht Bit breiter Zusatzport für individuelle Nutzung.
  Bezeichnungen für den z80 KIO - Z84C90XXX Komplettes Datasheet
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

Z84C90 KIO - Nomenklatur

Z84C90 KIO - The Data-Shee

Achtung - auch im ZILOG-Original sind Fehler enthalten:

  • A0 bis A3 sind nicht bidirektional, wie in Figure 1. A Block Diagram of the Z84C90 KIO Peripheral angegeben!!!

Z80 PIO Z80 CTC Z80 SIO zusätzlicher 8-Bit Port

Blockschaltbild der Z80 PIO

Blockschaltbild der Z80 CTC

   
Peripherie-Blockschaltplan Anschlussbelegung der 84 PIN-Versionen Anschlussbelegung der 100 PIN-Versionen Interne Adrsssierung

Funktionsbeschreibung 

Anschlussbelegung Z84C9008VEC; Z84C9008VSC; Z84C9010VSC; Z84C9012VSC 

Anschlussbelegung Z84C9008ASC & Z84C9010ASC 

Interne Adressierung der Z80 KIO

KIO-Command-Register Adressierung Daisy Chain Anordnung & Konfiguration Anschlussbelegung der 100 PIN-Versionen Interne Adrsssierung

Registeradressierung

Anordnung

Konfiguration

   
KIO-Command-Register - Daisy Chain Logic

KIO-Controll-A Register

Das Command Register A wird für Software RESET's benutzt sowie zur Konfiguration der internen Daisy Chain Interrupt-Logik-Prioritäten. Dieses Register sollte vor allen anderen programmiert werden. Die RESET-Control Bits sind standardmäßig konfiguriert auf Schreiben einen 1-Impuls um Alles zurückzusetzen.

Daisy Chain Anordnung

KPIO-Blockstruktur PIO-Blockstruktur CTC-Blockstruktur SIO-Blockstruktur Anschlussbelegung der 84-Pin KIO

Blockstruktur der Z80-KIO

Z80-PIO- Blockstruktur in der Z80-KIO

Z80-CTC - Blockstruktur in der Z80-KIO

Z80-SIO - Blockstruktur in der Z80-KIO

Arbeitsrichtungen der Z80-KIO

A0–A3 Adress-BUS - Input-Signale (aktiv HIGH) - adressieren die internen Register bzw. die Ports der KIO in jedem BUS-Zyklus
CE Adress-BUS - Input-Signal (aktiv LOW) - adressiert eine aus n KIOS - BUS-Treiber sowie Pull-Up-Widerstände dann wohl erforderlich (die Anwendung auf bereits bestehende Systeme ist dann sicher relativ komplex
  ARDY, BRDY - Port Ready (outputs, aktiv HIGH).  Diese Signale indizieren, dass díe Ports bereit sind zum Datentransfer
  • im Mode 0 indiziert das Signal, dass der Port Daten zum Schreiben auf periphere Geräte verfügbar hat
  • im Mode 1, indiziert das Signal, dass der Port zum Empfang von Daten peripherer Geräte bereit ist
  • im Mode 2, ARDY zeigt an, dass Port A Daten auf periphere Geräte verfügbar hat - die Daten stehen aber erst dann an den Port-Bits, wenn ASTB aktiv ist. BRDY zeigt an, dass Port A Daten vom externen Gerät empfangen kann
  • Port B wird nicht im Mode 2 unterstützt und kann nur im Mode 3 benutzt werden, wenn Port A im Mode 2 programmiert ist - BRDY ist nicht mit Port B assoziert, wenn Port B im Mode 3 arbeitetet
ASTB, BSTB - Port Strobe (Input-Signale, aktiv LOW).
  • diese Signale zeigen an, dass ein externes Gerät die Datenübertragung vollzogen hat
  • im Mode 0 zeigt das Signal an, dass ein externes Gerät die angebotenen Daten akzeptiert hat
  • im Mode 1 bedeutet dieses Signal. dass die Daten am Port A zur Übertragung bereit stehen
  • Mode 2 - ASTB Low bedeutet, dass die Daten am Ausgang Port A zur Übertragung real anstehen - wobei das Ende des aktuellen Datentransfers nicht vom Zustand  jeder dieser einzelnen Signale abhängt

Achtung: Port B wird nicht unterstützt im Mode 2, und kann nur dann im Mode 2 benutzt werden, wenn gleichzeitig Port A im Mode 3 programmiert wurde

RESET - Reset (Eingang, active LOW). Ein L auf diesem Pin versetzt die KIO in den REST-Zustand. Dieses Signal muss minimal drei Taktzyklen lang aktiv sein. Folgende Zustände werden mit Reset definiert::
  • alle PIO-Kanäle gehen in den Mode 1
  • Handshake-Signale sind inaktiv und Interrupts sind gesperrt
  • der PIA Port geht in den Input mode und ist aktiv
  • CTC-Channel Zählungen brechen ab und Interrupts sind gesperrt
  • SIO-Channels sind gesperrt
  • Marking mit Interrupts ist gesperrt
CLKOUT - Clock Out (output). Dieses Ausgangssignal ist das aus den beiden XTAL-Signalen generierte System-Clock-Signal, wenn es so verwendet wird. Es kann instabil mittels Kondensatoren aber auch stabil mit einem System-Quarz erzeugt werden
CLOCK - System Clock (input) - dieses Signal muss das Gleiche, wie das CPU-Taktsignal seinT. Wenn CLKOUT als Systemtakt benutzt wird, dann müssen diese beiden Pins miteinander verbunden sein.
OSC - Oscillator (output). dieser Ausgang ist eine Referenz des Oszillator-Signals
XTALI - Crystal/Clock Connection. (input).
XTALO - Crystal Connection. (output).
IEI - Interrupt Enable In (input, active High). This signal is used with Interrupt Enable Out (IEO) to form a priority daisy chain when there is more than one interrupt-driven device. A High on this line indicates that no higher-priority device is requesting an interrupt.
IEO - Interrupt Enable Out (output, active High). This signal is used with Interrupt Enable In (IEI) to form a priority daisy chain when there is more than one interrupt-driven device. A High on this line indicates that this device is requesting an interrupt, and that no higherpriority device, is not requesting an interrupt. A Low blocks any lower-priority devices from requesting an interrupt.
INT - (Output)-Signal -Quasi der Übertrag der Daisy-Chain an weitere Bausteine - das Zustande-Kommen des Signals hängt von der Programmierung  des "Daisy-Chain-registers ab!!!
PA0–PA7 - Port A Bus (bidirectional, tristated). ???
PB0–PB7 - Port B Bus (bidirectional, tristated). ???
PC0–PC7 - Port C Bus (bidirectional, tristated). PC0 ist das letzt-signifikante Bit dieses BUSes. Diese Pins multiplexen zwischen den 8 Bits der PIA sowie den zugehörigen MODEM-Steuerungs-Signalen der seriellen Kanäle.
RxDA - RxDA, RxDB. Receive Data (inputs, active High).  Diese Pins  empfangen Eingabe-Daten für das Schieberegister  ihrer jeweiligen seriellen Kanäle.


2. Die Adressierung sowie die Funktionalität history menue scroll up
... hier wird versucht, in Vorbereitung einiger praktischer Anwendungen die KIO so "auseinander zu nehmen", dass sie Aufgaben aus bereits bestehenden Hardware-Systemen (bei mir LC-80 und später POLYCOMUTER im Austausch übernehmen kann.
Fragen zum KIO-Baustein im Februar 2018:
  • was ist die PIA?

3. Details und Beispiele der KIO-Programmierung history menue scroll up
Das meiste zumindest in der Direktprogrammierung der Einzelkomponenten stimmt mit den Standard-Bausteinen des Z80-Konzeptes naturgemäß überein - schließlich werden diese ja durch die Z80-KIO abgelöst. Deswegen gibt es auch immer die Links auf die Einzelbausteine sowie deren Programmiervorschriften. Auch die Links zu den Projekten werden hinzugenommen.

Z80-PIO

Z80-SIO

Z80-CTC

Z80-DMA


4. Praktische Umsetzung der Erkenntnisse history menue scroll up

Eingesetzt werden soll dieser Baustein als erstes für den LC-80 zur Erweiterung von dessen technischen Möglichkeiten.

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


5. Schaltpläne und Startprogramme history menue scroll up
 

Schaltplansymbol des Z80 DMA


6. Verwandte Themen history menue scroll up
Das wird nicht einfach, denn hierzu ist nahezu alles verwandt. Wir reden von der Peripherie, welche in ihrer Funktionalität bis auf das Adress-Management bis heute allen Prozessorsystemen äquivalent ist. ZILOG nun hat versucht, durch die Möglichkeiten der Höchst-Integration alle Peripherie-Bausteine in ein Bauelement zu integieren. Dieser Chip ist unter Einhaltung des Signalspiels (relativ einfach zu realisieren!) problemlos in andere Prozessorsysteme einzubinden.

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

l

     

mehr LC-80 - 2018 aktuel



zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 28, August 2012 um 12.59 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist