Sie sind auf Seite 1von 37

Termin 7.

5 - MCT-2
WiSe21/22

Stephan Schulze

16. November 2021

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 1 / 37
Gliederung

1 RS-232
Übertragung
Praxisanwendung
Register
Beispiel

2 ADC / DAC
DAC
ADC
Beispiele

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 2 / 37
Abschnitt 1

RS-232

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 3 / 37
RS-232
Allgemein

Stecker: D-Sub 9 (oder 25)


Verbindet ein DTE (Data Terminal Equipment → ein Computer) mit
einem DCE (Data Communication Equipment → ursprünglich ein
Modem)
Steckerbelegung (9-pol.):

Abkürzung Name Beschreibung Pin-Nr. I/O (DTE)


GND GND Masse 5 -
TxD Transmit Data Sendedaten 3 Out
RxD Receive Data Empfangsdaten 2 In

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 4 / 37
Unterabschnitt 1

Übertragung

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 5 / 37
RS-232
Übertragung I

Übertragung in Wörtern (meist 8 Bits, z. B. ein ASCII-Zeichen)


Seriell
Asynchron
Synchronisation auf Wortanfang durch ein Startbit (logisch 0)
Stoppbit nach Wortende (logisch 1)
Übertragungsgeschwindigkeit:
Einheit: Baud (= Kehrwert der Dauer eines Bits)
Typisch: 300, 1200, 4800, 9600, 19200, 38400, 57600, 115200 Bits/s
Logische 0: +3..+15 V, Logische 1: -3..-15 V
Zur Überprüfung der Übertragung kann ein zusätzliches Paritätsbit
verwendet werden.

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 6 / 37
RS-232
Übertragung II

Abbildung 1: UART Beispiel [2]

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 7 / 37
RS-232
Parity

Zur Fehlererkennung kann man nach den Daten ein zusätzliches


Paritätsbit anhängen
Vereinbarung zwischen Sender und Empfänger:
Kein Paritätsbit (N = none)
Gerade Parität (E = even)
Ungerade Parität (O = odd)
Berechnung: Wähle das Paritätsbit so, dass die Anzahl Einsen in
Datenbits und Paritätsbit gerade (E) bzw. ungerade (O) sind
Beispiel: Datenbits + gerade Parität

0 1 1 1 0 0 1 0 0

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 8 / 37
Unterabschnitt 2

Praxisanwendung

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 9 / 37
RS-232
Handshaking für Flow Control

Wird verwendet, um Sender temporär zu ”stoppen”, falls der


Empfänger die Daten nicht schnell genug verarbeiten kann (z. B.
langsamer Drucker).
Hardwarelösung hat 2 zusätzliche Leitungen (logisch 0 = bereit):
RTS (”Request to Send”, DTE → DCE)
CTS (”Clear to Send”, DCE → DTE)
Software: Einfügen der speziellen, ”nicht-druckbaren” ASCII-Zeichen
XOFF (”transmission off”, ASCII-Code 19) und XON (”transmission
on”, ASCII-Code 17) in der Gegenrichtung

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 10 / 37
RS-232
Implementierung auf dem NUCLEO-F303

Der STM32F303RE verfügt über fünf U[S]ARTs (Universal


[Synchronous] Asynchronous Receiver Transmitter), mit denen man
eine RS-232-Schnittstelle realisieren kann (TTL; VCC /GND)
Auf dem NUCLEO-F303 wird USART2 über USB zu einem
angeschlossenen PC ”getunnelt” und steht unter Windows als
virtuelle COM-Schnittstelle zur Verfügung (siehe ”Geräte-Manager”).
Verwendung auf dem PC mit einem Terminalprogramm, z. B. mit
PuTTY.

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 11 / 37
Unterabschnitt 3

Register

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 12 / 37
RS-232
USART control register 1 (USART CR1)

Address offset: 0x00


Reset value: 0x0000 0000

Abbildung 2: USART CR1 [2]

M[1:0] Word length


PCE Parity Control (generation and detection) enable
TE Transmitter enable
RE Receiver enable
UE USART enable
Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 13 / 37
RS-232
USART baud rate register (USART BRR)

Can only be written whte the USART is disabled (UE = 0).


Address offset: 0x0C
Reset value: 0x0000 0000

Abbildung 3: USART BRR [2]

M[15:0] USARTDIV = fCLK /baudrate

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 14 / 37
RS-232
USART interrupt and status register (USART ISR)

Can only be written whte the USART is disabled (UE = 0).


Address offset: 0x1C
Reset value: 0x0200 00C0

Abbildung 4: USART ISR [2]

TXE Transmit data register empty


