你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32F103xx内部资源介绍

[复制链接]
STMCU小助手 发布时间:2022-4-4 20:52
2.1 STM32F103xx增强型LQFP48引脚分布
3 V7 c( B. y2 x3 D) S3 x3 X7 G" ?  M1 S) q3 o* }. [
WTAAC4N$GJEIEE3U9(C(Q~8.png
* n1 m: _  z+ A) j/ s: ]4 Z5 g) f6 i4 p8 E3 A3 u( U2 }
2.2 STM32F103xx概述
$ ?2 ]' H/ H, W+ m. x! t) L

  R  f! E5 t5 ]7 s0 L2.2.1 ARM®的Cortex™-M3核心并内嵌闪存和SRAM* ^! @) z0 b7 }$ V2 K$ e* v
( ~8 W3 ]* V3 d1 T& ]' \/ N
ARM的Cortex™-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。
8 s+ h* k* J* Q7 i7 m
  @$ U8 j. O/ G' E! b1 A. e, IARM的Cortex™-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。
( T. t' Z/ W, C, q4 C
; L% ~4 F8 p" g7 Y
9 k8 R2 |8 \8 ~' {0 L. _0 O2.2.2 内置闪存存储器2 G/ j% q! x# `" @! a, ^7 d

3 |; V" d7 q& I! E64K或128K字节的内置闪存存储器,用于存放程序和数据。小R使用的开发板内置闪存存储器为64K。; r; ?/ k3 g6 N( ?, y# ]$ K. {- f- D
$ C3 T# [4 o8 E; C/ M2 n3 j; O

# `* M' v+ I5 H2.2.3 CRC(循环冗余校验)计算单元
) y2 y; p& Y7 L4 O& `3 d9 {& E" F% y# b+ z' R5 W$ x. _* {( @" R; H
CRC(循环冗余校验)计算单元使用一个固定的多项式发生器,从一个32位的数据字产生一个CRC码。在众多的应用中,基于CRC的技术被用于验证数据传输或存储的一致性。
5 G' v8 p3 _$ H3 K- W# m' L7 {2 d3 S* J

. ^( ?' ~4 L: Q' d) F5 y7 k2.2.4 内置SRAM
+ t4 s, E! V/ w' C# @2 @
- e; j4 h) d' B" z1 H20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。4 G4 V% s; ~( m* G& G+ x/ x

5 h0 b8 l( m4 O8 q9 a' X2.2.5 嵌套的向量式中断控制器(NVIC)
6 k( V6 [/ @' L7 ~# L% G- @
8 k( l5 s$ d7 `% a0 U; Q( |STM32F103xx增强型产品内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个Cortex™-M3的中断线)和16个优先级。
/ K/ i* H! u6 i. @$ S9 u- e% g3 p9 o/ {9 i7 K. m
● 紧耦合的NVIC能够达到低延迟的中断响应处理
% s2 S2 O+ O0 j8 L# s4 g* w% L  O2 K8 |# ~
● 中断向量入口地址直接进入内核3 k3 f( V- N* L, |" |2 s+ L. ]

+ d( W, P! t+ c& Z- l● 紧耦合的NVIC接口1 u4 N& r8 c1 d& }$ C: ^6 B% `

) t, T- m1 r! w7 K# o● 允许中断的早期处理2 f9 n  f5 H. e8 m' e
4 C. \$ F  t( j/ _! G
● 处理晚到的较高优先级中断
1 X9 I; d( V! s" ]& H/ e1 \0 {
  [2 h4 A. p3 K; L, ]+ D, f( c● 支持中断尾部链接功能
! j& m' W0 S1 @; f/ i" s
, G6 T# F% E1 `; f6 ^● 自动保存处理器状态  E) r7 k! a; k$ `9 X# s
5 ~. {4 |2 r# m0 [) |
● 中断返回时自动恢复,无需额外指令开销
9 l. }: M7 v( h% q& C) O' Z+ ?+ |( l4 n
) D0 _5 z7 Y% q+ k0 E1 F该模块以最小的中断延迟提供灵活的中断管理功能。
  z# Z0 |) K7 Y) o% Q; d( V& E: p: V, j5 V4 m
5 m% n1 v  k3 G
2.2.6 外部中断/事件控制器(EXTI)
/ _) x+ y8 k; J8 n, y
- i" S; B7 W# |" l6 g, _外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。# K' V" Z, F  z2 v7 ^# _" a. b& P

& O' h( v' @4 P) B: d. \EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。9 t& R/ S% A6 h  v/ A, a

/ _1 R; C8 i+ C6 K2 u$ w
0 _- o7 ^# Y9 O! V) M2 E2.2.7 时钟和启动( H, T' G8 m- ]% N& l9 D5 W- e
4 g8 @- W/ Q, X8 I1 O& m+ p
系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。2 N" q# j$ t5 _; M0 q% F

) P* g, J# `- \4 c) v多个预分频器用于配置AHB的频率、高速APB(APB2)和低APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。
: Q8 |( H. ]7 J3 N, x. q0 h- L  v, c, D* e
. c( @: ~) j& i
2.2.8 自举模式
* h& I+ Y/ C7 t- ?2 j0 v9 b
% o8 w8 e6 S- z
在启动时,通过自举引脚可以选择三种自举模式中的一种:. h; m/ i) J. {7 I

& X/ ]" C$ v, r0 k0 u● 从程序闪存存储器自举& F' Q2 ?" h" K" v

