Datentechnik Prinzipieller Aufbau eines Schnittstellenbausteins

Transcription

Datentechnik Prinzipieller Aufbau eines Schnittstellenbausteins
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Prinzipieller Aufbau eines Schnittstellenbausteins
DB
/CS
A0-Ai
Datenbus
Puffer
R/W
Reset
Takt
Int
zum
µP
IntAck
Interruptsteuerung
Steuerung
&
IF
Statusregister
IE
Steuerregister
Ausführungseinheit
Datenregister
IRQ
Steuerausgänge
Befehlsregister
Daten
Kontroleingänge
zur
Peripherie
Steuerung:
steuert
Datenfluß im Baustein
Bussignale
Ausführungseinheit:realisiert bausteinspezifische Funktion
Statusregister:
Steuerregister:
Befehlsregister:
Kapitel 2
enthält Informationen über aktuellen Zustand
IF = Interrupt-Flag
legt Betriebsart fest
IE = Interrupt-Enable
enhält Kommando für die aktuelle Operation
Ein/Ausgabe
Blatt 1
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
parallele Schnittstelle
DB
A0Ai
/CS
Datenbus
Puffer
Res
et
R/W
Takt
Int
IntAck
zum
µP
Interruptsteuerung
Steuerung
&
I
F
Statusregister
I
E
Steuerregister
Befehlsregister
interner Datenbus
IRQ
DatenRegister
Steuerlogik
DatenrichtungsRegister
Treiber
InputBuffer
Ausführungseinheit
"Parallel-Baustein"
OBF
OBF:
IBF:
STB:
Kapitel 2
Daten
IBF STB
Output Buffer Full
Input Buffer Full
Strobe
Ein/Ausgabe
Blatt 2
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Baustein 8255
Kapitel 2
Ein/Ausgabe
Blatt 3
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Belegung des Steuerworts:
Betriebsartenwahl:
1
Gruppe B
Kanal C (low) 1=Eingabe 0=Ausgabe
Kanal B: 1=Eingabe 0=Ausgabe
1= Modus 1 0 = Modus 0
Gruppe A
Kanal C (high) 1=Eingabe 0=Ausgabe
Kanal A: 1=Eingabe 0=Ausgabe
1 = Betriebsarten-Auswahl
Bit des Port C setzen/rücksetzen:
0 X X X
1= Setzen
0 = Rücksetzen
Bitnummer des Port C
0 = Bit setzen/rücksetzen
Interrupt-Enable setzen
In der Betriebart „Modus 1“ werden Pins des Port C als Strobe-Eingang benutzt.
Das für diesen Pin im Baustein vorhandene Ausgabe-Register wird somit für die
Ein/Ausgabe nicht benötigt und wird als Interrupt-Enable Bit benützt.
Für die Gruppe A mit Port A als Eingang ist Port C4 als Interrupt-Enable Bit
verwendet.
0 X X X 1 0 0
1= Interrupt Enable
0 = Interrupt Disable
Port C4
0 = Bit setzen/rücksetzen
Kapitel 2
Ein/Ausgabe
Blatt 4
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Timer-Baustein
DB
/CS
A0Ai
Datenbus
Puffer
R/W
Res
et
Takt
Int
IntAck
zum
µP
Interruptsteuerung
Steuerung
&
I
F
Statusregister
I
E
Steuerregister
Befehlsregister
Ausführungseinheit
Ausführungseinheit
"Timer-Baustein"
"Timer-Baustein"
interner Datenbus
IRQ
Zähler = 0
Systemtakt
Startwert
-1
Zähler
1:n
Steuerlogik
Zählerstand
externer
Takt
Kapitel 2
Ein/Ausgabe
Gate
Out
Blatt 5
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Serieller Schnittstellen-Baustein
DB
/CS
A0Ai
R/W
Datenbus
Puffer
Res
et
Takt
Int
IntAck
zum
µP
Interruptsteuerung
Steuerung
&
I
F
Statusregister
I
E
Steuerregister
Befehlsregister
Ausführungseinheit
Ausführungseinheit
"serieller
Baustein"
"Timer-Baustein"
interner Datenbus
IRQ
Transmit Register
Receive Register
Transmit Shift
Register
Receive Shift
Register
ParityCheck
Parity
Frame
Steuerlogik
Taktgenerator
TxD
FrameCheck
RxD
TxD : Transmit Data
RxD : Receive Data
Kapitel 2
Ein/Ausgabe
Blatt 6
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Beispiel: Übertragung mit Software-Handshake
Ein Text, der mit dem Zeichen ETX endet, wird über eine serielle Schnittstelle mittels
Software-Handshake an einen Drucker übertragen und dort zeilenweise ausgedruckt.
Sender:
Datenstruktur:
ETX
n
Puffer
i
Initialisierung:
-Wortlänge
- Baudrate
- Parity
-i=0
0
Initialisierung
Ja
Status.TDRF=1?
Nein
Puffer[i] => TDR
Puffer[i]=ETX?
Nein
Ja
i = i+1
X0N/XOFF
Protokoll
ohne Protokoll
Ende
Kapitel 2
Ein/Ausgabe
Blatt 7
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Xon/Xoff-Protokoll:
Start
Nein
Status.RDRF=1?
Ja
RDR lesen
Nein
RDR=XOFF?
Nein
Status.RDRF=1?
Ja
RDR lesen
Nein
RDR=XON?
Ja
Ende
Kapitel 2
Ein/Ausgabe
Blatt 8
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Empfänger:
Datenstruktur:
i
Initialisierung:
-Wortlänge
- Baudrate
- Parity
0
i=0
80
Puffer
Initialisierung
nein
Status.RDRF = 1?
RDR => Puffer[i]
ja
Puffer[i] = ETX?
ja
Puffer[i] = LF?
ja
i = 80 ?
i = i+1
i=0
Xoff => TDR
Zeile drucken
Xon=> TDR
Kapitel 2
Ein/Ausgabe
Blatt 9
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Struktogramme
(Nassi-Shneiderman-Diagramme)
Programmbeschreibung erfolgt mit nur 3 elementaren Strukturblöcken:
- Folge (lineare Struktur, Sequenz)
- Verzweigung
- Wiederholung (Schleife)
Aus den elementaren Strukturblöcken können neue Blöcke zusammengesetzt
werden.
Regel:
Jeder Strukturblock hat nur einen Eingang und einen Ausgang, dargestellt durch die
obere bzw. untere Kante der Symbole. Beim Zusammenfügen deckt sich die
Ausgangskante des vorigen Blocks mit der Eingangskante des folgenden Blocks.
Symbole des Struktogramms
Programmablaufplan
Struktogramm
Folge:
Operation 1
Operation 1
Operation 2
Operation 2
Struktogramme
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Verzweigung:
ja
Bed.
erfüllt?
Operation 1
ja
nein
ja
Operation 2
Var =
Wert 1?
Bed. erfüllt?
Operation 1
Wert 1?
Operation 1
nein
Operation 2
Var =
Wert 2?
Operation 2
ja
Operation 1
Var =
Wert 2?
Operation 2
nein
Operation 3
Struktogramme
nein
sonst
Operation 3
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Schleifen:
While-Schleife
Solange Schleifenbed. erfüllt
Schleifen
bed.
erfüllt?
Scheifenkörper
nein
ja
Schleifenkörper
Repeat-until Schleife
Scheifenkörper
Schleifenkörper
Wiederhole, bis Endebed. erfüllt
Endebed.
erfüllt?
nein
ja
Struktogramme
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Gegenüberstellung
Ja
Nein
Verzweigung 1
Operation 1
Ja
Init
Nein
Operation 5
Schleifenkörper
Verzweigung 2
Operation 2
Verzweigung
Nein
Operation 4
Ja
Operation 3
Operation 4
Verzweigung 1
N
J
Operation 1
Init
Verzweigung 2
J
Operation 5
N
Bis Bedingung erfüllt
Operation 2
Operation 4
Operation 4
Operation 3
Struktogramme
Datentechnik
Fachbereich Elektrotechnik
Prof. Dr. Bayer
Regelverletzung
Ja
Nein
Verzweigung 1
Operation 1
Ja
Init
Nein
Operation 5
Schleifenkörper
Verzweigung 2
Operation 2
Verzweigung
Nein
Ja
Operation 3
Operation 4
Verzweigung 1
N
J
Operation 1
Init
Operation 5
Verzweigung 2
J
N
Bis Bedingung erfüllt
Operation 2
Operation 4
Operation 3
Struktogramme