数据手册
STM32F103xC STM32F103xD
STM32F103xE
增强型,32 位基于 ARM 核心的带 512K 字节闪存的微控
制器 USB、CAN、11 个定时器、3 个 ADC 、13 个通信接
口
功能
初步信息
■ 内核:ARM 32 位的 Cortex™-M3 CPU
− 最高 72MHz 工作频率,
1.25DMips/MHz(Dhrystone 2.1),
在存储器的 0 等待周期访问时
− 单周期乘法和硬件除法
■ 存储器
− 从 256K 至 512K 字节的闪存程序存储器
− 高达 64K 字节的 SRAM
− 带 4 个片选的灵活的静态存储器控制器。
支 持 CF 卡 、SRAM 、PSRAM 、NOR 和
NAND
存储器
− 并行 LCD 接口,兼容 8080/6800 模式
■ 时钟、复位和电源管理
− 2.0~3.6 伏供电和 I/O 管脚
− 上电/断电复位(POR/PDR)、可编程电压监
测器(PVD)
− 内嵌 4~16MHz 晶体振荡器
− 内嵌经出厂调校的 8MHz 的 RC 振荡器
− 内嵌带校准的 40kHz 的 RC 振荡器
− 带校准功能的 32kHz RTC 振荡器
■ 低功耗
− 睡眠、停机和待机模式
− VBAT 为 RTC 和后备寄存器供电
■ 3 个 12 位模数转换器,1μs 转换时间(多达
21 个输入通道)
− 转换范围:0 至 3.6V
− 三倍采样和保持功能
− 温度传感器
■ 2 通道 12 位 D/A 转换器
■ DMA
− 12 通道 DMA 控制器
− 支持的外设:定时器、ADC、DAC、SDIO、I2S、
STM32F103xC
STM32F103xD
STM32F103xE
SPI、I2C 和 USART
■ 多达 112 个快速 I/O 口
− 51/80/112 个多功能双向的 I/O 口
− 所有 I/O 口可以映像到 16 个外部中断
− 除了模拟输入口以外的 IO 口可容忍 5V 信
号输入
■ 调试模式
− 串行单线调试(SWD)和 JTAG 接口
− Cortex-M3 内嵌跟踪模块(ETM)
■ 多达 11 个定时器
− 多达 4 个 16 位定时器,每个定时器有多达
4 个用于输入捕获/输出比较/PWM 或脉冲计
数的通道
− 2 个 16 位 6 通道高级控制定时器,多达
6 路 PWM 输出,带死区控制
− 2 个看门狗定时器(独立的和窗口型的)
− 系统时间定时器:24 位自减型计数
− 2 个 16 位基本定时器用于驱动 DAC
■ 多达 13 个通信接口
− 多达 2 个 I2C 接口(支持 SMBus/PMBus)
− 多达 5 个 USART 接口(支持 ISO7816,LIN,
IrDA 接口和调制解调控制)
− 多达 3 个 SPI 接口(18M 位/秒),2 个可复用
为
I2S 接口
− CAN 接口(2.0B 默认)
− USB 2.0 全速接口
− SDIO 接口
■ CRC 计算单元
■ ECOPACK®封
装表 1 器件列表
参 考基本型号
STM32F103RC、STM32F103VC、 STM32F103ZC
STM32F103RD、STM32F103VD、 STM32F103ZD
STM32F103RE、STM32F103ZE、 STM32F103VE
参照 2008 年 4 月 STM32F103xCDE 数据手册 英文第 1.0 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 1/30
1
2
STM32F103xC, STM32F103xD, STM32F103xE 数据手册
介绍
本文给出了 STM32F103xC、STM32F103xD 和 STM32F103xE 增强型的订购信息和器件的机械特
性。有关闪存存储器的编程、擦除和保护等信息,请参考《STM32F10xxx 闪存编程参考手册》。
有关 Cortex-M3 的信息,请参考《Cortex-M3 技术参考手册》
规格说明
STM32F103xC、STM32F103xD 和 STM32F103xE 增强型系列使用高性能的 ARM® Cortex™-M3 32
位 的 RISC 内 核 , 工 作 频 率 为 72MHz , 内 置 高 速 存 储 器( 高 达 512K 字 节 的 闪 存 和 64K 字 节 的
SRAM),丰富的增强 I/O 端口和联接到两条 APB 总线的外设。所有型号的器件都包含 3 个 12 位的
ADC、4 个通用 16 位定时器和 2 个 PWM 定时器,还包含标准和先进的通信接口:多达 2 个 I2C、3
个 SPI、2 个 I2S、1 个 SDIO、5 个 USART、一个 USB 和一个 CAN。
STM32F103xC、STM32F103xD 和 STM32F103xE 增强型系列工作于-40°C 至+105°C 的温度范围,供
电电压 2.0V 至 3.6V,一系列的省电模式保证低功耗应用的要求。
完整的 STM32F103xC、STM32F103xD 和 STM32F103xE 增强型系列产品包括从 64 脚至 144 脚的五
种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所
有外设的基本介绍。
这些丰富的外设配置,使得 STM32F103xC、STM32F103xD 和 STM32F103xE 增强型微控制器适合
于多种应用场合:
● 电机驱动和应用控制
● 医疗和手持设备
● PC 外设和 GPS 平台
● 工业应用:可编程控制器、变频器、打印机和扫描仪
● 警报系统,视频对讲,和暖气通风空调系统等
图一给出了该产品系列的框图。
参照 2008 年 4 月 STM32F103xCDE 数据手册 英文第 1.0 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 2/30
2.1 器件一览
STM32F103xC, STM32F103xD, STM32F103xE 数据手册
表 2 STM32F103xC、STM32F103xD 和 STM32F103xE 器件功能和配置
外设
STM32F103Rx
STM32F103Vx
STM32F103Zx
384
512
64
无
闪存(K 字节)
RAM(K 字节)
256
48
定时器
通信
FSMC
通用
高级
基本
SPI(I
(1)
2
S)
2
I
C
USART
USB
CAN
SDIO
通用 I/O 端口
12 位同步 ADC
51
3
16 通道
12 位 DAC
CPU 频率
工作电压
工作温度
256
48
384
512
64
256
48
有
4
2
2
3(2)
2
5
1
1
1
80
3
16 通道
1
2 通道
72MHz
2.0~3.6V
+85°C / -40 至+105℃
结温:-40 至+125℃
384
512
64
有
112
3
21 通道
封装
LQFP64
LQFP100,BGA100
LQFP144,BGA144
1.SPI2 和 SPI3 接口能够灵活地在 SPI 模式和 I2S 音频模式间切换。
2.2 系列之间的全兼容性
STM32F103xx 是一个完整的系列,其成员之间是脚对脚兼容,软件和功能上也兼容。
STM32F103xC 、 STM32F103xD 和 STM32F103xE 是 STM32F103xx 数据手册中描述的
STM32F103x6/8/B/C 产品的延伸,他们具有更大的闪存存储器和 RAM 容量,更多的片
上
外设,如 SDIO、FSMC、I2S 和 DAC 等,同时保持与其它同系列的产品兼容。
STM32F103xC、STM32F103xD 和 STM32F103xE 可直接替换 STM32F103x6/8/B/C 产
品,为用户在产品开发中尝试使用不同的存储容量提供了更大的自由度。
参照 2008 年 4 月 STM32F103xCDE 数据手册 英文第 1.0 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 3/30
表 3 STM32F103xx 系列
STM32F103xC, STM32F103xD, STM32F103xE 数据手
册
存储器容量
64K 闪存 128K 闪存 256K 闪存 384K 闪存 512K 闪存
64K RAM
48K RAM 64K RAM
5 个 USART
4 个 16 位定时器、2 个基本定时器
3 个 SPI、2 个 I2S、2 个 I2C
USB、CAN、2 个 PWM 定时器
3 个 ADC、1 个 DAC、1 个 SDIO
FSMC(100 和 144 脚)
32K 闪存
10K RAM
20K RAM 20K RAM
3 个 USART
3 个 16 位定时器
2 个 SPI、2 个 I2C
USB、CAN
2 个 USART
2 个 16 位定时器
1 个 SPI、1 个 I2C 1 个 PWM 定时器
USB、CAN
1 个 PWM 定时器
1 个 ADC
1 个 ADC
管
脚
数
144
100
64
48
36
2.3 概述
ARM®的 Cortex™-M3 核心并内嵌闪存和 SRAM
ARM 的 Cortex™-M3 处理器是最新一代的嵌入式 ARM 处理器,它为实现 MCU 的需要提供了低成
本的平台、缩减的管脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。
ARM 的 Cortex™-M3 是 32 位的 RISC 处理器,提供额外的代码效率,在通常 8 和 16 位系统的存储
空间上发挥了 ARM 内核的高性能。
STM32F103xC、STM32F103xD 和 STM32F103xE 增强型系列拥有内置的 ARM 核心,因此它
与
所有的 ARM 工具和软件兼容。
图一是该系列产品的功能框图。
内置闪存存储器
高达 512K 字节的内置闪存存储器,用于存放程序和数据。
CRC(循环冗余校验)计算单元
CRC(循环冗余校验)计算单元使用一个固定的多项式发生器,从一个 32 位的数据字产生一个 CRC
码。
在众多的应用中,基于 CRC 的技术被用于验证数据传输或存储的一致性。
内置 SRAM
多达 64K 字节的内置 SRAM,CPU 能以 0 等待周期访问(读/写)。
FSMC(可配置的静态存储器控制器)
STM32F103xC、STM32F103xD 和 STM32F103xE 增强型系列集成了 FSMC 模块。它具有 4 个
片
选输出,支持 CF、RAM、PSRAM、NOR 和 NAND。
功能介绍:
● 三个 FSMC 中断源,经过逻辑或连到 NVIC 单元;
● 写入 FIFO;
参照 2008 年 4 月 STM32F103xCDE 数据手册 英文第 1.0 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 4/30
STM32F103xC, STM32F103xD, STM32F103xE 数据手册
● 代码可以在除 PC 卡外的片外存储器运行;
● 目 标 频 率 为 SYSCLK/2 , 即 当 系 统 时 钟 为 72MHz 时 , 外 部 访 问 的 速 度 可 达
36MHz;系统时钟为 48MHz 时,外部访问的速度可达 24MHz。
LCD 并行接口
FSMC 可以配置成与多数图形 LCD 控制器的无缝连接,它支持 Intel 8080 和 Motorola 6800 的模式,
并能够灵活地与特定的 LCD 接口。使用这个 LCD 并行接口可以很方便地构建简易的图形应用环
境,或使用专用加速控制器的高性能方案。
嵌套的向量式中断控制器(NVIC)
STM32F103xC、STM32F103xD 和 STM32F103xE 增强型内置嵌套的向量式中断控制器,能够处
理多达 60 个可屏蔽中断通道(不包括 16 个 Cortex™-M3 的中断线)和 16 个优先级。
● 紧耦合的 NVIC 能够达到低延迟的中断响应处理
● 中断向量入口地址直接进入内核
● 紧耦合的 NVIC 接口
● 允许中断的早期处理
● 处理晚到的较高优先级中断
● 支持中断尾部链接功能
● 自动保存处理器状态
● 中断返回时自动恢复,无需额外指令开销
该模块以最小的中断延迟提供灵活的中断管理功能。
外部中断/事件控制器(EXTI)
外部中断/事件控制器包含 19 个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配
置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中
断请求的状态。EXTI 可以检测到脉冲宽度小于内部 APB2 的时钟周期。多达 112 个通用 I/O 口连接
到 16 个外部中断线。
时钟和启动
系统时钟的选择是在启动时进行,复位时内部 8MHz 的 RC 振荡器被选为默认的 CPU 时钟,随后可
以选择外部的、具失效监控的 4~16MHz 时钟;当外部时钟失效时,它将被隔离,同时产生相应的
中断。同样,在需要时可以采取对 PLL 时钟完全的中断管理(如当一个外接的振荡器失效时)。
具有多个预分频器用于配置 AHB 的频率、高速 APB(APB2)和低速 APB(APB1)区域。AHB 和高速
APB 的最高频率是 72MHz,低速 APB 的最高频率为 36MHz。参考图二的时钟驱动框图。
自举模式
在启动时,自举管脚被用于选择三种自举模式中的一种:
● 从用户闪存自举
● 从系统存储器自举
● 从内部 SRAM 自举
自举加载程序存放于系统存储器中,可以通过 USART1 对闪存重新编程。
供电方案
● VDD = 2.0~3.6V:VDD 管脚为 I/O 管脚和内部调压器的供电。
参照 2008 年 4 月 STM32F103xCDE 数据手册 英文第 1.0 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 5/30
STM32F103xC, STM32F103xD, STM32F103xE 数据手册
● VSSA,VDDA = 2.0~3.6V:为 ADC、复位模块、RC 振荡器和 PLL 的模拟部分提供供电。使
用 ADC 时,VDD 不得小于 2.4V。VDDA 和 VSSA 必须分别连接到 VDD 和 VSS。
● VBAT = 1.8~3.6V:当关闭 VDD 时,(通过内部电源切换器)为 RTC、外部 32kHz 振荡器和
后备寄存器供电。
关于如何连接电源管脚的详细信息,参见图十.供电方案。
供电监控器
本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过
2V 时工作;当 VDD 低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。
器件中还有一个可编程电压监测器(PVD),它监视 VDD 供电并与阀值 VPVD 比较,当 VDD 低于或高
于阀值 VPVD 时将产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。PVD 功
能需要通过程序开启。关于 VPOR/PDR 和 VPVD 的值参考第 5 章的图表:内嵌复位和电源控制模块
图表。
电压调压器
调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式
● 主模式(MR)用于正常的运行操作
● 低功耗模式(LPR)用于 CPU 的停机模式
● 关断模式用于 CPU 的待机模式:调压器的输出为高阻状态,内核电路的供电切断,调压器处
于零消耗状态(但寄存器和 SRAM 的内容将丢失)
该调压器在复位后始终处于工作状态,在待机模式下关闭处于高阻输出。
低功耗模式
STM32F103xC、STM32F103xD 和 STM32F103xE 增强型支持三种低功耗模式,可以在要求
低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。
● 睡眠模式
在睡眠模式,只有 CPU 停止,所有外设处于工作状态并可在发生中断/事件时唤醒 CPU。
● 停机模式
在保持 SRAM 和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模
式下,停止所有内部 1.8V 部分的供电,PLL、HSI 和 HSE 的 RC 振荡器被关闭,调压器可以
被置于普通模式或低功耗模式。
可以通过任一配置成 EXTI 的信号把微控制器从停机模式中唤醒,EXTI 信号可以是 16 个外部
I/O 口之一、PVD 的输出、RTC 闹钟或 USB 的唤醒信号。
● 待机模式
在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部 1.8V 部分
的供电被切断;PLL、HSI 和 HSE 的 RC 振荡器也被关闭;进入待机模式后,SRAM 和寄存
器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。
从待机模式退出的条件是:NRST 上的外部复位信号、IWDG 复位、WKUP 管脚上的一个上升
边沿或 RTC 的闹钟到时。
注: 在进入停机或待机模式时,RTC、IWDG 和对应的时钟不会被停止。
DMA
灵活的 12 路通用 DMA(DMA1 上有 7 个通道,DMA2 上有 5 个通道)可以管理存储器到存储器、设
备到存储器和存储器到设备的数据传输;2 个 DMA 控制器支持环形缓冲区的管理,避免了控制器传
输到达缓冲区结尾时所产生的中断。
每个通道都有专门的硬件 DMA 请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源
地址和目标地址都可以通过软件单独设置。
参照 2008 年 4 月 STM32F103xCDE 数据手册 英文第 1.0 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 6/30
DMA 可以用于主要的外设:SPI、I2C、USART,通用、基本和高级控制定时器 TIMx,DAC、
I2S、SDIO 和 ADC。
STM32F103xC, STM32F103xD, STM32F103xE 数据手册
RTC(实时时钟)和后备寄存器
RTC 和后备寄存器通过一个开关供电,在 VDD 有效时该开关选择 VDD 供电,否则由 VBAT 管脚供
电。后备寄存器(42 个 16 位的寄存器)可以用于保存 84 个字节的用户应用数据。该寄存器不会被系
统或电源复位源复位;当从待机模式唤醒时,也不会被复位。
实时时钟具有一组连续运行的计数器,可以通过适当的软件提供日历时钟功能,还具有闹钟中断和
阶段性中断功能。RTC 的驱动时钟可以是一个使用外部晶体的 32.768kHz 的振荡器、内部低功耗
RC 振荡器或高速的外部时钟经 128 分频。内部低功耗 RC 振荡器的典型频率为 40kHz。为补偿天然
晶体的偏差,可以通过输出一个 512Hz 的信号对 RTC 的时钟进行校准。RTC 具有一个 32 位的可编
程计数器,使用比较寄存器可以进行长时间的测量。有一个 20 位的预分频器用于时基时钟,默认情
况下时钟为 32.768kHz 时它将产生一个 1 秒长的时间基准。
独立的看门狗
独立的看门狗是基于一个 12 位的递减计数器和一个 8 位的预分频器,它由一个内部独立的 40kHz
的 RC 振荡器提供时钟,因为这个 RC 振荡器独立于主时钟,所以它可运行于停机和待机模式。它
可以被当成看门狗用于在发生问题时复位整个系统,或作为一个自由定时器为应用程序提供超时管
理。通过选择字节可以配置成是软件或硬件启动看门狗。在调试模式,计数器可以被冻结。
窗口看门狗
窗口看门狗内有一个 7 位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生
问题时复位整个系统。它由主时钟驱动,具有早期预警中断功能;在调试模式,计数器可以被冻
结。
系统时基定时器
这个定时器是专用于操作系统,也可当成一个标准的递减计数器。它具有下述特性:
● 24 位的递减计数器
● 重加载功能
● 当计数器为 0 时能产生一个可屏蔽中断
● 可编程时钟源
通用定时器(TIMx)
STM32F103xC、STM32F103xD 和 STM32F103xE 增强型系列产品中内置了多达 4 个可同步运
行的标准定时器(TIM2、TIM3、TIM4 和 TIM5)。每个定时器都有一个 16 位的自动加载递加/递减计
数器、一个 16 位的预分频器和 4 个独立的通道,每个通道都可用于输入捕获、输出比较、PWM 和
单脉冲模式输出,在最大的封装配置中可提供最多 16 个输入捕获、输出比较或 PWM 通道。它们还
能通过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。
在调试模式下,计数器可以被冻结。
任一标准定时器都能用于产生 PWM 输出。每个定时器都有独立的 DMA 请求机制。
基本定时器-TIM6 和 TIM7
这 2 个定时器主要是用于产生 DAC 触发信号,也可当成通用的 16 位时基计数器。
高级控制定时器(TIM1 和 TIM8)
高级控制定时器(TIM1 和 TIM8)可以被看成是分配到 6 个通道的三相 PWM 发生器,还可以被当成
完整的通用定时器。四个独立的通道可以用于:
● 输入捕获
参照 2008 年 4 月 STM32F103xCDE 数据手册 英文第 1.0 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 7/30