功能 ■ 内核:ARM 32位的Cortex™-M3 CPU − 最高72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHz(Dhrystone 2.1) − 单周期乘法和硬件除法. m0 W5 f& X$ Z+ T) @ ■ 存储器 − 从64K或128K字节的闪存程序存储器 − 高达20K字节的SRAM ! B$ x" T- x% O2 j8 L4 K% ^ ■ 时钟、复位和电源管理 − 2.0~3.6伏供电和I/O引脚 − 上电/断电复位(POR/PDR)、可编程电压监测器(PVD) − 4~16MHz晶体振荡器 − 内嵌经出厂调校的8MHz的RC振荡器 − 内嵌带校准的40kHz的RC振荡器+ V l; u2 u0 K# T7 f( d − 产生CPU时钟的PLL − 带校准功能的32kHz RTC振荡器 ■ 低功耗 − 睡眠、停机和待机模式; X; \" s% q8 o( H( N − VBAT为RTC和后备寄存器供电+ m* F q# \" n# C& {; [ ■ 2个12位模数转换器,1μs转换时间(多达16个输入通道) − 转换范围:0至3.6V . Q- D0 W" i0 g3 d2 Y# P! t6 f/ ~ − 双采样和保持功能 − 温度传感器, C4 T6 [3 k- I ■ DMA: − 7通道DMA控制器 − 支持的外设:定时器、ADC、SPI、I2C和USART ■ 多达80个快速I/O端口# c3 C3 ~9 z( w. K − 26/37/51/80个I/O口,所有I/O口可以映像到16个外部中断;几乎所有端口均可容忍5V信号 6 }( H( x" _* Z 9 k7 D8 |: u. B# F3 V0 y - I2 t( _# K( \0 i+ b4 ? ■ 调试模式$ d% o0 o/ @) Y − 串行单线调试(SWD)和JTAG接口 ■ 多达7个定时器 d) J. [8 h9 v# U: d − 3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入9 n: s4 e0 `6 s5 t$ i. p − 1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器; t9 X! X; F R" { − 2个看门狗定时器(独立的和窗口型的) " p. \4 C2 n4 L − 系统时间定时器:24位自减型计数器 ■ 多达9个通信接口3 N& V% Z; X/ A* M- _1 _ − 多达2个I2C接口(支持SMBus/PMBus) − 多达3个USART接口(支持ISO7816接口,LIN,IrDA接口和调制解调控制) * r) s' k" q( C% Z − 多达2个SPI接口(18M位/秒) ! g; Y6 h! j9 V* t − CAN接口(2.0B 主动) − USB 2.0全速接口 ■ CRC计算单元,96位的芯片唯一代码 ■ ECOPACK®封装/ r5 K2 d. N7 y m Y! b0 k : T. X# p! s$ e" u& Y0 z8 @ 1介绍 {. D- W7 d1 ^9 H. i% ?' Q* r 本文给出了STM32F103x8和STM32F103xB中等容量增强型产品的订购信息和器件的机械特性。有关完整的STM32F103xx系列的详细信息,请参考第2.2节。 中等容量STM32F103xx数据手册,必须结合STM32F10xxx参考手册一起阅读。, N, c) w& n' {: q; E$ z 有关内部闪存存储器的编程、擦除和保护等信息,请参考《STM32F10xxx闪存编程参考手册》。1 C% ^1 [- g q+ Y2 p ' z7 n. k/ o- |6 I9 `$ h e 2 规格说明$ x! a! W4 t$ j9 r7 K9 Q9 ^& n STM32F103x8和STM32F103xB增强型系列使用高性能的ARM® Cortex™-M3 32位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和1个PWM定时器,还包含标准和先进的通信接口:多达2个I2C接口和SPI接口、3个USART接口、一个USB接口和一个CAN接口。) x: Q, i* e* [ P2 O9 O8 } STM32F103xx中等容量增强型系列产品供电电压为2.0V至3.6V,包含-40°C至+85°C温度范围和-40°C至+105°C的扩展温度范围。一系列的省电模式保证低功耗应用的要求。: g* F, W! b% M& Z+ p9 ]: Q0 ?. H STM32F103xx中等容量增强型系列产品提供包括从36脚至100脚的6种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所有外设的基本介绍。& Q! }( u6 l+ p6 C& o: Q! D 这些丰富的外设配置,使得STM32F103xx产品容量增强型系列微控制器适合于多种应用场合: ● 电机驱动和应用控制 ● 医疗和手持设备6 x: e `0 Z8 y1 W ● PC游戏外设和GPS平台 ● 工业应用:可编程控制器(PLC)、变频器、打印机和扫描仪 ● 警报系统、视频对讲、和暖气通风空调系统等 图1给出了该产品系列的框图。: Y. Q. c) Y+ d( l: ~% M) O0 l 2.1 器件一览& \; t- Z) I. _* ]5 w# c , T0 t7 y7 l1 T, ?6 x, h8 [ 2.2 系列之间的全兼容性/ ]* ~+ m8 d0 p0 {/ B" j' |2 M STM32F103xx是一个完整的系列,其成员之间是完全地脚对脚兼容,软件和功能上也兼容。在参考手册中,STM32F103x4和STM32F103x6被归为小容量产品,STM32F103x8和STM32F103xB被归为中等容量产品,STM32F103xC、STM32F103xD和STM32F103xE被归为大容量产品。 小容量和大容量产品是中等容量产品(STM32F103x8/B)的延伸,分别在对应的数据手册中介绍:STM32F103x4/6数据手册和STM32F103xC/D/E数据手册。小容量产品具有较小的闪存存储器、RAM空间和较少的定时器和外设。而大容量的产品则具有较大的闪存存储器、RAM空间和更多的片上外设,如SDIO、FSMC、I2S和DAC等,同时保持与其它同系列的产品兼容。! w2 U, o/ Y- I# E" C5 Q STM32F103x4、STM32F103x6、 STM32F103xC、STM32F103xD和STM32F103xE可直接替换中等容量的STM32F103x8/B产品,为用户在产品开发中尝试使用不同的存储容量提供了更大的自由度。 同时,STM32F103xx增强型产品与现有的STM32F101xx基本型和STM32F102xx USB基本型产品全兼容。 9 g9 X+ k9 ?4 h% r# G: I3 ?0 h/ _ 2.3 概述) f" m7 ~5 |/ F# O 2.3.1 ARM®的Cortex™-M3核心并内嵌闪存和SRAM . F9 i$ p& o4 v" a* ]. E ARM的Cortex™-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。 ARM的Cortex™-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。! e/ `7 h7 e8 r* E$ f STM32F103xx增强型系列拥有内置的ARM核心,因此它与所有的ARM工具和软件兼容。 图1是该系列产品的功能框图。- b' w9 k; Q6 t* Z. I" ]$ y( u + [- c6 P q. L5 z1 E 2.3.2 内置闪存存储器 64K或128K字节的内置闪存存储器,用于存放程序和数据。+ m- u5 ]* ]6 v; e! I/ @( T q; |6 O 0 K; @& v; K/ _4 N 2.3.3 CRC(循环冗余校验)计算单元 CRC(循环冗余校验)计算单元使用一个固定的多项式发生器,从一个32位的数据字产生一个CRC码。 STM32F103x8, STM32F103xB数据手册 在众多的应用中,基于CRC的技术被用于验证数据传输或存储的一致性。在EN/IEC 60335-1标准的范围内,它提供了一种检测闪存存储器错误的手段,CRC计算单元可以用于实时地计算软件的签名,并与在链接和生成该软件时产生的签名对比。! T: l; l* N1 v/ m h4 }- T 9 V) r$ u3 n% |' f9 g: L 2.3.4 内置SRAM 20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。 S! D g( ]! a! ]" s$ O3 V1 G- n& C 2.3.5 嵌套的向量式中断控制器(NVIC) STM32F103xx增强型产品内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个Cortex™-M3的中断线)和16个优先级。1 a& O* X# G2 |; e( `2 Y ● 紧耦合的NVIC能够达到低延迟的中断响应处理# Q, A+ z* a3 B q9 F D ● 中断向量入口地址直接进入内核 ● 紧耦合的NVIC接口 ● 允许中断的早期处理2 f- Q" z$ o" V/ O9 T, Q ● 处理晚到的较高优先级中断 ● 支持中断尾部链接功能, q& n8 _) p) l% m ● 自动保存处理器状态 ● 中断返回时自动恢复,无需额外指令开销 该模块以最小的中断延迟提供灵活的中断管理功能 。# h& P. j" Y/ u* N2 I( j9 F 2.3.6 外部中断/事件控制器(EXTI) ( O6 ~! z, i: v$ J- ^ 外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。5 N* `' e, _8 h 2.3.7 时钟和启动6 @. L8 \3 M7 ~; `2 Y" i 系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。. m0 ~7 |$ j. C# R* u: Y. } 多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。参考图2的时钟驱动框图。 ; W# Q, ^/ T/ S 2.3.8 自举模式 在启动时,通过自举引脚可以选择三种自举模式中的一种: ● 从程序闪存存储器自举& ]2 e' N& ?* Q ● 从系统存储器自举 ● 从内部SRAM自举 自举加载程序(Bootloader)存放于系统存储器中,可以通过USART1对闪存重新编程。更详细的信息,请参考应用笔记AN2606。- [7 U, {; `+ _3 C. \ 2.3.9 供电方案 ● VDD = 2.0~3.6V:VDD引脚为I/O引脚和内部调压器供电。) o& i& d2 O; D$ O( D# _7 l, A ● VSSA,VDDA = 2.0~3.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC时,VDDA不得小于2.4V。VDDA和VSSA必须分别连接到VDD和VSS。6 e. S. c$ w+ h+ A( I ● VBAT = 1.8~3.6V:当关闭VDD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备寄存器供电。- o: s( J, G& z 关于如何连接电源引脚的详细信息,参见图12供电方案。+ p1 r: z) n/ O, U% j& Y5 o ' ~, q; M1 O9 E3 A1 t 2.3.10 供电监控器 本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。 器件中还有一个可编程电压监测器(PVD),它监视VDD/VDDA供电并与阀值VPVD比较,当VDD低于或高于阀值VPVD时产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。PVD功能需8 X) z: @, O7 [3 c" p1 C* p 要通过程序开启。关于VPOR/PDR和VPVD的值参考表11。6 X- w6 L5 P, N( E 2.3.11 电压调压器; e: l: D& G; G+ M8 a6 O% l! t( I 调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式0 x1 Y7 v; R0 Y$ ^7 H ● 主模式(MR)用于正常的运行操作. i, D" @- H- E. v3 v0 b, Y ● 低功耗模式(LPR)用于CPU的停机模式: G+ ~5 ^! @1 H! Q) c ● 关断模式用于CPU的待机模式:调压器的输出为高阻状态,内核电路的供电切断,调压器处于零消耗状态(但寄存器和SRAM的内容将丢失) 该调压器在复位后始终处于工作状态,在待机模式下关闭处于高阻输出。9 `7 k8 ]5 O) ~0 @' H( w) T( F: H 2.3.12 低功耗模式9 \1 O( r# F$ @; a3 ~& I' w STM32F103xC、STM32F103xD和STM32F103xE增强型产品支持三种低功耗模式,可以在要求低 功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。 ● 睡眠模式 在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。, @& | ^! [/ E% F2 F: @5 L+ M# m4 G. o ● 停机模式 在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,停止所有内部1.8V部分的供电,PLL、HSI的RC振荡器和HSE晶体振荡器被关闭,调压器可以被置于普通模式或低功耗模式。 可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O口之一、PVD的输出、RTC闹钟或USB的唤醒信号。 ● 待机模式$ q$ Q, ~. V, e2 c T# I3 u 在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的供电被切断;PLL、HSI的RC振荡器和HSE晶体振荡器也被关闭;进入待机模式后,SRAM和寄存器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。 从待机模式退出的条件是:NRST上的外部复位信号、IWDG复位、WKUP引脚上的一个上升边沿或RTC的闹钟到时。, Q8 L; ?7 c% Q8 F , @ g& {1 `7 S) n 注: 在进入停机或待机模式时,RTC、IWDG和对应的时钟不会被停止。; ^, @3 s6 @9 D( O- v 2.3.13 DMA 灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输;DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。 每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以通过软件单独设置。' K* u9 `$ y) e& o2 `4 `( r0 r DMA可以用于主要的外设:SPI、I2C、USART,通用、基本和高级控制定时器TIMx和ADC。- E5 ~' Q( V h* E% P' n 3 B# V! R( Y: ?5 B R2 e9 J3 z; ^ |
CD00161566_ZHV10.pdf
下载1.8 MB, 下载次数: 0
最全USB HID开发资料,悉心整理一个月,亲自测试
USB Audio设计与实现
定时器剩余通道是否可以做PWM输出呢?
【MCU实战经验】+STM32F107的USB使用
圈圈发布USB图书第二版有感,以及分享一些我学习USB过程...
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
STM32 USB-HID通信移植步骤STM32 USB HID键盘例程
基于STM32双定时器+ADC+DMA实战经验分享
基于STM32的定时器触发ADC时可能遇到的情形
【NUCLEO-U545RE-Q评测】5. 基本计时器