首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

DMA中fifo的一些疑问解决方案

2012-06-17 
DMA中fifo的一些疑问hi 大家好:我有个疑问希望高手给以指点。DAM控制寄存器中的fifo我设置了上限和下限。thr

DMA中fifo的一些疑问
hi 大家好:

  我有个疑问希望高手给以指点。
  DAM控制寄存器中的fifo我设置了上限和下限。threshold-low和threshold-high。
  这个时候是怎么理解?
  fifo容量低于threshold-low触发DMA。还是超过threshold-high触发?

  low<fifo<high
  fifo<low && fifo>high

  怎么理解这个上下限的问题?

谢谢。

[解决办法]
FIFO的上下限的 意义在于 对读写跨时钟域的情况下 避免亚稳态带来的 数据错误的影响。如果是同步读写下,或者工作于同时钟源下,基本不需要 设置上下限,空满 就可以满足要求。

对于>threshold-high需要进行禁止写 或者 放慢写的速度。
对于<threshold-low需要进行禁止读 或者 放慢读的速度。

具体的 触发DMA在于 你这里是DMA写入还是 读出。如果是 需要 把FIFO中的数据 DMA 出去的话 
触发DMA就应该是 threshold-high触发DMA,threshold-low终止DMA。
反之,则相反。

热点排行