Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
162
Добавлен:
01.03.2016
Размер:
3.56 Mб
Скачать

RM0016

Universal asynchronous receiver transmitter (UART)

 

 

Noise error

Frame error

Parity error

6 interrupt sources with flags

Transmit data register empty

Transmission complete

Receive data register full

Idle line received

Overrun error

Framing error or noise flag

2 interrupt vectors

Transmitter interrupt

Receiver interrupt when register is full

Reduced power consumption mode

Multi-Processor communication - enter into mute mode if address match does not occur

Wakeup from mute mode (by idle line detection or address mark detection)

2 receiver wakeup modes:

Address bit (MSB)

Idle line

22.3UART functional description

The interface is externally connected to another device by two or three pins (see Figure 110: UART1 block diagram, Figure 111: UART2 block diagram and Figure 112: UART3 block diagram). Any UART bidirectional communication requires a minimum of two pins: UART Receive data input (UART_RX) and UART transmit data output (UART_TX):

UART_RX is the serial data input. Over-sampling techniques are used for data recovery by discriminating between valid incoming data and noise.

UART_TX is the serial data output. When the transmitter is disabled, the output pin returns to its I/O port configuration. When the transmitter is enabled and nothing is to be transmitted, the pin is at high level.

Through these pins, serial data is transmitted and received in normal UART mode as frames comprising:

An Idle Line prior to transmission or reception

A start bit

A data word (8 or 9 bits) least significant bit first

1, 1.5 and 2 Stop bits indicating that the frame is complete

A status register (UART_SR)

Data Register (UART_DR)

16-bit baud rate prescaler (UART_BRR)

Guard time Register for use in Smartcard mode

Refer to the register description for the definitions of each bit.

Doc ID 14587 Rev 9

309/454

Universal asynchronous receiver transmitter (UART)

RM0016

 

 

The following pin is required to interface in synchronous mode:

UART_CK: Transmitter clock output. This pin outputs the transmitter data clock for synchronous transmission (no clock pulses on start bit and stop bit, and a software option to send a clock pulse on the last data bit). This can be used to control peripherals that have shift registers (e.g. LCD drivers). The clock phase and polarity are software programmable.

The UART_RX and UART_TX pins are used in IrDA mode as follows:

UART_RX = IrDA_RDI: Receive Data Input in IrDA mode

UART_TX = IrDA_TDO: Transmit Data Output in IrDA mode

Figure 110. UART1 block diagram

 

 

 

 

MCU bus

 

 

 

 

 

 

 

 

 

 

 

 

 

Write

 

 

Read

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART1_DR(DATA REGISTER)

 

 

 

 

Transmit Data Register (TDR)

 

Receive Data Register (RDR)

 

 

 

 

 

 

UART1_TX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Transmit Shift Register

 

Receive Shift Register

 

 

 

 

 

 

UART1_RX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART1_CK

 

 

 

 

 

 

 

 

 

 

UART_CK CONTROL

 

 

 

UART1_GTR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GUARD TIME REGISTER

 

 

 

 

 

 

 

 

 

 

 

UART1_CR5

 

 

UART1_CR3

 

 

 

 

 

 

 

 

-

-

SCEN NACK HDSEL IRLP IREN

-

-

LINEN STOP BITS

CLKEN CPOL CPHA

LBCL

IrDA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SIR ENDEC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BLOCK

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART1_CR4

 

 

UART1_CR1

 

 

 

 

 

 

 

 

 

-

LBDIEN LBDL LBDF

ADD

 

R8

T8

UARTD

M

WAKE PCEN

PS

PIEN

 

UART1_BRR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fMASTER

BAUD RATE

 

TRANSMIT

WAKE_UP

 

 

RECEIVER

 

 

 

 

 

GENERATOR

 

 

UNIT

 

 

 

 

 

 

 

 

CONTROL

 

 

CONTROL

 

 

 

 

 

UART1_CR2

 

 

 

 

 

 

 

 

 

 

 

 

 

TIEN TCIEN RIEN ILIEN TEN REN RWU SBK

 

TXE

TC

RXNE IDLE

OR

NF

FE

PE

 

 

 

 

 

 

 

 

 

 

 

 

 

UART1_SR

 

 

 

 

INTERRUPT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CONTROL

 

 

 

 

 

 

 

 

 

 

 

 

310/454

Doc ID 14587 Rev 9

RM0016

Universal asynchronous receiver transmitter (UART)

 

 

Figure 111. UART2 block diagram

 

 

 

 

 

 

 

MCU bus

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Write

 

 

 

 

Read

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART2_DR(DATA REGISTER)

 

 

 

 

 

Transmit Data Register (TDR)

 

Receive Data Register (RDR)

 

 

 

 

 

 

UART2_TX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Transmit Shift Register

 

