Schaltungsbeschreibung HC-Z80 TB

Ähnliche Dokumente
*) bei einer Taktfrequenz von 3,75 MHz

Adressierung von Speichern und Eingabe- Ausgabegeräten

Kurzbeschreibung für den Kombi-BWS mit 80x24 und 64x32 Darstellung

- Funktionsbeschreibung Memory-card-interface

Mikroprozessortechnik Grundlagen 1

Versuch D3: Busse, Speicher und Ampelsteuerung mit Speicher

Kapitel 18. Externe Komponenten

Kurzbeschreibung für den Kombi-BWS mit 80x24 und 64x32 Darstellung

GRUNDLAGEN DER INFORMATIONSTECHNIK. Übungen TEIL 1 RECHNER

Teach-Dongle Rev 1.1. Teach-Dongle. Rev 1.1 Stand Okt

80C535-Mikrocontroller-Board im Streichholzschachtelformat

E Mikrocontroller-Programmierung

Digitaltechnik II SS 2007

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

1,8V Flash and SRAM 28F3208W30

ISA96 Dual-Ported RAM. Technische Beschreibung

Name : Klasse : Punkte : Note :

Rechnerstrukturen. 5. Speicher. Inhalt. Vorlesung Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1.

Mikroprozessoren Grundlagen AVR-Controller Input / Output (I/O) Interrupt Mathematische Operationen

Fachbereich Medienproduktion

Inhaltsverzeichnis 1 Ein-Bit-Rechner Mikrorechentechnik-Grundlagen Das Mikrocontrollersystem ein Überblick am Beispiel MSP430F1232

ISA96 HD-Card. Technische Beschreibung

Übungsklausur Mikroprozessortechnik und Eingebettete Systeme I

4.0 Der Atmel AT89LPx052 Mikrocontroller

MSP 430. Einführung. Was kann er? Hauptthemen. Wie sieht er aus? 64 / 100 polig. Was kann er? MSP 430 1

Intelligenter Modemadapter für den PC

Wichtige Rechnerarchitekturen

Mikrocomputertechnik

II. Hardwarebeschreibung. 0. Inhaltsverzeichnis. 1. Beschreibung der Schaltung. 2. Bauelementeliste. 3. Wickelfelder, Brücken, Lötfelder

LCD board EB

Laborübung 3. Latches, Flipflops, Counter

Folie 1. Folie 2. FH-Augsburg. FH-Augsburg

Teil I: Wat isse ne Mikrokontroller?

Mini- Mikroprozessor-Experimentier-System. Version 1.0b vom :21. mit einem 8051-Mikrocontroller

Bild 1: Grundlegende Verbindungen des SPI-Interfaces

Datenübertragung per Direct Memory Access (DMA)

Aufbau eines Taschenrechners

MikroController der 8051-Familie

Ein-Bit-Rechner 15. Mikrorechentechnik-Grundlagen 29

Beschreibung der Steuerung für DB0RWP DB0RWP

Ein- Ausgabeeinheiten

Mikrocomputertechnik. 5. Systembus R/W. Ein Mikroprozessor kommuniziert über den Systembus mit Speicher und I/O. Der Ablauf erfolgt in zwei Schritten:

Eine Möglichkeit: Latch als Speicherzelle

SMP Übung 2 1. Aufgabe

HD44780-LC-Display am Atmel-AVR Mikrocontroller

Mikrocomputertechnik

Mikrocontrollertechnik

robotron Z 1013 Mikrorechnerbausatz Anschluß einer Alphatastatur VEB Robotron-Elektronik Riesa digitalisiert: U.Zander, 2011 <zander@felix.sax.

Servo-Modul Version

MP /52 Controller Modul

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Hochschule Düsseldorf University of Applied Sciences HSD RISC &CISC

Z1013/KC87-MEGA-FLASH-RAM-ROM

Switch-Board-Datenblatt EB

Musterlösungen Technische Informatik 2 (T2) Prof. Dr.-Ing. D. P. F. Möller

Applikationen zur Mikrocontroller-Familie