' [, c8 b7 Y! e# }/ h● 从系统存储器自举
5 w0 ?9 o. O) e) t' W1 c& z
5 u; h3 r; Z: P% @* v6 r● 从内部SRAM自举4 e1 h; d% |9 S2 @$ ?. E

, \2 Y. O5 q  _自举加载程序(Bootloader)存放于系统存储器中,可以通过USART1对闪存重新编程。# H6 {+ j9 p/ g; z% ?3 m. A- Q

, o; e  Z0 B; l4 n# p
7 b2 v- c4 K& Y! O/ |2.2.9 供电方案
" G0 i/ k4 d9 e) D* i% V7 I( ~( P- D( A0 M
● VDD = 2.0~3.6V:VDD引脚为I/O引脚和内部调压器供电。
; L3 @- G" h* V' G9 y4 X. d+ S
. K+ `& q$ Z6 j" Q( |/ \● VSSA,VDDA = 2.0~3.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC时,VDDA不得小于2.4V。VDDA和VSSA必须分别连接到VDD和VSS。
$ }7 Y2 b: ~: V4 ~& d: @+ q5 H4 E8 c5 h) |' I, p2 f0 C4 u
● VBAT = 1.8~3.6V:当关闭VDD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备寄存器供电。
" w- y& i7 E& v' |
! C6 ?9 Z& b: g2 X/ f) a; M
5 {; u$ Y7 [. N& ], m+ \, D2.2.10 供电监控器0 _8 Q* [, a- i# _' \3 s2 V
4 ]7 |" w' d+ m6 `
本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。
7 i6 k3 U0 D% t( R3 g% L* m: X; U3 ]; i
. B) g' [4 a1 \) p器件中还有一个可编程电压监测器(PVD),它监视VDD/VDDA供电并与阀值VPVD比较,当VDD低于或高于阀值VPVD时产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。PVD功能需要通过程序开启。; q0 l( ~  H2 C- [/ f
4 _$ W  j/ @( _7 M
2.2.11 电压调压器. ?  o+ F1 E: n' f+ _' x

& k; V- N: l& N- W5 \) B) _  X调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式
6 T$ f5 L6 S6 p8 |, e( j
9 |) Y! A" `; h0 Y● 主模式(MR)用于正常的运行操作
+ b: S! X4 R$ ]* M& }9 K, U5 A' U5 y5 C, H7 _
● 低功耗模式(LPR)用于CPU的停机模式4 q: j! N$ f7 ?/ ^$ d0 ~& G8 ~

) R6 h) j4 g" h  A& O5 H( W6 \● 关断模式用于CPU的待机模式:调压器的输出为高阻状态。( Z8 K& U5 }, A1 W3 R6 O% }2 g
$ w: d) S5 L$ }/ x' g3 r* n

