您好,欢迎来到锐单电子!

STM32F407的总线与存储框架

时间:2021-11-17

因为试验需求,要用到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 的DMA1和DMA2的造访框架图。这两个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系列的总线架构,你也能够去看看别的系列的体系总线框图,相信你一定会还有发明和劳绩。 

相关文章