RXNE Read data register not empty

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 15 / 37
RS-232
USART receive data register (USART RDR)

Address offset: 0x24


Reset value: Undefined

Abbildung 5: USART RDR [2]

RDR[8:0] Receive data value

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 16 / 37
RS-232
USART transmit data register (USART TDR)

Address offset: 0x28


Reset value: Undefined

Abbildung 6: USART TDR [2]

TDR[8:0] Transmit data value

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 17 / 37
Unterabschnitt 4

Beispiel

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 18 / 37
RS-232
Beispiel I

int i o p u t c h a r ( i n t ch )
{
i f ( ch == ’ \n ’ )
i o p u t c h a r ( ’\r ’ ) ;

w h i l e ( ( USART2→ISR & USART ISR TXE ) == 0 )


;

USART2→TDR = ch ;

r e t u r n ch ;
}

int i o g e t c h a r ( void )
{
w h i l e ( ( USART2→ISR & USART ISR RXNE ) == 0 )
;

r e t u r n USART2→RDR ;
}

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 19 / 37
RS-232
Beispiel II

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 20 / 37
RS-232
Beispiel III

Aufgabe: Das folgende Bild zeigt den Signalverlauf eines über eine serielle
Schnittstelle RS-232 übertragenen ASCII-Zeichens (8N1). Bestimme die
Baudrate und das übertragene Zeichen.

Abbildung 7: USART Signal [2]

→ Wird angegeben als:

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 21 / 37
Abschnitt 2

ADC / DAC

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 22 / 37
Unterabschnitt 1

DAC

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 23 / 37
DAC
R2R Netzwerk

Abbildung 8: R2R Netzwerk [2]

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 24 / 37
Unterabschnitt 2

ADC

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 25 / 37
ADC
A/D-Umsetzer: Sukzessive Approximation

Abbildung 9: Sukzessive Approximation [2]

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 26 / 37
ADC
A/D-Umsetzer im STM32F303RE

4 ADCs mit jeweils bis zu 17 gemultiplexten Eingangskanälen (einige


davon intern)
Auflösung: 12, 10, 8 oder 6 Bit (konfigurierbar)
Minimale Wandlungszeit: 0,19 µs (fast channel) bzw. 0,21 µs (slow
channel). Wandlungszeit pro Kanal (channel) konfigurierbar
Eingänge unipolar (single ended) oder differentiell (differential),
konfigurierbar
Einfache (single) oder sich wiederholende Wandlung (continuous)
Optional Scan-Modus (mehrere Kanäle werden in einstellbarer
Reihenfolge automatisch nacheinander gewandelt).
Start der Umsetzung u.a. durch externe Flanken, Timer, Software
Interrupts möglich
Referenzspannungen: VREF+ = VDDA = 3,3V, VREF − = GND
Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 27 / 37
ADC
ADC1: Eingänge

Abbildung 10: ADC1: Eingänge [2]

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 28 / 37
ADC
Sample-and-Hold-Schaltung

Abbildung 11: Sample-and-Hold-Schaltung [2]

Abtast-Halte-Schaltung
Bei uns: C ≈ 5pF, R ≤ 100 kΩ

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 29 / 37
ADC
Interner Temperatursensor

Intern verbunden mit ADC1


Temperatur = (V25 - U) / Avg Slope + 25
Typische Werte:
V25 ≈ 1,43V
Avg Slope ≈ 0,0043 V/◦ C
V25 und Avg Slope schwanken produktionsbedingt stark von Chip zu
Chip. Genauere Messung durch bei der Produktion im Chip
gespeicherte Kalibrierwerte möglich (hier nicht behandelt).

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 30 / 37
Unterabschnitt 3

Beispiele

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 31 / 37
ADC
Beispiel I

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 32 / 37
ADC
Beispiel II

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 33 / 37
ADC
Übungsaufgaben

1 Bestimme die Spannungs-Auflösung unseres A/D-Umsetzers (d. h. die


kleinste unterscheidbare Spannungsdifferenz) bei 10 Bits Auflösung.
2 Programmiere einen ”Eis-Warner”: Bei ”niedriger” Temperatur soll
eine LED leuchten.

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 34 / 37
Abschnitt 3

Anhang

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 35 / 37
Unterabschnitt 1

Quellen

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 36 / 37
Quellen I

Homepage von Herrn Prof. Dr. Gober


Linksammlung
https://prof.beuth-hochschule.de/gober/lehre/dokumentation-
mikrocontroller-stm32/
Unterlagen von Herrn Prof. Dr. Gober

Stephan Schulze (BHT Berlin / IAV GmbH) Termin 7.5 - MCT-2 16. November 2021 37 / 37

Das könnte Ihnen auch gefallen