第2章 STM32单片机结构和最小系统分解
第2章 STM32单片机结构和最小系统汇总
退出
2.1 STM32F103微控制器外部结构
第2章 STM32单片机结构和最小系统
2.1 STM32F103微控制器外部结构 STM32系列命名规则、LQFP64(64引脚贴片)封装 的STM32F103芯片
2.2 STM32F103总线和存储器结构
总线结构、存储结构、位带 2.3 时钟电路、复位电路、启动配置 2.4 最小系统设计
退出
2.1 STM32F103微控制器外部结构
1. 芯片系列:STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU。 2. 芯片类型:F——通用快闪,L——低电压(1.65~3.6V),W——无线系统芯片。 3. 芯片子系列:103——ARM Cortex-M3内核,增强型;050——ARM Cortex-M0内核; 101——ARM Cortex-M3内核,基本型; 102——ARM Cortex-M3内核,USB基本型; 105—ARM Cortex-M3内核,USB互联网型; 107——ARM Cortex-M3内核,USB互联网型 、以太网型;215/217——ARM Cortex-M3内核,加密模块;405/407——ARM Cortex-M4 内核,不加密模块等。 4. 引脚数目:R——64PIN,F——20PIN,G——28PIN;K——32PIN,T——36PIN,H— —40PIN,C——48PIN,U——63PIN, O——90PIN,V——100PIN,Q——132PIN,Z— —144PIN,I——176PIN。 5. Flash容量:B——128KB Flash(中容量),4——16KB Flash(小容量), 6——32KB Flash(小容量),8——64KB Flash(中容量),C——256KB Flash(大容量),D—— 384KB Flash(大容量),E——512KB Flash(大容量),F——768KB Flash(大容量), G——1MKB Flash(大容量)。 6. 封装信息:T——LQFP,H——BGA,U——VFQFPN,Y——WLCSP。 7. 工作温度范围:6——-40℃~85℃(工业级), 7——-40℃~105℃(工业级)。 8. 可选项:此部分可以没有,可以用于标示内部固件版本号。
STM32最小系统
STM32最小系统STM32是意法半导体推出的一款32位微控制器,具有低功耗、高性能和丰富的外设资源等特点,被广泛应用于工业控制、消费电子、通信设备等领域。
而STM32最小系统则是指搭载STM32芯片的最小化硬件系统,通常包括主控芯片、时钟电路、电源管理电路和一些基本的外设接口电路等。
本文将介绍STM32最小系统的搭建方法和相关注意事项。
一、硬件设计。
1.主控芯片的选择。
STM32系列微控制器种类繁多,不同型号的芯片具有不同的性能和外设资源。
在设计最小系统时,首先需要根据实际应用需求选择合适的STM32芯片。
一般来说,最小系统中常用的是一些低端型号的STM32芯片,例如STM32F103C8T6、STM32F030F4P6等,这些芯片具有较低的成本和较少的引脚数量,非常适合用于最小系统的设计。
2.时钟电路设计。
STM32芯片需要外部提供稳定的时钟信号才能正常工作,因此在最小系统中需要设计时钟电路。
一般来说,可以选择使用石英晶体振荡器或者陶瓷谐振器作为时钟源,并通过合适的电路将时钟信号输入到STM32芯片的时钟输入引脚上。
3.电源管理电路设计。
STM32芯片需要提供稳定的电源供电才能正常工作,因此在最小系统中需要设计电源管理电路。
一般来说,可以选择使用稳压芯片或者LDO芯片来对输入电压进行稳压,以保证STM32芯片的工作电压在规定范围内。
4.外设接口电路设计。
最小系统通常需要提供一些基本的外设接口,例如LED指示灯、按键、串口通信接口等。
在设计最小系统时,需要根据实际应用需求设计相应的外设接口电路,并将其与STM32芯片相连接。
二、PCB布线。
在完成最小系统的硬件设计之后,需要进行PCB布线设计。
在进行PCB布线设计时,需要注意以下几点:1.将主控芯片、时钟电路、电源管理电路和外设接口电路等按照原理图进行合理布局,以减小信号传输路径长度,降低电磁干扰。
2.合理划分电源和地域,以减小电源回路的阻抗,提高系统的抗干扰能力。
第2章-STM32单片机应用基础与项目实践-微课版-屈微-清华大学出版社
2.3 STM32系列芯片
• 2004年ARM公司推出了Cortex-M3 MCU 内核。紧随其后,ST(意 法半导体)公司就推出了基于Cortex-M3内核的MCU,就是STM32。 STM32凭借其产品线的多样化、极高的性价比、简单易用的开发 方式,迅速在众多Cortex-M3 MCU中脱颖而出。
图 2.1 Cortex-M3 的内核架构简化框图
2.2.2 ARM Cortex-M3应用与编程
• Cortex-M3处理器是一个32位的处理器。内部的数据路径是32位的, 寄存器是32位的,寄存器接口也是32位的;Cortex-M3的指令和数 据各使用一条总线,所以Cortex-M3处理器对多个操作可以并行执 行,加快了应用程序的执行速度;Cortex-M3处理器使用Thumb-2 指令集,它允许32位指令和16位指令同时使用,代码密度与处理 性能大幅RM微处理器包括:ARM7系列、ARM9系列、ARM9E系列、 ARM10E系列、ARM11系列、SecurCore系列、Inter的XScale、ARM Cortex系列等。
• 1. ARM7系列
• 适用于对价位和功耗要求较高的消费类应用,应用领域:工业控 制、Intenet设备、网络和调制解调器、移动电话等。
• Cortex-M3内核的架构如图2.1图所示,下面主要关注架构图中标 了序号的模块:寄存器组、NVIC、中断和异常、储存器映射、总 线接口、调试支持。
• Cortex-M3中央内核基于哈佛架构,指令和数据各使用一条总线, 所以Cortex-M3处理器对多个操作可以并行执行,加快了应用程序 的执行速度。内核流水线分3个阶段:取指、译码和执行。
• 7.StrongARM和XScale系列 • Inter StrongARM SA - 1100处理器是32位RISC微处理器; • 采用ARM体系结构高度集成,融合Inter的设计和处理技术及ARM体系结构的
stm32单片机的工作原理
stm32单片机的工作原理STM32单片机是一款广泛应用于嵌入式系统的微控制器,具有高性能、低功耗和丰富的外设资源等特点。
本文将详细介绍STM32单片机的工作原理,并对其各个部分进行解析。
一、概述STM32单片机是由意法半导体(STMicroelectronics)公司开发的一款32位微控制器。
它采用了先进的ARM Cortex-M内核,非常适用于嵌入式控制应用。
STM32单片机具有丰富的外设资源,如通用IO口、定时器、通信接口(如USART、SPI、I2C)等,可以满足不同应用的需求。
二、内核结构STM32单片机的内核结构采用了Harvard体系结构,主要由处理器核、存储器和总线组成。
处理器核负责指令执行和数据处理,存储器用于存储程序代码和数据,总线则用于连接处理器核和存储器。
1. 处理器核STM32单片机的处理器核采用了ARM Cortex-M系列的核心。
它具有强大的计算能力和高效的指令执行速度,支持多种指令集和调试接口,能够满足不同应用的需求。
处理器核负责执行存储在存储器中的程序代码,控制外设的操作,并根据指令完成相应的数据处理。
2. 存储器STM32单片机的存储器分为Flash存储器和RAM存储器两部分。
Flash存储器用于存储程序代码和常量数据,可在电源关闭后保持数据的不变性。
RAM存储器用于存储临时的变量和数据,速度较快但断电后数据会消失。
3. 总线STM32单片机的总线用于连接处理器核和存储器,同时也用于连接外设。
总线分为数据总线、地址总线和控制总线三部分。
数据总线用于传输数据,地址总线用于指定存储器或外设的地址,控制总线用于传递读写和控制信号。
三、外设资源STM32单片机具有丰富的外设资源,可以满足各种嵌入式控制应用的需求。
这些外设包括通用IO口、定时器、通信接口等。
1. 通用IO口通用IO口是STM32单片机最常用的外设之一,它可以配置为输入或输出,用于连接外部设备或传感器。
通用IO口的数量和类型取决于具体型号,一般都有多个引脚可供使用。
第二章STM32的结构和组成
第⼆章STM32的结构和组成2.5 芯⽚⾥⾯有什么STM32F103采⽤的是Cortex-M3内核,内核即CPU,由ARM公司设计。
ARM公司并不⽣产芯⽚,⽽是出售其芯⽚技术授权。
芯⽚⽣产⼚商(SOC)如ST、TI、Freescale,负责在内核之外设计部件并⽣产整个芯⽚,这些内核之外的部件被称为核外外设或⽚上外设。
如:GPIO、USART(串⼝)、I2C、SPI等都在做⽚上外设。
ICode总线ICode中的I表⽰Instruction,及指令。
我们写好的程序编译之后都是⼀条条指令,存放在FLASH中,内核要读取这些指令来执⾏程序就必须通过ICode总线。
驱动单元DCode总线D表⽰Data,即数据,这要总线是⽤来取数的。
DMA系统总线⽤来传输数据,这个数据可以是在某个外设的数据寄存器。
被动单元内部的闪存存储器:即FLASH,我们编写好的程序就放在这个地⽅。
内核通过ICode总线来取⾥⾯的指令。
内部的SRAM:通常说的RAM,程序的变量开销都是基于内部的SRAM。
内核通过DCode总线访问。
FSMC:灵活的静态的存储器控制器。
AHB到APB的桥从AHB总线延伸出来的两条APB2和APB1总线,上⾯挂载着STM32各种各样的特⾊外设。
我们经常说的GPIO、串⼝、I2C、SPI这些外设在这条总线上,这是我们学习STM32的重点,重点、重点。
2.6存储器映射存储器映射:给存储器分配地址的过程。
存储器重映射:给存储器在分配⼀个地址就叫存储器重映射。
2.7寄存器映射给已经分配好的地址的⼜特定功能的内存单元取别名的过程就叫寄存器映射。
STM32入门系列-STM32最小系统介绍
STM32⼊门系列-STM32最⼩系统介绍STM32最⼩系统组成,也就是能够使得单⽚机正常运⾏程序,最少需要连接哪些器件。
⼀般来说,STM32最⼩系统由四部分组成:电源电路复位电路晶振电路下载电路STM32单⽚机由ARMCortexM3、总线矩阵、外设组成。
单⽚机开发板能够做哪些事情是⾃⼰的选择。
我们可以制作⼀款STM32最⼩系统核⼼开发板,当然根据实际项⽬的需求,加上单⽚机的某些特定外设模块。
简单说,要利⽤到STM32芯⽚所有引脚来设计具有特定或者通⽤功能的开发板。
⾸先要把STM32最⼩系统画出来,之后再添加需要⽤到的外设。
电源电路VDD表⽰数字电源的正极,⽽VSS是负极。
VDDA⽤来表⽰模拟电源正极(供电给ADC、DAC模块),VSSA是负极。
VREF+是参考电压输⼊引脚正极,VREF-是对应的负极。
ADC、DAC分别负责模数、数模转换。
在场合中,需要较的⾼信噪⽐,为此把模、数信号分开,来规避彼此影响。
于是有了数、模电源引脚之分。
为了给模拟电源提供标准电压信号,需要⽤到VREF引脚。
在对噪声要求不⾼的情况下,只需要做简单隔离即可。
⽐如,分别在VDD、VDDA以及VSS、VSSA之间接上0Ω电阻。
把VREF+与VDDA连接,把VREF-与VSSA连接。
在实际应⽤中,VREF+⽤来连接标准的电压输出,⽐如REF3133,产⽣标准的3.300V 电压,如下图所⽰。
因为STM32具有RTC功能(实时时钟),有VBAT(电池)引脚(接电池正极)。
出于安全考虑,设计如下电路。
既可以在有外接电源时保护电池,⼜可以在没有外接电源时给RTC供电。
原理容易理解,利⽤了⼆极管的单向导通性。
复位电路复位就是通常说的重启,STM32复位引脚是低电平复位,⽽正常⼯作状态时复位引脚是处于⾼电平状态。
晶振电路STM32有两组晶振,给单⽚机提供主时钟的晶振和给RTC提供时钟的晶振。
实际上,若⽤不到RTC功能,那么RTC晶振可不连接。
STM32单片机最小系统详解
STM32单片机最小系统详解STM32F103RCT6:STM32F103RCT6是一种嵌入式-微控制器的集成电路(IC),32位Cortex-M3内核处理器,速度是72MHz,程序存储器容量是256KB,程序存储器类型是FLASH,RAM容量是48K,封装LQFP64。
STM32单片机命名规则:STM32单片机最小系统:所谓单片机最小系统,就是让单片机能够正常运行,最少且必须的器件所组成的系统。
单片机最小系统上电之后,单片机可以正常复位,下载程序,除此之外没有其他任何功能。
在最小系统保证正确的基础上,可以依次添加其他功能模块或器件,使之单片机具有实际功能。
STM32单片机最小系统包括一个复位电路和一个时钟电路。
如下图1所示。
图中复位电路使用的是上电复位电路,STM32单片机NRST引脚输入低电平,则发生复位。
图1 STM32F103单片机最小系统电源引脚:VDD是单片机的数字电源正极,VSS是数字电源负极,共有5个VDD引脚,5个VSS引脚。
VDDA是单片机的模拟电源正极,负责给内部的ADC、DAC模块供电,VSSA是模拟电源负极。
还有一个电源引脚,就是VBAT,BAT就是Battery(电池),这个引脚用来连接电池的正极的。
STM32带RTC功能(实时时钟),所以有VBAT引脚。
原理图上预留了一个CR1220纽扣锂电池,当主电源供电存在的情况下,由系统中的VCC3.3给VBAT供电;当主电源断电之后,由CR1220纽扣电池给STM32自带的RTC模块供电,从而能够保证实时时钟模块在主电源掉电的情况下还能够正常工作。
但是这样设计的话,这里有一个矛盾需要解决。
如果VBAT引脚直接与VCC3.3和CR1220连接的话,会存在下面问题:1、当电池电压高于3.3V,电池就会输出电流到AMS1117,使得芯片发烫,还会很快消耗电池电量。
2、如果电池电压低于3.3V,AMS1117产生的3.3V,就会给电池充电,而这种CR1220电池是不能够充电的。
STM32最小系统硬件组成详解
STM32最小系统硬件组成详解0组成:电源复位时钟调试接口启动1、电源:一般3.3V LDO供电加多个0.01uf去耦电容2、复位:有三种复位方式:上电复位、手动复位、程序自动复位通常低电平复位:(51单片机高电平复位,电容电阻位置调换)上电复位,在上电瞬间,电容充电,RESET出现短暂的低电平,该低电平持续时间由电阻和电容共同决定,计算方式如下:t = 1.1RC (固定计算公式) 1.1*10K*0.1uF=1.1ms需求的复位信号持续时间约在1ms左右。
手动复位:按键按下时,RESET和地导通,从而产生一个低电平,实现复位。
3、时钟:晶振+起振电容 +(反馈电阻MΩ级)如使用内部时钟:对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。
2)对于少于100脚的产品,有2种接法:i)OSC_IN和OSC_OUT分别通过10K电阻接地。
此方法可提高EMC性。
32.768KHZ:可选择只接高速外部时钟8MHZ或既多接一个32.768MHZ的外部低速时钟。
32.768KHZ时钟作用:用于精准计时电路万年历通常会选择32.768KHz的晶振,原因在于32768=2^15,而嵌入式芯片分频设置寄存器通常是2的次幂的形式,这样经过15次分频后,就很容易的1HZ的频率。
实现精准定时。
用于精准计时电路万年历晶振:一般选择8MHZ 方便倍频有源:更稳定成本更高需要接电源供电不需要外围电路 3脚单线输出无源:精度基本够方便灵活便宜最大区别:是否需要单独供电无源晶振需要外接起振电容:晶振的两侧有两个电容OSC——OUT不接,悬空有源晶振作用:1、使晶振两端的等效电容等于或接近于负载电容;2、起到一定的滤波的作用,滤除晶振波形中的高频杂波;该起振电容的大小一般选择10~40pF,当然根据不同的单片机使用手册可以具体查阅,如果手册上没有说明,一般选择20pF、30pF 即可,这是个经验值。
调整电容可微调振荡频率:一般情况下,增大电容会使振荡频率下降,而减小电容会使振荡频率升高,反馈电阻: 1M 负反馈同时也是限流1、连接晶振的芯片端内部是一个线性运算放大器,将输入进行反向180度输出,晶振处的负载电容电阻组成的网络提供另外180度的相移;整个环路的相移360度,满足振荡的相位条件,2、晶振输入输出连接的电阻作用是产生负反馈,保证放大器工作在高增益的线性区,一般在M欧级;3、限流的作用,防止反向器输出对晶振过驱动,损坏晶振,有的晶振不需要是因为把这个电阻已经集成到了晶振里面。
stm32单片机系统结构
**STM32单片机系统结构**STM32是STMicroelectronics生产的32位Flash微控制器家族,基于ARM Cortex-M0, M3, M4, M7, M33核心。
该系列单片机的设计目的是提供一个高性能、低成本、低功耗的平台,适用于各种嵌入式应用。
以下是STM32单片机的主要系统结构特点:1. **核心处理器**:基于ARM Cortex-M系列,这是一个为嵌入式应用优化的处理器,提供高性能的处理能力,同时保持低功耗。
2. **内存结构**:STM32微控制器具有Flash和RAM两种主要内存。
Flash 用于存储程序代码,而RAM用于在运行时存储数据和变量。
STM32单片机还具有多种外部和内部存储器接口,便于扩展内存。
3. **时钟系统**:STM32具有一个复杂的时钟系统,包括内部振荡器、外部振荡器接口和多个时钟分频器。
这些时钟源可以为微控制器的不同部分提供精确的时钟信号,以满足不同的时序需求。
4. **中断和事件系统**:该微控制器配备了嵌套向量中断控制器(NVIC),能够处理多个中断源,并允许设置优先级。
这使得STM32能够响应实时事件,是实时操作系统(RTOS)的理想选择。
5. **电源管理**:STM32单片机具有多种低功耗模式,允许设计人员在性能和功耗之间进行优化。
此外,还有睡眠模式、停止模式和待机模式,以满足不同的低功耗应用需求。
6. **外设接口**:STM32提供了丰富的外设接口,如GPIO(通用输入/输出)、UART(通用异步收发器)、SPI(串行外设接口)、I²C(内部集成电路)等。
这些接口使STM32能够与各种外部设备通信。
7. **调试和支持**:为支持开发和调试过程,STM32具有多种调试模式,例如JTAG和串行线调试(SWD)。
此外,STMicroelectronics还提供了丰富的软件和硬件开发工具,如STM32CubeMX和STM32CubeIDE,简化了开发过程。
0301_0302_具体STM32处理器结构与最小系统解析
ARM Cortex-M3 STM32嵌入式微处理器
STM32F10Cx系列微控制器 LQFP48ቤተ መጻሕፍቲ ባይዱ脚图
课本P9,产品型号的含义 查看STM32F103数据手册_CDE系列.pdf
STM32F10Rx系列微控制器 LQFP64引脚图
三种低功耗模式
• 待机模式: • 追求最少的功耗,内部调压器被关闭,这样1.8V区域 断电。 • 除了备份寄存器和待机电路,SRAM和寄存器的内容也 会丢失。 • RTC,IWDG和相关的时钟源不会停止。 • 当外部复位(NRST引脚)、IWDG复位、WKUP引脚出现 上升沿或者RTC闹钟时间到时,退出待机模式。
课本第二章
具体STM32(CM3)处理器结构与最小系统
• 本章工作原理包括两类内容:
• 通用Cortex-M3处理器结构与工作原理 • 具体STM32(CM3)处理器结构与工作原理
目录
• STM32F10x系列微控制器 引脚图
• 引脚图与接线图 • 引脚的复用技术
课本第二章
• ARM Cortex-M3 STM32最小系统
ARM Cortex-M3 STM32最小系统
基于Cortex-M3的最小系统
• 什么是最小系统? 在尽可能减少上层应用的情况下,能够使系统运行的 最小化模块配置。 • “最小系统”称“嵌入式核心控制模块”更贴切一些。 • 最小系统的组成: ①电源、②时钟、③复位电路、④存 储系统(软件概念)、⑤调试系统。 Timer Reset JTAG UART Cortex-M3 Flash MPU SRAM Power
VDD:主电源/工作电压 VSS:地 2.0至3.6V:通过内置调 压器提供1.8V的电源, 供内核使用、3.3V供I/O 管脚。 VBAT:后备电池供电
STM32讲义2..
线程模式 (特权或非 特权)+ SP_process多 用于操作系 统的任务状 态。
只能使用SP_main
特权处理模式+ SP_main在前后台和3的寄存器
通用寄存器(R0—R7、R8—R12) 堆栈指针(R13) 链接寄存器(R14) 程序计数器(R15) 程序状态寄存器(APSR、IPSR、EPSR) 异常中断寄存器(PRIMASK、
负数或小于标志: 1:结果为负数或小于 0:结果为正数或大于
中断状态寄存器(IPSR)
IPSR为当前激活(被响应)的异
常的ISR编号。
IPSR的位分配
31
98
0
保留
中断号
ISR NUMBER 基础级别 =0 Reset =1 NMI =2 SVCall =11
......
执行状态寄存器(EPSR)
0
主堆栈
特权级
1
进程堆栈
用户级
2.4 CM3的总线接口
主要内容
ARM的总线标准 CM3的总线结构
2.4.1 ARM总线标准
ARM微控制器使用的是AMBA总线体系结构
AMBA(Advanced Microcontroller Bus Architecture)是ARM公司公布的总线标准,先进 的AMBA规范定义了三种总线:
2.1.4 CM3微处理器的特点---指令方面
• ARMv7-M:Thumb-2 ISA子集,包含所有基本 的16位和32位Thumb-2指令 。
• 只有SP是分组的 ,寄存器集比ARM7简单 。 • 硬件除法指令,SDIV和UDIV(Thumb-2指令) • 处理模式(handler mode)和线程模式(thread
编号 0 1 2 3
stm32最小系统
STM32最小系统1. 简介STM32最小系统是一种基于ST公司的STM32微控制器的原型开发板,它包括了一些基本的硬件元件以及所需的电路连接。
STM32最小系统通常用于快速原型开发、学习和测试STM32微控制器。
本文档将介绍STM32最小系统的硬件组成、基本功能以及如何使用它进行开发。
2. 硬件组成STM32最小系统通常包括以下硬件元件:•STM32微控制器芯片:通常是STM32F系列的芯片,如STM32F103C8T6。
•时钟电路:包括晶振和相关电路元件,用于提供系统时钟。
•电源电路:用于提供微控制器和其他模块所需的电源。
•调试接口:通常使用SWD接口,用于调试和烧录代码。
•IO引脚:用于与外部设备连接的GPIO引脚。
3. 基本功能STM32最小系统具有以下基本功能:3.1. 运行用户代码STM32最小系统可以加载和运行用户编写的代码。
用户可以使用各种开发环境,如Keil、IAR和STM32CubeIDE等,编写代码并将其烧录到STM32最小系统中。
一旦代码被烧录,STM32最小系统便可以执行用户定义的功能。
3.2. 外部设备连接STM32最小系统提供了多个GPIO引脚,用于连接外部设备。
通过配置这些引脚的模式和状态,用户可以控制外部设备并接收来自外部设备的数据。
3.3. 调试和烧录STM32最小系统通常带有一个调试接口,用于调试和烧录代码。
用户可以使用专用的调试工具,如ST-Link,通过SWD 接口连接到STM32最小系统,以进行代码调试、单步执行和烧录。
4. 使用STM32最小系统开发使用STM32最小系统进行开发通常需要以下步骤:4.1. 准备开发环境首先,您需要安装适当的开发环境,如Keil、IAR或STM32CubeIDE。
这些开发环境提供了编写、调试和烧录代码的工具。
4.2. 编写代码使用选定的开发环境,编写您的代码。
您可以使用C或C ++等编程语言。
在编写代码时,请参考STM32微控制器的数据手册和参考手册,以了解每个寄存器和外设的详细信息。
STM32单片机最小系统的工作原理和结构组成
STM32单片机最小系统的工作原理和结构组成一、(STM32)(单片机)最小系统的(工作原理)和结构组成STM32单片机最小系统是指将STM32单片机所需的最少(硬件)元件集成在一起的电路板,它能够为单片机提供必需的(时钟)和(电源),并且包含了STM32单片机的所有必要引脚。
最小系统通常用于单片机原型设计、开发和制造。
所谓单片机最小系统,就是让单片机能够正常运行,最少且必须的器件所组成的系统。
单片机最小系统上电之后,单片机可以正常复位,(下载)程序,除此之外没有其他任何功能。
在最小系统保证正确的基础上,可以依次添加其他功能模块或器件,使之单片机具有实际功能。
STM32单片机最小系统包括一个复位电路和一个时钟电路。
如下图1所示。
图中复位电路使用的是上电复位电路,STM32单片机N (RS)T引脚输入低电平,则发生复位。
STM32F103单片机最小系统电路图1.工作原理STM32单片机最小系统的工作原理基于以下构成要素:时钟电路、复位电路、稳压电路和I/O引脚。
时钟电路通过提供时钟(信号),确保单片机内部各个部件按时运行;复位电路则负责归位单片机;稳压电路提供稳定的电源电压给单片机;I/O引脚则连接其他设备。
其基本工作流程如下:(1)上电开机;(2)晶振和复位电路启动,为单片机系统提供时钟信号和重启机制;(3)单片机控制(寄存器)初始化;(4)后续(处理器)和外围设备(通信)数据之间的交互,完成相应的计算和处理。
2.结构组成STM32单片机最小系统由晶振、(AMS)117-3.3V稳压微型电路、(电容)、(电阻)、单片机和其他周边元件组成;其中晶振和AMS117-3.3V稳压微型电路是最小系统中最基本的两个元件。
晶振的作用是提供单片机的时钟信号。
它将(电子)对象振动为固定的频率,实现时钟周期。
ATS1117-3.3V稳压微型电路则负责在变电器电压区间下为单片机提供可靠的(稳压电源),以防止单片机电压不稳定而导致系统崩溃。
STM32系列单片机原理及应用-C语言案例教程 第2章 STM32的内部结构及接口特点
WK_UP
STM_ADC USART2_TX USART2_RX GBC_KEY STMDAC
GBC_LED
OV_VSYNC USART1_TX USART1_RX
USB_DUSB_D+ JIMS JICK JIDI
的 存 储
的 时 钟
单 片 机
狗定 时器 的功
中 断
综 器 系 复 能与
述
统
位
操作
2.1 STM32单片机综述
STM32系列专为要求高性能、低成本、低功耗的嵌入式应用 设计的ARM Cortex®-M0,M0+,M3, M4和M7内核。 • 主流产品(STM32F0、STM32F1、STM32F3); • 超低功耗产品(STM32L0、STM32L1、STM32L4); • 高性能产品(STM32F2、STM32F4、STM32F7、STM32H7)等。
(1)浮空输入
(5)推挽输出
(2)带弱上拉输入 (6)开漏输出
(3)带弱下拉输入 (7)复用推挽输出
(4)模拟输入
(8)复用开漏输出
STM32基本上每个引脚都有以上8种配置模式
STM32内部 结构方框图
引脚配 置模式
2.1.3 STM32引脚功能描述
STM32F103拥有资源包括:
• 64KB SRAM、512KB FLASH、 • 2个基本定时器、4个通用定时器、2个高级定时器 • 2个 DMA 控制器 • 3个SPI、2个IIC、5个串口、1个USB、1个CAN • 3个12 位 ADC、1个12 位 DAC • 1个SDIO 接口、1个FSMC接口 • 112个通用IO口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章 STM32单片机结构和最小系统
2.1 STM32F103微控制器外部结构 STM32系列命名规则、LQFP64(64引脚贴片)封装 的STM32F103芯片
2.2 STM32F103总线和存储器结构
总线结构、存储结构、位带 2.3 时钟电路、复位电路、启动配置 2.4 最小系统设计
退出
2.1 STM32F103微控制器外部结构
0x00000000
0x00000000
根据启动配 置加到 FLASH或系 统存储
2.3 时钟电路、复位电路、启动配置
USB预分频器 USB预分频 /1,1.5 USBCLK 45MHz USB接口 SDIOCLK 外设时钟使能 8MHz HSI RC 高速内部时钟 PLLSRC 最大72MHz /2 PLLMUL …x16 x2,x3,x4 PLL 倍频 PLLXTPRE OSC_OUT OSC_IN 4-16MHz HSE OSC 高速外部时钟 32.768KHz LSE OSC 低速外部时钟 40KHz LSI RC 低速内部时钟 HSI PLLCLK HSE CSS SW 系统时钟 SYSCLK 最大 72MHz 预分频器 AHB 预分频 /1,2,4,8,512 APB1 预分频 /1,2,4,8,16 TIM2,3,4,5,6,7 APB预分频=1乘 1,否则乘2 外设时钟使能 /2 /128 RTCCLK RTCSEL[1:0] LSI IWDGCLK IWDG ADC预分频 /2,4,6,8 /2 外设时钟使能 RTC TIM1,8 APB预分频=1乘 1,否则乘2 外设时钟使能 ADCCLK,最大14MHz ADC1,2,3 APB2 预分频 /1,2,4,8,16 最大72MHz 外设时钟使能 TIMxCLK PCLK2 最大36MHz 外设时钟使能 TIMxCLK TIM2,3, 4,5,6,7 PCLK1 APB1外设 外设时钟使能 /8 HCLK SDIO AHB,内 核,内存, DMAM32F103总线和存储器结构
ICode Flash接口 DCode Cortex-M3 System SRAM DMA1 通道1 通道2 Flash接口
总线矩阵
DMA
复位和时钟 控制(RCC)
桥接1
DMA
…
AHB
桥接2
APB2
APB1 DAC SPI3/I2S PWR SPI2/I2S IWDG BKP CAN1 WWDG RTC CAN2 TIM7 I2C2 TIM6 I2C1 UART5 TIM5 UART4 TIM4 USART3 TIM3 USART2 TIM2
0xFFFFFFFF 0xE0100000 0xE0000000
Cortex-M3内部外设
0xFFFFFFFF 0xE0100000 0x60000000 0x40023400 0x40023000 0x40022400 0x40022000 0x40021400 0x40021000 0x40020400 0x40020000 0x40013C00 0x40013800 0x40013400 0x40013000 0x40012C00 0x40012800 0x40012400 0x40011C00 0x40011800 0x40011400 0x40011000 0x40010C00 0x40010800 0x40010400 0x40010000 0x40007400 0x40007000 0x40006C00 0x40006800 0x40006400 0x40006000 0x40005C00 0x40005800 0x40005400 0x40004C00 0x40004800 0x40004400 0x40003C00 0x40003800 0x40003400 0x40003000 0x40002C00 0x40002800 0x40000C00 0x40000800 0x40000400 0x40000000
STM32F10x 处理器总线结构
总线结构中各单元的功能 ICode 总线:将 Flash 存储器指令接口与 Cortex-M3 内核的指令总线相连接,用于指 令预取; DCode 总线:将 Flash 存储器的数据接口与 Cortex-M3 内核的 DCode 总线相连接,用于 常量加载和调试访问; System 总线:将Cortex-M3 内核的 System 总线(外设总线)连接到总线矩阵;
退出
2.1 STM32F103微控制器外部结构
1. 电源:VDD_x(x=1,2,3,4)、 VSS_x(x=1,2,3,4):2.0-3.6;2.43.6 VBAT:1. 8-3.6 VDDA,VSSA:ADC专用 2.复位:NRST,低电平 3. 时钟控制: OSC_IN,OSC_OUT:4-16MHz OSC32_IN,OSC32_OUT: 32.768kHz 4. 启动配置:BOOT0,BOOT1 配置启动模式 5. 输入输出口: PAx(x=0,1,2,…,15)、 PBx(x=0,1,2,…,15)、 PCx(x=0,1,2,…,15)、PD2。可 作为通用输入输出,还可经过配 置实现特定的第二功能,如 ADC、USART、I2C、SPI等。
总线结构中各单元的功能 DMA 总线:将DMA 的 AHB 主控接口与总线 矩阵相连; 总线矩阵:用于连接三个主动单元部件和三个 被动单元,负责协调和仲裁Cortex-M3 内核和 DMA 对 SRAM 的访问,仲裁采用轮换算法。 AHB/APB 桥:两个 AHB/APB 桥在 AHB 和 2 个 APB 总线之间提供完全同步连接。
CRC FLASH接口 RCC DMA USART1 SPI1 TIM1 ADC2 ADC1 PortE PortD PortC PortB PortA EXTI AFIO PWR BKP bxCAN USB/CAN SRAM USB I2C2 I2C1 USART3 USART2 SPI2 IWDG WWDG RTC TIM4 TIM3 TIM2
通道7 DMA请求
DMA2 通道1 通道2
ADC1 GPIOC ADC2 GPIOD USART1 GPIOE SPI1 EXT1 TIM1 AFIO GPIOA GPIOB
通道5
DMA
DMA请求
2.2.1 系统总线构架 四个主动单元:Cortex-M3 内核的 ICode 总 线(I-bus)、DCode 总线(D-bus)、 System 总线(S-bus)和通用 DMA(GPDMA)。 三个被动单元:内部SRAM、内部Flash 存储 器、AHB 到 APB 的桥(AHB2APBx,连接 所有的 APB 设备)。
可选项 工作温度范围 芯片类型:F——通用快闪, 封装信息L——低电压(1.65~ 3.6V),W ——无线系统芯片。 FLASH 容量 引脚数目 芯片子系列 B——128KB Flash(中容量),4——16KB Flash(小容量), 6— 引脚数目:R——64PIN , F—— 20PIN, G —— 芯片类型 —32KB Flash (小容量), 8 —— 64KB Flash(中容量),C—— 256KB Flash (大容量), D—— 384KB Flash(大容量),E—— 28PIN;K——32PIN ,T—— 36PIN ,H—— 40PIN , 芯片系列
103——ARM Cortex-M3内核,增强型;050——ARM Cortex-M0内核;101——ARM Cortex-M3内核,基本型; 102——ARM Cortex-M3内核,USB基本型;105— ARM Cortex-M3内核,USB互联网型; 107——ARM Cortex-M3 内核,USB 互联网型、以太网型; 215/217 —工作温度范围: 6—— -40℃~85℃(工业级), 7—— STM32F103 系列芯片包括从 36脚至 100 脚不同封装形 —ARM Cortex-M3 内核,加密模块; 405/407 —— ARM 40℃ ~105℃(工业级)。 式,STM32系列命名遵循一定的规则 : ,H——BGA,U——VFQFPN, Cortex-M4 内核,不加密模块等。 封装信息: T——LQFP STM32 F 103 R B T 6 xxx Y——WLCSP。
APB2外设
OSC32_IN OSC32_OUT
TIM1,8
MCO
时钟输出
/2
PLLCLK HIS HSE SYSCLK
HCLK/2
SDIO AHB接口
MCO
2.3.1 时钟控制
在STM32中有5个时钟源,分别为HSI、HSE、LSE、LSI、PLL 1. HSI:高速内部时钟信号8MHz 通过8MHz的内部RC振荡器产生,并且可被直接用做系统时钟,或者经 过2分频后作为PLL的输入。 2. HSE:高速外部时钟信号4-25MHz 可以通过外部直接提供时钟,从OSC_IN输入,或使用外部陶瓷/晶体谐振 器。HSI比HSE有更快的启动时间,但频率精确度没有外部晶体振荡器高。 3. LSE:低速外部时钟信号32.768KHZ 振荡器是一个32.768KHz的低速外部晶体/陶瓷振荡器,它为RTC或其它 功能提供低功耗且精确的时钟源。 4. LSI:低速内部时钟信号30-60KHz LSIRC担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持 运行,为独立看门狗和自动唤醒单元提供时钟。 5. PLL:锁相环倍频输出 用来倍频HIS或者HSE,时钟输入源可选择为HSI/2、HSE或者HSE/2,倍 频可选择为2~16倍,但是其输出频率最大不得超过72MHz。
512KB Flash F—— C——48PIN,U—— 63PIN ,(大容量), O——90PIN ,768KB V— Flash(大容量),G—— 1MKB Flash(大容量)。 —100PIN,Q——132PIN,Z——144PIN,I—— 176PIN。
退出
2.1 STM32F103微控制器外部结构