STM32:宏观介绍STM32(内含:1.STM32用途简介+2.系列介绍+3.片上资源/外设+4.命名规则+5.系统结构+6.引脚定义+7.启动配置+8.最小系统电路+9.最小系统实物图)

简介: STM32:宏观介绍STM32(内含:1.STM32用途简介+2.系列介绍+3.片上资源/外设+4.命名规则+5.系统结构+6.引脚定义+7.启动配置+8.最小系统电路+9.最小系统实物图)

1.STM32用途简介:


fc3375bebd50481d99eef8b849fab18e.png


解释:ARM是核心部分,程序的内核,加减乘除的计算,都是在ARM内完成。


智能车方向:循迹小车,读取光电传感器或者摄像头数据,驱动电机前进和转弯。


无人机:用STM32读取陀螺仪加速度计的姿态数据,根据控制算法控制电机的速度,从而保证飞机稳定飞行。


机器人:STM32驱动舵机,控制机器人关节和运动。


无线通信:STM32连接2.4G无限模块或者蓝牙,WIFI模块。


物联网:在无线通信基础上进行操作。


工业控制:PLC电路


娱乐电子产品:略


2.STM32系列介绍:


58bddee290a14c86b6cac286ac29200e.png


分别是高性能系列,主流系列,超低功耗系列和无线系列


注:CoreMark越高证明性能越好


78bf72b8c99d4114a90854362104bf1d.png


具体配合如下:(ARM生成内核,ST公司生成存储器和外设等)


0f3fa1f72284430fa7302ae0009f8107.png


ARM内核分类


454a6afb27534233812e36b0b278d9f0.png


蓝色为经典ARM内核;


绿色的为Cortex系列内核。


R系列和M系列用于嵌入式领域:R系列应用于实时性高的场景,如硬盘控制器


M系列应用于单片机领域,如STM32


橙色的A系列用于高端应用型领域,如手机中的苹果,高通,联发科的手机芯片等,所以,A系列性能最高,发展最好。


我们所用到的芯片是:


7a8ac966935c4669b4fed619ae39665c.png


注:RAM是运行内存,实际存储介质是SRAM


ROM是程序存储器,实际存储介质是Flash闪存


片上资源/外设(主学的内容):


a5aec1802d5b4027bdc839c58b6e6841.png


解释:深绿色为Cortex-M3内核内的外设,其他为内核外的外设


1.NVIC:用于管理中断的设备,如配置中断优先级


2.SysTick:定时器,用于给操作系统提供定时服务(delay函数)


3.RCC:配置系统时钟,操作前要先使用RCC完成使能时钟


4.GPIO:通用IO口,如电灯,读取按键等


5.AFIO:复用IO口,完成功能端口重定义


6.EXTI:配置外部中断后,当引脚有电平变化时,触发中断,让CPU处理


7.TIM:分为高级定时器,通用定时器(可用于测频率,生成PWM波形,配置专用编码器接口等),基本定时器三种


8.ADC:12位,直接读取IO口模拟电压值,无需外部连接AD芯片


9.DMA:帮助CPU完成搬运数据等任务


10.CAN:多用于汽车领域


11.RTC:在STM32内部完成年月日,时分秒的计时功能,接外部备用电池,掉电仍正常使用


12.CRC:判断数据的正确性


13.BKP:连接备用电池,掉电仍保留数据


14.IWDG WWDG:电磁干扰死机或者程序设计不合理死循环时,及时复位芯片,保证系统的稳定


15.FSMC:扩展内存或配置其他总线协议


并不是所有芯片都有所有这些外设,不同芯片不同。可查看数据手册确定,如图(竖着看)


2daf3be7a9e7487ea935598a6d1aa07f.png


4.命名规则:


4fe3a2d3137243f2bdafe0953e01a9b9.png


5.系统结构:


70ca67dbc0724ffaa8bce2e60e7c50de.png


分为四大部分,如图


76ec1f163ff34767a74e0d09db5a25e5.png


解释:左上角为Cortex-M3内核,引出三条总线,为ICode指令总线,DCode数据总线,System系统总线。ICode和DCode主要用于连接Flash闪存,Flash内为存储的程序。ICode用于加载程序指令,DCode用于加载数据。System连接SRAM用于存储程序运行时的变量数据


AHB是先进高性能总线。


APB为先进外接总线,用于连接一般的外设。APB2的性能>APB1。APB2一般和AHB同频率,为72MHz,APB1为36MHz。所以,APB2连接外设较重要部分。


左下角DMA可理解为CPU的助手,当有大量数据搬运时,如果使用CPU,就浪费时间,消耗CPU的效率。


DMA使用过程如下:


37bece59ea58480894309850ea6a3adb.png


举例解释:ADC模数转换,配置连续转换,1ms转运一次,若CPU进行操作,则会占用CPU,因此,此时需要用DMA转运来提高效率。


6.引脚定义:


66ec88447e24431eb28fc0f00d66b011.png


