STM32学习记录-01-STM32简介

1 ARM

2 STM32F103C8T6

系列:主流系列STM32F1

内核:ARM Cortex-M3

主频:72MHz

RAM:20K(SRAM)

ROM:64K(Flash)

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

封装:LQFP48

3 片上资源/外设

4 系统结构

左上角为Cortex-M3内核,内核引出三条总线,分别是ICode指令总线、DCode数据总线、System系统总线,ICode与DCode主要连接Flash闪存,Flash里存储我们编写的程序,ICode指令总线加载程序指令,DCode数据总线加载数据,System总线连接其他。SRAM用于存储程序运行时的变量数据。

AHB系统总线(先进高性能总线)用于挂载主要的外设,SDIO也挂载在AHB上。两个桥接分别接在APB2和APB1两个外设总线上(APB先进外设总线),桥接是用来完成AHB和APB两个总线之间的数据转换和缓存。AHB整体性能比APB的高,APB2的性能比APB1的高,APB2一般与AHB同频率为72MHz,APB1一般为36MHz,所以APB2连接的为外设中稍微重要的部分。

左下角为DMA,可以当作CPU的秘书,用于数据搬运。DMA通过DMA总线连接到总线矩阵上,可以拥有和CPU一样的总线控制权,用于访问外设,当需要DMA搬运数据时,外设就会通过DMA请求线发送请求,然后DMA会获得总线控制权,访问并搬运数据,整个过程不需要CPU参与。

5 引脚定义

红色为电源相关引脚,蓝色为最小系统相关引脚,绿色为IO口、功能口引脚(优先使用加粗的IO口,没加粗的需要优先配置或有其他功能)

S代表电源,I代表输入,O代表输出,IO代表输入输出,IO口电平代表IO口所能容忍的电压(FT代表5V,没有FT则为3.3V,5V需要加装电平转换电路),主功能为上电后默认的功能,一般与引脚名称相同,默认复用功能是IO口上同时连接外设的功能引脚,配置IO口是可以选择是通用IO口还是复用功能,重定义功能的作用为如果有两个功能同时复用在一个IO口上,而又需要用到两个功能,则可以把其中一个复用功能重映射到其他端口(前提是重定义功能表里有对应的端口)

        (1)VBAT:备用电池供电引脚,可接3V电池,系统电源断电时备用电池可以给内部的RTC时钟和备份寄存器提供电源

        (2)PC13-TAMPER-RTC(IO口-侵入检测-RTC):IO口根据程序输出或读取高低电平,侵入检测可以做安全保障的功能(如可在外壳加防拆触点,接上电路到这个引脚,拆开设备使触点断开,引脚电平发生变化,就会触发STM32侵入信号,清空数据保障安全),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兼具WKUP功能,用于唤醒处于待机模式的STM32

        (20)IO口或BOOT1引脚,BOOT引脚用来配置启动模式

        (21-22)IO口

        (23-24)VSS_1和VDD_1为系统主电源口,VSS为负极,VDD为正极

        (35-36、47-48)VSS和VDD都是系统主电源口,STM32采用分区供电

        (25-33)IO口

        (34、37-40)IO口或调试端口,默认主功能为调试端口,用来调试程序和下载程序,STM32支持SWD和JTAG两种调试方式,SWD需要两条线,分别为SWDIO和SWCLK,JTAG需要五条线,分别为JTMS、JTCK、JTDI、JTDO、NJTRST。STLINK用SWD的方式下载调试程序,只需要占用PA13和PA14两个IO口,剩下的PA15、PB3、PB4可以切换配置为普通IO口使用

        (41-43、45-46)IO口

        (44)BOOT0,用来启动配置

6 启动配置

启动配置:指定程序开始运行的位置。一般从Flash程序存储器(主闪存存储器)开始执行,但也可在别的地方开始执行以完成特殊功能。系统存储器存的是STM32中的一段BootLoader程序,作用是接收串口数据,刷新到主闪存中,就可以用串口下载程序(引脚34、37-40为调试端口,用来下载程序,如果都被占用,就可用串口来下载程序)。内置SRAM主要用于程序调试,使用较少

图片最下面一句话的意思为BOOT引脚在上电后第4个时钟过去之后,原来BOOT引脚就为PB2的功能了

7 最小系统电路

(1)STM32及供电:主电源和模拟部分电源都链接了供电引脚,VSS连接了GND,VDD连接了3V3(即3.3V),3.3V和GND之间一般会连接滤波电容,保证供电电压稳定。VBAT接备用电池,可选3V纽扣电池正极接VBAT,负极接GND,备用电池是给RTC和备份寄存器服务的,如不需要这些功能,VBAT可直接接3.3V或悬空

(2)晶振:接了8MHz的主时钟晶振,经过内部锁相环倍频得到72MHz主频。晶振两个引脚分别通过两个网络标号接到STM32的5、6号引脚。还需要接两个20pF的电容作为启震电容,电容另一端接地。如需RTC功能,需再接一个32.768KHz的晶振,电路与这个一样,接在3、4号引脚(OSC32就是32.768KHz晶振的意思,32768为2的15次方,内部RTC电路经过2的15次方分频可以生成1s的时间信号)

(3)复位电路:一个10k电阻和0.1uF电容组成,给单片机提供复位信号,NRST接在7号引脚,低电平复位。上电瞬间电容没电,电容通过电阻给电容充电,此时电容短路所以NRST低电平,电容满电后形成断路,NRST被电阻上拉为高电平。手动复位时按下按钮,电容放电且NRST接地,产生低电平信号。

(4)启动配置:H1相当于开关,让BOOT选择3.3V或GND

(5)下载端口:如果用STLINK下载,需要把SWDIO和SWCLK引出来方便接线,另外再把3.3V和GND印出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值