' p8 z  [% g6 n# i; U  j, w2.2.12 低功耗模式7 R/ |6 j5 A( F. ~' m
; c6 V7 A" o, C! w
STM32F103xC、STM32F103xD和STM32F103xE增强型产品支持三种低功耗模式,可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。, i. c8 I9 S& a1 k' I' [

$ [+ P) c9 ~  r" }* D- e0 F
  {& r* q% i& _  A% X: G2.2.13 DMA
0 r' K* Q9 j; o  o9 T6 }/ ?: ^  M0 Q$ e( R- ^$ N) {: h9 W& z& z
灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输;DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。
4 W& h4 a& G) Q0 W& d' L7 Z/ U. k! v3 t% L
每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以通过软件单独设置。9 Q: _6 v+ \) P/ E
& ~$ k& e; M5 l. t
DMA可以用于主要的外设:SPI、I2C、USART,通用、基本和高级控制定时器TIMx和ADC。
9 j  K% b: j: Y' l5 t0 C+ ^3 T8 g2 g6 n, U5 r
: J  Y& n( H6 R1 [  ]$ Y- a
2.2.14 RTC(实时时钟)和后备寄存器& k3 p6 O4 V5 [% f. ]4 Z5 ~$ V. y) s

* q0 l/ j, u7 ]0 m1 V  E/ X) |
7 X% B! M, \) J9 }4 {: T4 T
5 B% h# w7 e( Y; {/ v- k2.2.15 定时器和看门狗
7 ]. b3 E2 ^# \2 |- ^6 K  _& o8 N) B. \" O" W5 z5 j0 k$ {& O
中等容量的STM32F103xx增强型系列产品包含1个高级控制定时器、3个普通定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。% A  ~5 Q+ D! }- K& z& t3 s* M7 t
) o2 R9 i. H, I1 h4 z$ L# |1 l/ G: c6 ^
高级控制定时器(TIM1)可以被看成是分配到6个通道的三相PWM发生器,它具有带死区插入的互补PWM输出,还可以被当成完整的通用定时器。四个独立的通道可以用于:6 C$ f) x/ f9 e* @6 a  |2 e

2 n$ U+ L4 N5 _: j6 r0 f& @. U/ G● 输入捕获# p: L! {2 M* G3 D9 B' q; i