Receive Shift Register

 

 

 

 

 

 

UART2_RX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART2_CK

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART2_CK CONTROL

 

 

 

 

UART2_GTR

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GUARD TIME REGISTER

 

 

 

 

 

 

 

 

 

 

 

 

 

UART2_CR5

 

 

 

 

 

UART2_CR3

 

 

 

 

 

 

 

 

 

-

-

SCEN NACK

-

IRLP IREN

-

 

-

LINEN STOP BITS

CLKEN CPOL CPHA

LBCL

IrDA

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SIR ENDEC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BLOCK

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART2_CR4

 

 

 

 

 

UART2_CR1

 

 

 

 

 

 

 

 

 

 

-

LBDIEN LBDL LBDF

ADD

 

 

R8

T8

UARTD

M

WAKE PCEN

PS

PIEN

 

 

 

 

TRANSMIT

 

 

WAKE_UP

 

 

 

RECEIVER

 

 

 

 

 

 

 

 

 

 

 

UNIT

 

 

 

 

 

 

 

 

 

 

 

CONTROL

 

 

 

 

 

CONTROL

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART2_CR2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TIEN TCIEN RIEN ILIEN TEN

 

REN RWU SBK

 

TXE

TC

RXNE IDLE

OR

NF

FE

PE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART2_SR

 

 

 

 

 

INTERRUPT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CONTROL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TEN

 

TRANSMITTER RATE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CONTROL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART2_BRR1

 

 

 

 

 

 

 

 

 

/UARTDIV

 

 

 

 

 

UARTDIV[11:4]

 

 

 

 

 

 

 

 

 

 

 

 

fMASTER

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART2_BRR2

 

 

 

 

 

 

 

AUTOMATIC RESYNCHRONIZATION

 

 

UARTDIV[15:12]

 

UARTDIV[3:0]

 

 

 

 

 

 

 

 

 

UNIT

 

 

 

 

 

4

3

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

UART2_CR6

 

 

 

 

 

RECEIVER RATE

 

 

 

 

 

 

 

LDUM

LSLV

LASE

 

LHIEN LHDF LSF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

REN

 

 

 

 

CONTROL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Doc ID 14587 Rev 9

311/454

Universal asynchronous receiver transmitter (UART)

RM0016

 

 

Figure 112. UART3 block diagram

 

Write

 

 

Read

 

(DATA REGISTER) UART3_DR

 

Transmit Data Register (TDR)

 

Receive Data Register (RDR)

 

 

UART3_TX

 

 

 

 

 

 

 

 

 

 

 

 

Transmit Shift Register

 

Receive Shift Register

 

 

UART3_RX

 

 

 

 

 

 

 

 

 

 

 

 

UART3_CR4

 

 

 

 

 

 

UART3_CR3

 

LBDIEN LBDL LBDF ADD[3:0]

 

 

LINEN

STOP[1:0]

 

 

 

 

 

 

 

 

 

 

UART2_CR1

 

 

 

 

R8

T8

UARTD

M

WAKE PCEN

PS

PIEN

 

 

TRANSMITTER

TRANSMIT

WAKE

 

 

 

 

 

 

 

 

 

UP

 

 

 

 

RECEIVER

 

RECEIVER

CLOCK

CONTROL

UNIT

 

 

 

 

CONTROL

 

CLOCK

 

 

 

 

 

 

 

 

 

 

 

UART3_CR2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OR/

 

 

TIEN TCIEN RIEN ILIEN TEN REN RWU SBK

 

TXE

TC

RXNE IDLE

LHE NF

FE

PE

 

 

 

 

 

 

 

 

 

UART3_SR

 

 

INTERRUPT

 

 

 

 

 

 

 

 

 

 

 

CONTROL

 

 

 

 

 

 

 

 

 

 

 

 

 

TEN

 

TRANSMITTER RATE

 

 

 

 

 

 

 

 

 

CONTROL

 

 

 

 

 

 

 

 

 

 

 

UART3_BRR1

 

 

/UARTDIV

 

 

 

 

 

UARTDIV[11:4]

 

 

 

 

fMASTER

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UART3_BRR2

 

AUTOMATIC RESYNCHRONIZATION

 

 

UARTDIV[15:12]

 

UARTDIV[3:0]

 

 

UNIT

 

 

 

 

 

4

3

 

0

 

 

 

 

 

7

 

 

 

 

 

 

UART3_CR6

 

 

 

 

 

RECEIVER RATE

 

LDUM

LSLV LASE

LHIEN LHDF LSF

 

 

 

 

 

 

 

REN

 

 

 

 

CONTROL

 

 

 

 

 

 

 

 

 

 

 

 

312/454

Doc ID 14587 Rev 9

Соседние файлы в папке Минимум документации STM8_1