STM32介绍

下面会分享一整套stm32的入门到实战的一些知识和心得,持续更新~

一、stm32介绍

1.1stm32介绍

stm32:st指的是意法半导体,m指的是处理器(cpu,ARM公司设计的ARM内核Cortex-M),32指的是计算机处理器位数;

ST公司使用了ARM公司的Cortex-M内核,封装了外部电路,形成了STM32;

与ARM的关系:ARM是一家微处理器公司,主要推出了cortex-A(,cortex-R,cortex-M三种系列

cortex-A:主要针对多媒体应用;

cortex-R:主要针对实时性和性能有一定要求;

 

系列:主流的F1系列;

内核:ARM-Cortex-M3;

主频:72MHz;

RAM:20k;(运行内存,实际存储介质是SRAM)

ROM: 64k(FLASH);(程序存储器,实际存储介质是FLASH)

供电:2.0~3.6v(标准是3.3V);

封装:LQFP48;

stm32主要采用的就是M系列;

M系列分为cortex-M0,cortex-M3,cortex-M4等;

STM32 主要采用的就是cortex-M3;

STM32介绍_第1张图片

stm32应用广泛,不同场景应用具体参考产品选型手册

STM32介绍_第2张图片

1.2stm32命名方式

STM32,以STM32C8T6做出说明:

STM32:基于ARM核心的32位微控制器;

F:产品类型:F通用类型,L低电压(1.65~3.6v);

103:产品子类型:101基本型,102uSB型,103增强型,105互联型等;

C:引脚数目:T:36,C:48,R:64,v:100,z:144;(引脚数目越多,可连接外设越多,相关功能越多)

8:flash闪存容量 4:16k,6:32k,8:64k ,B:128k, C:256k;(flash越大资源越多)

引脚越多,flash容量越大,产品性能越好,集成芯片外设越多,功耗越多;

T:封装形式;

6:温度范围;

STM32介绍_第3张图片

二、芯片内部结构

STM32介绍_第4张图片

cortex内核和调试系统主要用ARM提供;

CPU执行程序代码;

下面部分有意法半导体公司提供;

存储器:flash,写好程序后,编译生成可执行代码后,下载到存储器中来保存,执行时候加载到RAM中;

I/O:通用输出输入引脚,通信外界设备;

外设:外部设备;

时钟和复位:

复位:按下复位使系统处理器变为最原始的状态,开始执行;

时钟系统:任何一个外设想要正常工作,必须要有时钟系统;

STM32介绍_第5张图片

三、引脚介绍

左上角的小黑点,代表它左边的引脚是一号引脚,然后逆时针以此排列;
红色是电源引脚,蓝色的是最小系统相关的引脚,绿色的是IO口,功能口这些引脚;
类型:S代表电压,I代表输入,o代表输出,I/O代表输入输出;
I/O电平:如果有FT代表容忍5V电压,没有位3.3V,
重定义功能:如果有俩个功能复用在一个I/O上,可以把其中一个功能重新映射到其他端口上;
VBAT:备用电池供电引脚(接一个3V的电池,当系统电源断电后,备用电池可以给内部的RTC时钟和备份寄存器供电);
TAMPER-RTC:io口或者侵入检测或者RTC,根据程序输出读取高低电平;侵入检测用来做安全保障;RTC输出脉冲;
3-4引脚是IO口或者接32,768KHZ的RTC晶振;

四、stm32最小系统组成

单片机的最小系统是指为了让单片机正常工作,并且能够发挥其功能作用的最少组成单元,最小系统主要由:复位电路,BOOT 电路,晶振电路,SWD下载调试电路,供电电路组成;

使用的芯片是:STM32F103C8T6

3.1供电系统; VCC,GND接上供电

STM32介绍_第6张图片

3.2复位电路;

STM32介绍_第7张图片

组成:由一个按键,一个电容和一个上拉电阻组成;

目的是为了,对芯片进行复位,使电路恢复到最初的状态,其中NRST连接STM32的复位引脚,该复位引脚是低电平复位;

所以复位就是重启,NRST引脚为低电平时复位,正常工作状态下,复位引脚是高电平;

两种复位方式:(1)接入电源的一瞬间上电复位;

(2)按键复位;

原理:(1)上电复位:接入电源瞬间,电容C被视为短路,NRST为低电平接地,电容充电后被视为开路,NRST点电位回升为高电位;

(2)按键复位:按下按键后,NRST点变为低电平,stm32复位,按键松开后,NRST点回升为高电平;

3.3时钟电路(分为内部和外部);

外部电路组成:32.768kHZ的外部低速晶振和一个8KHZ的内部低速晶振组成.

3.4SWD下载的接口电路;

STM32介绍_第8张图片

由一个4P的排针组成,用于接SL-LINK下载器,其中2,3引脚接SMT32的PA13,PA14引脚(SWD下载引脚)

3.5BOOT电路(启动方式);BOOT0,BOOT1这俩个引脚的高低电平,决定了单片机的启动方式;

后面的篇章会详细介绍;

五、参考文档介绍

数据手册,固件库,原理图;

4.1数据手册:芯片的参考手册:STM32芯片选型手册(根据项目实际需要,来进行芯片选型);

STM32数据手册(功能引脚的一些描述);

SMT32寄存器手册;

原理图:芯片原理图;

4.2固件库介绍;

4.2.1mcu开发方式

从开发语言分类:汇编语言,C语言;

STM32由汇编语言(启动阶段)+C语言

实际开发过程中:1.配置MCU中某个功能模块的寄存器进行操作;

2.使用ST官方提供的固件库驱动操作;

4.2.2固件库介绍

固件库:STM32标准外设库

主要由功能接口,数据结构,宏等组成,包括每一个外设驱动描述和实例;

获取ST提供标准固件库:
https://www.stmicroelectronics.com.cn/zh/embedded-software/stm32-standard-
peripheral-libraries.html?querycriteria=productId=LN1939
重要文件介绍:CMSIS
stm32f10x_Stdperiph.Lib外设库
stm32f10x.h:实现了所有硬件寄存器结构、地址映射、寄存器位操作、基本类型等定义
core_cm3.x:主要针对一些通用寄存器、中断优先级、启动模式相关的内嵌汇编操作接口
system_stm32f10x.x:系统启动初始化,尤其是系统时钟配置
startup_stm32f10x_xx.s:引导启动文件
misc.x:主要是中断初始化、分组管理等相关接口,实现了用户对中断的配置功能
stm32f10x_exit.x:中断服务相关
stm32f10x_conf.h:用来统一包含当前系统要用到的功能模块头文件,并实现了
assert_param()(判断参数的有效性;)

你可能感兴趣的:(stm32,嵌入式硬件,单片机)