我看了DMA的FIFO和节拍突发的介绍,感觉有点不理解,看了FIFO阀值配置,我认为的是:
1、每个数据流都有一个4个word的FIFO。
2、每个FIFO的阀值都可以设置为1/4 ,1/2 ,3/4 还有 1。故它的阀值可以从1个word~4个word。
3、DMA的数据流的通道的存储器节拍突发或者是外设节拍突发可以设置为1/4/8/16个节拍突发。
那么如果我把存储器数据长度设置为1个byte,而外设的数据长度是一个外设(32bit)数据寄存器。DMA的方向设置为存储器→外设,
然后开启FIFO,设置节拍突发为4,(4个节拍一次突发),问题来了:
1、我的FIFO的阀值是设置为1/4才正确吧?
2、如果我把阀值设置为1/2或者3/4或者1,那么会出现什么问题了?
3、为什么目标地址的数据长度最大是32比特,而FIFO可以设置成32/64/96/128比特了!(难道是为了以后兼容??)
4、或许是我理解错误了,这是我看完后对FIFO阀值和节拍突发的理解。(前辈大神们觉得了?)能不能给我点指导。!!万分感谢
(FIFO开启:源目标数据发送节拍突发次数都存在FIFO阀值中,然后一起发送给目标地址!!?)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>