
Universal synchronous asynchronous receiver transmitter (USART)
RM0008
782/1096
Doc ID 13902 Rev 12
Apart from this, the communications are similar to what is done in normal USART mode.
The conflicts on the line must be managed by the software (by the use of a centralized
arbiter, for instance). In particular, the transmission is never blocked by hardware and
continue to occur as soon as a data is written in the data register while the TE bit is set.
27.3.11 Smartcard
The Smartcard mode is selected by setting the SCEN bit in the USART_CR3 register. In
smartcard mode, the following bits must be kept cleared:
●
LINEN bit in the USART_CR2 register,
●
HDSEL and IREN bits in the USART_CR3 register.
Moreover, the CLKEN bit may be set in order to provide a clock to the smartcard.
The Smartcard interface is designed to support asynchronous protocol Smartcards as
defined in the ISO 7816-3 standard. The USART should be configured as:
●
8 bits plus parity: where M=1 and PCE=1 in the USART_CR1 register
●
1.5 stop bits when transmitting and receiving : where STOP=’11’ in the USART_CR2
register.
Note:
It is also possible to choose 0.5 stop bit for receiving but it is recommended to use 1.5 stop
bits for both transmitting and receiving to avoid switching between the two configurations.
shows examples of what can be seen on the data line with and without parity
error.
Figure 291. ISO 7816-3 asynchronous protocol
When connected to a smartcard, the TX output of the USART drives a bidirectional line that
the smartcard also drives into. To do so, SW_RX must be connected on the same IO than
TX at product level. The Transmitter output enable TX_EN is asserted during the
transmission of the start bit and the data byte, and is deasserted during the stop bit (weak
pull up), so that the receive can drive the line in case of a parity error. If TX_EN is not used,
TX is driven at high level during the stop bit: Thus the receiver can drive the line as long as
TX is configured in open-drain.
S
0
1
2
3
5
4
6
7
P
Start
bit
Guard time
S
0
1
2
3
5
4
6
7
P
Start
bit
Line pulled low
by receiver during stop in
case of parity error
Guard time
Without Parity error
With Parity error