USART/ UART STM32F304 - Discovery



USART / UART STM32F304 - Discovery

Das STM32F4 – Discovery stellt vier USART (USART1, USART2, USART3 und USART6)  und zwei UART  (UART4 und UART5) Schnittstellen zur Verfügung.

UART:                   Universal Asynchronous Receiver Transmitters

USART:                 Universal Synchronous/Asynchronous Receiver Transmitters

Beim synchronen Betrieb wird eine Taktleitung zwischen den Kommunikationspartnern zum Synchronisieren benötigt. Beim asynchronen Betrieb erzeugen beide Kommunikationspartner ihren eigenen Takt, der über das Startbit angeglichen wird. Eine USART-Schnittstelle kann auch als UART-Schnittstelle benutzt werden.

Für unser System mit Lichtwellenleitern kommt nur der asynchrone Betrieb in Frage, da für den Takt ein weiterer Lichtwellenleiter benötigt werden würde.

Funktionsweise

Für den bidirektionalen Datenaustausch werden zwei Leitungen benötigt. Es gibt eine Sendeleitung Tx und eine Empfangsleitung Rx.

Es werden 2 Lichtwellenleiter, 2 Sender und 2 Empfänger benötigt.

µC1  ->  Tx1  ->    Sender1     ->  LWL1  ->  Empfänger2  ->  Rx2  ->  µC2

µC1  <-  Rx1  <-  Empfänger1  <-  LWL2  <-    Sender2     <-  Tx2  <-  µC2

Als Protokoll wählen wir:

1 Startbit

8 Datenbit

1 Stoppbit


Quelle: wikipedia.de

Pin-Belegung Discovery Board / E-Volo:

In nachfolgender Tabelle werden die einzelnen USART / UART – Schnittstellen des Discovery Boards angegeben. Die grau hinterlegten Pins sind im Datenblatt des Discovery Boards als freie Pins deklariert.

USARTx USART1 USART2 USART3 UART4 UART5 USART6
Tx/Rx Tx Rx Tx Rx Tx Rx Tx Rx Tx Rx Tx Rx
  PA9 PA10 PA2 PA3 PB10 PB11 PA0 PA1 PC12 PD2 PC6 PC7
PB6 PB7 PD5 PD6 PC10 PC11 PC10 PC11
          PD8 PD9            
E-Volo
(vorschlag)
        PD8 PD9 PC10 PC11 PC12 PD2 PC6 PC7

grau  =  freie Pins auf dem Discovery Board
rot    =  Laut Portbelegungsplan für das neue Platinenlayout schon verwendet

Laut Portbelegungsplan der Gruppe ARM Platinenlayout können somit USART3, UART4, UART5 und USART6 für die neu zu entwickelnde Platine verwendet werden. Somit könnten bis zu 4 Direktverbindungen zu anderen Boards verwendet werden.

Ergebnis der letzten Besprechung mit Team ARM Platinenlayout war, dass für das neue Layout UART4 und UART5 zur Kommunikation über LWL eingeplant wird.

Für unsere Anwendung mit dem Discoveryboard steht USART2 und USART3 zur Verfügung.  

! Achtung:          USART3 und UART4 können beide auf PC10 und PC11 gelegt werden.

! Achtung:          UART5 benötigt einen Pin am Port C und einen Pin am Port D

! Achtung:          Nur USART1 und USART6 liegt auf dem „high-speed“ APB2-Bus, bei der Berechnung der Baudrate beachten.

Übertragungsgeschwindigkeit:

Zur Übertragungsgeschwindigkeit ist zu sagen, dass die Schnittstellen auf unterschiedlichen Bussen liegen.
USART1 und USART6 liegen auf dem schnelleren APB2 Bus.  Die anderen liegen auf dem etwas langsameren
APB1 Bus.
 
Maximale Baudrate die bei einem Oversampling von 8 erreicht werden kann:
- (USART1 APB2 Clock / 8) = (84 MHz / 8) = 10500000 baud  // Gilt für USART1 und USART6
- (USART3 APB1 Clock / 8) = (42 MHz / 8) = 5250000 baud    // Gilt für USART2 USART3 UART4 UART5

Alternativ kann dies auch im Datenblatt auf Seite 32 nachgelesen werden (Table 4. USART feature comparison)

In einer ersten Messung mit Kupferkabel anstatt LWL konnte eine Baudrate von 5250000Bits/s mit dem OSZI nachgemessen (USART2 - siehe LWL-Modultest)

Den Lichtwellenleiter können wir somit mit bis zu 5MBit/s betreiben. 

Bilder:

http://de.wikipedia.org/wiki/USART