This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好:请问F28M35x芯片将交流电压ADC的结果不断地通过DMA方式存储到内存的过程中DMA有缓冲区(FIFO)可用吗?
我之前浏览了F28M35x的数据表和技术参考手册都没有找到F28M35x ADC结果使用DMA传输时有关缓冲区(FIFO)的描述。
DMA可以读FIFO
http://www.ti.com.cn/cn/lit/ds/symlink/f28m35h52c.pdf
最近刚做完这一块的,为什么你DMA采集的数据要放在FIFO呢,直接放在自己定义的一个DMA可访问的RAM( L2或者L3)的一块空间不行吗?
DMA采集的数据不是要放在FIFO中,是交流电压ADC的结果不断地通过DMA方式存储到内存。在此过程中DMA如果有缓冲区(FIFO)可用的话就可以减少对CPU的影响了,不然的话DMA过程中可能出现较多次数的中断、总线仲裁等情况,影响整个工程的运行效率。您对这个问题有什么见解?
据我所知,应该就是把数据放在DMA可访问的L2或者L3地段即可。至于你说的DMA过程中可能出现较多次数的中断、总线仲裁等情况,DMA存放ADCresults时,采用突发传送,没有CPU的参与,DMA收到ADC的中断就把数据直接存放在内存里了,然后内存放满了你想要的数据后,可以给CPU一个中断。不知道你指的是什么?
感谢您的积极解答。我已咨询过TI的技术人员,F28M35x ADC结果使用DMA方式传输时DMA模块不需要使用缓冲区,F28M35x 没有对应的硬件缓冲区给DMA使用。