, S* [# {- D# |$ g* d, q3 X& b● 输出比较
0 H' A0 S; N* Z- N/ K$ i/ w0 H; l' E7 o# S  e6 a5 j8 ?& r0 s/ Q
● 产生PWM(边缘或中心对齐模式)7 P5 s0 K1 O& N/ @
* ^& [9 ?: r* e( [  V0 |
● 单脉冲输出" M3 x0 L; F- y* V& G& |3 k1 ]; E
. a2 K* S3 l% Q
配置为16位标准定时器时,它与TIMx定时器具有相同的功能。配置为16位PWM发生器时,它具有全调制能力(0~100%)。
" Y% |- |) O- }1 O0 i& y$ Y4 P
+ w0 y- M) q. ?6 T( U通用定时器(TIMx)
& Q. H. k  I  U1 N( F- s& r, b. @- {: t1 g7 J4 f0 M* y# G3 }
STM32F103xx增强型产品中,内置了多达3个可同步运行的标准定时器(TIM2、TIM3和TIM4)。每个定时器都有一个16位的自动加载递加/递减计数器、一个16位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模式输出,在最大的封装配置中可提供最多12个输入捕获、输出比较或PWM通道。  B8 n, ^" j3 m! x5 c' ~
: N3 P, s: ~2 P" t" L) a4 [' O
它们还能通过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。在调试模式下,计数器可以被冻结。任一标准定时器都能用于产生PWM输出。每个定时器都有独立的DMA请求机制。8 ~7 Z. N7 q$ S) o3 W9 H

& t) ?  A1 }. H- v4 K! `' a这些定时器还能够处理增量编码器的信号,也能处理1至3个霍尔传感器的数字输出。* P9 r, R4 G+ {  R  h* y  h

# R5 x5 R6 N" n( p% x; f; A% s
0 e1 J% w. B7 P# s6 A# z0 K( `2.2.16 IIC总线8 t" o2 y$ B. a$ c2 C  J

) X  ]. x, L# i7 d$ I/ a" r多达2个I2C总线接口,能够工作于多主模式或从模式,支持标准和快速模式。I2C接口支持7位或10位寻址,7位从模式时支持双从地址寻址。内置了硬件CRC发生器/校验器。它们可以使用DMA操作并支持SMBus总线2.0版/PMBus总线。8 ]+ ^4 a) r$ T, H0 u
% s- \- S  a  R1 j; V" Y8 U- \. D3 @9 |
! C9 \, M7 m. _9 E
2.2.17 通用同步/异步收发器(USART); f. v- o) n% J9 _% Z# t- Z
; t- Q! e1 V; @# I" t) X6 s' ]
USART1接口通信速率可达4.5兆位/秒,其他接口的通信速率可达2.25兆位/秒。USART接口具有硬件的CTS和RTS信号管理、支持IrDA SIR ENDEC传输编解码、兼容ISO7816的智能卡并提供LIN主/从功能。1 C* I) U" |$ p
4 b' L0 n4 d- w* K9 g9 F" w
所有USART接口都可以使用DMA操作。  {  s( H  A/ d3 p+ ?) f( Q8 T5 \2 V

9 l# m, \/ m2 P2 j% x, `
0 z+ j6 W" z7 ?/ R& i' H+ s2.2.18 串行外设接口(SPI)
2 X* s. T$ K& }8 S1 Q$ R7 P' N/ e. P# u! Q! o2 H
多达2个SPI接口,在从或主模式下,全双工和半双工的通信速率可达18兆位/秒。3位的预分频器可产生8种主模式频率,可配置成每帧8位或16位。硬件的CRC产生/校验支持基本的SD卡和MMC模式。所有的SPI接口都可以使用DMA操作。
! s5 j% V/ v8 S+ O
" W4 Y0 ?: o7 Y8 a' ^( F: `6 Q, k6 [  l% D" a
2.2.19 控制器区域网络(CAN)+ `8 l% X; A0 n) y( y, M! H
  H+ l1 a: W! G5 l
CAN接口兼容规范2.0A和2.0B(主动),位速率高达1兆位/秒。它可以接收和发送11位标识符的标准帧,也可以接收和发送29位标识符的扩展帧。具有3个发送邮箱和2个接收FIFO,3级14个可调节的滤波器。" Z" Y4 z7 T& ^( k

- e$ g+ Z! l% B9 `+ s  D0 b4 \0 S
( L% E5 D/ {* v; |8 S' O2.2.20 通用串行总线(USB)
' m  n" H7 N0 B
% x! R& p6 K7 v+ k9 d2 w+ V& WSTM32F103xx增强型系列产品,内嵌一个兼容全速USB的设备控制器,遵循全速USB设备(12兆位/秒)标准,端点可由软件配置,具有待机/唤醒功能。USB专用的48MHz时钟由内部主PLL直接产生(时钟源必须是一个HSE晶体振荡器)。
( t; y! K; }* ]  m: x: j1 P: \3 @" L. h& W  k4 Z# o8 w
- e4 q9 A8 k! d7 V  [4 M; w
2.2.21 通用输入输出接口(GPIO)
/ i9 K* a$ t5 f# e" _* s
& N( V& i! W; |  C7 |1 `每个GPIO引脚都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或复用的外设功能端口。多数GPIO引脚都与数字或模拟的复用外设共用。7 z; l8 J& A1 J# v& W, }
& L- Z/ [" h. w5 Y
除了具有模拟输入功能的端口,所有的GPIO引脚都有大电流通过能力。在需要的情况下,I/O引脚的外设功能可以通过一个特定的操作锁定,以避免意外的写入I/O寄存器。
9 X0 [% Q- l  G; [! z, B2 J  n% V( Q2 y  t. |
在APB2上的I/O脚可达18MHz的翻转速度。+ E9 `7 m" z2 E: H

/ k( m* D9 U* q
5 k& E# g6 y8 a+ W2.2.22 ADC(模拟/数字转换器)6 T7 h  H. }2 G# T( W8 n( n
- {! }( ^/ B% ?+ x
STM32F103xx增强型产品内嵌2个12位的模拟/数字转换器(ADC),每个ADC共用多达16个外部通道,可以实现单次或扫描转换。在扫描模式下,自动进行在选定的一组模拟输入上的转换。3 V3 n: B( e; K

' f+ E6 A0 K2 S1 }: YADC接口上的其它逻辑功能包括:
$ [) S9 {$ Q: \& Q
; {7 C% f( V4 F3 |+ e" E0 k9 o: C● 同步的采样和保持$ L& M' v( w6 h" J3 j2 k  Q
& {+ z2 i% @' q0 _' F$ S8 u7 K  [/ e
● 交叉的采样和保持
; O" B3 G% U$ B5 l( o- u/ e2 m4 N9 ^; S' j
● 单次采样
6 e7 t8 m) B) v# N: V- {1 ?8 [
5 H( r: P  l* vADC可以使用DMA操作。
4 e7 S4 n) W: {0 C4 c3 N
3 I7 \8 A2 M$ W, F- r  S" s! \. ^$ T! A模拟看门狗功能允许非常精准地监视一路、多路或所有选中的通道,当被监视的信号超出预置的阀值时,将产生中断。由标准定时器(TIMx)和高级控制定时器(TIM1)产生的事件,可以分别内部级联到ADC的开始触发和注入触发,应用程序能使AD转换与时钟同步。4 {2 l3 \* ^2 F- a0 m# ^' r) o
- R0 X! y* w& u/ q8 e
  ?  J( ^% P' A4 V. g3 G; f
2.2.23 温度传感器
: E5 h- K, ^5 F" h* Y( t

' `1 s# y$ L& H' Z' R) V温度传感器产生一个随温度线性变化的电压,转换范围在2V < VDDA < 3.6V之间。温度传感器在内部被连接到ADC12_IN16的输入通道上,用于将传感器的输出转换到数字数值。/ N1 Q3 y. c- t' I7 `3 ?

8 ~1 w+ r: {8 O, I6 L% ?" n& f4 k0 p' H# ]3 w. E2 ]9 q) O. u, s7 N4 s
2.2.24 串行单线JTAG调试口(SWJ-DP)0 a- R" E# U+ E$ U0 e! Q

7 z+ \$ S2 Q3 h内嵌ARM的SWJ-DP接口,这是一个结合了JTAG和串行单线调试的接口,可以实现串行单线调试接口或JTAG接口的连接。JTAG的TMS和TCK信号分别与SWDIO和SWCLK共用引脚,TMS脚上的一个特殊的信号序列用于在JTAG-DP和SW-DP间切换。& ^, f" {1 t2 b" e7 J

9 p) [; S/ S# U. x! H6 e
& ]6 x4 Y5 }$ S) X2 i, a3 q" p3 m" M% U6 K2.3 STM32F103xx增强型模块框图
5 I9 ~" z  W* P6 _! N% d/ V

! x3 |2 l$ `/ o7 I- C5 j N()1Y3D0[VK3$}MN_R}5_LO.png
% Z& O" V$ I7 @
. G& `0 I3 M$ P: L; l* X5 e" U' ~3 N- d3 J5 S
N(]_~PPJ11{EY1}_{X_P0_Y.png 8 [) K% j7 S/ `, |. h
8 c* `  `: c4 w- D9 n  c

6 J" \  J2 \- q! u2.4 STM32F103xx时钟树

7 V. \$ v; X9 j! z3 U& L* Z+ D5 v! b) P+ M0 Z
@{GGA~1A{@FH8Y{4ZKCHZ[U.png ! V3 A8 Y1 I6 F. z3 N5 y% P
2 e) `& Y. |+ ]- H4 g
, C, D3 G: M+ n; B8 V* U; J

% a2 ^1 K3 y/ K9 _/ e; }
, m' ^6 ]- @9 x& @' o3 O5 t' b+ o4 P* F  s4 \& m

5 }$ S2 l/ Q1 N1 @" S: y$ }
& H8 W& X- G: Z5 V5 o
赞 收藏 评论0 发布时间:2022-4-4 20:52

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版