STMCU小助手
发布时间:2022-4-4 20:52
|
2.1 STM32F103xx增强型LQFP48引脚分布 7 G" ? M1 S) q3 o* }. [
/ s: ]4 Z5 g) f6 i4 p8 E3 A3 u( U2 } 2.2 STM32F103xx概述$ ?2 ]' H/ H, W+ m. x! t) L 2.2.1 ARM®的Cortex™-M3核心并内嵌闪存和SRAM* ^! @) z0 b7 }$ V2 K$ e* v ( ~8 W3 ]* V3 d1 T& ]' \/ N ARM的Cortex™-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。 ARM的Cortex™-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。 2.2.2 内置闪存存储器2 G/ j% q! x# `" @! a, ^7 d 64K或128K字节的内置闪存存储器,用于存放程序和数据。小R使用的开发板内置闪存存储器为64K。; r; ?/ k3 g6 N( ?, y# ]$ K. {- f- D $ C3 T# [4 o8 E; C/ M2 n3 j; O 2.2.3 CRC(循环冗余校验)计算单元 & E" F% y# b+ z' R5 W$ x. _* {( @" R; H CRC(循环冗余校验)计算单元使用一个固定的多项式发生器,从一个32位的数据字产生一个CRC码。在众多的应用中,基于CRC的技术被用于验证数据传输或存储的一致性。 # m' L7 {2 d3 S* J 2.2.4 内置SRAM 20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。4 G4 V% s; ~( m* G& G+ x/ x 2.2.5 嵌套的向量式中断控制器(NVIC) STM32F103xx增强型产品内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个Cortex™-M3的中断线)和16个优先级。 $ S9 u- e% g3 p9 o/ {9 i7 K. m ● 紧耦合的NVIC能够达到低延迟的中断响应处理 4 g* w% L O2 K8 |# ~ ● 中断向量入口地址直接进入内核3 k3 f( V- N* L, |" |2 s+ L. ] ● 紧耦合的NVIC接口1 u4 N& r8 c1 d& }$ C: ^6 B% ` ● 允许中断的早期处理2 f9 n f5 H. e8 m' e 4 C. \$ F t( j/ _! G ● 处理晚到的较高优先级中断 ● 支持中断尾部链接功能 ● 自动保存处理器状态 E) r7 k! a; k$ `9 X# s 5 ~. {4 |2 r# m0 [) | ● 中断返回时自动恢复,无需额外指令开销 该模块以最小的中断延迟提供灵活的中断管理功能。 ) o% Q; d( V& E: p: V, j5 V4 m 5 m% n1 v k3 G 2.2.6 外部中断/事件控制器(EXTI) 外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。# K' V" Z, F z2 v7 ^# _" a. b& P EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。9 t& R/ S% A6 h v/ A, a 2.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 多个预分频器用于配置AHB的频率、高速APB(APB2)和低APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。 . 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 ● 从程序闪存存储器自举& F' Q2 ?" h" K" v ● 从系统存储器自举 ● 从内部SRAM自举4 e1 h; d% |9 S2 @$ ?. E 自举加载程序(Bootloader)存放于系统存储器中,可以通过USART1对闪存重新编程。# H6 {+ j9 p/ g; z% ?3 m. A- Q 2.2.9 供电方案 * i% V7 I( ~( P- D( A0 M ● VDD = 2.0~3.6V:VDD引脚为I/O引脚和内部调压器供电。 ● VSSA,VDDA = 2.0~3.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC时,VDDA不得小于2.4V。VDDA和VSSA必须分别连接到VDD和VSS。 + q5 H4 E8 c5 h) |' I, p2 f0 C4 u ● VBAT = 1.8~3.6V:当关闭VDD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备寄存器供电。 2.2.10 供电监控器0 _8 Q* [, a- i# _' \3 s2 V 4 ]7 |" w' d+ m6 ` 本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。 器件中还有一个可编程电压监测器(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 调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式 ● 主模式(MR)用于正常的运行操作 , U5 A' U5 y5 C, H7 _ ● 低功耗模式(LPR)用于CPU的停机模式4 q: j! N$ f7 ?/ ^$ d0 ~& G8 ~ ● 关断模式用于CPU的待机模式:调压器的输出为高阻状态。( Z8 K& U5 }, A1 W3 R6 O% }2 g $ w: d) S5 L$ }/ x' g3 r* n 2.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' [ 2.2.13 DMA M0 Q$ e( R- ^$ N) {: h9 W& z& z 灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输;DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。 7 Z/ U. k! v3 t% L 每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以通过软件单独设置。9 Q: _6 v+ \) P/ E & ~$ k& e; M5 l. t DMA可以用于主要的外设:SPI、I2C、USART,通用、基本和高级控制定时器TIMx和ADC。 0 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 2.2.15 定时器和看门狗 8 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 ● 输入捕获# p: L! {2 M* G3 D9 B' q; i ● 输出比较 ; 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%)。 通用定时器(TIMx) , 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 这些定时器还能够处理增量编码器的信号,也能处理1至3个霍尔传感器的数字输出。* P9 r, R4 G+ { R h* y h 2.2.16 IIC总线8 t" o2 y$ B. a$ c2 C J 多达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 2.2.18 串行外设接口(SPI) ' N/ e. P# u! Q! o2 H 多达2个SPI接口,在从或主模式下,全双工和半双工的通信速率可达18兆位/秒。3位的预分频器可产生8种主模式频率,可配置成每帧8位或16位。硬件的CRC产生/校验支持基本的SD卡和MMC模式。所有的SPI接口都可以使用DMA操作。 : `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 2.2.20 通用串行总线(USB) STM32F103xx增强型系列产品,内嵌一个兼容全速USB的设备控制器,遵循全速USB设备(12兆位/秒)标准,端点可由软件配置,具有待机/唤醒功能。USB专用的48MHz时钟由内部主PLL直接产生(时钟源必须是一个HSE晶体振荡器)。 : x: j1 P: \3 @" L. h& W k4 Z# o8 w - e4 q9 A8 k! d7 V [4 M; w 2.2.21 通用输入输出接口(GPIO) 每个GPIO引脚都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或复用的外设功能端口。多数GPIO引脚都与数字或模拟的复用外设共用。7 z; l8 J& A1 J# v& W, } & L- Z/ [" h. w5 Y 除了具有模拟输入功能的端口,所有的GPIO引脚都有大电流通过能力。在需要的情况下,I/O引脚的外设功能可以通过一个特定的操作锁定,以避免意外的写入I/O寄存器。 , B2 J n% V( Q2 y t. | 在APB2上的I/O脚可达18MHz的翻转速度。+ E9 `7 m" z2 E: H 2.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 ADC接口上的其它逻辑功能包括: ● 同步的采样和保持$ L& M' v( w6 h" J3 j2 k Q & {+ z2 i% @' q0 _' F$ S8 u7 K [/ e ● 交叉的采样和保持 ( o- u/ e2 m4 N9 ^; S' j ● 单次采样 ADC可以使用DMA操作。 模拟看门狗功能允许非常精准地监视一路、多路或所有选中的通道,当被监视的信号超出预置的阀值时,将产生中断。由标准定时器(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 温度传感器产生一个随温度线性变化的电压,转换范围在2V < VDDA < 3.6V之间。温度传感器在内部被连接到ADC12_IN16的输入通道上,用于将传感器的输出转换到数字数值。/ N1 Q3 y. c- t' I7 `3 ? 0 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 内嵌ARM的SWJ-DP接口,这是一个结合了JTAG和串行单线调试的接口,可以实现串行单线调试接口或JTAG接口的连接。JTAG的TMS和TCK信号分别与SWDIO和SWCLK共用引脚,TMS脚上的一个特殊的信号序列用于在JTAG-DP和SW-DP间切换。& ^, f" {1 t2 b" e7 J 2.3 STM32F103xx增强型模块框图5 I9 ~" z W* P6 _! N% d/ V
; l* X5 e" U' ~3 N- d3 J5 S
8 c* ` `: c4 w- D9 n c 2.4 STM32F103xx时钟树 ! z3 U& L* Z+ D5 v! b) P+ M0 Z
2 e) `& Y. |+ ]- H4 g , C, D3 G: M+ n; B8 V* U; J
' o3 O5 t' b+ o4 P* F s4 \& m |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版