CPU和DMA同时读写APB外设,互相影响性能吗



如题,我在LM4F232Q5HC上,在用CPU和DMA同时读写UART的情况下,DMA完成传输的时间,与DMA单独读写UART传输相同数据量的时间,是一样的。

原来我的理解是DMA和CPU同时作为AHB-lite的master,在通过AHB-APB桥访问外设是,不但会竞争AHB-lite,也会造成APB的分时访问。两个master一起访问外设时一定会造成其中某一个master慢下来。但是从实验结果来看,两个master都不受影响,这是为什么呢?

还求高手解释啊!!

  •  从大的功能场景来看,两个 master 同时操作同一个总线上设备肯定是会相互影响的,这也并非合理的使用方式。

    你的测试场景之所以一样其实受限于你的测试项参数

    1、所谓“同时”的特定情况;

    2、慢速设备的具体通信参数;

    3、数据量大小。

    你之所以看到的耗时都一样,很有可能是因为你绝大多是运行时间都耗在UART本身的通信上。

  • 我也是猜uart和内部总线比起来速度太慢,所以看不出什么区别。

    多谢咯。