4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1...

23
GEMP1 Kap4 - 1 4. Peripheriebausteine Serielle Schnittstelle (UART 16450) Parallele Schnittstelle (PPI 8255) Zeitgeber/Zähler (PIT 8254) Interrupt Controller (PIC 8259A) DMA Controller (DMAC 8237A) Keyboard/Display Controller (8279) Serielle Schnittstelle: Asynchrone Übertragung - Takt wird nicht mitübertragen, Sender und Empfänger besitzen eigenen freilaufenden Baudraten-Generator. - Jedes Zeichen ist in einen Rahmen eingebettet; Startbit, Datenbits, Paritätsbit, Stoppbit(s) - Empfänger wird durch das Startbit jedes Mal neu synchronisiert - Datenfeld kann nicht beliebig lang sein, da sonst die Synchronisation verloren geht geringe Effizienz Synchrone Übertragung - Takt wird mit übertragen (eigene Leitung oder durch geeignete Kodierung, z.B. Manchester-Kodierung, im Datenstrom) - Synchronisierung des Empfängers durch Sync-Zeichen (festgelegtes Bitmuster) - Lange Datenblöcke möglich große Effizienz

Transcript of 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1...

Page 1: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 1

4. Peripheriebausteine

• Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle (PPI 8255) • Zeitgeber/Zähler (PIT 8254) • Interrupt Controller (PIC 8259A) • DMA Controller (DMAC 8237A) • Keyboard/Display Controller (8279)

Serielle Schnittstelle:

• Asynchrone Übertragung

- Takt wird nicht mitübertragen, Sender und Empfänger besitzen eigenen freilaufenden Baudraten-Generator.

- Jedes Zeichen ist in einen Rahmen eingebettet; Startbit, Datenbits, Paritätsbit, Stoppbit(s)

- Empfänger wird durch das Startbit jedes Mal neu synchronisiert - Datenfeld kann nicht beliebig lang sein, da sonst die Synchronisation verloren

geht → geringe Effizienz

• Synchrone Übertragung

- Takt wird mit übertragen (eigene Leitung oder durch geeignete Kodierung, z.B. Manchester-Kodierung, im Datenstrom)

- Synchronisierung des Empfängers durch Sync-Zeichen (festgelegtes Bitmuster)

- Lange Datenblöcke möglich → große Effizienz

Page 2: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 2

UART 16450 (Universal Asynchronous Receiver Transmitter)

