![STM32库开发实战指南:基于STM32F4](https://wfqqreader-1252317822.image.myqcloud.com/cover/737/852737/b_852737.jpg)
3.3 STM32选型
3.3.1 STM32分类
STM32有很多系列,可以满足市场的各种需求。从内核上分,有Cortex-M0、M3、M4和M7,每个内核又可分为主流、高性能和低功耗等,具体见表3-2。
表3-2 STM8和STM32分类
![](https://epubservercos.yuewen.com/C2F957/6771342304861701/epubprivate/OEBPS/Images/figure_0028_0002.jpg?sign=1738870960-U4y29U7jwGE4SQ0cPZXmTdPQbX8VsSjF-0-62ee1c98bce48aff8801cca267a412d2)
单纯从学习的角度出发,可以选择F1和F4系列。F1代表了基础型,基于Cortex-M3内核,主频为72MHz; F4代表了高性能,基于Cortex-M4内核,主频180MHz。
与F1相比,F4(429系列以上)除了内核不同且主频有提升外,更高级的特点是带了LCD控制器和摄像头接口,支持SDRAM,这个区别在STM32选型上会被优先考虑。
3.3.2 STM32命名方法
这里我们以秉火F429挑战者所用的型号STM32F429IGT6来说明一下STM32的命名方法,见表3-3。
表3-3 STM32F429IGT6命名说明
![](https://epubservercos.yuewen.com/C2F957/6771342304861701/epubprivate/OEBPS/Images/figure_0029_0001.jpg?sign=1738870960-spW5UXXKp0ZvM4Wo0FL79JhROh5NZiGw-0-cc54a66cd43df567394b5b8cec4a356b)
更详细的命名方法见图3-5,摘自《STM8和STM32选型手册》。
![](https://epubservercos.yuewen.com/C2F957/6771342304861701/epubprivate/OEBPS/Images/figure_0029_0002.jpg?sign=1738870960-l4qv1wj6JDHzptBT8rFkadc0XLOUV9VH-0-98f08790e2571e60f577e85ab5a88e59)
图3-5 STM8和STM32的命名方法
3.3.3 选择合适的MCU
了解了STM32的分类和命名方法之后,就可以根据项目的具体需求选择内核的MCU,如果是普通应用,不需要接大屏幕,一般选择Cortex-M3内核的F1系列;如果追求高性能,需要大量的数据运算,且需要外接RGB大屏幕,则选择Cortex-M4内核的F429系列。
明确了大方向之后,接下来就是细分选型。先确定引脚,引脚多的功能就多,价格也贵,具体得根据实际项目中需要使用的功能选择。确定好了引脚数目之后再选择闪存大小,相同引脚数的MCU会有不同大小的闪存可供选择,这个也要参考实际需要,代码量大的就选择大点的闪存,产品一量产后可省下不少钱。有些月出货量以KK(百万数量级)为单位的产品,不仅是MCU,连电阻、电容都要精打细算,甚至连PCB的过孔的多少都要计算。在项目中元器件的选型有很多学问值得研究。
1. 如何分配原理图上的IO引脚
在画原理图之前,一般的做法是先把IO引脚分类好。IO引脚分类见表3-4。
表3-4 画原理图时的IO引脚分类
![](https://epubservercos.yuewen.com/C2F957/6771342304861701/epubprivate/OEBPS/Images/figure_0030_0001.jpg?sign=1738870960-kg8ailBf35DCpMgQMFFdWUzpBdRUg6ui-0-2a71c465dea89314986c36bb10ac70e0)
①由上面5部分IO组成的系统称作最小系统。
2. 如何寻找IO的功能说明
要想根据功能来分配IO,就得先知道每个IO的功能说明,这可以从官方的数据手册里面找到。在学习的时候,会经常用到两个官方资料,一个是参考手册(Reference Manual),另外一个是数据手册(Data Sheet)。两者的具体区别见表3-5。
表3-5 参考手册和数据手册的内容区别
![](https://epubservercos.yuewen.com/C2F957/6771342304861701/epubprivate/OEBPS/Images/figure_0030_0002.jpg?sign=1738870960-3bhGBpICdVW4M9uH4WwmbWp31lQ2v4ft-0-0696ac67de3cd5dd68f99a7b2cc96ccb)
一句话概括:数据手册主要用于芯片选型和设计原理图,参考手册主要用于编程。这两个文档可以从官方网址下载:http://www.stmcu.org/document/list/index/category-150。
在数据手册中,有关引脚定义的部分在“Pinouts and pin description”这一节中,具体定义见表3-6,具体说明见表3-7。
表3-6 数据手册中的引脚定义
![](https://epubservercos.yuewen.com/C2F957/6771342304861701/epubprivate/OEBPS/Images/figure_0031_0001.jpg?sign=1738870960-IqTNmqRmhsZn1xQDwJQDWWEZSL8VTrDa-0-1a025eb7192e7ec963e8425cab2459c8)
表3-7 对引脚定义的说明
![](https://epubservercos.yuewen.com/C2F957/6771342304861701/epubprivate/OEBPS/Images/figure_0031_0002.jpg?sign=1738870960-8WRfwYzxGWZCAlYiDLbLfFbbwgLTp3vH-0-3103aa5be580c8fe7001c3fb7121e260)
3. 开始分配原理图IO
比如F429挑战者使用的MCU型号是STM32F429IGT6,封装为LQFP176,在数据手册中找到这个封装的引脚定义,然后根据引脚序号,逐一复制出来,整理成Excel表。具体整理方法参照表3-4即可。分配好之后就可开始画原理图。