01 STM32

STM32简介

  • STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器
  • STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等

eg.寻迹小车:STM32读取光电传感器或者摄像头的数据,驱动电机前进或者转弯

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

eg.机器人:STM32驱动舵机,控制机器人的关节,让机器人运动

eg.无线通信:给STM32连接上一些2.4G无线模块或者蓝牙、WIFI模块

eg.物联网:借助无线模块来通信(蓝牙、WIFI、ZigBee、……),再通过STM32驱动继电器控制220V电路的通断

eg.工业控制:PLC主控

eg.娱乐电子产品:爱心流水灯

  • STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器
  • STM32家族系列图


ARM

• ARM既指ARM公司,也指ARM处理器内核

• ARM公司是全球领先的半导体知识产权(IP)提供商,全世界超过95%的智能手机和平板电脑都采用ARM架构

• ARM公司设计ARM内核,半导体厂商完善内核周边电路并生产芯片

        模块图                                ARM内核的型号       

CortexA(高端应用型领域):Application  ARM内核中性能最高、发展最快的系列,主要用于手机领域

Cortex-R(嵌入式领域):RealTime  主要面向实时性很高的场景 eg.硬盘控制器

Cortex-M(嵌入式领域):Microcontroller  主要应用再单片机领域


STM32F103C8T6

• 系列:主流系列STM32F1

• 内核:ARM Cortex-M3

• 主频:72MHz

• 运行内存RAM:20K(SRAM)

• 程序存储器ROM:64K(Flash)

• 供电电压:2.0~3.6V(标准3.3V) 【如果供电电压是5,需要加一个稳压芯片,把电压降到3.3V,再给STM32供电】

• 封装:LQFP48

STM32F1系列的片上资源/外设

命名规则

系统结构

Flash:存储编写的程序

ICode指令总线:加载程序指令

DCode数据总线:加载数据 eg.常量和调试数据

System系统总线:

SRAM:存储程序运行时的变量数据

AHB系统总线;用于挂载主要的外设

APB先进外设总线:用于连接一般的外设

DMA:做数据搬运等简单需要反复干的事情,节省CPU的时间

引脚定义

颜色标记

红色——电源相关引脚

蓝色——最小系统相关引脚

绿色——IO口、功能口相关引脚

推荐优先使用加粗的!!

引脚名称

  • VBAT:备用电池供电引脚,其可接一个3V的电池,当系统电源断电时,备用电池可以给内部的RTC时钟和备份寄存器提供电源。
  • 2号引脚:IO口或者侵入检测或RTC

IO口可根据程序输出或读取高低电平,是最基本也是最常用功能

侵入检测可以用来做安全保障的功能

RTC可用来输出RTC校准时钟、RTC闹钟脉冲或秒脉冲

  • 3、4号引脚是IO口或者接32.768KHz的RTC晶振。
  • 5、6号引脚接系统主晶振,一般是8MHz。芯片内有锁相环电路,可以对8MHz的频率进行倍频,最终产生72MHz频率,作为系统的主时钟。
  • 7号NRST为系统复位引脚,N表示它是低电平复位。
  • 8、9号引脚是内部模拟部分的电源,如ADC、RC振荡器等。VSS为负极,接GND,VDD是正极,接3.3V。
  • 10~19号引脚都为IO口,PA0兼具Wake-up功能,用于唤醒处于待机模式的STM32.
  • 20号引脚为IO口或者BOOT1引脚,BOOT引脚是用来配置启动模式的。
  • 23、24号的VSS_1(负极)和VDD_1(正极)是系统的主电源口。后面的VSS_2和VDD_2、VSS_3和VDD_3都是系统的主电源口,STM32内部采用分区供电的模式,把VSS都接GND,VDD都接3.3V即可。
  • 25~33都为IO口。
  • 34号+37~40号,都是IO口或者调试端口;默认的主功能是调试端口,调试端口就是用来调试程序和下载程序的,次STM32支持SWD和JTAG两种调试方式。SWD需要两根线,分别是SWDIO和SWCLK;JTAG需要5根线,分别JTMS、JTCK、JTDI、JTDO、NJTRST。此处介绍用STLINK下载调试程序,在SWD调试方式时,PA15、PB3、PB4可以切换回普通的IO使用,但是要在程序中进行配置,不配置的话默认是不会为IO口的。
  • 41-43及45~46都是IO口,44号BOOT0做启动配置。

类型

S:电源

I:输入

O:输出

I/O:输入输出

I/O电平:所能容忍的电压

___:3.3V

FT:5V

主功能:上电后默认的功能,一般和引脚名称相同。若不同,引脚的实际功能是主功能而不是引脚名称的功能。

默认复用功能:I/O口上同时连接的外设功能引脚,在配置IO时可以选择是通用IO口还是复用功能。

重定义功能:如果有2个功能同时同在了一个I/O口上,可以把其中一个功能映射到其他端口上(前提:重定义功能的表中有对应的端口)

启动配置

启动配置的作用就是指定程序开始运行的位置,一般情况下,程序都是在Flash程序存储器开始执行;当然在某些情况下,需要程序在别的地方开始执行,用来完成特殊的功能。

在所述STM32系列中可以通过配置BOOT0和BOOT1引脚,来选择三种启动模式。

BOOT0接0(即接地),此时BOOT1无论接什么,启动模式都为主闪存存储器模式。

BOOT1接地,BOOT接1(即接3.3V电源),系统模式被选为启动区域(此模式用来做串口下载用)。BOOTLoader程序,其作用就是接收串口的数据,然后刷新到主闪存中,就可以使用串口下载程序。

BOOT0接1,BOOT1接1,配置内置SRAM启动,主要用来进行程序调试。

最后一句话的意思为,BOOT引脚的值是在上电复位后的一瞬间是有效的,之后就随意了。

最小系统电路

右侧为STM32及供电部分

滤波电容可保证供电电压的稳定,遇到供电都会习惯的加上几个滤波电容

OSC32为32.768KHz晶振的意思,32768(2的15次方),内部RTC电路经过2^15分屏,就可生成1s的时间信号

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值