You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DMA传输后FIFO流数据丢失问题:是否与突发大小相关?

DMA FIFO数据丢失问题分析

问题与突发大小的关联

该问题大概率与突发大小配置或处理逻辑相关,从数据变化来看,单次4字节读请求触发了远超预期的FIFO计数减少,符合突发操作未被正确管控的特征。

可能的诱因

  • DMA突发读配置不匹配:若DMA控制器默认配置了大于1的突发读长度,即使PS发起的是单4字节读请求,DMA仍会按预设突发长度从FIFO读取数据。PS仅接收首个4字节,剩余数据未被正确处理(如丢弃、未回传),但FIFO计数已减去整个突发长度,导致计数与实际剩余数据不符。
  • FIFO计数更新逻辑错误:FIFO的已用空间计数(即写入计数)在处理读请求时,未按实际读取的单元数更新,而是直接减去了DMA配置的突发长度。比如无论实际读取1个还是N个单元,计数都固定减去预设突发值,导致计数与实际剩余数据出现偏差。
  • AXI总线突发属性误转换:PS发起的单周期读请求被AXI总线或桥接模块强制转换为突发读操作,FIFO响应了整个突发读请求,而PS端仅接收了第一个数据Beat,剩余数据丢失,同时FIFO计数已扣除全部突发读取的单元数。
  • FIFO读指针跳转异常:当FIFO处于满状态时,突发读操作触发了读指针的错误跳转(如指针未按实际读取步长递增,而是一次性跳过大量地址),导致大量数据被标记为已读取但实际未被传输,计数同步错误更新。
  • 同步信号时序问题:DMA读使能、FIFO空满信号的同步逻辑存在时序偏差,导致突发读过程中FIFO被连续读取多个周期,超出PS请求的1个单元,剩余数据未被PS接收而丢失,同时FIFO计数正确扣除了实际读取的总量。

内容的提问来源于stack exchange,提问作者Sujan SM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 00:59:59