20

Die serielle Schnittstelle

  • Upload
    labdev

  • View
    1.191

  • Download
    0

Embed Size (px)

DESCRIPTION

Die serielle Schnittstelle in 8051 Mikrocontrollern

Citation preview

Page 1: Die serielle Schnittstelle

Die serielle Schnittstelle

Page 2: Die serielle Schnittstelle

Gliederung

Allgemein zu der seriellen SchnittstelleWas ist die serielle Schnittstelle?

Elektrische Eigenschaften

Übertragungsarten

Serielle Schnittstelle in 80C537

Serielle Schnittstelle 0

Serielle Schnittstelle 1

Special Function RegisterSteuerung der serielle Schnittstelle

Baudrateerzeugung

Page 3: Die serielle Schnittstelle

Allgemein zu der seriellen SchnittstelleAllgemein zu der seriellen Schnittstelle

• Die serielle Schnittstelle ist unter folgenden Bezeichnungen genormt:

RS-232-C (Norm der EIA)

V.24 (CCITT - Internationales Fernmeldekomitee)

66020 (Deutsche-Norm)

Page 4: Die serielle Schnittstelle

• Diente ursprünglich der seriellen Datenübertragung zwischen einer DEE und DÜE.

• Verbindet man zwei Datenendgeräte muss ein Nullmodem her!

Serielle Datenübertragung heißt, dass die Bits nacheinander auf einer Leitung übertragen werden.

Page 5: Die serielle Schnittstelle

• Der Datenverkehr zwischen Terminal und Modem geschieht über Daten-, Takt-, Melde- und Quittungssignale.

• Die elektrische Verbindung erfolgt über ein max. 25poliges Kabel.

• Die Daten werden über TD-Leitung (Transmit Data) gesendet und

über RD-Leitung (Receive Data) empfangen .

• Folgende Leitungspegel sind festgelegt: -pos. Pegel +3 V … +25 V

-neg. Pegel -3 V … -25 V

Bei den meisten Anwendungen Beschränkt man sich auf die Spannungen zwischen+12 V und -12 V.

• Die Datenleitungen (TD und RD) verwenden negative Logik,Steuer- und Quittungsleitungen positive Logik.

Elektrische Eigenschaften

Page 6: Die serielle Schnittstelle

Übertragungsarten

Synchrone Übertragung• Wird zusätzlich ein Taktsignal übertragen• Übertragung langer Datenblöcke• Erhöhte Aufwand für die Taktleitung

Um eine Leitung zu sparen, kann der Takt auch zusätzlich auf der Datenleitung

übertragen werden:

Page 7: Die serielle Schnittstelle

Asynchrone Übertragung• es wird kein Taktsignal übertragen Sender und Empfänger verwenden eigenen Takt• es werden nur kurze Datenblöcke übertragen

• gleiche Schrittgeschwindigkeit• Startbit• 8 oder 9 Datenbits• Paritybit• 1 oder 2 Stoppbits

Beim Sender und Empfänger muss das gleiche Übertragungsprotokoll eingestellt werden:

Page 8: Die serielle Schnittstelle

Serielle Schnittstelle in 80C537Serielle Schnittstelle in 80C537

80C537 besitzt zwei serielle Schnittstelle S0 und S1:• Duplex-Betrieb• variable Baudrate• 8 oder 9 Bit Übertragung• erzeugen keine Modemsteuersignale• jeder Kanal hat eigenen Baudrategenerator

Page 9: Die serielle Schnittstelle

Serielle Schnittstelle 0

• Unterstützt 4 Betriebsarten:

Mode 0: Synchroner Betrieb, 8-Bit

Mode 1: Asynchroner Betrieb, 8-Bit

Mode 2: Asynchroner Betrieb, 9-Bit

Mode 3: Asynchroner Betrieb, 9-Bit

• Senden und Empfangen erfolgt über das SFR S0BUF

• Die Steuerung erfolgt über das SF-Register S0CON

Page 10: Die serielle Schnittstelle

Serielle Schnittstelle 1

• Unterstützt 2 Betriebsarten:

Mode A: Asynchroner Betrieb, 9-Bit

Mode B: Asynchroner Betrieb, 8-Bit

• Senden und Empfangen erfolgt über das SFR S1BUF

• Die Steuerung erfolgt über das SF-Register S1CON

Page 11: Die serielle Schnittstelle

Special Function Register für die Special Function Register für die seriellen Schnittstellen S0 und S1seriellen Schnittstellen S0 und S1

• Serial Data BufferS0BUFS1BUF

• Serial Control RegisterS0CONS1CON

• Reload-RegisterS0RELL (+S0RELH)S1REL (+S1RELH)

• A/D Control Register 0 (ADCON0)BD

• Power Control Register (PCON)SMOD

Page 12: Die serielle Schnittstelle

Serial Data Buffer S0BUF/S1BUF

Senden und Empfangen erfolgt über die selbe Adresse im SFR-Bereich:

S0BUF (99h) für die serielle Schnittstelle 0

S1BUF (9Ch) für die serielle Schnittstelle 1

Page 13: Die serielle Schnittstelle

Serial Control Register S0CON/S1CON

Die Betriebsarten und die Arbeitsweise der seriellen Schnittstelle werden über SF-Register SCON eingestellt.