Meßkarte mit SSI-Eingängen. SSI-Interface-Karte SSI 1276

Technische Dokumentation

Entwicklungsboard 16F1824

Technische Grundlagen der Informatik

SPS S90U. 1. Grundlagen SPS Funktion

CPU-Simulator für U 880 D

SGCPU TI99/4P! Beschreibung der Hardware. (Second-Generation-Central-Processing-Unit)...oder einfach:

Mikrocomputertechnik

Stand: Anregungen und Verbesserungsvorschläge sind jederzeit willkommen!

Digitaltechnik II SS 2007

Integrierte Schaltungen

Zeitrelais PL0045 mit optionaler PC-Anbindung

Rechnerstrukturen Winter SPEICHER UND CACHE. (c) Peter Sturm, University of Trier 1

USB > I2C- Bus Modul. Startet den I2C-Bus. Daten einlesen NACK senden

Modifikation am Harlequin zur Vermeidung unerwünschter Spikes Seite 1 von 5

0-10V Steuerung für Frequenzumrichter

BWS NKC. nach der Kombi_BWS von Heiko Poppe. für den NKC angepasst von DL2LCE

Elektrische Schnittstelle Signal

11. Die PC-Schnittstelle

1. Allgemein Technische Daten... 2

M3120 Incremental-Encoder 4-fach

Lösung 5. Mikroprozessor & Eingebettete Systeme 1

Projektlabor. LCD Ansteuerung

3. Hardware CPLD XC9536 von Xilinx. CPLD / FPGA Tutorial

DMX UNIVERSAL DEMUX mit 8 Ausgängen

OCT608 Dynapic und Dynasim- 8-fach-Interface-Print mit parallelem und seriellem Ausgang

Incremental-Encoder. Technische Beschreibung. Eiserstraße 5 Telefon 05246/ Verl Telefax 05246/

Mikrocomputertechnik. Systembus. Ein Mikroprozessor kommuniziert über den Systembus mit Speicher und I/O

Die neue Sound Baugruppe für den NDR-Klein-Computer

Aufgabe 4 Nennen Sie wenigstens 3 Programmierverfahren für programmierbare Logik.

Arithmetische und Logische Einheit (ALU)

FAKULTÄT FÜR INFORMATIK

Microcomputertechnik

14.3 Kontrollogik. Allgemeines: Kontrollogik wird in 3 Stufen realisiert: Clock - Erzeugung. 2 Uhrzeit. PALs. /ck. Kontrollsignale.

0-10V Steuerung für Frequenzumrichter

LED CUBE 4x4x4. von Josua Benz und Patrick Koss. im Fach Computer Technik. betreut von Herr Mezger

Puls Weiten Modulation (PWM)

RGB-Sequenzer RS232 RS485 MDX512 AD / IO Platine

Wenn Sie das Register: Retrtrieve IP adress automatically (DHCP enable) aktivieren, wird die IP-Adresse automatisch eingetragen.

Manual Universaladapterboard für Spartan3_Board

Mikrocomputertechnik mit der 8051-Controller-Familie

Digitaltechnik II SS 2007

Transkript:

