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

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

[复制链接]
STMCU小助手 发布时间:2022-4-4 20:52
2.1 STM32F103xx增强型LQFP48引脚分布
& r! N9 l& F" o* N6 q- R9 i- `4 k+ [# u. e4 c
WTAAC4N$GJEIEE3U9(C(Q~8.png
1 K* @; s6 W6 |2 O$ S8 j' ~9 B# F) u
2 {3 s( r6 F# E4 g3 a; g, L# i6 U2.2 STM32F103xx概述

; `1 ?7 V8 `0 j; t' [& W1 a( t- P. w& N& Z8 u6 }# ?  ~+ Y( M. U
2.2.1 ARM®的Cortex™-M3核心并内嵌闪存和SRAM
; ]  {' t3 [# E& ]  R% V; R& G- g
ARM的Cortex™-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。
1 ?( s+ U8 f7 I$ v$ c4 z- @$ ^
9 S, V5 E+ L+ i( V# Q/ @ARM的Cortex™-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。
" T7 {$ j. W" G  u& |
0 h  D- w# Z3 |- ^9 ~& @# w: d% E" |: ]" y
2.2.2 内置闪存存储器
* s6 v/ Y4 Q7 y* u; e+ K/ [, N* i* c
+ d4 v8 E2 ?7 ~8 p. i0 |# S64K或128K字节的内置闪存存储器,用于存放程序和数据。小R使用的开发板内置闪存存储器为64K。
% l. Q+ D3 H* X$ f: A6 q& f
( y# Z- ?/ Z/ V% I' p
1 S( a1 B% n' {2.2.3 CRC(循环冗余校验)计算单元
& @' ?/ J! F2 @6 s5 O
1 n+ z9 K9 p, e2 Q9 f/ _/ o$ tCRC(循环冗余校验)计算单元使用一个固定的多项式发生器,从一个32位的数据字产生一个CRC码。在众多的应用中,基于CRC的技术被用于验证数据传输或存储的一致性。( H) }$ _5 m7 q; h; x$ u1 d( [. |
" c$ _! y! k' w; E  Z: ]
! f8 O: {/ b; t! F; C( _4 _
2.2.4 内置SRAM
. z* E/ {" V' x+ b8 W1 v% W$ w9 z! K6 F  z  s  j8 T; r" u# T% p
20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。
" u4 {# k0 c; _; ]7 y
8 r% ^5 I+ e: I2 b% `2.2.5 嵌套的向量式中断控制器(NVIC)% J1 ^" a! Z/ f& u9 i# d! t

' a' n. s* N- K/ Y! @& I- U; ?STM32F103xx增强型产品内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个Cortex™-M3的中断线)和16个优先级。
9 }! G+ R  M8 d3 ?7 Q
- f1 X  O' _. E7 n3 Q7 @+ _: L1 s; D● 紧耦合的NVIC能够达到低延迟的中断响应处理
/ _  [$ ^" g- ]1 j# x
# A) _' ]* Q$ C# M% m: L1 c● 中断向量入口地址直接进入内核5 @4 m! H. Y* u# s4 c) F" `8 |1 v

5 `6 ]. m9 G+ |8 M4 g* g4 J. e5 {/ Z● 紧耦合的NVIC接口
, H3 _" Q. G) H* w/ L
  H8 c, T+ t3 A) s● 允许中断的早期处理
/ {9 \) I1 O+ P. k9 C' d* W/ P: @% D6 ~( y7 p
● 处理晚到的较高优先级中断
+ P5 `3 \; z3 h
& x% {) }- C( R; R: ^* X! V/ w● 支持中断尾部链接功能
! o0 e% \7 _; e; f. u
! L2 C6 s" e- ^6 w. B+ A8 {* j" @● 自动保存处理器状态
1 L, L; @( A$ c- n* Q9 h7 ^% x
& L7 ]! G6 [5 c- U● 中断返回时自动恢复,无需额外指令开销
% j9 T+ O5 V, m
9 k8 c6 _* Y9 W" U" U5 V该模块以最小的中断延迟提供灵活的中断管理功能。# W$ F3 h7 m2 i7 f: Z' _: n# n: V
9 b' L  l3 J3 E8 V% L) n; @( x1 y
# _! D. E+ f5 j) w6 y' a
2.2.6 外部中断/事件控制器(EXTI)
+ ?+ I& Q! |) [2 ?. S9 m. n) |
$ W* J  S+ t, _* G8 f外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。! Y! W, x  A8 A

! C% d' B+ O# `0 yEXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。3 g; O7 s7 T# D4 B0 e* _, O
: L4 d. w6 s) ^0 W

0 R5 |+ N. |! o7 ?9 u9 E! U8 k8 Q2.2.7 时钟和启动/ J+ r. x+ l/ N4 F
, [& \& ?5 J3 h# X
系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。
$ @% u! }. B' r0 `  `( [2 l* [% o0 i( T6 f) A) F
多个预分频器用于配置AHB的频率、高速APB(APB2)和低APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。
2 y$ Q( X( I9 T4 \% x1 P7 n( `# b
: }, R2 r1 W+ f# b/ v0 R* R; ^5 M! s7 Z; U" ]; k3 W; n/ V7 n
2.2.8 自举模式
  o1 F9 n$ n$ y3 E1 Y

5 Q( W' O0 t1 ~3 k4 _2 K  U" Z在启动时,通过自举引脚可以选择三种自举模式中的一种:
$ W8 B6 s1 n8 M/ ]1 H2 m8 q' i0 B( a+ }
● 从程序闪存存储器自举
: |5 `! v8 ?) y+ q' ~
3 m5 L( c/ f3 u0 f* Z7 {● 从系统存储器自举
9 U9 w) |- H5 K  f5 Y1 J; B) d  f" K- J! a5 j
● 从内部SRAM自举! |$ V  E4 D3 r, q1 d
5 L  Q  ?+ K$ k) [* c* o) j1 w
自举加载程序(Bootloader)存放于系统存储器中,可以通过USART1对闪存重新编程。$ i7 Q' Z/ f+ d- @+ \, B
5 n$ ~- h2 p& Y8 k9 m
+ C7 O1 T. Q! U. o
2.2.9 供电方案4 F- X, C2 ~  i9 W) M6 N
5 @- w3 Z, P1 d' B8 x
● VDD = 2.0~3.6V:VDD引脚为I/O引脚和内部调压器供电。
1 r6 \1 \/ M/ \* e5 s9 }) |6 D+ v$ y% ]" ~0 t
● VSSA,VDDA = 2.0~3.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC时,VDDA不得小于2.4V。VDDA和VSSA必须分别连接到VDD和VSS。6 a1 ?- v# V* _" ]# i  |
5 J  I: N/ s! L* \4 H+ Y& l0 ^
● VBAT = 1.8~3.6V:当关闭VDD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备寄存器供电。
! D+ g6 p6 O3 Z6 H4 t4 _
/ I: k8 W7 W% Y& I8 L" A# T
  x  r! ^$ r' D2.2.10 供电监控器7 ]0 I& s$ f4 z+ C

( h2 F# g0 P6 ?7 o" C) c本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。% X* F8 Z0 w# x$ I# w
9 n& `. i# h8 T& x; R) y$ S2 e$ F
器件中还有一个可编程电压监测器(PVD),它监视VDD/VDDA供电并与阀值VPVD比较,当VDD低于或高于阀值VPVD时产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。PVD功能需要通过程序开启。
. m2 {) P1 D9 A/ Q2 v) J2 P0 y# a
. F  K5 Z! z1 @8 M' @2.2.11 电压调压器% U6 A$ u1 `. P0 e2 h3 R7 z

7 I( K. Q, {0 a, b调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式
7 B" r( }5 d2 m/ u8 ^  b
2 b% N2 Y4 F, q6 e0 c7 @- S% S● 主模式(MR)用于正常的运行操作/ ]- D& f9 h; `4 \7 L) K. u' R+ K
* T5 ]1 r0 c  F4 M: \' g& i
● 低功耗模式(LPR)用于CPU的停机模式
1 D9 n& ^8 l1 u6 i. j* s7 |; Q2 i7 w. \" m2 p
● 关断模式用于CPU的待机模式:调压器的输出为高阻状态。
. U' U8 {5 k1 C. n: G. v
4 c) G8 c# w% `, G" e, {
! T2 A% @! d0 w* F2.2.12 低功耗模式5 I* e3 _/ O* p

' ?" o' H1 ~( K0 O4 TSTM32F103xC、STM32F103xD和STM32F103xE增强型产品支持三种低功耗模式,可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。* e3 s6 z* I: x

. I: [4 O6 K/ F( d" N
8 t& ^+ S& X1 r' y8 {2.2.13 DMA9 _* v  ]4 t. Y* B& R
" E) S( e7 O; ]' E) p
灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输;DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。1 m* n6 D3 `6 L1 O
- p8 @; w/ M+ P* n! e! q
每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以通过软件单独设置。4 i9 c' k' {. r" J% l7 \8 c& S

8 }' T% D6 c  `- o: n6 c; dDMA可以用于主要的外设:SPI、I2C、USART,通用、基本和高级控制定时器TIMx和ADC。1 T1 D. b$ K, w0 R7 q

% T5 C' |2 G3 z- I, k9 @" o7 ]) }
+ ^; X2 T$ m. x2.2.14 RTC(实时时钟)和后备寄存器
% a$ Z9 _8 u9 N# L% e% a& U$ p+ I9 E2 l" w. g; ?7 Y7 ^
# u6 e  u1 Y5 w  z/ I
) T7 ]' {1 l+ ]+ s% b! _
2.2.15 定时器和看门狗3 I5 I6 R1 t* t% t3 N7 A+ _

4 G( a% {2 W  `中等容量的STM32F103xx增强型系列产品包含1个高级控制定时器、3个普通定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。8 w1 l& P) U6 Y9 r* }0 S

0 q7 U( F- b: L3 Y  P2 o0 m高级控制定时器(TIM1)可以被看成是分配到6个通道的三相PWM发生器,它具有带死区插入的互补PWM输出,还可以被当成完整的通用定时器。四个独立的通道可以用于:
+ F  @5 P% E* l, X# k3 b: F* J- u; Z, e- E) k; a
● 输入捕获4 q4 s$ r& F9 c8 Y  b
" q4 ^- W0 q; t7 a, S: Y, E4 W3 }
● 输出比较# D$ O. U) ~4 f3 l- s4 u5 A
& {& }3 K2 L+ d& p
● 产生PWM(边缘或中心对齐模式)
" i. i5 {7 P: X5 w: x* t' U2 d$ V, Y6 m, `* W5 b" a; U: Q# d
● 单脉冲输出
3 R7 N% r9 J, t5 _- {8 Y' z4 H6 g5 t( r4 Q/ j" o! s8 w
配置为16位标准定时器时,它与TIMx定时器具有相同的功能。配置为16位PWM发生器时,它具有全调制能力(0~100%)。
: R, m0 t, U5 l' ]
4 N" J% W+ r- l/ f3 l* q+ t通用定时器(TIMx)5 |7 v7 B& a9 U7 z% G

* K) J5 _+ G8 A5 F) \- YSTM32F103xx增强型产品中,内置了多达3个可同步运行的标准定时器(TIM2、TIM3和TIM4)。每个定时器都有一个16位的自动加载递加/递减计数器、一个16位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模式输出,在最大的封装配置中可提供最多12个输入捕获、输出比较或PWM通道。
# v2 k8 j8 W" Y0 c' a) P" k: j( C. W$ c# g, g6 A$ f( r
它们还能通过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。在调试模式下,计数器可以被冻结。任一标准定时器都能用于产生PWM输出。每个定时器都有独立的DMA请求机制。5 H+ [/ K" C( |% O6 d, R, Q* j5 m1 [
2 @: O' R6 h! [6 [! u9 ~# b; c3 [
这些定时器还能够处理增量编码器的信号,也能处理1至3个霍尔传感器的数字输出。
0 e1 `3 Z& y, ~' j
* b; W7 x8 p* h% E8 O* b" ]- w
- ~) I% q$ b, a2 t- t: g2.2.16 IIC总线
! ^# A' w- N! P, m3 a* w) u% d# j
多达2个I2C总线接口,能够工作于多主模式或从模式,支持标准和快速模式。I2C接口支持7位或10位寻址,7位从模式时支持双从地址寻址。内置了硬件CRC发生器/校验器。它们可以使用DMA操作并支持SMBus总线2.0版/PMBus总线。2 X; Y& N! Z: v8 \# l  P
7 m, |( h8 T) Y, c
: Z  x' Q* K9 X
2.2.17 通用同步/异步收发器(USART): x5 ^7 D( `- O
6 C; c. ~1 d. ?1 G- a6 p- @2 c
USART1接口通信速率可达4.5兆位/秒,其他接口的通信速率可达2.25兆位/秒。USART接口具有硬件的CTS和RTS信号管理、支持IrDA SIR ENDEC传输编解码、兼容ISO7816的智能卡并提供LIN主/从功能。8 l2 U- B, \; ?* d! O5 a
' {5 y' l& K2 `
所有USART接口都可以使用DMA操作。: W$ M& P; e0 N; m8 o9 ]& `# j

- k. C; @) ~3 n
# o; _7 {2 \5 ^! F9 q2.2.18 串行外设接口(SPI)1 d+ U+ ?# w/ w

" t5 O, L! Q+ k多达2个SPI接口,在从或主模式下,全双工和半双工的通信速率可达18兆位/秒。3位的预分频器可产生8种主模式频率,可配置成每帧8位或16位。硬件的CRC产生/校验支持基本的SD卡和MMC模式。所有的SPI接口都可以使用DMA操作。
. c- X( j7 L7 n  N$ B; E; `) U1 m) F1 K* Y9 r

$ H6 f- U. o0 n7 h" G, S1 H0 N. M2.2.19 控制器区域网络(CAN)
, G0 K7 o& y0 Z6 K# s" ^: g2 h+ b8 f  y$ {( C( F, k. H5 Z' F2 V$ a
CAN接口兼容规范2.0A和2.0B(主动),位速率高达1兆位/秒。它可以接收和发送11位标识符的标准帧,也可以接收和发送29位标识符的扩展帧。具有3个发送邮箱和2个接收FIFO,3级14个可调节的滤波器。8 W! X, u) X7 a$ k4 M9 M* z
( t2 [2 z. n# m

- v7 {9 c7 d" `5 L$ p2.2.20 通用串行总线(USB)5 x5 {2 k4 |2 I" R

7 J: R. I) X8 L* Y% E* L. x9 ESTM32F103xx增强型系列产品,内嵌一个兼容全速USB的设备控制器,遵循全速USB设备(12兆位/秒)标准,端点可由软件配置,具有待机/唤醒功能。USB专用的48MHz时钟由内部主PLL直接产生(时钟源必须是一个HSE晶体振荡器)。
. V8 V' l$ E, k% h1 _+ w. }/ X" t
3 L  ?& m; _% g, D8 Q
( q+ ]3 D6 g! x# G2.2.21 通用输入输出接口(GPIO)* p$ j) n" `+ J
4 ?, Z: i/ x+ Y' l. b  i; d& d
每个GPIO引脚都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或复用的外设功能端口。多数GPIO引脚都与数字或模拟的复用外设共用。  L, L4 ^0 G% ^  u
6 I- x/ q  b5 x9 X' O
除了具有模拟输入功能的端口,所有的GPIO引脚都有大电流通过能力。在需要的情况下,I/O引脚的外设功能可以通过一个特定的操作锁定,以避免意外的写入I/O寄存器。
% y' S0 O) z0 n; Y# n- @3 m; `" _# v. ~% P- m
在APB2上的I/O脚可达18MHz的翻转速度。
# v1 p% Z8 k1 q0 Z" E: m$ b+ F
3 h9 q& h3 G% x( B8 M5 l: z, K# g; U: x  j( Y, T) Z  D# |  b
2.2.22 ADC(模拟/数字转换器)
' X) ?% F+ @! z3 w% c8 l
( d& S4 X" X: g: S2 [1 j# NSTM32F103xx增强型产品内嵌2个12位的模拟/数字转换器(ADC),每个ADC共用多达16个外部通道,可以实现单次或扫描转换。在扫描模式下,自动进行在选定的一组模拟输入上的转换。$ q* y" v5 K2 T
, o" @# p8 j4 Z* ]2 X# Y
ADC接口上的其它逻辑功能包括:+ p) F: f# i, `* h

2 v' I7 B: @" @( w$ o& y  ]1 {● 同步的采样和保持
0 @1 R( {1 |  k7 G& O) o) e9 S3 K* J
● 交叉的采样和保持
, {# Z5 R$ Z: u' {7 O) V: g  K: T7 ^5 D4 u( m9 u) U3 w9 U
● 单次采样3 C8 I" b3 i! p8 f0 _
+ v* d9 g3 F8 w* X" W
ADC可以使用DMA操作。
$ [0 m2 Q5 u- ^9 ^' d0 `7 p1 L0 Q! E9 r: @1 D
模拟看门狗功能允许非常精准地监视一路、多路或所有选中的通道,当被监视的信号超出预置的阀值时,将产生中断。由标准定时器(TIMx)和高级控制定时器(TIM1)产生的事件,可以分别内部级联到ADC的开始触发和注入触发,应用程序能使AD转换与时钟同步。
! G" j" e0 g0 M2 Z  \
, u! r( }2 `6 C0 K  y% v
; j4 C8 y0 k0 S) o, Z1 }2.2.23 温度传感器

5 d, t) {& m' H$ _! X
( @4 O$ _8 A2 H7 r8 h" G温度传感器产生一个随温度线性变化的电压,转换范围在2V < VDDA < 3.6V之间。温度传感器在内部被连接到ADC12_IN16的输入通道上,用于将传感器的输出转换到数字数值。# c' f! C5 b; }# p4 B' L" O! c: [

& J0 C" s, s& \1 K) B+ u4 r/ F1 ?  N  {
2.2.24 串行单线JTAG调试口(SWJ-DP)' k* E* S; F4 P! \8 o

7 G, G* e8 L  ?; n5 D8 M, _: o. W9 ]内嵌ARM的SWJ-DP接口,这是一个结合了JTAG和串行单线调试的接口,可以实现串行单线调试接口或JTAG接口的连接。JTAG的TMS和TCK信号分别与SWDIO和SWCLK共用引脚,TMS脚上的一个特殊的信号序列用于在JTAG-DP和SW-DP间切换。
8 b" `( b+ [% u, T  A8 M1 s# T( e' ]8 {9 E

9 m5 @! u/ ]  x4 w8 ~$ o. D2.3 STM32F103xx增强型模块框图

! D+ i' w0 @. r- F3 n6 x5 Z
' W8 c. \8 ~+ D7 V N()1Y3D0[VK3$}MN_R}5_LO.png " |- Z# J% v; _+ A  D9 B& q' e3 y
7 |4 k. r7 w6 @6 S' W0 @

) p' ]8 _. F6 b8 s N(]_~PPJ11{EY1}_{X_P0_Y.png 2 V4 {& u# a/ N/ _; r1 t
7 `; j/ v1 S, _6 m$ Z% C
& x$ l0 N, l4 N/ [
2.4 STM32F103xx时钟树
  r- a/ h1 `! D5 Y+ P; j

' E* A: U" c- X& y @{GGA~1A{@FH8Y{4ZKCHZ[U.png
8 @+ d5 `2 |9 d, a
$ y. b0 u2 l( h) U, x6 S1 r; |
. a2 d# c  ~2 k/ a# W4 p$ c8 H3 Q
; q" g1 _6 U" O- @& A- F6 d" p, N2 s- a
" _0 m/ y# ]/ |9 C5 B
" X7 n' |, L! y% h, N

9 j8 Q+ @$ v, f+ t7 G4 w
收藏 评论0 发布时间:2022-4-4 20:52

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版