SM0 SM1 SM20 REN0 TB80 RB80 TI0 RI0

9Fh 9Eh 9Dh 9Ch 9Bh 9Ah 99h 98h

SM SM21 REN1 TB81 B81 TI1 RI1

S0CON (98h) Serial Control Register für die serielle Schnittstelle 0

S1CON (9Bh) Serial Control Register für die serielle Schnittstelle 1

Page 14: Die serielle Schnittstelle

Serial Control Register S0CONSM0 SM1 SM20 REN0 TB80 RB80 TI0 RI0

SM0 SM1 Betriebsart (Mode)

0 0 Synchrone Übertragung, 8 Bit, Senden/Empfangen über RxD0, Taktausgabe über TxD0

0 1 UART 8-Bit: Startbit | S0BUF0 . . . S0BUF7 | Stoppbit

1 0 UART 9-Bit: Startbit | S0BUF0 . . . S0BUF7 | 9.Bit | Stoppbit

1 1 UART 9-Bit: Startbit | S0BUF0 . . . S0BUF7 | 9.Bit | Stoppbit

SM20 Ermöglicht Multiprozessor -Verbindung, in Mode 2 und 3 ( 9-Bit-Übertragung ).In Mode 0 sollte SM20 gelöscht sein

REN0 Receiver Enable, ermöglicht seriellen Empfang, wenn gesetzt. Wird nur durch Software beeinflusst

TB80

Transmitter -Bit 8, neuntes Datenbit, wird nur bei Mode 2 und 3 übertragen

RB80 Receiver -Bit 8, neuntes empfangenes Datenbit bei Mode 2 und 3

TI0

Transmitter Interrupt -Request -Flipflop. Wird gesetzt in Mode 0 am Ende des achten Bits oder in den anderen Betriebsarten bei Beginn des Stoppbits.Muss durch Software gelöscht werden

RI0

Receiver Interrupt -Request -Flipflop. Wird gesetzt in Mode 0 am Ende des achten Bits oder in den anderen Betriebsarten während des Stoppbits.Muss durch Software gelöscht werden

Page 15: Die serielle Schnittstelle

Serial Control Register S1CONSM SM21 REN1 TB81 RB81 TI1 RI1

SM Betriebsart (Mode)

SM = 0 Mode A : UART 9-Bit: Startbit | S1BUF0 . . . S1BUF7 | 9. Bit | Stoppbit

SM = 1 Mode B : UART 8-Bit: Startbit | S1BUF0 . . . S1BUF7 | Stoppbit

SM21

Ermöglicht Multiprozessor-Verbindung, in Mode A (9-Bit-Übertragung)

REN1

Receiver Enable, ermöglicht seriellen Empfang, wenn gesetzt.Wird nur durch Software beeinflusst

TB81

Transmitter -Bit 8, neuntes Datenbit, wird bei Mode A übertragen

RB81

Receiver-Bit 8, neuntes empfangenes Datenbit bei Mode A

TI1

Transmitter Interrupt -Request -Flipflop. Wird gesetzt beim Beginn des Stoppbits.Muss durch Software gelöscht werden

RI1

Receiver Interrupt –Request -Flipflop. Wird gesetzt während des Stoppbits.Muss durch Software gelöscht werden

Page 16: Die serielle Schnittstelle

Reload-Register S1REL

S1REL (9Dh) dient der Baudrateerzeugung für die serielle Schnittstelle 1.

Beispiel1: Gefordert ist eine Baudrate von 9600 Bdrelwert = 256 - 12 MHz/(32 • 9600) = 217d oder D9h

Bei fOSZ = 12 MHz lassen sich 1,465 bis 375 kBd einstellen!

Beispiel 2: Gefordert ist eine Baudrate von 1200 Bdrelwert = 256 - 12 MHz/(32 • 1200) = -56 Diese Baudrate lässt sich nicht einstellen

Page 17: Die serielle Schnittstelle

Reload-Register S1RELH+S1REL

Ab der „CA“ Version des 80C537 ist der Timer 10 Bit breit und zu S1REL können noch 2 Bits von S1RELH einbezogen werden. Damit können nun 1200 Baud eingestellt werden.

Beispiel:relwert = 1024 - 12 MHz/(32 • 1200) = 712d oder 2C8h oder 10 1100 1000b

Bei fOSZ = 12 MHz lassen sich 366 Bd bis 375 kBd einstellen!

Page 18: Die serielle Schnittstelle

BD und SMOD

BD (Bitadresse DFh) der sich im SFR ADCON0 (Bitadressierbar) befindet und SMOD der im SFR PCON (Byteadressierbar) unter der Byteadresse 87h zu erreichen ist, sind zwei Steuerbits die der Baudrateerzeugung für die serielle Schnittstelle 0 dienen.

DBDB CLK ADEX BSY ADM MX2 MX1 MX0

SMSMODOD PDS IDLS SD GF1 GF0 PDE IDLE

ADCON0

PCON

Page 19: Die serielle Schnittstelle

Reload-Register S0RELH+S0RELL

Baudrateerzeugung der serielle Schnittstelle 0.

Freiprogrammierbarer Baudrategenerator ab Version „CA“.

Page 20: Die serielle Schnittstelle

ENDE

Vielen Dank für die Aufmerksamkeit!