Schaltungsbeschreibung HC-Z80 TB Das gesamte System besteht aus 41 Schaltkreisen, 29 Widerständen, sowie einigen Kondensatoren und Dioden. Platz findet alles auf einer Euro- Platine im Format 100* 160 mm. Die Schaltung unterteilt sich im wesentlichen in drei Baugruppen, die für sich wiederum in einzelne Blöcke unterteilt werden können. 1. Prozessoreinheit 1.1 CPU mit Adressdekoder RAM u. EPROM Speicher 1.2 PIO mit IO Dekoder 1.3 Kassetten- Interface 1.4 Floppy Interface 1.5 Tastatur Schnittstelle 2. Grafikeinheit 2.1 Takterzeugung 2.2 Teilerkette Austast Signalerzeugung 2.3 Multiplexer 2.4 Bildwiederholspeicher 2.5 Zeichengenerator 2.6 Parallel Serien Wandler 2.7 Bild Signal Erzeugung (BAS) 3. Floppy Controller 3.1 Busanbindung 3.2 TC Signalverlängerung 3.3 Filter 3.4 Anschlußsteuerung FD- Laufwerk 1.1 Prozessoreinheit mit Adressdekoder Eine CPU von Zilog, eine Z80 10 MHz bildet den Kern des gesamten Systems. Jeder Vorgang der im Computer abläuft sei es die Kontrolle der Tastatur, oder das blinken des Cursors, alles wird von der CPU kontrolliert und gesteuert. Eine Standard Z80 CPU hat einen Adressraum von 64 KByte, und eine Bus Breite von 8 Bit. Weiterhin stellt sie 14 Steuersignale zur Verfügung mit deren Hilfe man zwischen einigen grundlegenden CPU Funktionen, Unterscheidungen treffen kann. Auf alle Funktionen möchte ich dieser Stelle nicht eingehen, hier nur die wichtigsten Steuersignale. I. MREQ dieses Signal ist L aktiv und zeigt einen Speicherzugriff der CPU an. II. RD dieses Signal ist L aktiv und im Zusammenhang mit I zeigt es einen Speicherlese Zyklus an. III. WR dieses Signal ist L aktiv und im Zusammenhang mit I zeigt es einen IV. Speicherschreib Zyklus an. IORQ dieses Signal ist L aktiv und zeigt einen In/Out Zugriff der CPU an. Im Zusammenhang mit II oder III werden In/Out lese oder Schreibzyklen angezeigt. Der Adressdekoder der sich aus den IC s A29,A39,A31,A37 u. A30 zusammensetzt, sorgt für die entsprechende Ansteuerung der RAM sowie EPROM Schaltkreise. Der Speicheraufbau ist recht einfach gehalten, zwei RAM s zu je 32 KByte teilen sich den Adressraum der CPU. Daher auch die Bezeichnung Low und High RAM. Die Unterscheidung beider Bereiche wird einfach durch den Signalpegel der Adressleitung A15 getroffen. Nach einem Reset (L am Reset Eingang der CPU) wird ein 74LS74 A36 rückgesetzt, durch ein Low am Ausgang Q wird der Low RAM ausgeblendet und durch ein high am Ausgang Q/ der EPROM eingeblendet. Wichtig ist das dabei die Signale MREQ sowie RD und WR mit verknüpft werden. Das Signal RD kann direkt mit dem am Speicher vorhandenen OE (Output Enable) und WR mit dem WE (Write Enable) verbunden werden. Durch die Adressdekodierung (CS) wird festgelegt welcher Chip ausgewählt ist. Nach dem laden des Systems wird mit einem Befehl OUT 08H ein kurzes Signal am Ausgang 2 des A38 erzeugt. Dieses setzt dann den A36 und der Low RAM ist eingeblendet. Die Adressdekodierung des Bildspeicher ist da schon etwas komplizierter. Hier kommen zwei Dinge zum tragen, einmal das der Bildspeicher im Textmode nur 1 KByte umfasst und an Adresse 0EC00H liegt, und zum anderen das im Grafikmode der Bildspeicher 8 KByte umfasst und an Adresse 0B000H liegt. Die Dekodierung wird im

