UART FIFO How does it work?

Hello,

I am trying to understand the workings of the FIFO. Reading the Manual has left some question marks and the FSP documentation is no help.

I am refering to this example flow chart:

  • As I understand the FIFO buffer, it is possible to store up to 16 bytes in a fifo register.
  • It is possible to configure a trigger, which indicates when a certain amount of data is in the buffer.
  • When triggered, Data is read in SCI_nRXI but only as long as it does not fall under a certain threshold FCR.RTRG
  • After Reading Data until threshold is hit, it is somehow decided if all data is received.

My questions:

One:

In Step 5: What is the condition that all data is received? Is it the amount of data I as a user am specifiying in the fsp read routine RM_COMMS_UART_Read?

Two:

Do I understand it correct, that if the fifo trigger occurs,the amount of data read is [amount above +1]? For example the trigger value is 4. When 4 bytes are in the fifo -> trigger -> 1 byte read -> continue?

Three:

From the FSP documentation:

Only if the trigger is set to 15 bytes the timeout is implemented?  There is no timeout when setting the trigger to another value? This confuses me because the manual states this:

From my understanding the timeout is always set.

Four:

Can you point me to an example or use-case where a FIFO buffer would be useful?

Thank you in advance for your time and effort Slight smile

Best Regards Joe