初识 STM32和STM32F407简介

初识 STM32

2007 年 6 月,ST 在北京发布了全球第一款基于 ARM Cortex M3 内核的 32 位通用微控制
器芯片:STM32F103,以优异的性能,丰富的资源,超高的性价比,迅速占领市场,从此一鸣
惊人,一发不可收拾,截止到 2020 年 6 月,STM32 累计出货量超过 45 亿颗。
战舰开发板使用的 STM32F103ZET6 芯片如图 2.1.1 所示:

STM32 的优异性体现在如下几个方面:

1,超低的价格。8 位机的价格,32 位机的性能,是 STM32 最大的优势。
2,超多的外设。STM32 拥有包括:FMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、
ADC、DAC、RTC、DMA 等众多外设及功能,具有极高的集成度。
3,丰富的型号。STM32 仅 M3 内核就拥有 F100、F101、F102、F103、F105、F107、F207、
F217 等 8 个系列上百种型号,具有 QFN、LQFP、BGA 等封装可供选择。同时 STM32 还推出
了 STM32L 和 STM32W 等超低功耗和无线应用型的 M3 芯片,另外,ST 还推出了
STM32F4/F7/H7 等更高性能的芯片。
4,优异的实时性能。150 个中断,16 级可编程优先级,并且所有引脚都可以作中断输入。
5,杰出的功耗控制。STM32 各个外设都有自己的独立时钟开关,可以通过关闭相应外设
的时钟来降低功耗。
6,极低的开发成本。通过串口即可下载程序,而且相应的仿真器也很便宜,支持
JTAG&SWD 调试接口,最少仅 2 个 IO 口即可实现仿真调试,极大的降低了开发成本。

STM32 与 51 的性能对比:

STM32 系列

STM32 目前总共有 5 大类,18 个系列


可以看到,STM32 主要分两大块,MCU 和 MPU,MCU 就是我们常见的 STM32 微控制
器,不能跑 Linux,而MPU 则是 ST 在 19 年才推出的微处理器,可以跑 Linux

STM32 命名

STM32 的命名规则

STM32 的产品名字里面包含了:家族、类别、特定功能、引脚数、闪存容量、
封装、温度范围等重要信息,这些信息可以帮助我们识别和区分 STM32 不同芯片。

STM32 选型

这里我们只要遵循:由高到低,由大到小 的原则

由高到低

由高到低原则:在不能评估项目所需性能的时候,可以考虑先选择高性能的 STM32 型号进
行开发,比如选择 F4/F7/H7 等,在高性能 STM32 上面完成关键性能(即最需要性能的代码)
开发验证,如果满足使用要求,则可以降档,如从 H7→F7→F4→F1,如不满足要求,则可以升
档,如从 F4→F7→H7,通过此方法找到最佳性价比的 STM32 系列。

由大到小

由大到小原则:在不能评估项目所需 FLASH 大小、SRAM 大小、GPIO 数量、定时器等资
源需求的时候,可以考虑先选择容量较大的型号进行开发,比如选择 512K/甚至 1M FLASH 的
型号进行开发,等到开发完成大部分功能之后,就对项目所需资源有了定论,从而可以根据实
际情况进行降档选择(当然极少数情况可能还需要升档),通过此方法,找到最合适的 STM32
型号。

整个选型工作大家可以在正点原子开发板上进行验证,一般我们开发板都是选择容量比较
大/资源比较多的型号进行设计的,这样可以免去大家自己设计焊接验证板的麻烦,加快项目开
发进度。一些资深工程师,对项目要求认识比较深入的话,甚至都不需要验证了,直接就可以
选出最合适的型号,这个效率更高。当然这个需要长期积累和多实践,相信只要大家多学习,
多实践,总有一天也能达到这个级别。

STM32 设计

任何 MCU 部分的原理图设计,其实都遵循:最小系统 + IO 分配 的设计原则。

STM32F407 资源简介

数据手册

在官网就可以下载:https://www.stmcu.org.cn/
STM32F407ZGT6.pdf 数据手册是针对 STM32F407 系列的数据手册,主要包括 8 个章节。

整个 STM32F407 数据手册,对我们开发以及学习 STM32 来说都比较重要,因此建议大家
可以简单的通读一遍这个文档,以加深印象。对于原理图设计,最重要的莫过于引脚定义这一
章节了,只有知道了 STM32 的引脚定义,才能开始设计原理图。

STM32F407ZGT6 具体的内部资源:

STM32F407ZGT6 引脚分布:

STM32F407ZGT6 引脚定义:

引脚定义表的具体说明

最小系统

最小系统就是保证 MCU 正常运行的最低要求,一般是指 MCU 的供电、复位、晶振、BOOT
等部分。STM32F407 的最小系统需求如表 2.3.4.4 所示:

完成以上引脚的设计以后,STM32F407 的最小系统就完成了,关于这些引脚的实际原理图,
大家可以参考我们探索者开发板的原理图。接下来就可以开始进行 IO 分配了。

IO 分配

IO 分配就是在完成最小系统设计以后,根据项目需要对 MCU 的 IO 口进行分配,连接不
同的器件,从而实现整体功能。比如:GPIO、IIC、SPI、SDIO、FSMC、USB、中断等。遵循:
先分配特定外设 IO,再分配通用 IO,最后微调的原则,见表 2.3.4.5 所示:

物联沃分享整理
物联沃-IOTWORD物联网 » 初识 STM32和STM32F407简介

发表评论