一、STM32单片机的编号含义
类比其他电子产品。
I(品牌:苹果)phone(产品类型:手机)15(产品系列)蓝色128G(规格型号)
ST(品牌:意法半导体)M32(产品类型:32位单片机) F103(产品系列) C8T6(规格型号)
C8T6规格型号的含义:
C:48引脚
8:Flash容量为64Kbyte
T:封装类型为LQFP四方形
6:工作温度范围-40~85℃
二、STM32单片机的规格说明
1.总体功能组成
STM32单片机相当于人的大脑,开发板上的各种外设相当于人的眼耳口鼻手。
单片机控制各个外设实现数据采集和功能执行的过程,就好像人在世界上生活的过程,随时随地都在从外界获取信息(视觉传感器-眼,声音传感器-耳,压感传感器-皮肤),也在随时随地执行各种功能(舵机-头部转动,机械臂拿起重物-手拿起重物),并且这两个过程还是互相协调的。
其中我们最先要学习的是GPIO。GPIO共分A-D四个组,每个组可以看做是人的四肢其一,而GPIO下的各个引脚可以看做肢体上的指头。
2.引脚功能说明
芯片封装的左上角有一个点,用于判断引脚编号,正确放置时,点的左边为1号引脚,上方为48号引脚
特殊引脚说明:
VDD(Voltage Drain-Drain):接3.3V,用于给单片机供电(相当于正极)
VSS(Voltage Source-Source):接0V,相当于地
NRST:复位按钮(接复位按钮)
VBAT:备用电池
BOOT0:启动模式选择
3.GPIO
①STM32单片机的GPIO引脚
GPIOA:PA0 PA1 PA2 … PA15 共15个
GPIOB:PB0 PB1 PB2… PB15 共15个
GPIOC:PC13 PC14 PC15 共3个
GPIOD:PD0 PD1 共2个
②GPIO的8种工作模式
输出 | 推挽 | 开漏 |
通用 | 通用输出推挽 | 通用输出开漏 |
复用 | 复用输出推挽 | 复用输出开漏 |
输入 | 输入上拉 | 输入下拉 | 输入浮空 | 模拟模式 |
推挽输出原理:所谓推挽(Push-Pull),就是当单片机处于这种模式时,GPIO有高电平向外推电流(推-Push)和低电平向内拉电流(挽-Pull)两种状态。
单片机对引脚输出低电平0,上部与漏极VDD连接的P-MOS管断开,下部与源极VSS连接的N-MOS管连通,GPIO对外呈现低电平,将电流从外部拉入(Pull-in),即挽(Pull)电流;
单片机对引脚输出高电平1,上部与漏极VDD连接的P-MOS管接通,下部与源极VSS连接的N-MOS管断开,GPIO对外呈现高电平,将电流从内部推出(Push-out),即推(Push)电流。
开漏输出原理:所谓开漏(Open-Drain),就是使与漏极VDD(Drain)连接的P-MOS管始终处于断开状态。
当单片机向引脚输出低电平0时,下部N-MOS管与源极VSS(Source)接通,使GPIO对外输出低电平;
当单片机向引脚输出高电平1时,下部与源极VSS(Source)连接的N-MOS管断开,使GPIO对外呈现高阻态。
单片机的输出状态 | 寄存器赋0 | 寄存器赋1 |
推挽输出(Push-Pull) | 低电平,向内拉电流 | 高电平,向外推电流 |
开漏输出(Open-Drain) | 低电平 | 对外高阻态 |
③GPIO的输出速度问题
IO的最大输出速度:指的是向IO交替写0和1且输出不失真的最快速度
理想情况下,向IO写入0和1时,高低电平的切换应该以阶跃的形式完成,但在实际写入过程中,IO切换高低电平时,需要一定的上升时间和下降时间。而中间的保持时间才是该高/低电平有效的作用时间。
当写入速度越来越快,单位时间内输出电平量增多,保持时间减少。当保持时间降为0时,输出失真。此时有两个方法使输出不失真:
1' 降低IO的输出速度
2' 减少上升时间和下降时间
如图,减少上升时间和下降时间可以使IO的最大输出速度提高。
如上图,根据每个上升-保持-下降周期(或下降-保持-上升周期)的时长,可以确定IO引脚的最大输出频率。如下图,在实际设计与调用的过程中,需选择符合设计要求的最小速度。速度过大会增加耗电并引入EMI问题。
上图所示的LED,一般频率不超过100HZ(人眼分辨频率45.8HZ),故选择低速2MHZ即可。
在调用具体外设时,需考虑外设芯片的工作速度。IO最大输出速度需大于自己调用外设的所需速度。如图示TLE5012BD工作速度为8MHZ,IO最大输出速度选择10MHZ即可。
如上图所示,最小系统板的USB2.0接口速度为12Mbps(12MHZ)故CPU速度需选择为高速50MHZ。