TI论坛
直播中

孔德羲

7年用户 231经验值
私信 关注
[问答]

请问F28M35x ADC结果使用DMA方式传输时DMA模块有缓冲区(FIFO)可用吗?

您好:请问F28M35x芯片将交流电压ADC的结果不断地通过DMA方式存储到内存的过程中DMA有缓冲区(FIFO)可用吗?
我之前浏览了F28M35x的数据表和技术参考手册都没有找到F28M35x ADC结果使用DMA传输时有关缓冲区(FIFO)的描述。

回帖(5)

胡红枚

2018-8-22 07:52:39
DMA可以读FIFO     
http://www.ti.com.cn/cn/lit/ds/symlink/f28m35h52c.pdf
举报

蔡鼎瑾

2018-8-22 08:01:57
最近刚做完这一块的,为什么你DMA采集的数据要放在FIFO呢,直接放在自己定义的一个DMA可访问的RAM( L2或者L3)的一块空间不行吗?
举报

孔德羲

2018-8-22 08:20:05
引用: liese 发表于 2018-8-22 08:01
最近刚做完这一块的,为什么你DMA采集的数据要放在FIFO呢,直接放在自己定义的一个DMA可访问的RAM( L2或者L3)的一块空间不行吗?

DMA采集的数据不是要放在FIFO中,是交流电压ADC的结果不断地通过DMA方式存储到内存。在此过程中DMA如果有缓冲区(FIFO)可用的话就可以减少对CPU的影响了,不然的话DMA过程中可能出现较多次数的中断、总线仲裁等情况,影响整个工程的运行效率。您对这个问题有什么见解?
举报

蔡鼎瑾

2018-8-22 08:36:33
引用: 脑洞大赛9 发表于 2018-8-22 08:20
DMA采集的数据不是要放在FIFO中,是交流电压ADC的结果不断地通过DMA方式存储到内存。在此过程中DMA如果有缓冲区(FIFO)可用的话就可以减少对CPU的影响了,不然的话DMA过程中可能出现较多次数的中断、总线仲裁等情况,影响整个工程的运行效率。您对这个问题有什么见解? ...

据我所知,应该就是把数据放在DMA可访问的L2或者L3地段即可。至于你说的DMA过程中可能出现较多次数的中断、总线仲裁等情况,DMA存放ADCresults时,采用突发传送,没有CPU的参与,DMA收到ADC的中断就把数据直接存放在内存里了,然后内存放满了你想要的数据后,可以给CPU一个中断。不知道你指的是什么?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分