SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
The PRUSS_UART0 receiver section includes a receiver shift register (RSR) and a receiver buffer register (RBR) mapped in PRUSS_UART_RBR_THR_REGISTERS [7:0] DATA bitfield. When the PRUSS_UART0 is in the FIFO mode, RBR is a 16-byte FIFO. Timing is supplied by the 16× receiver clock. Receiver section control is a function of the PRUSS_UART0 line control register PRUSS_UART_LINE_CONTROL_REGISTER. Based on the settings chosen in this register, the PRUSS_UART0 receiver accepts the following from the transmitting device:
RSR receives the data bits from the UART0_RXD pin. Then RSR concatenates the data bits and moves the resulting value into RBR (or the receiver FIFO), accessible in the PRUSS_UART_RBR_THR_REGISTERS [7:0] DATA register bitfield. The PRUSS_UART0 also stores three bits of error status information next to each received character, to record a parity error, framing error, or break.
In the non-FIFO mode, when a character is placed in RBR and the receiver data-ready interrupt is enabled in the interrupt enable register - PRUSS_UART_INTERRUPT_ENABLE_REGISTER, an interrupt is generated. This interrupt is cleared when the character is read from RBR. In the FIFO mode, the interrupt is generated when the FIFO is filled to the trigger level selected in the FIFO control MSB part of the register PRUSS_UART_INTERRUPT_IDENTIFICATION_REGISTER_FIFO_CONTROL_REGISTER, and it is cleared when the FIFO contents drop below the trigger level.