
功能2 H; t9 h, ] b( n9 L ■ 内核:ARM 32位的Cortex™-M3 CPU − 最高72MHz工作频率,在存储器的0等待周期访问时可达1.25DMips/MHz(Dhrystone 2.1) − 单周期乘法和硬件除法6 n0 E, F o8 |) X ■ 存储器; f" t2 F D3 d6 f* y − 从64K或128K字节的闪存程序存储器+ J/ E2 r7 U# e% v − 高达20K字节的SRAM ■ 时钟、复位和电源管理6 J0 W1 _/ g: j% Z1 r − 2.0~3.6伏供电和I/O引脚: K9 w0 V U: T. ^4 o# r − 上电/断电复位(POR/PDR)、可编程电压监测器(PVD) − 4~16MHz晶体振荡器 − 内嵌经出厂调校的8MHz的RC振荡器$ [ k7 |4 Y3 h7 G' | F, M2 z − 内嵌带校准的40kHz的RC振荡器 − 产生CPU时钟的PLL - @0 B6 |: I" n8 _) M − 带校准功能的32kHz RTC振荡器 ■ 低功耗8 z3 f+ G Y+ \+ D! W − 睡眠、停机和待机模式8 N% I! \/ N2 S! F/ _. H: Z − VBAT为RTC和后备寄存器供电 ■ 2个12位模数转换器,1μs转换时间(多达16个输入通道) 1 p4 L2 U' s+ G) z − 转换范围:0至3.6V . F7 j; ~% u0 {* a) x − 双采样和保持功能 − 温度传感器 ■ DMA: * I+ E i5 Y( R$ V7 O − 7通道DMA控制器 − 支持的外设:定时器、ADC、SPI、I2C和USART . B( |+ K$ X+ f4 I' P4 } ■ 多达80个快速I/O端口 − 26/37/51/80个I/O口,所有I/O口可以映像到16个外部中断;几乎所有端口均可容忍5V信号 8 B) J1 O( S6 p$ C. v! D ![]() ■ 调试模式+ O! B1 X' z& u- z: W0 [, f − 串行单线调试(SWD)和JTAG接口/ F( [+ z" w1 j ■ 多达7个定时器 − 3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入 − 1个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器( _+ {. i' F' K3 x) u − 2个看门狗定时器(独立的和窗口型的) 1 f# X* @" T1 p: {0 i) x& H − 系统时间定时器:24位自减型计数器 ■ 多达9个通信接口: P. M7 {( o7 O3 }$ j/ n3 b* }, O − 多达2个I2C接口(支持SMBus/PMBus) − 多达3个USART接口(支持ISO7816接口,LIN,IrDA接口和调制解调控制) ; ?" q V( G& J+ ?5 k − 多达2个SPI接口(18M位/秒) $ m6 T: j) U4 k( {4 C; ` − CAN接口(2.0B 主动) ; |& e) {' d1 s& r. @ − USB 2.0全速接口: t: s" }7 e# i, B ■ CRC计算单元,96位的芯片唯一代码) \+ |# m4 ^. Q0 a0 u& Q0 ^! \ ■ ECOPACK®封装 4 C2 C( |" H/ f" t: P% P/ P; s/ ` ![]() 1介绍 本文给出了STM32F103x8和STM32F103xB中等容量增强型产品的订购信息和器件的机械特性。有关完整的STM32F103xx系列的详细信息,请参考第2.2节。 中等容量STM32F103xx数据手册,必须结合STM32F10xxx参考手册一起阅读。7 w8 T; o' ?" A4 O/ v; z2 s 有关内部闪存存储器的编程、擦除和保护等信息,请参考《STM32F10xxx闪存编程参考手册》。 ; Y% e. y- n# ?5 z* b, p# Y7 R9 @ 2 规格说明" a* H. s% e1 `9 P! m 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接口。, u% o5 q/ W( _3 x STM32F103xx中等容量增强型系列产品供电电压为2.0V至3.6V,包含-40°C至+85°C温度范围和-40°C至+105°C的扩展温度范围。一系列的省电模式保证低功耗应用的要求。/ v1 S. b8 J- J' H& C( j STM32F103xx中等容量增强型系列产品提供包括从36脚至100脚的6种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所有外设的基本介绍。/ f% z% g6 a7 h* X% }# V 这些丰富的外设配置,使得STM32F103xx产品容量增强型系列微控制器适合于多种应用场合: ● 电机驱动和应用控制( d. e! [/ n( h/ e ● 医疗和手持设备 ● PC游戏外设和GPS平台 ● 工业应用:可编程控制器(PLC)、变频器、打印机和扫描仪 ● 警报系统、视频对讲、和暖气通风空调系统等 图1给出了该产品系列的框图。* m6 ^0 |* b3 P& a8 ^4 p7 Y8 i 2.1 器件一览 - {3 e/ Y! T5 t5 T- g% M0 F5 C " l. \* @9 A0 U$ _" } ![]() 9 p; ~9 c: k" k2 \5 o$ D5 ]! R 2.2 系列之间的全兼容性 STM32F103xx是一个完整的系列,其成员之间是完全地脚对脚兼容,软件和功能上也兼容。在参考手册中,STM32F103x4和STM32F103x6被归为小容量产品,STM32F103x8和STM32F103xB被归为中等容量产品,STM32F103xC、STM32F103xD和STM32F103xE被归为大容量产品。- B/ P, \" z+ g' i2 a# @ 小容量和大容量产品是中等容量产品(STM32F103x8/B)的延伸,分别在对应的数据手册中介绍:STM32F103x4/6数据手册和STM32F103xC/D/E数据手册。小容量产品具有较小的闪存存储器、RAM空间和较少的定时器和外设。而大容量的产品则具有较大的闪存存储器、RAM空间和更多的片上外设,如SDIO、FSMC、I2S和DAC等,同时保持与其它同系列的产品兼容。 STM32F103x4、STM32F103x6、 STM32F103xC、STM32F103xD和STM32F103xE可直接替换中等容量的STM32F103x8/B产品,为用户在产品开发中尝试使用不同的存储容量提供了更大的自由度。5 p# s, x- w* q9 K 同时,STM32F103xx增强型产品与现有的STM32F101xx基本型和STM32F102xx USB基本型产品全兼容。) Q( _% H% u7 K* k0 y, }8 [ ![]() 5 S0 L( p: i) r 2.3 概述 2.3.1 ARM®的Cortex™-M3核心并内嵌闪存和SRAM ARM的Cortex™-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。 ARM的Cortex™-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。$ ]6 d! S+ m. H2 `( U& j STM32F103xx增强型系列拥有内置的ARM核心,因此它与所有的ARM工具和软件兼容。4 O d+ {6 y, a! P0 Q4 l 图1是该系列产品的功能框图。 % N) c6 D% F8 R) y 2.3.2 内置闪存存储器: r$ ?& h3 e, r1 b 64K或128K字节的内置闪存存储器,用于存放程序和数据。7 ]) P1 p5 l* O% N" f" s 9 D4 b9 G/ I5 g( I" N9 h8 c8 H 2.3.3 CRC(循环冗余校验)计算单元 CRC(循环冗余校验)计算单元使用一个固定的多项式发生器,从一个32位的数据字产生一个CRC码。2 i4 Z8 O# M7 J* B4 s9 O; u7 E& P0 G " G3 E' X; c4 y' R/ X: _4 \# T7 m STM32F103x8, STM32F103xB数据手册 在众多的应用中,基于CRC的技术被用于验证数据传输或存储的一致性。在EN/IEC 60335-1标准的范围内,它提供了一种检测闪存存储器错误的手段,CRC计算单元可以用于实时地计算软件的签名,并与在链接和生成该软件时产生的签名对比。9 p% v9 n0 [+ o: ]% z 2.3.4 内置SRAM 20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。1 j# t( G$ x! {" s9 q 2.3.5 嵌套的向量式中断控制器(NVIC) , `& w! M- f$ R/ T0 d STM32F103xx增强型产品内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个Cortex™-M3的中断线)和16个优先级。 ● 紧耦合的NVIC能够达到低延迟的中断响应处理: ~( Q1 Y+ [7 l! d ● 中断向量入口地址直接进入内核 ● 紧耦合的NVIC接口 ● 允许中断的早期处理 ● 处理晚到的较高优先级中断# j& C5 C* p* b" l9 g ● 支持中断尾部链接功能8 ]' v# o! p" H o7 O9 z' @8 m! R } ● 自动保存处理器状态8 X: d6 g L# \. G+ i: y0 `& x& Q- v ● 中断返回时自动恢复,无需额外指令开销1 t4 y. R4 B/ b9 j3 @ 该模块以最小的中断延迟提供灵活的中断管理功能. I3 C+ B f9 y h 。% x- o! s: D4 W: b: O+ V( u 2.3.6 外部中断/事件控制器(EXTI) / {2 s |+ `( k# q3 q5 u* z9 y 外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。 2.3.7 时钟和启动 K1 C3 x/ ]/ K8 X$ y0 T 系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。 多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。参考图2的时钟驱动框图。 2.3.8 自举模式* H3 ^0 l! K" g7 `) D& W7 w6 b 在启动时,通过自举引脚可以选择三种自举模式中的一种:2 r2 U: m0 T2 F$ W' { w) F3 h ● 从程序闪存存储器自举 ● 从系统存储器自举 ● 从内部SRAM自举- H3 w6 H/ [9 @- d1 F 自举加载程序(Bootloader)存放于系统存储器中,可以通过USART1对闪存重新编程。更详细的信息,请参考应用笔记AN2606。 2.3.9 供电方案 ● VDD = 2.0~3.6V:VDD引脚为I/O引脚和内部调压器供电。5 f. s) D2 \- V% c5 `2 S) S5 p5 K! d ● VSSA,VDDA = 2.0~3.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC时,VDDA不得小于2.4V。VDDA和VSSA必须分别连接到VDD和VSS。 ● VBAT = 1.8~3.6V:当关闭VDD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备寄存器供电。 关于如何连接电源引脚的详细信息,参见图12供电方案。 2.3.10 供电监控器, J! ?3 X! I1 y5 G/ H; c 本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。 器件中还有一个可编程电压监测器(PVD),它监视VDD/VDDA供电并与阀值VPVD比较,当VDD低于或高于阀值VPVD时产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。PVD功能需4 }; r) Q/ r1 M9 {2 H 要通过程序开启。关于VPOR/PDR和VPVD的值参考表11。 2.3.11 电压调压器 调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式 B: _3 A7 o; W( Y( ? ● 主模式(MR)用于正常的运行操作 ● 低功耗模式(LPR)用于CPU的停机模式" a% Z9 d8 P ^" k, K, b' q ● 关断模式用于CPU的待机模式:调压器的输出为高阻状态,内核电路的供电切断,调压器处于零消耗状态(但寄存器和SRAM的内容将丢失) 6 x! f( O& g0 L# _ 该调压器在复位后始终处于工作状态,在待机模式下关闭处于高阻输出。3 b. Q1 W$ P5 S- j# x* |2 U! M4 a 2.3.12 低功耗模式 STM32F103xC、STM32F103xD和STM32F103xE增强型产品支持三种低功耗模式,可以在要求低/ g7 S$ q( B2 d" p5 `% C# a$ t4 H5 M 功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。 ● 睡眠模式" S, U: d0 E5 B 在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。5 w! K' t6 _0 c* ^ ● 停机模式. V. c8 t( E! d 在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,停止所有内部1.8V部分的供电,PLL、HSI的RC振荡器和HSE晶体振荡器被关闭,调压器可以被置于普通模式或低功耗模式。 可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O口之一、PVD的输出、RTC闹钟或USB的唤醒信号。 ● 待机模式) M! j1 z* O1 z# u' c9 w2 Y 在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的供电被切断;PLL、HSI的RC振荡器和HSE晶体振荡器也被关闭;进入待机模式后,SRAM和寄存器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。/ K+ U* T! {; W$ U, N7 g; L ~ 从待机模式退出的条件是:NRST上的外部复位信号、IWDG复位、WKUP引脚上的一个上升边沿或RTC的闹钟到时。* z n/ x: f9 D6 v u6 {& Q9 C' O9 A 注: 在进入停机或待机模式时,RTC、IWDG和对应的时钟不会被停止。- w: c1 y4 ~" e$ c) Y 2.3.13 DMA 灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输;DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。7 Y1 B/ g6 {5 J7 i" a$ g/ z 每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以通过软件单独设置。$ [% K/ V# _+ f+ |( l3 M DMA可以用于主要的外设:SPI、I2C、USART,通用、基本和高级控制定时器TIMx和ADC。 8 V# W4 @. j6 ?6 ] $ @' V. k- V# g% @0 a$ v/ s1 I |
CD00161566_ZHV10.pdf
下载1.8 MB, 下载次数: 0
基于定时器捕获测量脉宽的应用示例
最全USB HID开发资料,悉心整理一个月,亲自测试
实战经验 | 选择USBX模块生成USB CDC ACM无PD的项目
STM32 USB HID键盘例程
狂欢三】STM32C031使用TIM定时器DMA方式实现WS2812彩灯输出(三)
【狂欢三】STM32C031使用TIM定时器DMA方式实现PWM输出(二)
【狂欢三】STM32C031使用TIM定时器PWM输出
stm32使用定时器触发dma传输,启动dma没反应的几种情况的解决方法
刘氓兔的杂谈【001】-片上USB 高速PHY
【经验分享】在进行 USB CDC 类开发时,无法发送 64整数倍的数据