This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RM46L852, SCI+DMA behavior when error detected during reception

Other Parts Discussed in Thread: RM46L852

On RM46L852 TRM chapter 29.4.1 says in using SCI with DMA:

The receiver DMA request is set when a frame is received successfully and DMA functionality has been previously enabled. The RXRDY flag is set when the SCI transfers newly received data from the SCIRXSHF register to the SCIRD buffer. The RXRDY flag therefore indicates that the SCI has new data to

be read. Receive DMA requests are enabled by the SET RX INT bit.

Parity, overrun, break detect, wake-up, and framing errors generate an error interrupt request immediately upon detection, if enabled, even if the device is in the process of a DMA data transfer. The DMA transfer is postponed until the error interrupt is served. The error interrupt can delete this particular DMA request by reading the receive buffer.

 There is mentioned that DMA is postponed until error interrupt is served. Does this mean that SCI peripheral creates the DMA request only after error interrupt handler has been served and if data is still pending in the receive buffer? What about situation if error interrupts are not enabled. Will data then be overwritten by the next data and thus this erroneous data will be discarded?

And will this behave  similarly with both SCI only capable peripheral and SCI/LIN peripheral? As for SCI/LIN peripheral there is figure 28-8 where there is AND port for received data + “no error” signal. So this would then be inline that DMA request will not be made if there is error on reception. (This figure is in multibuffer mode section, but the figure itself includes switch “not MBUF MODE, so I interpret that this is how it works in not multibuffer mode as well).

  • Good question. I think if the error flags are not cleared, there will be no more DMA requests. I also agree this applies to single buffer mode. I need to confirm this with Charles when he gets back from vacation next week.