User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 589
UG585 (v1.11) September 27, 2016
Chapter 19: UART Controller
When a valid start bit is identified, the receiver baud rate clock enable (baud_rx_rate) is
re-synchronised so that further sampling of the incoming UART RxD signal occurs around the
theoretical mid-point of each bit, as illustrated in Figure 19-6.
When the re-synchronised baud_rx_rate is High, the last three sampled bits are compared. The logic
value is determined by majority voting; two samples having the same value define the value of the
data bit. When the value of a serial data bit has been determined, it is shifted to the receive shift
register. When a complete character has been assembled, the contents of the register are then
pushed to the RxFIFO.
Receiver Parity Error
Each time a character is received, the receiver calculates the parity of the received data bits in
accordance with the uart.mode_reg0 [PAR] bit field. It then compares the result with the received
parity bit. If a difference is detected, the parity error bit is set = 1, uart.Chnl_int_sts_reg0 [PARE]. An
interrupt is generated, if enabled.
Receiver Framing Error
When the receiver fails to receive a valid stop bit at the end of a frame, the frame error bit is set =1,
uart.Chnl_int_sts_reg0 [FRAME]. An interrupt is generated, if enabled.
Receiver Overflow Error
When a character is received, the controller checks to see if the RxFIFO has room. If it does, then the
character is written into the RxFIFO. If the RxFIFO is full, then the controller waits. If a subsequent
start bit on RxD is detected and the RxFIFO is still full, then data is lost and the controller sets the Rx
overflow interrupt bit, uart.Chnl_int_sts_reg0 [ROVR] = 1. An interrupt is generated, if enabled.
Receiver Timeout Mechanism
The receiver timeout mechanism enables the receiver to detect an inactive RxD signal (a persistent
High level). The timeout period is programmed by writing to the uart.Rcvr_timeout_reg0 [RTO] bit
field. The timeout mechanism uses a 10-bit decrementing counter. The counter is reloaded and starts
counting down whenever a new start bit is received on the RxD signal, or whenever software writes
a 1 to uart.Control_reg0 [RSTTO] (regardless of the previous [RSTTO] value).
X-Ref Target - Figure 19-6
Figure 19-6: Re-synchronized Receiver Data Stream
baud_sample
baud_rx_rate
rxd
12345678
Data Bit
9 10111213141516 1 2
UG585_c19_06_022612