wesentlichen durch einen IC 74LS155 (A30) vorgenommen. Er teilt den oberen Speicher in acht 4 KByte Bereiche. Durch eine weitere Verknüpfung der Adressleitungen A10 und A11 mit dem Ausgang 1Y2 des A30 erhält man den Adressbereich 0EC00H für den Textmode. Ein zusammenfassen der Ausgänge 2Y3 u. 1Y0 des A30 durch zwei Dioden, erhält man den Bereich ab Adresse 0B00H- 0CFFFH. Eine Unterscheidung ob im Text oder im Grafikmode gearbeitet wird, trifft man durch setzen des 74LS74 (A36) mittels Out Befehle. 1.2 PIO und I/O Dekoder Die PIO ist ein Peripherie Schaltkreis aus der Typenreihe Z80 von Zilog. Sie ist eine Parallel In/Out Einheit mit hervorragenden Eigenschaften für kleinere Systeme. Es stehen zwei Ports zur Verfügung die als Eingänge Ausgänge oder in gemischter Form programmiert werden können. In diesem Fall nutze ich sie zur Ansteuerung eines Drucker über Port A und Port B wird im Bit Mode betrieben und überwacht den Joy und bedient das Kassetten Interface. Der I/O Dekoder ist ein 74LS42 (A38) und dekodiert den Adressbereich von 00H bis 1FH. Zur Unterscheidung zwischen Speicher und I/O Zugriff wird das Signal IORQ der CPU mit am A38 verknüpft. 1.3 Kassetten- Interface Bit 6 und Bit 7 von Port B der PIO werden für die Byte Umwandlung der Daten in eine serielle Form benutzt. Bit 7 dient als Ausgang und wird im Pegel durch ein Widerstands Netzwerk zur Aufzeichnung auf Kassette angepaßt. Bit 6 dient als Eingang, ihm ist ein Operationsverstärker TCA 321A vor geschaltet der als Trigger und zur Pegel Anpassung dient. 1.4 Floppy Schnittstelle Die Floppy Schnittstelle besteht aus den Datenleitungen D0-D7, A0-A2, CS, TC, Reset, sowie RD und WR. D0-D7 ist der System Datenbus. A0-A2 sind die System Adressleitungen. CS ist das I/O Signal der A38 Ausgänge 3 u. 4, zusammengefaßt über zwei Dioden. TC ist das I/O Signal des A38 Ausgang 5 Reset, RD u. WR sind System Steuersignale 1.5 Tastatur Schnittstelle Die Tastatur Schnittstelle besteht aus vier IC s und bedient eine Matrix von 10*8 Tasten. Die IC s A32 und A35 stellen zehn Zeilen zur Verfügung und werden über den Befehl OUT 08H programmiert. Der Befehl OUT 08H hat zwei Funktionen, im Abschnitt 1.1 wurde dieser Befehl schon einmal benutzt um den RAM wieder einzublenden. Da vor dem laden des Betriebs- Systems auch die Tastatur nicht funktioniert, ist es nicht weiter kritisch diesen Ausgang des A38 zu verwenden. Das der A36 bei der Benutzung der Tastatur immer wieder einen Setz Signal erhält ist nicht weiter problematisch, da er schon gesetzt ist. A32 ist ein 74LS175, er wird benutzt um den BCD- Code für A35 der die Zeilen ausgibt zu speichern, während über die IC s A33 u. A34 die Spalteninformation gelesen wird. Mit dem Befehl IN 04H wird die Information in die CPU übernommen. A33 und A34 sind zwei V40098, es sind CMOS 6fach Inverter mit Triggereingängen. 2.0 Grafikeinheit Zur Darstellung von Text oder Grafik, müssen die Binären Daten aus dem Speicher so aufbereitet werden, das entsprechend der Fernsehnorm ein Bild auf dem Monitor erscheint. Es entsteht ein Bild mit 256*256 Pixel. 2.1 Takterzeugung Die Takterzeugung besteht aus drei Gattern des IC s A1, zwei Gatter in Verbindung mit einem 8 MHz Quarz bilden den Generator. Das dritte Gatter dient zur Impulsformung. Der CPU Takt kann durch einem Jumper auf 8,4,2 MHz gesetzt werden. Die vier und die zwei Megaherz werden aus dem ersten Teiler der nachfolgenden Teilerkette gewonnen. 2.2 Teilerkette Die Teilerkette besteht aus vier 74LS93, zwei von ihnen zählen die Bildpunkte, die anderen beiden zählen die Zeichenzeilen. A2 und A3 zählen 256 horizontale Bildpunkte, A4 und A5 zählen die 256 vertikalen Zeichenzeilen. Durch A7, ein 74LS74 wird jeweils der Zählerstand horizontal und vertikal verdoppelt. Diese zusätzlichen 256 Pixel werden zur Dunkeltastung am linken, rechten, oberen und unteren Rand benutzt. Das Bild

