【STM32F407开发板用户手册】第3章 STM32F407整体把控

2020-06-04 09:41:46 浏览数 (1)

最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=93255

第3章   STM32F407整体把控

3.1   初学者重要提示

  1.   学习一款新的芯片,优先掌握系统框架是比较重要的,建议逐渐养成这种学习习惯,然后各个击破即可。
  2.   本章节提供了多张STM32F407的框图,这些框图都非常具有代表性。很多时候记忆知识点比较费脑子,记录这些框图是一种非常好的方式。
  3.   对于本章节提供的部分知识点,无法理解透彻,暂时没有关系。随着后面的深入学习,基本都可以掌握。

3.2   STM32F407硬件框图

学习一款新的芯片,需要优先了解一下它的整体功能设计。需要的资料主要是来自官网和数据手册,比如我们V5开发板使用的STM32F407IGT6,直接在官方地址:链接(这是超链接)就可以看到对此芯片所做的介绍,页面中有一个如下的框图,对于了解STM32F407整体设计非常方便。

再稍微详细点,就需要大家读页面上的”Key Features”,就是下图所示的内容:

或者直接看数据手册开头的章节即可,也进行了介绍,内容基本都是差不多的,如下图所示(部分截图):

通过框图和Key Features,大家可以方便地了解STM32F407的FLASH、RAM大小以及各种自带外设的信息。

3.3   STM32F407各个型号的区别

涉及到芯片选型的时候,需要大家了解各个型号的区别。通过网页链接(这是一个超链接)里面的截图可以方便的了解。最主要的是下面的这个截图:

通过这个截图可以方便地了解不同型号的引脚数、封装、FLASH大小、RAM大小以及是否带HW CRYPTO硬件加密的区别。

需要了解更详细的对比信息,可以看数据手册。任意下载一个型号的数据手册,在数据手册的的Table 2里面有详细的对比,如下图所示(部分截图):

使用ST提供的软件STMCUFinder或者STM32CubeMX也可以做对比,只是没有上面的表格这么方便,可以一目了然。

3.4   STM32F407总线框图和时钟

STM32F407的数据手册里面提供了一张非常棒的框图,大家可以方便地查看每个总线的时钟速度和这个总线所挂的外设。这个在大家配置外设时钟分频的时候还是非常有用的,因为外设的时钟分频就是建立在所挂的总线速度(大家直接在数据手册里面检索Figure 1就可以找到)。

比如我们想得到不同定时器的主频,通过上面的框图,可以方便地获得如下信息:

SYSCLK(Hz)   = 168MHz

HCLK(Hz)     = 168MHz

HCLK = SYSCLK / 1     (AHB1Periph)

PCLK2 = HCLK / 2      (APB2Periph)

PCLK1 = HCLK / 4      (APB1Periph)

因为APB1 prescaler != 1, 所以 APB1上的TIMxCLK = PCLK1 x 2 = SystemCoreClock / 2;

因为APB2 prescaler != 1, 所以 APB2上的TIMxCLK = PCLK2 x 2 = SystemCoreClock;

APB1 定时器有 TIM2, TIM3 ,TIM4, TIM5, TIM6, TIM7, TIM12, TIM13,TIM14

APB2 定时器有 TIM1, TIM8 ,TIM9, TIM10, TIM11

3.5   STM32F407的AHB总线矩阵

下面这个截图比较有代表性,可以帮助大家理解STM32F407总线系统。

通过这个框图我们要了解以下几点:

1、 32位AHB总线组成的8*7矩阵

  •   6个从接口端

Flash的ICode和Dcode;SRAM1;SRAM2;SRAM3;AHB1外设;AHB2外设和FMC总线。

  •   8个主接口端

Cortex-M4内核的I-Bus,D-Bus和S-Bus;DMA1的DMA_MEM1;DMA2的DMA_MEM2和DMA_P2;以太网MAC;USB OTG HS。

2、  并行操作

由于总线矩阵的存在,8个主接口端都可以发起通信,只要不是访问同一个外设,且通信的通路没有共用,那么就可以并行执行。

3.6   STM32F407的FLASH

STM32F407的主频是168MHz,但自带的Flash支持的频率是远低于这个值的。具体延迟数值和主频关系如下:

对于上面的表格,大家可以看到,当延迟等待设置为0的时候,即无等待,单周期访问,速度可以做到30MHz(供电电压选择2.7到3.6V)。增加1个Flash周期后,访问速度可以做到60MHz。当增加到5个Flash周期后,最高速度可以做到168MHz。

当STM32F407以168MHz运行的时候,每次访问Flash都需要6个时钟周期,时间太长了。为了解决这个问题,STM32F407的Flash做了ART Chrom加速,可以实现Flash操作零等待。

3.7   STM32F407的RAM

通过本章的3.5小节,我们了解到,STM32F407由以下几块SRAM组成:

  •   SRAM1和SRAM2区

这两块SRAM的地址是连续的。

SRAM1首地址:0x2000 0000,大小128KB。

SRAM2首地址:0x2001 C000,大小16KB。

速度:168MHz。

  •   CCM RAM区

CCM RAM是直接接到M4内核的D-Bus总线上,优势是M4访问比较快,缺点是这个RAM区不支持DMA,这点要特别注意。

CCM RAM首地址:0xC000 0000,大小64KB。

速度:168MHz。

  •   Backup SRAM区

备份RAM区。

Backup SRAM首地址0x4002 4000,大小4KB。

速度:168MHz。

用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat引脚外接电池)。

3.8   总结

本章节就为大家讲解这么多,让大家对STM32F407有个整体的认识,后面章节将逐个进行学习。

0 人点赞