注:图上小黑点为一号引脚,1-->48为逆时针排列


引脚定义:


774eff0ba05f4ed084dba3bb8d10a4e2.png

d85a19b761554495b2e6d4160ab62536.png


橙色为电源相关引脚,蓝色为最小系统相关引脚,绿色为IO口,功能口引脚


类型中的S代表电源,I代表输入,O代表输出,IO代表输入输出。


IO口中的FT代表能容忍5V电压,不写FT则容忍3.3V电压。


主功能:上电后默认功能,一般与引脚名称相同。若不同,则看主功能。


默认复用功能:使用时,可将某一引脚主功能改为默认复用功能。


重定义功能:重新定义某些IO口的功能,前提是有。


7.启动配置:指定程序开始运行的位置


1227bb074a864cf7874eec5cd57e7d3e.png


注:BOOT0为0,BOOT1为X时,X表示无论BOOT1是什么都行(常用)


BOOT1=0,BOOT0=1,串口下载程序,用于STLINK,JLINK均被使用为IO口(无串口下载模块)的情况。


BOOT引脚的值是在上电复位后的一瞬间有效。由上图引脚定义图知,上电瞬间为BOOT1功能,当第四个时钟过了后,变为PB2功能。


8.最小系统电路:


98ee1ee93a9045cba32efe82d26e165b.png


供电部分注意:VDD接3.3V电源,VSS接GND,电源和GND之间要连接一个电容,很有必要。


晶振部分注意:接8MHz的主时钟晶振,最终变为72MHz。晶振两个引脚通过网络标号,接到STM32的5,6引脚。接2个20pf的电容,作为起振电容,电容另一端接地。如果还需要晶振,则接3,4号引脚。


复位部分注意:NRST接STM32的7号引脚。低电平复位。上电瞬间,电容没有电。为充电。


充电过程NRST为低电平。断电后,电容断开,NRST被R1上拉为高电平。波形为先低电平后高电平。低电平即为复位信号。这个过程速度快。按键按下时,为低电平,松下时,为高电平。多用于死机时,按下使系统重新启动。


启动配置部分注意:BOOT0通过H1选择3.3V还是GND,完成开关功能。


下载端口部分注意:如果为STLINK,则需要把SWDIO和SWCLK引脚引出来接线。


9.最小系统实物图如下:


195d7e9c6b754bb7b1ed45cd1a8741c5.png


STM32F103C8T6。


三个黄色上面有个黑色是跳线帽,用来配置BOOT引脚。


下面为复位按键。


左侧是USB接口,USB通信和为板子供电。


右侧金属外壳为8MHz的主时钟晶振。


黑色为32.768KHz的RTC晶振。


两个白色的为LED,上边那个为PWR电源指示灯,下边那个为PC13口的测试灯。


最右边为SWD调试接口,用来下载程序。



相关文章
|
6月前
|
传感器 芯片 内存技术
STM32F103标准外设库——认识STM32(一)
STM32F103标准外设库——认识STM32(一)
185 0
STM32F103标准外设库——认识STM32(一)
|
数据格式
STM32外设系列—红外遥控
本文详细介绍了红外通信的应用,原理。介绍了一种常用的二进制脉冲码形式。最后,给出了红外遥控的实现思路和程序设计。
381 2
STM32外设系列—红外遥控
|
4月前
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
stm32f407探索者开发板(十七)——串口寄存器库函数配置方法
683 0
|
5月前
|
传感器
【经典案例】STM32F407使用HAL库配置I2C详解
STM32F407是一个强大的微控制器,广泛应用于嵌入式系统中。在许多应用中,我们需要使用I2C总线来与传感器、EEPROM、显示屏等外设进行通信。本文将详细介绍如何使用STM32 HAL库来配置和使用I2C接口。
669 2
|
4月前
stm32f407探索者开发板(十四)——IO引脚复用和映射
stm32f407探索者开发板(十四)——IO引脚复用和映射
371 0
|
5月前
|
开发者
【经典案例】使用HAL库配置STM32F407的SPI外设
在嵌入式系统开发中,STM32F407是一款广泛应用的微控制器,而SPI(Serial Peripheral Interface)是一种常用的通信接口。本文将详细介绍如何使用STM32的硬件抽象层(HAL)库配置STM32F407的SPI外设,并提供完整的代码示例。
543 1
|
4月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
156 0
|
4月前
|
数据安全/隐私保护
STM32F103C8T6实现简易密码锁(CubeMax配置)(一),Oled显示。
项目功能:实现设置密码,登陆密码,后期还可以通过E2PROM实现掉电不丢失数据。通过Oled的显示去判断我们是否设置或者登陆成功。
|
5月前
|
芯片
【STM32】详解RTC实时时钟的概念和配置&示例代码
【STM32】详解RTC实时时钟的概念和配置&示例代码
|
6月前
|
中间件 编译器 调度
STM32cubemx对FreeRTOS的适配(工程模板配置)
STM32cubemx对FreeRTOS的适配(工程模板配置)
345 0