wird so synchronisiert das nach 128 Pixel erst die sichtbaren 256 Pixel einsetzen. Somit entsteht ein relativ breiter Rand von 128 Pixel rechts und links. Für meinen Geschmack etwas viel, aber ich wollte die Kompatibilität zum guten alte Z1013 erhalten. 2.3 Multiplexer Der Multiplexer als zentrales Element der Grafiksteuerung ermöglicht dem System zwischen Bildspeicher und Prozessor, oder Bildspeicher und Zählerkette zu wählen. Während eines Speicherzugriffs der CPU auf den Bildspeicher verbindet der Multiplexer den Adreßbus der CPU mit den Adressleitungen des Bildspeichers. Außerhalb eines schreib oder lese Zyklus verbindet er die Adressleitungen mit der Zählerkette. Beim original Z1013 besteht der Multiplexer aus nur 3 Stück 74LS257, bei der von mir gebauten Variante des Z1013 kommen drei weitere 74LS257 hinzu. Der Grund dafür liegt in der Fähigkeit eine Vollgrafik darstellen zu können. Im Textmode werden die Multiplexer A14,A15,A16 benutzt und schalten die Adressleitungen A0-A9. Das entspricht einem Speicherbereich von 1 KByte. Im Vollgrafikmode werden die Multiplexer A14,A17,A18,A19 verwendet und sie schalten die Adressleitungen A0-A12. Das entspricht einem Speicherbereich von 8 KByte. 2.4 Bildwiederholspeicher Der Bildspeicher ist ein TC5588 statischer 8 KByte Speicher. Durch eine geschickte Kombination der beiden Multiplexer, ist es möglich den Bildspeicher zum einen als einen 1 KByte RAM und zum anderen als 8 KByte RAM betreiben zu können. Im Textmode werden die Adressleitungen A5,A6,A7 nicht verwendet, diese entsprechen den acht Zeichenzeilen eines Zeichens. Da in diesem Modus ein Zeichengenerator benutzt wird werden vom ihm die nötigen Informationen kommen. Der Speicher wird in diesem Fall in 32 Blöcke zu jeweils 32 Byte geteilt, was einer Größe von 1 KByte entspricht. Im Vollgrafikmode wird der Speicher voll adressiert, und der Zeichengenerator wird deaktiviert. 2.5 Zeichengenerator Der Zeichengenerator ist ein EPROM U2716 mit 2 KByte Kapazität. Seine Aufgabe ist es im Textmode, das im Bildspeicher stehende ASCII Zeichen so aufzubereiten das dem Nutzer ein erkennbares Bild des Zeichens auf dem Monitor erscheint. Wie der Name schon sagt (Zeichengenerator) generiert er das aussehen der Zeichen im Bildspeicher. Die Datenleitungen des Zeichengenerators gehen direkt auf die Eingänge des Parallel Serien Wandler, welcher die Informationen synchron auf das Video ausgibt. Die Adreßeingänge des Zeichengenerators können in zwei Gruppen geteilt werden. A3-A10 stehen für acht Datenleitungen an denen das darzustellende Zeichen angelegt wird (0H-FFH), das sind 256 Zeichen. A0-A2 stehen für die acht Zeichenzeilen. Wird jetzt die Information eines Zeichens z.bsp. 41H an die Adressleitungen A3-A10 gelegt, und an A0-A2 liegt Null, dann erhalten wir am Ausgang des Zeichengenerators die ersten acht Pixel des Zeichens A. Da nun ein Zeichen aus acht mal acht Pixel besteht, müssen mit A0-A2 die acht Zeichenzeilen des Zeichens gezählt werden. Im Vollgrafikmode wird der Zeichengenerator deselektiert, und über ein Tor 74LS244 A22 wird die Information des Bildspeichers als direkte Pixelinformation an den Parallel Serien Wandler gegeben. 2.6 Parallel Serien Wandler Der Parallel Serien Wandler ist ein Schieberegister 74LS165. Ihm werden die Parallen Informationen D0-D7 vom Zeichengenerator oder vom Bildspeicher übergeben. Mit einem Übernahmeimpuls speichert er die Information und wird sie dann entsprechend der Synchronsignale mit einer Frequenz von 8 MHz rausschieben. 2.7 Bild Signal Erzeugung (BAS) Das BAS (Bild, Austast, Synchron) Signal vereinigt in sich diese drei Signalformen. Mit einem einfachen BAS- Mischer, bestehend aus zwei Gattern 74LS03 und drei Widerständen werden die Impulsformen, Synchronsignale, Austastsignale, sowie die Videoinformation zum BAS-Signal zusammengefaßt. 3.0 Floppy Controller Das Kernstück des Floppy Controllers ist der IC DP8473 von National. Durch die Integration der Steuereinheit für die Motor Ansteuerung hält sich der Hardware Aufwand stark in Grenzen. Softwaremäßig ist er kompatibel mit dem Floppy Controller upd765a.

