硬汉嵌入式论坛

 找回密码
 立即注册
查看: 810|回复: 0
收起左侧

[BSP驱动教程] 【STM32F407用户手册】第3章 STM32F407整体把控

[复制链接]

740

主题

1326

回帖

3546

积分

管理员

春暖花开

Rank: 9Rank: 9Rank: 9

积分
3546
QQ
发表于 2021-12-17 16:00:26 | 显示全部楼层 |阅读模式
第3章    STM32F407整体把控
初学STM32F407一定要优先整体把控芯片的框架,不要急于了解单个外设的功能。
3.1 初学者重要提示
3.1 STM32F407框图
3.2 STM32F407各个型号的区别
3.2 STM32F407总线框图和时钟
3.3 STM32F407的AHB总线矩阵
3.4 STM32F407的FLASH
3.5 STM32F407的RAM
3.6 总结


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

3.2    STM32F407硬件框图
学习一款新的芯片,需要优先了解一下它的整体功能设计。需要的资料主要是来自官网和数据手册,比如我们V5开发板使用的STM32F407IGT6,直接在官方地址:链接(这是超链接)就可以看到对此芯片所做的介绍,页面中有一个如下的框图,对于了解STM32F407整体设计非常方便。
1.png
再稍微详细点,就需要大家读页面上的”Key Features”,就是下图所示的内容:
2.png
或者直接看数据手册开头的章节即可,也进行了介绍,内容基本都是差不多的,如下图所示(部分截图):
3.png
通过框图和Key Features,大家可以方便地了解STM32F407的FLASH、RAM大小以及各种自带外设的信息。

3.3    STM32F407各个型号的区别
涉及到芯片选型的时候,需要大家了解各个型号的区别。通过网页链接(这是一个超链接)里面的截图可以方便的了解。最主要的是下面的这个截图:
4.png
通过这个截图可以方便地了解不同型号的引脚数、封装、FLASH大小、RAM大小以及是否带HW CRYPTO硬件加密的区别。
需要了解更详细的对比信息,可以看数据手册。任意下载一个型号的数据手册,在数据手册的的Table 2里面有详细的对比,如下图所示(部分截图):
5.png
使用ST提供的软件STMCUFinder或者STM32CubeMX也可以做对比,只是没有上面的表格这么方便,可以一目了然。

3.4    STM32F407总线框图和时钟
STM32F407的数据手册里面提供了一张非常棒的框图,大家可以方便地查看每个总线的时钟速度和这个总线所挂的外设。这个在大家配置外设时钟分频的时候还是非常有用的,因为外设的时钟分频就是建立在所挂的总线速度(大家直接在数据手册里面检索Figure 1就可以找到)。
6.png
比如我们想得到不同定时器的主频,通过上面的框图,可以方便地获得如下信息:
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总线系统。
7.png
通过这个框图我们要了解以下几点:
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。
并行操作
由于总线矩阵的存在,8个主接口端都可以发起通信,只要不是访问同一个外设,且通信的通路没有共用,那么就可以并行执行。

3.6    STM32F407的FLASH
STM32F407的主频是168MHz,但自带的Flash支持的频率是远低于这个值的。具体延迟数值和主频关系如下:
8.png
对于上面的表格,大家可以看到,当延迟等待设置为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有个整体的认识,后面章节将逐个进行学习。



努力打造安富莱高质量微信公众号:点击扫描图片关注
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-4 18:38 , Processed in 0.252825 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表