Board logo

标题: STM32F4系统总线架构的话题 [打印本页]

作者: yuchengze    时间: 2016-12-23 21:50     标题: STM32F4系统总线架构的话题

本帖最后由 yuchengze 于 2016-12-27 10:19 编辑

最近有人在STMCU社区网站咨询如下问题:
    由于实验需要,要用到STM32F407的两个DMA并用定时器触发,在使用过程中发现DMA1无法把GPIO的IDR上的数据传输到内存,调试过程中出现DMA1的数据流传输错误标志,但是使用DMA2没有问题。然后我看了下参考手册上两个DMA的控制系统实现图,DMA1的外设端口有一个桥接器把APB1和AHB1连起来,不知道这个桥连器作用是什么?是把APB1和AHB1连起来互相访问吗? 另外测试把GPIO的IDR改成APB1下的tim5的ARR,DMA1正常工作。请问这是怎么回事?


    咨询者提到STM32F4系列中的两个DMA,即DMA1与DMA2,AHB到APB桥接器;再就是两个外设,GPIO和TIM5 。为了弄清这个问题,我们有必要先看看STM32F407的总线与存储框架图。 如下图所示:
63317283466467.jpg
              STM32F4系统存储及总线框图



    整个系统架构由多层32位AHB总线矩阵及主从总线构成,并建立起各个主从模块间的互联访问。
    图中方框内纵横交错的矩阵线就是总线矩阵,犹如纵横交错的公路,让各类交通工具在里面同时运行而互不干扰。只有在图中红色箭头所指的地方,可能出现主控总线访问撞车的时刻,此时总线矩阵会按照一定规矩进行仲裁,即谁先谁后而不会发生交通事故。
    总线矩阵跟图中上方的8条主控总线和右方的7条从控总线保持互联。
八条主控总线: [主控总线简单点说就是可以用来主动访问别的外设的通路]
—Cortex?-M4F 内核 I 总线、D 总线和 S 总线
—DMA1 存储器总线
—DMA2 存储器总线
—DMA2 外设总线
以太网 DMA 总线
—USB OTG HS DMA 总线
● 七条被控总线:
内部 Flash ICode 总线
内部 Flash DCode 总线
主要内部 SRAM1 (112 KB)
辅助内部 SRAM2 (16 KB)
辅助内部 SRAM3 (64 KB)(仅适用于STM32F42xxx 和 STM32F43xxx 器件)
—AHB1 外设(包括 AHB-APB 总线桥和 APB 外设)
—AHB2 外设 —FSMC
    借助于总线矩阵,可以实现主控总线到被控总线的访问,可以实现多个高速外设并发访问和高效运行。

图片附件: 63317283466467.jpg (2016-12-27 10:19, 36.36 KB) / 下载次数 351
http://bbs.eccn.com/attachment.php?aid=47791&k=d1a995cf26adbfd94c9a89a2d746e82d&t=1732754119&sid=qSFTFt






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0