2261799_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2261799_ja-JP

2261799_ja-JP

S32K312 uart AsyncReceiveコールバックイベント情報は、SPI DMAが大量のデータを転送するときに常にエラーになります。

こんにちは、

S32K312 S32DS3.5 RTD4.0.0 プロジェクトでは、SPI0 と SPI1 は DMA モードで動作し、UART1 は割り込みモードで動作します。

UART1 は、12 バイトのフレームを同期送信または非同期受信するときに正常に動作します。

しかし、SPI DMA が大量のデータを転送する場合、uart AsyncReceive イベント情報は常にエラーになります。

何か提案はありますか?

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

はい、それは割り込み優先度の問題です。Uart1 は優先度を上げた後に動作します。

本当にありがとう!

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

こんにちは、

SPI DMA バースト中の UART 非同期受信エラーの原因としては、以下のことが考えられます。

1. 割り込み優先度の問題

- DMA 完了または他の ISR の優先度が同等かそれ以上であるため、UART RX 割り込みはすぐには処理されません。
- 結果: UART RX FIFO がオーバーフロー → オーバーランまたはフレーミング エラー。

LPUART1_IRQn がすべての DMA 関連 IRQ (例: DMATCDx_IRQn) よりも高い優先度 (数値的に低い) を持つことを確認します。割り込みグループ化によりプリエンプションが許可されることを確認します。

2. DMAによるバスの占有

- SPI の eDMA チャネルは、大きなバースト中に AXBS クロスバーを飽和させる可能性があります。
- CPU およびペリフェラル レジスタ アクセス (UART RX 処理を含む) が遅延され、ISR レイテンシが増加します。

eDMAエンジンのストールを許可するようにSPI DMAチャネルを構成する(BWC設定)
 
BR、ペトル

Tags (1)
No ratings
Version history
Last update:
‎12-16-2025 05:44 AM
Updated by: