G. Schneli/K. Hoyer. Mikrocomputer-Interfacefibel

Ähnliche Dokumente
Differentialgleichungen der Elektrotechnik

K. Hoyer und G. Schnell. Einfache Ausgleichsvorgänge der Elektrotechnik

Dieter Lange. Algorithmen der Netzwerkanalyse fur programmierbare Taschenrechner (HP-41Gl

Elektronische Taschenrechner in der Schule

Wolfgang Schneider. Einführung in BASIC

H. H. Gloistehn. Numerische Methoden bei Integralen und gewohnlichen Differentialgleichungen fur PTR (AOS)

Dietmar Herrmann. Programrnierprinzipien in BASIC und Pascal

Wolfgang Schneider. Einführung in BASIC

JOrgen Kahmann. Numerische Mathematik Programme fur den T I 59

Aus dem Programm Mathematik

Dietrich Krekel Wolfgang Trier. Die Programmiersprache PASCAL

Berkeley Physik Kurs. PHJliilH lhl1j. EXPEHl"I1I~T

Trioker mathematisch gespielt

Eugen Gehrer. Musik mit dem TI 99/4A

Kurt Hain. Getriebetechnik Kinematik für AOS- und UPN-Rechner

Harald Nahrstedt. Statik - Kinematik - Kinetik fur AOS-Rechner

Hanfried Kerle. Getriebetechnik Dynamik für UPN- und AOS-Rechner

Peter Kahlig. Graphische Darstellung mit dem Taschenrechner (TI-58/58C und TI-59)

Vieweg Programmbibliothek Mikrocomputer 14. Lineares Optimieren Maximierung- Minimierung 11 HP-41-Programme

Ross Honsberger. Mathematische Juwelen

Astronomische Probleme und ihre physikalischen Grundlagen

Hansrobert Kohler. FORTRAN-Trainer

Der Mikroprozessor 68000

G. Oetzmann. Commodore-Volkscomputer

Friedrich-Christian Schroeder Das Strafrecht des realen Sozialismus

Peter Finke/Siegfried J. Schmidt (Hrsg.) Analytische literaturwissenschaft

Unterhaltsame Geometrie

Mikrocomputer Aufbau und Anwendungen

JohnH. Conway ttber Zahlen und Spiele

Klaus-Dieter Tillmann. DFÜ Datenfernübertragung im Apple-Pascal-System

H. Kreth. C. P. Ortlieb. Lehr und Obungsbuch fur die Rechner SHARP PC-1246/47 PC-1251 PC-1260/61 PC-1350 PC-1401/02

Anwendungsbereiche - Produktübersichten -Programme - Entwicklungstendenzen- Tabellen- Adressen

Schriften zur Linguistik

Jörg Zschocke. Der Mikroprozessor 6809

Gerfried Tatzl. Praktische Anwendungen mit dem PC-1500A

Peter F. Orlowski. Simulation und Optimierung von Regelkreisen mit dem IBM AT und Kompatiblen

Mikrorechner-Technik

John Ziman. Wie zuverliissig ist wissenschafdiche Erkenntnis?

Vieweg Programmbibliothek Mikrocomputer 16. Geoditische Berechnungsmethoden

Computerschnittstellen

Aus dem Programm Architektur + Bauwesen. Ergänzende Literatur Hochbaukosten Flächen Rauminhalte

Reinhard Gieselmann WOHNBAU

Gunnar Paul. CIM-Basiswissen fur die Betriebspraxis

Mikrocomputertechnik

Egbert Brieskorn LINEARE ALGEBRA UND ANALYTISCHE GEOMETRIE

K. U. Bromm. Anwendungen fur BASIC-Taschencomputer

GRUNDLAGEN DER INFORMATIONSTECHNIK. Übungen TEIL 1 RECHNER

Mikrocomputertechnik

Vieweg Programmbibliothek Mikrocomputer 39. Simulationen in BASIC mit dem IBM PC, XT, AT

Ernst Kauffmann Erich Herion Harri Locher. Elektropneumatische und elektrohydraulische Steuerungen

Dagmar Hintzenberg Siegfried J. Schmidt Reinhard Zobel. Zum Literaturbegriff in der Bundesrepublik Deutschland

Edvard Grunau. Lebenserwartung von Baustoffen

W. Grajewski und E. Sachtje. Steuerberechnung mit dem Epson HX-20

Ekbert Hering/Hans-Peter Kicherer. Taschenrechner fur Wirtschaft und Finanzen

E Mikrocontroller-Programmierung

16. Meßdatenerfassung im Labor. Tabelle Computer-Schnittstellen in der Meßdatenerfassung

Dieter Stoll. Schaltungen der Nachrich ten technik

Mikrocomputertechnik mit Controllern der AtmelAVR-RISC-Familie

Mikrocomputertechnik

Mikrocomputertechnik mit der 8051-Controller-Familie

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

Regina B. und Rolf B. Baumeister (Hrsg.) Chart Software Training

Jürgen Wild ' Grundlagen der Unternehmungsplanung

Jakob Schwarz. DOS Einsteigen leichtgemacht

Inhaltsverzeichnis VII

Arbeitsgruppe Bielefelder Soziologen (Hrsg.) Alltagswissen, Interaktion und gesellschaftliche Wirklichkeit

Mikrocontrollertechnik

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

Ekkehard Kaier. Informationstechnische Grundbildung MS-DOS

Inhaltsverzeichnis VII.

Berthold Schuppar. Logo-Programmierkurs fur Commodore 64 Logo \md Terrapin Logo (Apple II)

Vorbemerkungen zum 5. Versuchstag:

VGA und SuperVGA professionell programmiert

Rechnergrundlagen. Vom Rechenwerk zum Universalrechner

Transkript:

G. Schneli/K. Hoyer Mikrocomputer-Interfacefibel

-----Mikrocomputer'---------------... Mikrocomputerfibel, von G. Schnell und K. Hoyer Mikrocomputer-Interfacefibel, von G. Schnell u. K. Hoyer Mikrocomputer-Jahrbuch, herausgegeben von H. Schumny Mikrocomputer, Aufbau und Anwendung, von J. Zschocke Mikrocomputer, Struktur und Arbeitsweise, von R. Kassing Mikroprozessoren (6502,6800,8080, Z80, 9900), von H. Schumny Reihe Programmieren von Mikrocomputern Reihe Anwendung von Mikrocomputern Reihe Vieweg Programmbibliothek Mikrocomputer '--- Vieweg -------------------

Gerhard Schnell Konrad Hoyer Mikrocomputer Interfacefibel Friedr. Vieweg & Sohn Braunschweig / Wiesbaden

CIP-Kurztitelaufnahme der Deutschen Bibliothek Schnell, Gerhard: Mikrocomputer-I nterfacefibel/gerhard Schnell; Konrad Hoyer. - Braunschweig; Wiesbaden: Vieweg, 1984. ISBN-13: 978-3-528-04248-6 NE: Hoyer, Konrad: 1984 Aile Rechte vorbehalten Friedr. Vieweg & Sohn Verlagsgesellschaft mbh, Braunschweig 1984 Die Vervielfiiltigung und Obertragung einzelner Textabschnitte, Zeichnungen oder Bilder, auch fur Zwecke der Unterrichtsgestaltung, gestattet das Urheberrecht nur, wenn sie mit dem Verlag vorher vereinbart wurden. 1m Einzelfall mub uber die Zahlung einer Gebuhr fur die Nutzung fremden geistigen Eigentums entschieden werden. Das gilt fur die Vervielfiiltigung durch aile Verfahren einschlieblich Speicherung und jede Obertragung auf Papier, Transparente, Filme, Biinder, Platten und andere Medien. Oieser Vermerk umfabt nicht die in den 53 und 54 URG ausdnicklich erwiihnten Ausnahmen. Umschlaggestaltung: P. Lenz, Wiesbaden Satz: Vieweg, Braunschweig ISBN-13: 978-3-528-04248-6 e-isbn-13: 978-3-322-89419-9 001: 10.1007/978-3-322-89419-9

v Vorwort Es gibt heutzutage ein breites Angebot von Biichern iiber Beschaltung und Programmierung von 8-Bit-Mikroprozessoren. Ober die Anschaltung der Mikroprozessoren bzw. -computern an Peripheriegerate gibt es leider vergleichsweise sehr viel weniger allgemeine Information. In der Praxis sieht es aber so aus, dab fertige Einplatinen-Computer in grober Zahl angeboten werden, wahrend der hard- und softwaremabige AnschluB an das jeweilige Peripheriegerat meistens noch zu leisten ist. Dem hier sich zeigenden Mangel an allgemein giiltigem Grundlagenschrifttum wollen wir mit dieser Interfacefibel abhelfen. Sie ist aus der bewahrten Zusammenarbeit von einem Mathematiker mit grober software Erfahrung und einem Ingenieur mit hardware-hintergrund entstanden und basiert auf langjahriger Labor- und Vorlesungserfahrung. Jedes Programm und jede Schaltung wurde erprobt und auf exemplarische Bedeutung hin optimiert. Die ausfiihrlich kommentierten Interface-Programme sind in der von Prof. N icoud entwickelten leicht verstandlichen Assemblersprache CALM [0.1] geschrieben, die nunmehr an 20 Hochschulen und Unternehmen Europas eingefiihrt ist. Obwohl die Programme meist fiir den Z80 geschrieben sind, haben wir auf Z80-spezifische Sonderbefehle der Aligemeingiiltigkeit wegen weitgehend verzichtet. Das Kapitel 9 iiber Standard-Interface-Bausteine verdanken wir auf Vermittlung von Herrn Prof. Dr. Sokolowsky den Herren Ingenieuren Bermel, Knobl und Schmiicker. Wir legen diese Fibel der Fachwelt vor in der Hoffnung, dab sie sich als hilfreiches Lernund Arbeitsbuch erweisen mage und wiinschen ihr die gleiche gute Aufnahme, wie sie die vorangehende "Mikrocomputerfibel" erfahren hat. Frankfurt am Main, Ostern 1983

VI Inhaltsverzeichnis 1 E infiihrung.... 1.1 Arten der Dateniibertragung.... 1.2 Verkehrsarten... 1 1.3 Was istein Interface?...,.,. 2 2 Die Nahtstelle zwischen Hardware und Software....................... 5 2.1 Modellmikroprozessor..................................... 5 2.2 Das Bus-System......................................... 5 2.2.1 Schreiben auf den Bus, Pegelphilosophie..................... 7 2.2.3 Leerlauf.......................................... 7 2.3 Die Obergabeprozedur..................................... 8 2.3.1 Peripherie als aktiver Partner............................. 8 2.3.1.1 Riicksetzen (RESET)............................ 8 2.3.1.2 Interruptanforderung (I NTR EQ).................... 9 2.3.2 Prozessor als aktiver Partner............................. 9 2.3.2.1 Input... 9 2.3.2.2 Output... 9 2.3.2.3 Zeitablauf bei Input und Output.................... 10 2.3.2.4 Peripherieadresse... 11 2.4 Adressendekodierung... 11 2.4.1 Adressenzuordnung................................... 11 2.4.2 Adressenzuordnung mit READ-Signal....................... 12 3 Passive Datenempfanger... 13 3.1 Ausgabe ohne Impulsumsetzung... 13 3.1.1 Leuchtd iode... 13 3.1.2 Siebensegmentanzeige mit Treiberstufe...................... 14 3.1.3 Ansteuerung des Siebensegmentes......................... 14 3.1.4 Gruppe von Siebensegmentanzeigen........................ 16 3.2 Ausgabe mit Impulsumsetzung... 17 3.2.1 LautsprecheramJK-Flipflop... 18 3.2.2 Lampenfeld........................................ 19 3.2.3 Gruppe von Siebensegmentanzeigen an D-Flipflops.............. 20 3.3 Bitserielle Ausgabe....................................... 22 3.3.1 Normierung des Busses... 22 3.3.2 Einfache Ausgabeschaltung ohne Riickmeldung... 22 3.3.3 Datenkodierung..................................... 23

Inhaltsverzeichnis VII 3.3.4 Datenformate... 24 3.3.5 Programm fur serielles Senden............................ 26 3.3.5.1 Programmlogik... 27 3.3.5.2 Programmiertechnik............................ 29 3.4 Datenkodierung fur die Obertragung............................ 30 3.4.1 NRZ-Verfahren... 30 3.4.2 RTZ-Verfahren... 31 3.4.3 Bipolares Verfahren... 31 3.4.4 Manchester-Kodierung................................. 32 4 Passive Datengeber.......................................... 34 4.1 Gatter... 34 4.2 Kontakte... 35 4.3 Einfache, unkodierte Tastatur................................ 36 4.3.1 Hardware-Konzeption................................. 36 4.3.2 Software-Konzeption... 37 4.3.3 Programm zum Lesen einer Taste.......................... 38 4.3.3.1 Programmlogik... 38 4.3.3.2 Programmiertechnik............................ 38 4.3.4 Programm zur Tastenuberwachung......................... 41 5 Aktive Datengeber... 43 5.1 Asynchroner, bitserieller Sender........... 43 5.1.1 Hardware-Interface................................... 43 5.1.2 Programm fur seriellen Empfang... 45 5.1.2.1 Programmlogik... 45 5.1.2.2 Programmiertechnik............................ 46 5.2 Anforderung der Bedienung durch Interrupt... 47 5.2.1 Hardware-Interface................................... 47 5.2.2 RESTART-Befehl beim Z80... 48 5.2.3 Software-Interface... 49 5.2.4 Alarmknopf........................................ 52 5.3 Warten auf Bedienung beim Polling... 52 5.3.1 Die Bereitschaftsschaltung..., 52 5.3.2 Die Gruppe der Anbieter..., 53 5.3.2.1 Hardware-Interface... 53 5.3.2.2 Software-Interface... 54 5.3.2.3 Polling nach Interrupt..., 56 5.4 Kodierte Tastatur........................................ 58 5.4.1 Schaltung......................................... 58 5.4.2 Abfrageprogramm..., 61 5.4.3 Vollintegrierte Tastaturbausteine..., 61 5.5 Datenspeicherung auf Tonbandcassetten......................... 64 5.5.1 Obersicht uber einige Verfahren........................... 64 5.5.2 Schaltungsbeispiel.................................... 64

VIII Inhaltsverzeichnis 5.5.2.1 Schreibschaltung... 66 5.5.2.2 Wiedergabeschaltung... 66 5.5.3 Schreib- und Leseprogramme... 67 5.5.3.1 Schreibprogramme............................. 68 5.5.3.2 Leseprogramme............................... 72 6 Digital/Analog- und Analog/Digitalwandler.......................... 78 6.1 DigitaI/Analogwandler.................................. 78 6.1.1 Das R/2R-Netzwerk... 78 6.1.2 Zweiquadrantenwandler................................ 79 6.1.3 Ausfiihrungsbeispiel... 81 6.1.3.1 Schaltung............................... 81 6.1.3.2 Ansteuerprogramm... 82 6.1.3.3 Zeitberechnung... 84 6.2 Analog/Digitalwandler..................................... 87 6.2.1 Zweirampenverfahren (dual slope)......................... 87 6.2.2 Wiigeverfahren (sukzessive Approximation)................... 89 6.2.3 Nachlaufverfahren (tracking converter)...................... 90 6.2.4 Vergleicherverfahren.................................. 93 6.2.5 Beispiel: AID-Wandler fiir 12 Bit... 93 6.2.5.1 Schaltung................................... 93 6.2.5.2 Abfrageprogramm... 95 7 Geriite mit Quittungsverkehr.................................... 97 7.1 Druckeransteuerung nach Centronics........................... 97 7.1.1 Die drei handshake-signale.............................. 97 7.1.2 Zeitlicher Ablauf... 98 7.2 Das Zweidrahthandshakeverfahren............................. 99 7.2.1 Hardware-Interface... 99 7.2.2 Software-Interface... 100 7.3 Druckprogramm... 101 7.4 Verkehr zwischen zwei Mikrocomputern... 105 7.4.1 Hardware-Interface... 105 7.4.2 Software-Interface... 106 8 Externe Bussysteme... 108 8.1 Der IEC-Bus... 108 8.1.1 Obersicht iiber das System... 108 8.1.2 Die Organ isation des Busses... 110 8.1.3 Das Dreidrahthandshakeverfahren... 110 8.1.3.1 Die Signale... 110 8.1.3.2 Dateniibergabeprotokoll... 113 8.1.4 Einfaches hardware-interface J.lC/IEC-Bus... 113 8.1.5 Software-I nterface J.lC/I EC-Bus... 116

Inhaltsverzeichnis IX 8.1.5.1 Basisprogramme fur das handshake... 116 8.1.5.2 I EC-Stack... 118 8.1.5.3 Der /1C als Listener... 119 8.1.5.4 Der /1C als Talker... 119 8.1.5.5 Der /1C als Controller... 122 8.1.6 Anwendungsbeispiel... 125 8.1.7 Hochintegrierte Interfacebausteine... 130 8.1.8 Hardware-I nterface I EC-Bus/MelSgerat... 130 8.2 Der VME-Bus... 135 8.2.1 Allgemeines... 135 8.2.2 Die Busphilosophie... 136 8.2.3 Datenubertragung mit handshake... 137 8.2.4 Buszuteilung (arbitration)... 138 8.2.5 Interruptverarbeitung... 139 8.3 Der IEEE P896-Bus... 140 8.3.1 Allgemeines... 140 8.3.2 Die Busphilosophie... 140 8.3.3 Datenubertragung mit handshake... 140 8.3.4 Buszuteilung (arbitration)... 142 8.3.5 Buspegel und BusabschlulS... 143 8.4 Der Ethernet-Bus... 143 8.4.1 Allgemeines... 143 8.4.2 Die Busphilosophie... 144 8.4.3 Das Hardware-Interface... 144 8.4.4 Fehlererkennung durch Division... 146 8.4.4.1 Polynomdarstellung... 146 8.4.4.2 Das Prinzip der Fehlererkennung... 148 8.4.4.3 Die B ildung des Kodevektors... 148 8.4.4.4 Schaltung zur Erzeugung des Kodevektors... 149 9 Interface-Bausteineflir Parallel- und Seriellbetrieb... 151 9.1 Parallele Ein- und Ausgabe... 151 9.1.1 P IA Baustein 6821... 151 9.1.1.1 Die Register... 152 9.1.1.2 Programmierung... 152 9.1.1.3 Anwendungsbeispiel... 153 9.1.2 Schnittstellenbaustein 8255... 154 9.1.2.1 Das Steuerregister... 155 9.1.2.2 Der Port C... 156 9.1.2.3 Initialisierungsbeispiele... 157 9.2 Serielle Ein- und Ausgabe... 158 9.2.1 ACIA-Baustein 6850... 159 9.2.1.1 Die Register... 159 9.2.1.2 Programmierung... 162

x Inhaltsverzeichnis 9.2.2 USART-Baustein 8251... 164 9.2.2.1 Die Register... 165 9.2.2.2 Betriebsartenwort und Kommandowort... 165 9.2.2.3 Statuswort... 166 9.2.2.4 Programmierung... 167 9.2.2.5 Funktionsablauf... 169 9.2.3 Prozessorunabhiingige Peripheriebausteine... 170 Literaturverzeichnis... 172 Sachwortverzeichnis... 174