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。
反之,则相反。