Atmel ARM-Based Evaluation Kit for SAM4S16C, 32-Bit ARM® Cortex® Microcontroller ATSAM4S-WPIR-RD ATSAM4S-WPIR-RD Data Sheet

Product codes
ATSAM4S-WPIR-RD
Page of 1231
SAM4S Series [DATASHEET]
Atmel-11100G-ATARM-SAM4S-Datasheet_27-May-14
780
receiver or the transmitter as desired. Enabling both the receiver and the transmitter at the same time in ISO7816 
mode may lead to unpredictable results.
The ISO7816 specification defines an inverse transmission format. Data bits of the character must be transmitted 
on the I/O line at their negative value.
36.7.4.2 Protocol T = 0
In T = 0 protocol, a character is made up of one start bit, eight data bits, one parity bit and one guard time, which 
lasts two bit times. The transmitter shifts out the bits and does not drive the I/O line during the guard time. 
If no parity error is detected, the I/O line remains to 1 during the guard time and the transmitter can continue with 
the transmission of the next character, as shown in 
If a parity error is detected by the receiver, it drives the I/O line to 0 during the guard time, as shown in 
. This error bit is also named NACK, for Non Acknowledge. In this case, the character lasts 1 bit time more, as 
the guard time length is the same and is added to the error bit time which lasts 1 bit time. 
When the USART is the receiver and it detects an error, it does not load the erroneous character in the Receive 
Holding register (US_RHR). It appropriately sets the PARE bit in the Status register (US_SR) so that the software 
can handle the error.
Figure 36-31. T = 0 Protocol without Parity Error 
Figure 36-32. T = 0 Protocol with Parity Error 
Receive Error Counter
The USART receiver also records the total number of errors. This can be read in the Number of Error (US_NER) 
register. The NB_ERRORS field can record up to 255 errors. Reading US_NER automatically clears the 
NB_ERRORS field. 
Receive NACK Inhibit
The USART can also be configured to inhibit an error. This can be achieved by setting the INACK bit in US_MR. If 
INACK is to 1, no error signal is driven on the I/O line even if a parity bit is detected. 
Moreover, if INACK is set, the erroneous received character is stored in the Receive Holding register, as if no error 
occurred and the RXRDY bit does rise.
Transmit Character Repetition
When the USART is transmitting a character and gets a NACK, it can automatically repeat the character before 
moving on to the next one. Repetition is enabled by writing the MAX_ITERATION field in the US_MR at a value 
higher than 0. Each character can be transmitted up to eight times; the first transmission plus seven repetitions. 
D0
D1
D2
D3
D4
D5
D6
D7
RXD
Parity
Bit
Baud Rate
Clock
Start 
Bit
Guard
Time 1
Next 
Start 
Bit
Guard
Time 2
D0
D1
D2
D3
D4
D5
D6
D7
I/O
Parity
Bit
Baud Rate
Clock
Start
Bit
Guard
Time 1
Start 
Bit
Guard
Time 2
D0
D1
Error
Repetition