0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32F407总线存储框架及应用设计

STM32单片机 来源:互联网 作者:佚名 2018-01-22 09:22 次阅读

曾有人在STMCU社区网站咨询如下问题:

由于实验需要,要用到STM32F407的两个DMA并用定时器触发,在使用过程中发现DMA1无法把GPIO的IDR数据传输到内存,调试过程中出现DMA1的数据流传输错误标志,但是使用DMA2没有问题。另外当把访问GPIO的IDR改成访问APB1下的tim5的ARR时,DMA1也能正常工作。请问这是怎么回事?

咨询者提到STM32F4系列中DMA1与DMA和另外两个外设GPIO和TIM5 。为了弄清这个问题,我们有必要先看看STM32F407的总线与存储框架图。 如下图所示:

整个系统架构由多层32位AHB总线矩阵及主从总线构成,并建立起各个主从模块间的互联访问。借助于总线矩阵,可以实现主控设备到从控设备的访问,可以实现多个高速外设的并发访问和高效运行。[需要注意的是,对于STM32F4系列,图中64K CCM并不经过总线矩阵,只能被CPU访问。自然DMA是不能访问它的.]

我们接着看看STM32F407 DMA1DMA2的访问框架图。这两个DMA都具有双AHB总线访问端口,一端用于存储器访问,另一端用于外设访问。

结合这幅DMA总线访问框图和上面的系统存储总线框架图可以看出,2个DMA的外设访问端口的总线连接有点不一样。

DMA2的外设访问端口既与总线矩阵相连,经过矩阵可以访问AHB外设,又与AHB-APB桥2相连,可以进一步访问APB2外设;而DMA1却没有与总线矩阵相连,只是跟AHB-APB桥1相连,从而访问APB1外设。[长方形方框代表总线矩阵]

现在的问题是说DMA1访问不了GPIO,但如果换成TIM5就可以。我们可以去芯片数据手册的Device overview部分查看相关总线和外设联结图。截取STM32F40x block diagram的部分如下:

不难看出GPIO外设跟AHB1相连;TIM5跟APB1相连。我们再结合中间的DMA访问框图看得清楚,DMA1的外设端口根本没连接AHB1,自然没法访问相应外设,比如GPIO。而DMA2 可以,因为它可以经过总线矩阵后再去访问AHB1的外设。DMA1为什么能访问TIM5也不难解释了,因DMA1的AHB外设端口总线经过AHB/APB1桥后就可以访问APB1各类外设,而TIM5就是挂在APB1总线上的外设之一。

咨询者的问题基本上靠看上面几幅图可以得到答案。这些图很重要,很多信息用图描述也很直观明了。各技术手册里的插图往往大有乾坤,不要视而不见。上面提到的都是基于STM32F4系列的总线架构,你也可以去看看其它系列的系统总线框图,相信你一定会另有发现和收获。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7484

    浏览量

    163763
  • STM32
    +关注

    关注

    2270

    文章

    10895

    浏览量

    355734
  • 总线
    +关注

    关注

    10

    文章

    2878

    浏览量

    88051

原文标题:一个跟STM32F4系统总线架构有关的问题

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32F4系统总线架构介绍

    APB桥接器;再就是两个外设,GPIO和TIM5 。为了弄清这个问题,我们有必要先看看STM32F407总线存储框架图。 如下图所示:STM32
    发表于 07-04 05:09

    STM32F407总线存储框架分析

    这个问题,我们有必要先看看STM32F407总线存储框架图。 如下图所示:整个系统架构由多层32位AHB总线矩阵及主从
    发表于 04-07 09:15

    STM32F407总线存储框架

    这个问题,我们有必要先看看STM32F407总线存储框架图。 如下图所示:整个系统架构由多层32位AHB总线矩阵及主从
    发表于 05-16 06:00

    STM32F407总线存储框架讲解

    这个问题,我们有必要先看看STM32F407总线存储框架图。 如下图所示:整个系统架构由多层32位AHB总线矩阵及主从
    发表于 05-21 06:30

    STM32F407模板

    STM32F407模板,感兴趣可以看看。
    发表于 07-25 18:52 133次下载

    STM32F407 UCOS III实验

    STM32F407 UCOS III实验,介绍基于STM32F407的UCOSIII实例,参考下
    发表于 09-22 14:08 82次下载

    STM32F407 DCMI摄像头源码

    STM32F407 DCMI摄像头源码(电源技术存在的问题总结)-【资源描述】:STM32F407 DCMI摄像头源码【编程语言】:C语言
    发表于 09-16 16:15 127次下载
    <b class='flag-5'>STM32F407</b> DCMI摄像头源码

    STM32F407的串口UART 基础配置STM32CubeMX

    STM32F407的串口UART 基础配置STM32CubeMX
    发表于 11-29 16:06 55次下载
    <b class='flag-5'>STM32F407</b>的串口UART 基础配置<b class='flag-5'>STM32</b>CubeMX

    [STM32]STM32F407系列教程之四,pwm产生原理

    [STM32]STM32F407系列教程之四,pwm产生原理
    发表于 11-29 17:51 52次下载
    [<b class='flag-5'>STM32</b>]<b class='flag-5'>STM32F407</b>系列教程之四,pwm产生原理

    STM32F407STM32F105 CAN通讯失败的定位解决

    STM32F407STM32F105 CAN通讯失败的定位解决问题的发现问题的现象测试过程硬件调整测试软件调整测试结论基本结论结论扩展验证问题的发现在STM32 CAN总线的应用过程
    发表于 12-02 16:51 18次下载
    <b class='flag-5'>STM32F407</b>与<b class='flag-5'>STM32F</b>105 CAN通讯失败的定位解决

    STM32F407芯片介绍

    1. 文档准备做嵌入式开发的第一步就是了解主芯片,了解STM32F407主要要关注几个文档:1. stm32F407芯片手册2. stm32F407参考手册3. Arm Cortex-M4数据手册
    发表于 12-04 13:21 109次下载
    <b class='flag-5'>STM32F407</b>芯片介绍

    STM32F407开发板用户手册】第34章 STM32F407的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)

    STM32F407开发板用户手册】第34章 STM32F407的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)
    发表于 12-05 14:51 25次下载
    【<b class='flag-5'>STM32F407</b>开发板用户手册】第34章 <b class='flag-5'>STM32F407</b>的SPI<b class='flag-5'>总线</b>应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)

    STM32F407原理图下载

    STM32F407原理图下载
    发表于 01-17 13:44 422次下载

    stm32f407原理图

    stm32f407原理图
    发表于 07-14 16:07 207次下载

    STM32F407最小系统

    STM32F407最小系统免费下载。
    发表于 07-31 11:01 170次下载