• Standard in der PC-Architektur • Einstellbare Wortlänge (5 bis 8 bit) • Gerade, ungerade oder keine Parität • Standard-Modem-Schnittstelle (DTR#, RTS#; CTS#, DSR#, RI#, CD#)

Bus-Schnittstelle

- 8bit Datenport D0 – D7 - Steuersignale IOR# (IOR) und IOW#(IOW) je nach Bedarf aktiv low oder aktiv high - 3bit Adressport A0 – A2 → 8 interne Register adressierbar - Address strobe AS# zur Zwischenspeicherung der Adresse und der CS-Zustände

(nötig, wenn Adresse und CS-Signale nicht während des gesamten Zugriffs anliegen) - Drei Chip Selects CS0, CS1 und CS2# - Interrupt Request INT, wird durch verschiedene Ereignisse aktiviert

Page 3: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 3

• Line Control Register LCR: - Bit-6 Set Break: Wenn gesetzt, geht TX auf log. Null (break condition) - Bit-7 Divisor Latch Enable: Wenn gesetzt, Zugriff auf Baudraten-Register

Page 4: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 4

• Baud Rate Generator Registers DLM, DLL: Der durch den angeschlossenen Quarz bestimmte oder über XTAL1 eingespeiste Takt wird durch das 16bit-Wort in DLM (high byte) und DLL (low byte) geteilt und ergibt den 16 fachen Baudraten-Takt.

• Transmit Hold Register THR: Übernimmt von der Bus-Schnittstelle das zu sendende

Zeichen. Das Zeichen wird mit dem Rahmen versehen und über das Transmit Shift Register TSR gesendet.

• Receive Hold Register RHR: In diesem Register steht ein empfangenes Zeichen über

die Bus-Schnittstelle zur Verfügung. • Line Status Register LSR:

- Bit 0 (receive data ready): Wird gesetzt, wenn ein Rahmen vollständig

empfangen wurde und das Zeichen im RHR zur Verfügung steht.Wird mit Lesen des RHR automatisch rückgesetzt.

- Bit 1 (overrun error): Wird gesetzt, wenn ein empfangenes Zeichen nicht nach RHR transferiert werden kann, da das vorige Zeichen noch nicht von der CPU abgeholt wurde. Wird durch Lesen des LSR rückgesetzt.

- Bit 2 (parity error): Paritätsfehler. Wird durch Lesen des LSR rückgesetzt. - Bit 3 (framing error): Kein Stoppbit erkannt. Wird durch Lesen des LSR

rückgesetzt. - Bit 4 (break interrupt): Break-Signal erkannt (0-Signal am seriellen Eingang

über die Dauer eines kompletten Rahmens). Wird durch Lesen des LSR rückgesetzt.

- Bit 5 (trans. holding empty): Zeigt an, dass THR bereit ist, ein neues Zeichen aufzunehmen. Wird durch Schreibvorgang auf THR rückgesetzt.

- Bit 6 (trans. empty): Zeigt an, dass sowohl THR als auch TSR leer sind (für Halbduplex-Betrieb). Wird durch Schreibvorgang auf THR rückgesetzt.

- Bit 7 : reserviert.

• Interrupt Enable Register IER: Durch Setzen der entsprechenden Bits wird eine Interrupt-Anforderung durch das jeweilige Ereignis erlaubt.

- Line Status Register (overrun-, parity-, framing error oder break interrupt);

höchste Priorität - Received data available; zweithöchste Priorität - Transmitter Holding Register empty; dritthöchste Priorität - Modem Status Register (CTS, DSR, RI, CD); niedrigste Priorität

• Interrupt Status Register ISR: Erleichtert die Verzweigung zur zugehörigen Service

Routine. Bei gleichzeitigem Auftreten mehrerer Interrupt-Anforderungen ist hier die Anforderung mit höchster Priorität vermerkt. Nach Lesen von ISR erscheint die Anforderung mit nächst höherer Priorität u.s.w.

Page 5: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 5

• Modem Control Register MCR: Ein gesetztes Bit bringt den jeweiligen Ausgang in den aktiven Zustand (Bit 0 – Bit 3); Bit 4 aktiviert den Loop Back Modus.

• Modem Status Register MSR:

- Bit0 bis Bit3: Ein Bit wird gesetzt, wenn sich der Zustand am entsprechenden

Eingang ändert → Interrupt-Anforderung. Die Bits werden durch Lesen des MSR rückgesetzt.

- Bit4 bis Bit7: Normalerweise der invertierte Inhalt von Bit0 bis Bit3, im Loop Back Mode ist CTS = RTS, DSR = DTR, RI = OP1 und CD = OP2 (aus MCR)

• Scratchpad Register SPR: Datenregister zur freien Verfügung

Loop Back Mode (für Diagnosezwecke): Alle Steuersignalausgänge zum Modem und TX werden in den inaktiven Zustand gebracht, alle Steuersignaleingänge und RX werden von den Anschlüssen weggeschaltet. Intern werden TX und RX sowie die Modem-Steuersignale wie oben beschrieben miteinander verbunden.

Page 6: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 6

Parallele Schnittstelle: Der 8-bit Parallel Port wurde ursprünglich 1981 von IBM als unidirektionale Druckerschnittstelle SPP (Standard Parallel Port) definiert. Weiterentwicklungen sind IEEE1284 und EPP (Enhanced Parallel Port). Programmable Peripheral Interface (PPI) 82C55

Page 7: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 7

Mode 0: Ein-/Ausgang ohne Steuersignale. Ausgangszustände werden gespeichert, Eingangszustände nicht. Zustand nach Reset (alle Ports Eingänge → hochohmig).

Page 8: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 8

Mode 1: Ein-/Ausgang mit Steuersignalen

Page 9: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 9

Mode 2: Bidirektionaler Bus Port

In den Moden 1 und 2 wird die Statusinformation vom Port C gelesen :

Page 10: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 10

Zeitgeber/Zähler Programmable Interval Timer (PIT) 8254 Drei voneinander unabhängige 16-Bit Rückwärtszähler

Lesen des Zählerstandes:

• Ohne Counter Latch Command: Änderung des Zählerstandes zwischen den beiden Byte-Zugriffen kann zu einem falschen Ergebnis führen.

• Mit Counter Latch Command: Zählerstand wird zwischengespeichert. • Mit Read Back Command: Wie mit Counter Latch Command, jedoch kann durch

nachfolgenden Lesezugriff ein Statuswort gelesen werden.

Page 11: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 11

Betriebsarten:

• Mode 0: Ereigniszähler • Mode 1: Retriggerbares Monoflop; Trigger ist eine steigende Flanke an Gate • Mode 2: Pulsgenerator • Mode 3: Rechteckgenerator • Mode 4: Software – getriggerter Puls • Mode 5: Hardware –getriggerter Puls

Für alle Betriebsarten gilt:

• Mit Einschreiben des Kontrollwortes nimmt der Ausgang des entsprechenden Zählers sofort einen definierten Zustand an.

• Der nachfolgende Startwert des Zählers wird zwischengespeichert und bei Erfüllung bestimmter Bedingungen (je nach Mode verschieden) mit der fallenden Flanke des nächsten Zähltaktes in den Zähler geladen.

• Weitere fallende Taktflanken dekrementieren den Zähler jeweils um eins.

Page 12: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 12

Mode 0

Page 13: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 13

Page 14: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 14

Interruptcontroller PIC 8259A (Prorammable Interrupt Controller) Ablauf einer Interruptbehandlung (8086 Mode)

• Aktivierung einer Anforderungsleitung IR (flanken- oder pegelsensitiv), das entsprechende Bit im Interrupt Request Register (IRR) wird gesetzt.

• Der 8259 aktiviert die Interruptanforderung an die CPU (INT), wenn die Anforderung eine höhere Priorität als eine eventuell gerade laufende Interrupbehandlung hat (Bit im In Service Register ISR ist gesetzt.)

• Nimmt die CPU den Interrupt an, antwortet sie mit einem INTA-Puls. Damit wird das der Anforderung entsprechende Bit im ISR gesetzt und das entsprechende Bit im IRR rückgesetzt.

• Die CPU erzeugt einen zweiten INTA-Puls. Damit wird die der Anforderung entsprechende Vektornummer vom 8259 auf den Datenbus gelegt.

• Ist der 8259 in der Betriebsart Automatic End of Interrupt (AEOI), wird mit dem zweiten INTA-Pulse das ISR-Bit rückgesetzt. Anderenfalls bleibt es gesetzt, bis es durch ein EOI-Kommando rückgesetzt wird.

Kaskadierung: An jeden Eingang des 8259 (Master) ist ein weitere 8259 (Slave) anschließbar.

→ maximal 64 Interruptrequest-Eingänge möglich.

• Anforderung an einen Slave planzt sich über den Master zur CPU fort. • Mit dem ersten INTA-Puls wird der entsprechende Slave vom Master über die

Cascade-Leitungen angewählt und gibt mit dem zweiten INTA-Puls die entsprechende Vektornummer auf den Datenbus.

• Master und Slave müssen je ein EOI-Kommando erhalten.

Page 15: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 15

Interrupt Mask Register (IMR): Gesetzte Bits im IMR verhindern die Annahme der entsprechenden Anforderung Priorisierung der Anforderungen: Eine laufende Interruptbehandlung kann nur von einer Anforderung höherer Priorität selbst wieder unterbrochen werden (Ausnahme: Special Fully Nested Mode).

• Fully Nested Mode: Die Anforderungsleitungen haben eine feste Prioritätsverteilung. IR0 hat die höchste (Priorität 0), IR7 die niedrigste Priorität (Priorität 7).

• Automatic Rotation: Nachdem eine Anforderung bedient wurde (ISR-Bit ist rückgesetzt), bekommt sie die niedrigste Priorität. Alle anderen rücken nach.

• Specific Priority: Die Anforderung mit niedrigster Priorität wird per Kommando

festgelegt. • Special Mask Mode: Die Prioritätssperre ist ausgeschaltet. • Special Fully Nested Mode: Erlaubt das Unterbrechen einer Service Routine durch

eine Anforderung gleicher Priorität. (Für Master bei Kaskadierung) Statusinformation:

• IMR von Adresse A0 = 1 • IRR oder ISR von Adresse A0 = 0 (Auswahl durch OCW3)

Page 16: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 16

Polling: Soll oder kann der Interruptmechanismus der CPU nicht verwendet werden (z.B. mehr als 64 Interruptquellen), kann ein Poll-Kommando (OCW3) gesendet werden. Es bewirkt im 8259 dasselbe wie INTA und liefert bei einer nachfolgenden Leseoperation von A0 = 0 die Nummer der höchstpriorisierten Anforderung. Initialisierungssequenz und Kommandos:

Page 17: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 17

Page 18: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 18

Direkter Speicherzugriff (DMA): Bei einem direkten Speicherzugriff laufen Datentransfers zwischen I/O-Bausteinen und Speicher oder zwischen Speicher und Speicher nicht mehr über die CPU, sondern direkt von der Datenquelle zur Datensenke. Dabei schaltet sich die CPU vom Bussystem weg und ein DMA-Controller übernimmt die Bussteuerung. → Datentransfer wird schneller. Ablauf eines DMA-Zyklus:

• Anforderung an den DMAC durch Aktivierung einer Anforderungsleitung (DREQ) oder durch Software.

• DMAC fordert die CPU auf (HOLD), den Bus freizugeben. • Die CPU beendet einen ev. gerade laufenden Buszyklus, schaltet seine Busleitungen

auf Tri-state und teilt dem DMAC die Busfreigabe mit (HLDA). • Der DMAC bestätigt die Annahme (DACK), übernimmt die Bussteuerung und führt

den gewünschten Datentransfer durch. • Nach Beendigung des Transfers gibt der DMAC den Bus frei und nimmt die HOLD-

Anforderung von der CPU weg. Die CPU übernimmt wieder den Bus. DMAC 8237A-2 4 unabhängige Kanäle. Jeder Kanal besitzt:

• Ein Base Address Register BAR (16bit) • Ein Current Address Register CAR (16bit) • Ein Base Word Count Register BWCR (16bit) • Ein Current Word Count Register CWCR (16bit) • Ein Mode Register (6bit)

In der Initialisierungsphase werden BAR und CAR mit der Anfangsadresse des Speicherbereiches geladen, aus dem gelesen bzw. in das geschrieben werden soll. BWCR und CWCR werden mit der um eins verminderten Anzahl der zu transferierenden Datenbytes geladen. Bei einem Transfer Speicher – I/O-Baustein stellt die vom DMAC ausgegebene Adresse immer die Speicheradresse dar. Der I/O-Baustein wird mit dem Signal DACK ausgewählt. Der Transfer läuft in einem Buszyklus ab d.h. das Schreib- und das Lesesignal werden gleichzeitig aktiviert. Bei einem Transfer Speichel—Speicher werden die Kanäle 0 und l verwendet. Der DMA-Vorgang wird durch ein Kommando per Software ausgelöst. Über Kanal 0 wird ein Datum in den DMAC gelesen und über Kanal l an die Zieladresse geschrieben (2 Buszyklen). Betriebsarten:

• Single Transfer Mode: Mit jedem DREQ wird nur ein Datenbyte transferiert. CWCR wird um eins dekrementiert, CAR um eins inkrementiert oder dekrementiert (je nach Initialisierung). Springt CWCR von 0 auf FFFFH, ist der DMA-Vorgang abgeschlossen und ein Signal wird generiert. Bei eingeschalteter Autoinitialisierung

Page 19: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 19

werden CAR und CWCR von BAR und BWCR mit den ursprünglichen Werten geladen und ein neuer DMA-Vorgang kann beginnen.

• Block Transfer Mode: Der gesamte DMA-Vorgang wird mit einem DREQ ausgelöst. • Demand Transfer Mode: Wie Block Transfer Mode, jedoch wird der DMA-Vorgang

unterbrochen, wenn DREQ inaktiv wird (DREQ kann normalerweise weggenommen werden, sobald DACK aktiv wird).

• Cascade Mode: Zur Erhöhung der Kanalanzahl können mehrere 8237 kaskadiert werden (HRQ und HLDA der zweiten Ebene an DREQ und DACK der ersten Ebene).

Page 20: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 20

Keyboard/Display Controller 8279

• Tastenfeld und Anzeigefeld werden von 4 Abtastleitungen angesteuert • Abtastleitungen wahlweise im 4bit-Dualcode oder im 1 aus 4-Code betrieben. • Tastenschnittstelle enthält ein 8x8-Bit FIFO/Sensor-RAM und eine Entprellschaltung. • Anzeigeschnittstelle enhält ein 16x8-Bit Display-RAM

Betriebsarten der Tastenschnittstelle:

• Scanned Keyboard: 8x8 Tastenfeld (encoded scan) oder 4x8 Tastenfeld (decoded scan). Tastendruck verbindet eine Scan-Leitung mit einer Return-Leitung und erzeugt ein 8-Bit Datenwort entsprechend der Position der Taste und dem Zustand an den Eingängen SHIFT und CNTL/STB. Dieses Wort wird im FIFO eingetragen. Die Interruptanforderung wird aktiviert, sobald mindestens ein Eintrag im FIFO vorhanden ist.

- 2Key Lockout: Werden innerhalb zweier Abtastzyklen mehr als eine Taste gedrückt, findet kein Eintrag im FIFO statt.

- N Key Rollover: Mehrere gleichzeitig gedrückte Tasten werden in der

Reihenfolge ihrer Abtastung im FIFO eingetragen.

Page 21: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 21

• Scanned Sensor Matrix: Der Zustand einer 8x8 (4x8)-Schaltermatrix wird ständig im

Sensor-RAM abgebildet. Die Interruptanforderung wird aktiviert, wenn sich ein Schalterzustand ändert.

• Strobed Input: Über ein Steuersignal an CNTL/STB wird ein an den Return-Leitungen angelegtes 8-Bit Wort direkt in den FIFO übernommen.

Betriebsarten der Anzeigeschnittstelle:

• 8-stellige oder 16-stellige Anzeige. Da jedes Halbbyte im Display-RAM getrennt beschrieben werden kann, sind zwei 16-stellige numerische Anzeigen möglich.

• Left Entry oder Right Entry

- Left Entry: Jeder Adresse im Display-RAM ist eine Stelle der Anzeige fest

zugeordnet. - Right Entry: Die Zuordnung zwischen Speicheradresse und Anzeigenstelle

verschiebt sich mit jedem Eintrag ins Display-RAM.

Page 22: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 22

Kommandos: Werden auf die höhere der beiden Adressen geschrieben (A0 = 1). Die Art des Kommandos ist in den ersten drei Bit des Kommandowortes kodiert.

• Setzen der Betriebsart:

• Frequenz der Abtastung: Externer Takt wird durch PPPPP geteilt.

• Lesen FIFO/Sensor-RAM:

Autoinkrement und Adresse sind nur in Verbindung mit dem Sensor-RAM relevant.

• Lesen Display-RAM:

• Schreiben Display-RAM:

• Maskierung der Halbbytes im Display-RAM und Ausblendung der Anzeige

Page 23: 4. Peripheriebausteinealt.ife.tugraz.at/LV/Skripten/gemp1_kap4.pdf · 2003-02-27 · GEMP1 Kap4 - 1 4. Peripheriebausteine • Serielle Schnittstelle (UART 16450) • Parallele Schnittstelle

GEMP1 Kap4 - 23

• Löschen: CF = 1: FIFO-Status; CA = 1: Display-RAM und FIFO-Status

• Interrupt Löschen/Special Error Mode: Im Sensor Matrix Mode wird damit die Interruptanforderung rückgesetzt. Bei N-Key-Rollover wird mit E = 1 der Special Error Mode eingestellt. Dabei wird bei gleichzeitigem Drücken mehrerer Tasten ein Bit im Statuswort gesetzt und die Interruptanforderung aktiviert.

• Statuswort: