STM32F407的DMA----FIFO阀值和节拍突发

2019-07-20 04:31发布

    我看了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阀值中,然后一起发送给目标地址!!?)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-20 05:43
 精彩回答 2  元偷偷看……
菜鸟爱学习
2楼-- · 2019-07-20 05:53
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-20 07:09
回复【3楼】菜鸟爱学习:
---------------------------------
我没时间什么都帮大家解决。。。
不要太依赖我,论坛现在每天这么多帖子,我都要过一遍,真心没多少时间帮你仔细分析了,自己多思考下吧。
菜鸟爱学习
4楼-- · 2019-07-20 11:16
 精彩回答 2  元偷偷看……
fengyelancao
5楼-- · 2019-07-20 14:26
你的理解都没有错;
FIFO的阀值可以设为任意值,阀值设置的不同还要设置相应存储器突发大小,这样才能完成从8位到32位的传输。阀值设置不同会影响突发传输的次数。
mxiaotao
6楼-- · 2019-07-20 15:12
突发传输的怎么理解?是连续发送多少次的意思吗?

一周热门 更多>