STM32简介(系统结构、引脚定义……)
时间:2022-10-13 01:30:00
提示:文章完成后,目录可以自动生成,如何生成可以参考右边的帮助文档
文章目录
- 前言
- 一、STM32简介
- 二、STM32F103xxx
-
- 1.STM32F1系列片上资源/外设
- 2.命名规则
- 3.系统结构
- 4.引脚定义
- 5.启动配置
- 6.STM32最小系统电路
- 总结
前言
提示:此处可添加本文要记录的一般内容:
介绍STM电影资源/外设、命名规则、系统结构、引脚定义、启动配置、最小系统电路等基本内容。
STM32:ST指ST公司、M指Microcontroller(微控制器)
一、STM32简介
1)STM32是ST公司基于ARM Cortex-M32位微控制器内核开发。
2)STM嵌入式领域常用32。
(1)智能汽车:跟踪汽车,阅读光电传感器或摄像头的数据,驱动电机前进和转弯。
(2)无人机:读取陀螺仪加速度计的姿态数据,按控制算法控制电机速度,确保飞机稳定飞行。
(3)机器人:驱动舵机,控制其关节,让机器人移动。
(4)无线通信:给STM32连接一些2.4G无线模块或蓝牙,WIFI具有无线通信能力的模块。
(5)物联网:借助无线通信模块,再通过STM32驱动继电器控制220v电路通断。
(6)工业控制:PLC主控。
(7)娱乐电子产品:流水灯等……
(8)……
3)STM是经典的嵌入式微控制器,功能强大,性能优异,片上资源丰富,功耗低。
此处用STM32F103C8T6。
二、STM32F103xxx
1.STM32F1系列片上资源/外设
NVIC:配置中断优先级等管理中断。
SysTick:为操作系统提供定期服务。
RCC:外设时钟。
AFIO:重定义复用功能端口,中断端口配置。
CAN:多用于汽车领域
RTC:在STM32内部完成年月日、时分秒的计时功能,可连接外部备用电池,也可使用掉电。
CRC:判断数据的正确性。
PWR:电源可以睡觉,降低功耗。
GPIO、EXTI、TIM、USART、I2C、SPI、ADC、DMA将在专题内逐一介绍。
……
若操作片上没有外设资源,则无法工作。
2.命名规则
示例:STM32 F103 C 8 T 6
**区域1位Cortex-M三是内核,内核引出三条总线;ICode指令总线、DCode数据总线、System系统总线。其中ICode和DCode主要用于连接Flash闪存,Flash存储的内容是我们编写的程序。ICode指令总线用于加载指令程序,DCode数据总线用于加载数据,如常量和调试参数。System系统总线连接其他东西,如SRAM(存储程序运行中的变量数据),FSMC等。
**(2)**AHB(先进高性能总线)系统总线用于悬挂主要外设,通常是最基本或性能最高的外设,如复位和时钟控制(RCC)、SDIO、两个桥接(APB1和APB2)等。APB(先进外设总线)用于连接一般外设;因为AHB与APB在总线协议、总线速度和数据传输格式之间的差异中,需要在数据转换和缓存后增加两个桥接。APB2(一般与AHB同频)性能比APB1高一点,所以在外设中连接一些稍微重要的部分,比如GPIO、外设的一号(USART1、TIM1、ADC1……);APB1则连接DAC、外设的其它号(USART2、TIM2……)。上述为区域3,主要介绍外设的类型和分布。
**(3)**区域4为DMA(直接内存访问)可以理解为内核CPU小秘书,如果有大量的数据处理工作,为了减少CPU给其他工作腾出时间的工作量DMA来做。
DMA它主要用于做像数据处理一样简单和重复的事情DMA连接到总线矩阵的总线可以拥有和CPU访问其他外设时需要相同的控制权;DMA外设理数据时,外设将通过请求线发送DMA请求,然后DMA整个过程不需要总线控制、访问和转移数据CPU省下参与CPU做其他事情的时间。
4.引脚定义
在获得新芯片时,需要关注其引脚定义,以便大致了解如何使用芯片。
砖红:与电源相关的引脚;有FT这意味着它可以忍受5V如果没有电压FT,需要5V电平安装电平转换电路。
蓝色:与最小系统相关的引脚
绿色:I/O口、功能口相关引脚
主要功能是上电后的默认功能,一般与引脚名称相同;如果不同,引脚的实际功能是主要功能,而不是引脚名称。默认复用功能,是的IO配置口同时连接的外设功能引脚IO一般可以选择IO口还是复用功能。如果有两个功能同时复用于重定义功能IO此外,如果您确实需要这两个功能,您可以将其中一个复用功能反射到其他端口(如果重定义功能的表中有相应的端口)。
**1)**VBAT:备用电池供电引脚可连接3个V当系统电源断电时,备用电池可以给内部RTC时钟和备份寄存器提供电源。
**2)**2号引脚是IO口或侵入检测或RTC,IO根据程序输出或读取高低电平电平,是最基本、最常用的功能;侵入检测可作为安全功能;RTC可用来输出RTC校准时钟、RTC闹钟脉冲或秒脉冲。
**3)**3、4号引脚是IO口或者接32.768KHz的RTC晶振。
**4)**5、6号引脚接系统主晶振,一般为8MHz。芯片内有锁相环电路,可以对8MHz频率倍频,最终产生72MHz频率,作为系统的主时钟。
**5)**7号NRST为系统复位引脚,N表示为低电平复位。
**6)**8.9引脚是内部模拟部分的电源,如ADC、RC振荡器等。VSS为负极,接GND,VDD是正极,接3.3V。
**7)**10~19号引脚都为IO口,PA0兼具Wake-up在待机模式下唤醒功能STM32.
20号引脚为IO口或者BOOT1引脚,BOOT引脚用于配置启动模式。
**8)**23、24号的VSS_1(负极)和VDD_1(正极)是系统的主电源口。VSS_2和VDD_2、VSS_3和VDD_三是系统的主电源口,STM32内部采用分区供电模式VSS都接GND,VDD都接3.3V即可。
**9)**25~33都为IO口。
**10)**34号加37号40号,都是IO口或调试端口;默认的主要功能是调试端口,用于调试程序和下载程序STM32支持SWD和JTAG两种调试方法。SWD需要两条线,分别是SWDIO和SWCLK;JTAG分别需要5条线JTMS、JTCK、JTDI、JTDO、NJTRST。此处介绍用STLINK在SWD调试方式时,PA15、PB3、PB可切换回普通IO使用,但应在程序中进行配置。如果不配置,默认不会IO口的。
**11)**41-43及45~46都是IO口,44号BOOT0启动配置。
5.启动配置
启动配置的作用是指定程序开始运行的位置。一般来说,程序是在Flash程序存储器开始执行;当然,在某些情况下,程序需要在其他地方执行,以完成特殊功能。
在所述STM通过配置32系列BOOT0和BOOT1引脚,选择三种启动模式。
**1)**BOOT0接0(即接地)BOOT无论连接什么,启动模式都是主闪存存储模式。
**2)**BOOT1接地,BOOT接1(即接3.3V电源),系统模式被选为启动区(用于串口下载)。BOOTLoader该程序其功能是接收串口数据,然后刷新到主闪存,可以使用串口下载程序。
**3)**BOOT0接1,BOOT1接1,配置内置SRAM启动,主要用于程序调试。
表6 最后一句话的意思是,BOOT引脚值在上电复位后的瞬间有效,然后随意。
6.STM32最小系统电路
右侧为STM32及供电部分。滤波电容器可以保证供电电压的稳定性,并习惯于在供电时添加几个滤波电容器。
OSC32为32.768KHz晶振的含义,32768(2的15次方),内部RTC电路过2^15分屏,就可生成1s的时间信号。
总结
要想让STM32正常工作,就需要把电源部分和最小系统部分的电路连接好(最小系统版),即引脚定义标砖红和蓝色的部分。仔细阅读官方手册。