![](/html/0c/0cca/0cca675bf281ba1bf5890185f0064b7af1e00cdf0b82ec13435c4edb54bd02f0/bg1.png)
数据手册
STM32F101xC STM32F101xD
STM32F101xE
基本型,32位基于ARM核心的带512K字节闪存的微控制器
9个16位定时器、1个ADC 、10个通信接口
功能
■ 内核:ARM 32位的Cortex™-M3 CPU
− 最高36MHz工作频率,
1.25DMips/MHz(Dhrystone 2.1),
在存储器的0等待周期访问时
− 单周期乘法和硬件除法
■ 存储器
− 从256K至512K字节的闪存程序存储器
− 高达48K字节的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振荡器
■ 低功耗
− 睡眠、停机和待机模式
BAT为RTC和后备寄存器供电
− V
■ 1个12位模数转换器,1us转换时间(多达16个
输入通道)
− 转换范围:0~3.6V
− 温度传感器
■ 2 通道 12 位 D/A 转换器
■ DMA
− 12通道DMA控制器
− 支持的外设:定时器、ADC、DAC、SPI、
2
C和USART
I
■ 多达112个快速I/O口
− 51/80/112个多功能双向的I/O口
− 所有I/O口可以映像到16个外部中断
− 除了模拟输入口以外的IO口可容忍5V信号
输入
初步信息
■ 调试模式
− 串行单线调试(SWD)和JTAG接口
− Cortex-M3的内嵌跟踪模块(ETM)
■ 多达9个定时器
− 多达4个16位定时器,每个定时器有多达4个
用于输入捕获/输出比较/PWM或脉冲计数的
通道
− 2个看门狗定时器(独立的和窗口型的)
− 系统时间定时器:24位自减型计数
− 2个16位基本定时器用于驱动DAC
■ 多达13个通信接口
2
− 多达2个I
− 多达5个USART接口(支持ISO7816,LIN,
IrDA接口和调制解调控制)
− 多达3个SPI接口(18M位/秒)
■ CRC计算单元
■ ECOPACK
参 考 基本型号
STM32F101xC
STM32F101xD
STM32F101xE
C接口(支持SMBus/PMBus)
®封装
表1 器件列表
STM32F101RC、STM32F101VC、
STM32F101ZC
STM32F101RD、STM32F101VD、
STM32F101ZD
STM32F101RE、STM32F101ZE、
STM32F101VE
参照2008年4月 STM32F103xCDE数据手册 英文第1.0版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 1/27
![](/html/0c/0cca/0cca675bf281ba1bf5890185f0064b7af1e00cdf0b82ec13435c4edb54bd02f0/bg2.png)
1 介绍
本文给出了STM32F101xC、STM32F101xD和STM32F101xE基本型的订购信息和器件的机械特性。
有关闪存存储器的编程、擦除和保护等信息,请参考《STM32F10xxx闪存编程参考手册》。
有关Cortex™-M3的信息,请参考《Cortex™-M3技术参考手册》
2 规格说明
STM32F101xC、STM32F101xD和STM32F101xE基本型系列使用高性能的ARM® Cortex™-M3 32位的
RISC内核,工作频率为36MHz,内置高速存储器(高达512K字节的闪存和48K字节的SRAM),丰富的
增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含1个12位的ADC、4个通用16位定
时器,还包含标准和先进的通信接口:多达2个I
STM32F101xC、STM32F101xD和STM32F101xE基本型系列工作于-40°C至+85°C的温度范围,供电电
压2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。
完整的STM32F101xC、STM32F101xD和STM32F101xE基本型系列产品包括从64脚至144脚的三种不
同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所有外
设的基本介绍。
STM32F101xC, STM32F101xD, STM32F101xE数据手册
2
C、3个SPI、5个USART。
这些丰富的外设配置,使得STM32F101xC、STM32F101xD和STM32F101xE基本型微控制器适合于多
种应用场合:
● 医疗和手持设备
● PC外设和GPS平台
● 工业应用:可编程控制器、打印机和扫描仪
● 警报系统,视频对讲,和暖气通风空调系统等
图一给出了该产品系列的框图。
参照2008年4月 STM32F101xCDE数据手册 英文第1.0版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 2/27
![](/html/0c/0cca/0cca675bf281ba1bf5890185f0064b7af1e00cdf0b82ec13435c4edb54bd02f0/bg3.png)
2.1 器件一览
表2 STM32F101xC、STM32F101xD 和 STM32F101xE 器件功能和配置
STM32F101xC, STM32F101xD, STM32F101xE数据手册
外设
闪存(K字节)
RAM(K字节)
FSMC 无 有 有
通用
定时器
基本
SPI
通信 2
通用I/O端口
12位同步ADC
12位DAC
2
I
C
USART
STM32F101Rx
256 384 512 256 384 512 256 384 512
32 32 32
16通道
48
1
STM32F101Vx
16通道
4
2
3
5
80 11251
1
1
2通道
48
STM32F101Zx
48
1
16通道
CPU频率
工作电压
工作温度
封装
LQFP64
2.2 系列之间的全兼容性
STM32F101xx是一个完整的系列,其成员之间是脚对脚兼容,软件和功能上也兼容。
STM32F101xC 、 STM32F101xD 和 STM32F101xE 是 STM32F101xx 数据手册中描述的
STM32F101x6/8/B/C产品的延伸,他们具有更大的闪存存储器和RAM容量,更多的片上
外设,如FSMC和DAC等,同时保持与其它同系列的产品兼容。
STM32F101xC、STM32F101xD和STM32F101xE可直接替换STM32F101x6/8/B/C产品,
为用户在产品开发中尝试使用不同的存储容量提供了更大的自由度。
36MHz
2.0~3.6V
-40至+85℃
结温:-40至+105℃
LQFP100
LQFP144
参照2008年4月 STM32F101xCDE数据手册 英文第1.0版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 3/27
![](/html/0c/0cca/0cca675bf281ba1bf5890185f0064b7af1e00cdf0b82ec13435c4edb54bd02f0/bg4.png)
表3 STM32F101xx 系列
STM32F101xC, STM32F101xD, STM32F101xE数据手册
管
脚
数
144
100
64
48
36
32KB 闪存 64KB 闪存 128KB 闪存 256KB 闪存 384KB 闪存 512KB 闪存
6KB RAM 10KB RAM 16KB RAM 32KB RAM 48KB RAM 48KB RAM
3 个 USART
2 个 USART
2 个 16 位定时器
1 个 SPI
2
1 个 I
C
1 个 ADC
3 个 16 位定时器
2 个 SPI、2 个 I
1 个 ADC
存储器容量
2
C
2.3 概述
ARM®的Cortex™-M3核心并内嵌闪存和SRAM
ARM的Cortex™-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的
平台、缩减的管脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。
5 个 USART
4 个 16 位定时器、2 个基本定时器
3 个 SPI、2 个 I
1 个 ADC、1 个 DAC
FSMC(100 和 144 脚)
2
C
ARM的Cortex™-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上
发挥了ARM内核的高性能。
STM32F101xC、STM32F101xD和STM32F101xE基本型系列拥有内置的ARM核心,因此它与
所有的ARM工具和软件兼容。
图一是该系列产品的功能框图。
内置闪存存储器
高达512K字节的内置闪存存储器,用于存放程序和数据。
CRC(循环冗余校验)计算单元
CRC(循环冗余校验)计算单元使用一个固定的多项式发生器,从一个32位的数据字产生一个CRC码。
在众多的应用中,基于CRC的技术被用于验证数据传输或存储的一致性。在EN/IEC 60335-1标准的范
围内,它提供了一种检测闪存存储器错误的手段,CRC计算单元可以用于实时地计算软件的签名,
并与在链接和生成该软件时产生的签名对比。
内置SRAM
多达48K字节的内置SRAM,CPU能以0等待周期访问(读/写)。
FSMC(可配置的静态存储器控制器)
STM32F101xC、STM32F101xD和STM32F101xE基本型系列集成了FSMC模块。它具有4个片
选输出,支持CF、RAM、PSRAM、NOR和NAND。
功能介绍:
● 三个FSMC中断源,经过逻辑或连到NVIC单元;
● 无读FIFO;
参照2008年4月 STM32F101xCDE数据手册 英文第1.0版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 4/27
![](/html/0c/0cca/0cca675bf281ba1bf5890185f0064b7af1e00cdf0b82ec13435c4edb54bd02f0/bg5.png)
● 代码可以在除PC卡外的片外存储器运行;
● 没有启动特性
● 目标频率为SYSCLK/2,即当系统时钟为36MHz时,外部访问的速度可达18MHz。
LCD并行接口
FSMC可以配置成与多数图形LCD控制器的无缝连接,它支持Intel 8080和Motorola 6800的模式,并能
够灵活地与特定的LCD接口。使用这个LCD并行接口可以很方便地构建简易的图形应用环境,或使
用专用加速控制器的高性能方案。
嵌套的向量式中断控制器(NVIC)
STM32F101xC, STM32F101xD, STM32F101xE数据手册
STM32F101xC、STM32F101xD和STM32F101xE
理多达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的最
高频率是36MHz。参考图二的时钟驱动框图。
自举模式
在启动时,自举管脚被用于选择三种自举模式中的一种:
● 从用户闪存自举
● 从系统存储器自举
● 从内部SRAM自举
自举加载程序存放于系统存储器中,可以通过USART1对闪存重新编程。
供电方案
● VDD = 2.0~3.6V:VDD管脚为I/O管脚和内部调压器的供电。
参照2008年4月 STM32F101xCDE数据手册 英文第1.0版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 5/27
![](/html/0c/0cca/0cca675bf281ba1bf5890185f0064b7af1e00cdf0b82ec13435c4edb54bd02f0/bg6.png)
STM32F101xC, STM32F101xD, STM32F101xE数据手册
● V
● V
SSA,VDDA
时,V
DD
= 1.8~3.6V:当关闭VDD时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备
BAT
寄存器供电。
关于如何连接电源引脚的细节,请参考图八.供电方案。
供电监控器
本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电
超过2V时工作;当V
器件中还有一个可编程电压监测器(PVD),它监视V
值V
时将产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。PVD功能需要
PVD
通过程序开启。关于V
电压调压器
调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式
● 主模式(MR)用于正常的运行操作
● 低功耗模式(LPR)用于CPU的停机模式
● 关断模式用于CPU的待机模式:调压器的输出为高阻状态,内核电路的供电切断,调压器处于
零消耗状态(但寄存器和SRAM的内容将丢失)
= 2.0~3.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC
不得小于2.4V。V
低于设定的阀值(V
DD
POR/PDR和VPVD
DDA和VSSA
必须分别连接到VDD和VSS。
)时,置器件于复位状态,而不必使用外部复位电路。
POR/PDR
供电并与阀值V
DD
比较,当VDD低于或高于阀
PVD
的值参考第5章的图表:内嵌复位和电源控制模块图表。
该调压器在复位后始终处于工作状态,在待机模式下被关闭。
低功耗模式
STM32F101xC、STM32F101xD和STM32F101xE基本型支持三种低功耗模式,可以在要求低功
耗、短启动时间和多种唤醒事件之间达到最佳的平衡。
● 睡眠模式
在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。
● 停机模式
在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式
下,停止所有内部1.8V部分的供电,PLL、HSI和HSE的RC振荡器被关闭,调压器可以被置于
普通模式或低功耗模式。
可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O
口之一、PVD的输出、RTC闹钟或USB的唤醒信号。
● 待机模式
在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的
供电被切断;PLL、HSI和HSE的RC振荡器也被关闭;进入待机模式
内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。
从待机模式退出的条件是:NRST上的外部复位信号、IWDG复位、WKUP管脚上的一个上升边
沿或RTC的闹钟到时。
注:
在进入停机或待机模式时,
RTC、IWDG
和对应的时钟不会被停止。
后,SRAM和寄存器的
DMA
灵活的12路通用DMA(DMA1上有7个通道,DMA2上有5个通道)可以管理存储器到存储器、设备到存
储器和存储器到设备的数据传输;2个DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓
冲区结尾时所产生的中断。
每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地
址和目标地址都可以通过软件单独设置。
2
DMA可以用于主要的外设:SPI、I
参照2008年4月 STM32F101xCDE数据手册 英文第1.0版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 6/27
C、USART,通用、基本和高级控制定时器TIMx,DAC和ADC。
![](/html/0c/0cca/0cca675bf281ba1bf5890185f0064b7af1e00cdf0b82ec13435c4edb54bd02f0/bg7.png)
RTC(实时时钟)和后备寄存器
STM32F101xC, STM32F101xD, STM32F101xE数据手册
RTC和后备寄存器通过一个开关供电,在VDD有效时该开关选择VDD供电,否则由V
备寄存器(42个16位的寄存器)可以用于保存84个字节的用户应用数据。该寄存器不会被系统或电源复
位源复位;当从待机模式唤醒时,也不会被复位。
实时时钟具有一组连续运行的计数器,可以通过适当的软件提供日历时钟功能,还具有闹钟中断和
阶段性中断功能。RTC的驱动时钟可以是一个使用外部晶体的32.768kHz的振荡器、内部低功耗RC振
荡器或高速的外部时钟经128分频。内部低功耗RC振荡器的典型频率为40kHz。为补偿天然晶体的偏
差,可以通过输出一个512Hz的信号对RTC的时钟进行校准。RTC具有一个32位的可编程计数器,使
用比较寄存器可以进行长时间的测量。有一个20位的预分频器用于时基时钟,默认情况下时钟为
32.768kHz时它将产生一个1秒长的时间基准。
独立的看门狗
独立的看门狗是基于一个12位的递减计数器和一个8位的预分频器,它由一个内部独立的40kHz的RC
振荡器提供时钟,因为这个RC振荡器独立于主时钟,所以它可运行于停机和待机模式。它可以被当
成看门狗用于在发生问题时复位整个系统,或作为一个自由定时器为应用程序提供超时管理。通过
选择字节可以配置成是软件或硬件启动看门狗。在调试模式,计数器可以被冻结。
窗口看门狗
窗口看门狗内有一个7位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生问
题时复位整个系统。它由主时钟驱动,具有早期预警中断功能;在调试模式,计数器可以被冻结。
管脚供电。后
BAT
系统时基定时器
这个定时器是专用于操作系统,也可当成一个标准的递减计数器。它具有下述特性:
● 24位的递减计数器
● 重加载功能
● 当计数器为0时能产生一个可屏蔽中断
● 可编程时钟源
通用定时器(TIMx)
STM32F101xC、STM32F101xD和STM32F101xE基本型系列产品中内置了多达4个可同步运行
的标准定时器(TIM2、TIM3、TIM4和TIM5)。每个定时器都有一个16位的自动加载递加/递减计数器、
一个16位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模式
输出,在最大的封装配置中可提供最多16个输入捕获、输出比较或PWM通道。它们还能通过定时器
链接功能与高级控制定时器共同工作,提供同步或事件链接功能。
在调试模式下,计数器可以被冻结。
任一标准定时器都能用于产生PWM输出。每个定时器都有独立的DMA请求机制。
基本定时器-TIM6和TIM7
这2个定时器主要是用于产生DAC触发信号,也可当成通用的16位时基计数器。
I2C总线
多达2个I2C总线接口,能够工作于多主和从模式,支持标准和快速模式。
2
C接口支持7位或10位寻址,7位从模式时支持双从地址寻址。内置了硬件CRC发生器/校验器。
I
它们可以使用DMA操作并支持SMBus总线2.0版/PMBus总线。
参照2008年4月 STM32F101xCDE数据手册 英文第1.0版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 7/27
![](/html/0c/0cca/0cca675bf281ba1bf5890185f0064b7af1e00cdf0b82ec13435c4edb54bd02f0/bg8.png)
通用同步/异步收发器(USART)
STM32F101xC、STM32F101xD和STM32F101xE基本型系列产品中内置了3个通用同步/异步收发器
(USART1、USART2和USART3),和2个通用异步收发器(USART4和USART5)。
这5个接口提供异步通信、支持红外线传输编解码、多处理器通信模式、单线半双工通信模式和LIN
主/从功能。这5个USART接口通信速率可达2.25兆位/秒。
USART1、USART2和USART3接口具有硬件的CTS和RTS信号管理、兼容ISO7816的智能卡模式和类
SPI通信模式,除了USART5所有其他接口都可以使用DMA操作。
串行外设接口(SPI)
多达3个SPI接口,在从或主模式下,全双工和半双工的通信速率可达18兆位/秒。3位的预分频器可产
生8种主模式频率,可配置成每帧8位或16位。硬件的CRC产生/校验支持基本的SD卡和MMC模式。
所有的SPI接口都可以使用DMA操作。
通用输入输出接口(GPIO)
每个GPIO管脚都可以由软件配置成输出(推拉或开路)、输 入 (带或不带上拉或下拉)或其它的外设功能
端口。多数GPIO管脚都与数字或模拟的外设共用。所有的GPIO管脚都有大电流通过能力。
在需要的情况下,I/O管脚的外设功能可以通过一个特定的操作锁定,以避免意外的写入I/O寄存器。
STM32F101xC, STM32F101xD, STM32F101xE数据手册
ADC(模拟/数字转换器)
STM32F101xC、STM32F101xD和STM32F101xE基本型产品内嵌1个12位的模拟/数字转换器(ADC),
每个ADC共用多达16个外部通道,可以实现单次或扫描转换。在扫描模式下,在选定的一组模拟输
入上的转换自动进行。
ADC可以使用DMA操作。
模拟看门狗功能允许非常精准地监视一路、多路或所有选中的通道,当被监视的信号超出预置的阀
值时,将产生中断。
由标准定时器(TIMx)产生的事件,可以分别内部级联到ADC的开始触发和注入触发,应用程序能使
AD转换与时钟同步。
DAC(数字至模拟信号转换器)
两个12位带缓冲的DAC通道可以用于转换2路数字信号成为2路模拟电压信号并输出。这项功能内部
是通过集成的电阻串和反向的放大器实现。
这个双数字接口支持下述功能:
● 两个DAC转换器:各有一个输出通道
● 8位或12位单调输出
● 12位模式下的左右数据对齐
● 同步更新功能
● 产生噪声波
● 产生三角波
● 双DAC通道独立或同步转换
● 每个通道都可使用DMA功能
● 外部触发进行转换
● 输入参考电压 V
REF+
STM32F101xC、STM32F101xD和STM32F101xE基本型产品中有7个触发DAC转换的输入。DAC通道
可以由定时器的更新输出触发,更新输出也可连接到不同的DMA通道。
参照2008年4月 STM32F101xCDE数据手册 英文第1.0版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 8/27
![](/html/0c/0cca/0cca675bf281ba1bf5890185f0064b7af1e00cdf0b82ec13435c4edb54bd02f0/bg9.png)
温度传感器
STM32F101xC, STM32F101xD, STM32F101xE数据手册
温度传感器产生一个随温度线性变化的电压,转换范围在2V < V
被连接到ADC1_IN16的输入通道上,用于将传感器的输出转换到数字数值。
串行单线JTAG调试口(SWJ-DP)
内嵌ARM的SWJ-DP接口,这是一个结合了JTAG和串行单线调试的接口,可以实现串行单线调试接
口或JTAG接口的连接。JTAG的TMS和TCK信号分别与SWDIO和SWCLK共用管脚,TMS脚上的一个
特殊的信号序列用于在JTAG-DP和SW-DP间切换。
内嵌跟踪模块(ETM)
使用ARM®的嵌入式跟踪微单元(ETM),STM32F10xxx通过很少的ETM管脚连接到外部跟踪端口分
析(TPA)设备,从CPU核心中以高速输出压缩的数据流,为开发人员提供了清晰的指令运行与数据流
动的信息。TPA设备可以通过USB、以太网或其它高速通道连接到调试主机,实时的指令和数据流向
能够被调试主机上的调试软件记录下来,并按需要的格式显示出来。TPA硬件可以从开发工具供应商
处购得,并能与第三方的调试软件兼容。
< 3.6V之间。温度传感器在内部
DDA
参照2008年4月 STM32F101xCDE数据手册 英文第1.0版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 9/27