1_stm32简介

1 命名含义

st——公司名,意法半导体公司

m32——32位微控制器

f——系列:通用型(F),简单型(S)、低功耗(L)、高性能(H)、汽车型(A)

103——子系列型号:1(增强型)、03(子系列型号)

V——引脚:100引脚,C(48 Pin)、V(100 Pin)、Z(144 Pin)

E——FLASH:E(512 KB)、8(64 KB)

T——封装类型:LQFP封装

6——温度:6(-4085)、8(-40105)

2 数据手册的使用

第一步:先看第一页的封装类型、基本的功能展示。

第二部:再根据需求去查看每一个部分。

3 内部核心功能

3.1 arm内核

最高工作频率:72MHZ,超频时不稳定。

存储器的0等待周期访问时可达1.25DMIPS/MHZ,读取RAM和FLASH不耗时间。

3.2 存储器

NOR FALSH:512KB,浮栅场效应管,无限读,10万次写,写之前扇区擦除。

SRAM:64KB,锁存器,无限次读取,速度快,掉电丢失数据。

3.3 时钟

时钟提供周期性脉冲,一个机器周期读取一条指令。

时钟频率由振荡器和分频器决定。

3.4 振荡器

RC振荡器:电阻加电容产生方波。

RC振荡器特点:体积小、成本低,但温漂大。

晶振:石英晶体内部振荡产生方波。

晶振特点:体积大,但温漂小。

名称缩写频率
高速外部晶振HSE1~16M HZ
低速外部晶振LSE32.768 KHZ
高速内部振荡器HSI8MHZ
低速内部振荡器LSI40KHZ
3.5 分频和倍频

分频器:将时钟频率变为多少分之一。

倍频:将时钟频率通过锁相环改为几倍。

3.6 复位

复位的目的是将RAM的数据清空,不复位时单片机不稳定。

stm32内部有一个供电监控器,当电压低于2V,自动复位,高于2V,工作状态。

每次上电,从0~3.3V,则会自动复位。

手动复位:复位引脚处接一个微动开关,另一端接地。

3.6 电源管理

电源管理包括:备用电源输入、端口IO、逻辑电源输入和模拟电源输入。

逻辑电源输入:最基本供电端口。

备用电源输入:专给RTC实时时钟供电,保证掉电走时。

4 内部重要功能

4.1 低功耗模式

低功耗模式:关闭部分的功能,节省电能。

睡眠模式:关闭内核,依靠内外中断停止。

停机模式:关闭内核、内部所有功能、PLL、HSE,外部中断输入接口EXIT、电源监控中断PVD、RTC闹钟到时、USB唤醒信号唤醒。

待机模式:关闭内核、内部所有功能、PLL、HSE、SRAM内容消失,NRST复位、独立看门狗IWDG复位、专用唤醒WKUP引脚、RTC闹钟到时唤醒。

睡眠模式特点:不影响正常工作,但不够省点。

停止模式特点:足够省电,不能正常工作,但开机后程序还能恢复,用得最多。

待机模式特点:最省点,但开机后不能恢复,相当于复位。

4.2 ADC

可以读取具体的电压值。

位数越高则电压值越精确,stm32f103的ADC是12位。

4.3 DMA

直接访问存储器,可以解放CPU,将数据从一个地方搬运到另一个地方。

4.4 调试模式

所有STM32都支持JTAG模式调试,提供仿真和下载。

仿真即不将程序写到flash中,使用计算机直接控制单片机内核,更高效。

JTAG还能控制IO口的输出电平状态,测试端口是否正常。

JTAG的接5根线,简化版SW接2根线。

4.5 定时器

1个高级定时器、3个普通定时器、2个看门口口定时器、一个滴答定时器。

看门口定时器的作用:时间到了让单片机复位,当程序死机,不能让看门狗计时器清零则复位。

滴答定时器作用:切换实时操作系统的任务。

5 内部通信功能

5.1 I2C总线

飞利浦开发的同步、半双工通讯协议。

I2C的速度:低速模式100KHZ、快速模式400KHZ、高速模式3.4MHZ,一般100KHZ。

I2C的优点:简单易学、成本低、只占用2个IO口,但速度低。

stm32f103内部2个I2C,都支持DMA,但硬件I2C到100KHZ以上就不稳定了。

I2C的工作模式:一主多从,主机来控制从机。

I2C的引脚:VCC、GND、SCL、SDA。

5.2 USART串口

USART是一种异步、全双工的通信协议。

RS232电平:-3V~-15V为高电平,通信距离20m,max2323芯片实现电平转换。

RS485电平:两线压差来区分高低电平,通信距离1000m,也需要电平转换。

stm32内部有五个USART。

5.3 SPI总线

摩托罗拉开发的同步、全双工通讯协议。

速度最大18MB/S,但挂载设备数量有限。

5.4 CAN总线

用在工业控制、汽车电子。

只需要两根线连接无数设备,速度可达到1MB/S,当某设备损坏,总线可以将其断开。

