2266494_zh-CN

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

2266494_zh-CN

2266494_zh-CN

带 DMA 的 S32K358 传统 RX Fifo 与增强型 RX Fifo DMA 的对比

为什么 S32K3 RTD 不支持传统 Rx FIFO 的 DMA 批处理(主要循环> 1),而增强型 Rx FIFO 支持?

我使用的是带 Rx FIFO + DMA 的 S32K358 FlexCAN。在增强型 Rx FIFO 中,RTD 将 DMA 配置为小循环 = 80 字节,并允许通过 u32numofmbTransferbyDMA(N 帧)进行批处理,因此 DMA_COMPLETE 会在 N 帧之后触发。对于传统 Rx FIFO,因此 DMA_COMPLETE 发生在每个帧,没有批处理选项。

  • 传统 Rx FIFO 缺乏 DMA 批处理功能是 RTD 故意的设计选择,还是传统 FIFO 路径的硬件限制?
  • RTD 能否安全地支持传统 Rx FIFO 的带符号源偏移和主要循环> 1,以启用批处理?
  • 是否有建议的变通方法来降低传统 FIFO + DMA 的 IRQ 速率?

配置:S32K358,RTD 6.0.0、传统 Rx FIFO + DMA 与增强型 Rx FIFO + DMA。

Re: S32K358 Legacy RX Fifo with DMA vs enhanced RX Fifo DMA知道了有没有办法像增强型 rxFifo 那样,在 FIFO 深度(例如 5)之后获得 DMA 完成中断?目前,每次 DMA 从 Fifo 输出向 SRAM 传输可用帧后,我仍然会收到 DMA 完成中断。基于 u32NumOfMbTransferByDMA 配置的增强型 rx Fifo 支持这种情况。Re: S32K358 Legacy RX Fifo with DMA vs enhanced RX Fifo DMA

你好@saikiranG

传统 FIFO 是 K3 上保留的 K1 功能。

该传统 FIFO 的报文深度为 6,因此只能接收传统 CAN 2.0 报文,不能接收 CAN FD 报文。

这也与增强型 FIFO 功能互斥;如果启用了传统 FIFO,则无法启用增强型 FIFO。

演示供您参考:

https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-FlexCAN-Ip-TX-RX-EnhanceRXFIFO-DMA-...


Re: S32K358 Legacy RX Fifo with DMA vs enhanced RX Fifo DMA

你好@saikiranG

传统 FIFO 不支持水印配置(增强型 FIFO 支持水印配置)。

对于传统 FIFO,只要当前 FIFO 中有一个帧,就会产生 DMA 中断请求。

”

当至少有一个帧可从 FIFO 读取时,IFLAG1[BUF5I](传统 RX FIFO 中可用的帧)被置位。同时产生一个 DMA 请求。收到请求后,DMA 控制器即可读取信息(将传统 FIFO 的输出作为信息缓冲区访问)。

”

Tags (1)
No ratings
Version history
Last update:
‎12-24-2025 02:26 AM
Updated by: