​​

第3章   STM32F429整体把控

初学STM32F429一定要优先整体把控芯片的框架,不要急于了解单个外设的功能。

3.1 初学者重要提示

3.1 STM32F429框图

3.2 STM32F429各个型号的区别

3.2 STM32F429总线框图和时钟

3.3 STM32F429的AHB 总线矩阵

3.4 STM32F429的FLASH

3.5 STM32F429的RAM

3.6 总结

 

 

3.1   初学者重要提示

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

3.2   STM32F429硬件框图

学习一款新的芯片,需要优先了解一下它的整体功能设计。需要的资料主要是来自官网和数据手册,比如我们V6开发板使用的STM32F429BIT6,直接在官方地址:​​链接​​(这是超链接)就可以看到对此芯片所做的介绍,页面中有一个如下的框图,对于了解STM32F429整体设计非常方便(当前ST官网显示bug,导致F429系列的框图都被搞丢了,下面先用F407做展示)。

【STM32F429开发板用户手册】第3章   STM32F429整体把控_框图

 

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

 

【STM32F429开发板用户手册】第3章   STM32F429整体把控_框图_02

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

【STM32F429开发板用户手册】第3章   STM32F429整体把控_数据_03

 

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

3.3   STM32F429各个型号的区别

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

【STM32F429开发板用户手册】第3章   STM32F429整体把控_数据_04

 

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

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

 

【STM32F429开发板用户手册】第3章   STM32F429整体把控_框图_05

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

3.4   STM32F429总线框图和时钟

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

 

【STM32F429开发板用户手册】第3章   STM32F429整体把控_数据_06

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

SYSCLK(Hz)   = 180MHz

HCLK(Hz)     = 180MHz

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   STM32F429的AHB总线矩阵

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

【STM32F429开发板用户手册】第3章   STM32F429整体把控_框图_07

 

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

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

  • 7个从接口端

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;LCD-TFT控制器;DMA2D。

2、  并行操作

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

3.6   STM32F429的FLASH

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

 

【STM32F429开发板用户手册】第3章   STM32F429整体把控_引脚_08

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

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

3.7   STM32F429的RAM

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

  • SRAM1,SRAM2和SRAM3区

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

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

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

SRAM3首地址:0x2002 0000,大小64KB。

速度:180MHz。

  • CCM RAM区

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

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

速度:180MHz。

  • Backup SRAM区

备份RAM区。

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

速度:180MHz。

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

3.8   总结

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

 

微信公众号:armfly_com