stm32f103有1个can总线接口,需要一个can收发器芯片(电平转换)才能正常使用。

5.5 USB接口

USB接口有明显的主从关系,而USART没有主从关系。

1.5.6 CRC校验和芯片ID

CRC:循环冗余校验,主要是为了确定收发数据的有效性。

芯片ID,单片机内部都有一组96位二进制的ID号,用户可以将其作为产品序列号,或者加密程序。

6 DAP下载器

6.1 仿真器特点

支持所有ARM Cortex-M内核单片机。

免驱动安装。

支持XP/WIN7/WIN8/WIN10四个操作系统。

支持JTAG和SW下载模式,可在线调试和硬件仿真。

高速版支持JTAG和SW下载模式,全速版只支持SW下载模式。

6.2 仿真器引脚说明

在这里插入图片描述

6.3 仿真器接线

在这里插入图片描述

6.4 仿真器配置

Debug选项配置,选择仿真器型号:CMSIS-DAP Debugger。

Utilities选项配置,选择默认配置的仿真器,Use Debug Driver。

Debug Settings选项配置,Debug里,选SW-5MHZ,勾选under reset,SYSRESETEQ.

Debug Settings选项配置,Flash Download里,勾选Erase Sectors,Reset and Run。

添加STM32F10X High Densty Flash 512k。

6.5 配置失败原因

开发板未上电:SW/JTAG Communication failure。

选择了其他仿真器如ST LINK:No ST_LINK Detected。

没有勾选use Debug Driver:No ULINK Device found。

没添加对应芯片:Error:Flash Download failed - “cortex -m3”。

本来板子会load失败,需要改为under reset 和 SysReseterEQ。

7 ISP下载电路

7.1 ISP介绍

ISP(在系统可编程):依靠芯片内部自举程序(Bootloader)选择一种串行外设,对芯片内部的flash进行编程。

7.2 启动方式
BOOT0BOOT1启动方式
0x内部FLASH
10系统存储器/ISP模式
01SRAM
7.3 普通ISP过程

电脑接USB转串口线接STM32的USART1,并打开电脑上位机;

设置跳帽保持BOOT0为高电平,BOOT1为低电平;

复位单片机使其进入BootLoader模式,通过上位机下载程序;

下载完毕,设置跳帽保持BOOT0为低电平,BOOT1为低电平;

复位单片机即可启动代码。

7.4 一键ISP过程

下载安装CH340串口驱动;

打开电源开关并编译生成HEX文件;

打开MCUISP软件,将波特率设置为115200,勾选检验、编程后执行,选择DTR低电平复位,RTC高电平进入bootloader;

点击开始编程。

7.5 一键ISP原理

RTS置0,导通PNP型三级管,BOOT0置1,进入BootLoader;

DTR置1,导通NPN型三级管,NRST置0,完成复位;

进入ISP模式之后,可以将RST置1,DTR置0,还原为原始状态。

在这里插入图片描述

7.6 ISP模拟开关

只要RTS为低电平时,DTR电平也是低电平,因此一般Q2不会被导通,但由于存在竞争冒险,会出现RTS的下降沿刚好遇到DTR的上升沿,这时候Q2导通,导致系统复位,而BOOT0也有可能为高电平,就会进入ISP模式;

加入模拟开关U18,通过控制U18的使能端开达到隔离干扰电平的目的:上电后C65电容需要通过R18充电1S才能达到使能端的有效电平,因此不会干扰到系统复位。

备注:只有USART1才支持ISP下载,利用CH340将5V的电源电源转换为3.3v的电压,计算机串口使用RS232电平,与单片机的电平相反。

8 芯片选择

根据功耗选择芯片内核。

根据引脚确定芯片。

确定是否需要Flash。

9 引脚分配

确定芯片编号:从小圆点起始为第一个引脚,逆时针引脚编号递增。

引脚分类引脚说明
电源VDD、VSS、VBAT、VDDA、VSSA、VREF、VREF-
晶振主晶振IO、RTC晶振IO
下载JTAG下载IO:JTMS、JTCK、JTDI、JTDO、NJTRST
bootBOOT0、BOOT1
复位NRST
GPIO总线GPIO
普通GPIO

备注:电源、晶振、下载、boot、复位组成最小系统。

10 stm32f103内部框图

10.1 存储器

FLASH:存常量和指令。

SRAM:存局部变量。

10.2 总线

ICode:指令总线,从FLASH中读取指令。

DCode:数据总线,从FLASH中读取常量,从SRAM中读取变量。

System:系统总线,通过该总线读写寄存器。

DMA:直接访问存储器,将数据从一个地方搬运到另一个地方,不占CPU资源。

10.3 外设

AHB总线:高速总线,72MHZ,挂载RCC、SDIO以及两个桥接。

APB1总线:低速总线,36MHZ,主要挂载串口和定时器资源。

APB2总线:高速总线,72MHZ,主要挂载GPIO。

FMSC:主要来扩展静态SRAM。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值