S32K312 uart AsyncReceive callback event is always error when SPI DMA transfer mass data

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S32K312 uart AsyncReceive callback event is always error when SPI DMA transfer mass data

144件の閲覧回数
gan89557
Contributor I

Hello, 

S32K312 S32DS3.5 RTD4.0.0 project, SPI0 and SPI1 work with DMA mode, and UART1 work with Interrupt mode.

UART1 work well when sync send or async receive a frame  of 12 bytes.

But uart AsyncReceive callback event is always error when SPI DMA transfer mass data.

Any suggestion?

0 件の賞賛
返信
2 返答(返信)

46件の閲覧回数
gan89557
Contributor I

Yes, It is the Interrupt Priority Issue, Uart1 works after Raising it's Priority.

Thanks so much!

0 件の賞賛
返信

54件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

there can be below possible reasons for UART Async Receive Errors during SPI DMA bursts:

1. Interrupt Priority Issue

- UART RX interrupt is not serviced quickly because DMA completion or other ISRs have equal or higher priority.
- Result: UART RX FIFO overflows → overrun or framing error.

Ensure LPUART1_IRQn has higher priority (numerically lower) than all DMA-related IRQs (e.g., DMATCDx_IRQn). Confirm interrupt grouping allows preemption.

2. Bus Occupation by DMA

- eDMA channels for SPI can saturate the AXBS crossbar during large bursts.
- CPU and peripheral register accesses (including UART RX handling) are delayed, increasing ISR latency.

Configure SPI DMA channels to allow eDMA engine stalls (BWC setting)
 