3.1 Busanbindung Der DP8473 ist in der Lage direkt am Bus des Systems zu arbeiten. Er benötigt die Signale A0-A2, D0- D7,CS/,RD/,WR/,Reset,TC. Adress sowie Datenbus und Steuersignale werden 1 zu 1 vom System übernommen. Eine Besonderheit kommt dem Reset und dem TC (Terminal Count) zu. Das Reset Signal muß in invertierter Form vorliegen, was einfach mit einem Inverter erzeugt wird. Das Signal TC ist ebenfalls High aktiv muß jedoch eine bestimmte Länge aufweisen. 3.2 TC Signalverlängerung Die Programmierung des Floppy Controllers ist eine nicht ganz so einfache Sache. Schon allein die Übergabe der Befehle zur Ausführung eines Befehls ist recht abenteuerlich. Ihm müssen in der richtigen Reihenfolge bis zu 9 Befehle übergeben werden (Command Phase). Danach führt der Kontroller die schreib oder lese Befehle aus. Da ich mich für einen nicht DMA und nicht IRQ entschieden habe, muß während dieser Zeit der Prozessor nach gültigen Daten am Main Status Register scannen. Stehen Daten zur Verfügung muß im Polling das Datenregister ausgelesen werden. Man erhält die Bytes eines gesamten Sektors. Nach Ablauf der sogenannten Execution Phase sollte ein Terminal Count folgen. Dieser zeigt dem Kontroller an das die gewünschte Datenmenge vom Kontroller gelesen wurde. Im Anschluß folgt die Result Phase, auch hier müssen eine Reihe von Bytes aus dem Daten Register gelesen werden. Der Inhalt dieser Bytes gibt Aufschluß darüber ob die vorher gelesenen Daten gültig waren oder nicht. Das Zusammenspiel der drei Phasen ist sehr komplex, in der Dokumentation zum DP8473 wird auch nicht näher auf den TC eingegangen. Wichtig ist jedoch das dieses Signal zum richtigen Zeitpunkt in entsprechender Länge vom System erzeugt werden muß. Die Länge des Signals erzeuge ich mit einem Monoflop dessen Werte der Schaltung entnommen werden können. Die Schaltung mit einem DP8473 ist extrem nachbausicher, auftretende Probleme gab es anfänglich mit der Software diese waren dann jedoch schnell behoben. 3.3 Filter Ein sehr wichtiger Teil in der Schaltung ist der Filter für den Daten Separator. Es sollten die Werte der in der Schaltung angegebenen Größen möglichst genau eingehalten werden. Der Filter ist eingestellt auf eine Übertragungsrate für 250/500 Kb/s. 3.4 Ansteuerung FD-Laufwerk Der Floppy-Kontroller ist in seinen Abmaßen so klein das er direkt vom Stecker des Laufwerks getragen werden kann. In der Schaltung sind alle Pins der Floppy dem entsprechenden Ausgang des Kontrollers zugewiesen. Alle 3 ½ Zoll FD-Laufwerke arbeiten mit nur 5V.Getestet wurden 720K, sowie ältere und neue 1,44K FD-Laufwerke. Abgesehen von der Stromaufnahme der verschiedenen Laufwerke gab es keine Probleme. Die Hardware sowie Software ist so stabil das ein Nachbau keine größeren Probleme bereiten sollte.