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