BR, Petr

 

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2261799%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K312%20uart%20AsyncReceive%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E6%83%85%E5%A0%B1%E3%81%AF%E3%80%81SPI%20DMA%E3%81%8C%E5%A4%A7%E9%87%8F%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E8%BB%A2%E9%80%81%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E5%B8%B8%E3%81%AB%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2261799%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3ES32K312%20S32DS3.5%20RTD4.0.0%20%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E3%81%AF%E3%80%81SPI0%20%E3%81%A8%20SPI1%20%E3%81%AF%20DMA%20%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%97%E3%80%81UART1%20%E3%81%AF%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EUART1%20%E3%81%AF%E3%80%8112%20%E3%83%90%E3%82%A4%E3%83%88%E3%81%AE%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%82%92%E5%90%8C%E6%9C%9F%E9%80%81%E4%BF%A1%E3%81%BE%E3%81%9F%E3%81%AF%E9%9D%9E%E5%90%8C%E6%9C%9F%E5%8F%97%E4%BF%A1%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AB%E6%AD%A3%E5%B8%B8%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%97%E3%81%8B%E3%81%97%E3%80%81SPI%20DMA%20%E3%81%8C%E5%A4%A7%E9%87%8F%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E8%BB%A2%E9%80%81%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%80%81uart%20AsyncReceive%20%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E6%83%85%E5%A0%B1%E3%81%AF%E5%B8%B8%E3%81%AB%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E4%BD%95%E3%81%8B%E6%8F%90%E6%A1%88%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2262870%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K312%20%20uart%20AsyncReceive%20callback%20event%20is%20always%20error%20when%20SPI%20DMA%20transfer%20mass%20data%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2262870%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%AF%E3%81%84%E3%80%81%E3%81%9D%E3%82%8C%E3%81%AF%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E5%84%AA%E5%85%88%E5%BA%A6%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%A7%E3%81%99%E3%80%82Uart1%20%E3%81%AF%E5%84%AA%E5%85%88%E5%BA%A6%E3%82%92%E4%B8%8A%E3%81%92%E3%81%9F%E5%BE%8C%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E6%9C%AC%E5%BD%93%E3%81%AB%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2262730%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K312%20%20uart%20AsyncReceive%20callback%20event%20is%20always%20error%20when%20SPI%20DMA%20transfer%20mass%20data%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2262730%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%0A%3CDIV%3E%0A%3CP%3ESPI%20DMA%20%E3%83%90%E3%83%BC%E3%82%B9%E3%83%88%E4%B8%AD%E3%81%AE%20UART%20%E9%9D%9E%E5%90%8C%E6%9C%9F%E5%8F%97%E4%BF%A1%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AE%E5%8E%9F%E5%9B%A0%E3%81%A8%E3%81%97%E3%81%A6%E3%81%AF%E3%80%81%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%81%93%E3%81%A8%E3%81%8C%E8%80%83%E3%81%88%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E1.%20%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E5%84%AA%E5%85%88%E5%BA%A6%E3%81%AE%E5%95%8F%E9%A1%8C%3C%2FP%3E%0A%3CP%3E-%20DMA%20%E5%AE%8C%E4%BA%86%E3%81%BE%E3%81%9F%E3%81%AF%E4%BB%96%E3%81%AE%20ISR%20%E3%81%AE%E5%84%AA%E5%85%88%E5%BA%A6%E3%81%8C%E5%90%8C%E7%AD%89%E3%81%8B%E3%81%9D%E3%82%8C%E4%BB%A5%E4%B8%8A%E3%81%A7%E3%81%82%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81UART%20RX%20%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%AF%E3%81%99%E3%81%90%E3%81%AB%E3%81%AF%E5%87%A6%E7%90%86%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3CBR%20%2F%3E%3CSPAN%3E-%20%E7%B5%90%E6%9E%9C%3A%20UART%20RX%20FIFO%20%E3%81%8C%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%83%AD%E3%83%BC%20%E2%86%92%20%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%83%B3%E3%81%BE%E3%81%9F%E3%81%AF%E3%83%95%E3%83%AC%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0%20%E3%82%A8%E3%83%A9%E3%83%BC%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3ELPUART1_IRQn%20%E3%81%8C%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%20DMA%20%E9%96%A2%E9%80%A3%20IRQ%20(%E4%BE%8B%3A%20DMATCDx_IRQn)%20%E3%82%88%E3%82%8A%E3%82%82%E9%AB%98%E3%81%84%E5%84%AA%E5%85%88%E5%BA%A6%20(%E6%95%B0%E5%80%A4%E7%9A%84%E3%81%AB%E4%BD%8E%E3%81%84)%20%E3%82%92%E6%8C%81%E3%81%A4%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%E5%8C%96%E3%81%AB%E3%82%88%E3%82%8A%E3%83%97%E3%83%AA%E3%82%A8%E3%83%B3%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%8C%E8%A8%B1%E5%8F%AF%E3%81%95%E3%82%8C%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E2.%20DMA%E3%81%AB%E3%82%88%E3%82%8B%E3%83%90%E3%82%B9%E3%81%AE%E5%8D%A0%E6%9C%89%3C%2FP%3E%0A%3CP%3E-%20SPI%20%E3%81%AE%20eDMA%20%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AF%E3%80%81%E5%A4%A7%E3%81%8D%E3%81%AA%E3%83%90%E3%83%BC%E3%82%B9%E3%83%88%E4%B8%AD%E3%81%AB%20AXBS%20%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%90%E3%83%BC%E3%82%92%E9%A3%BD%E5%92%8C%E3%81%95%E3%81%9B%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E-%20CPU%20%E3%81%8A%E3%82%88%E3%81%B3%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%20%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%20%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%20(UART%20RX%20%E5%87%A6%E7%90%86%E3%82%92%E5%90%AB%E3%82%80)%20%E3%81%8C%E9%81%85%E5%BB%B6%E3%81%95%E3%82%8C%E3%80%81ISR%20%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%E3%81%8C%E5%A2%97%E5%8A%A0%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CDIV%3EeDMA%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3%E3%81%AE%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%92%E8%A8%B1%E5%8F%AF%E3%81%99%E3%82%8B%E3%82%88%E3%81%86%E3%81%ABSPI%20DMA%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%82%92%E6%A7%8B%E6%88%90%E3%81%99%E3%82%8B%EF%BC%88BWC%E8%A8%AD%E5%AE%9A%EF%BC%89%3C%2FDIV%3E%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%3EBR%E3%80%81%E3%83%9A%E3%83%88%E3%83%AB%3C%2FDIV%3E%0A%3CBR%20%2F%3E%0A%3C%2FDIV%3E%3C%2FLINGO-BODY%3E