1、数据手册 STM32F103xC STM32F103xD STM32F103xE 参照2009 年3 月 STM32F103xCDE数据手册 英文第5 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 1/87 增强型,32位基于ARM 核心的带512K 字节闪存的微控制器 USB、CAN 、 11个定时器、3个 ADC 、 13个通信接口 功能 内核:ARM 32 位的Cortex-M3 CPU 最高72MHz 工作频率,在存储器的0 等待周期访问时可达1.25DMips/MHz(Dhrystone 2.1) 单周期乘法和硬件除法 存储器 从256K 至512K 字节的闪存程序存储器
2、高达64K 字节的SRAM 带4 个片选的静态存储器控制器。支持CF 卡、SRAM、PSRAM、NOR 和NAND 存储器 并行LCD 接口,兼容8080/6800 模式 时钟、复位和电源管理 2.03.6 伏供电和I/O 引脚 上电/ 断电复位(POR/PDR)、可编程电压监测器(PVD) 416MHz 晶体振荡器 内嵌经出厂调校的8MHz 的RC振荡器 内嵌带校准的40kHz 的RC振荡器 带校准功能的32kHz RTC 振荡器 低功耗 睡眠、停机和待机模式 VBAT为RTC 和后备寄存器供电 3个 12位模数转换器,1 s转换时间( 多达 21个输入通道) 转换范围:0 至3.6V 三倍
3、采样和保持功能 温度传感器 2 通道 12 位 D/A 转换器 DMA: 12 通道 DMA 控制器 支持的外设:定时器、 ADC、 DAC、 SDIO、I2S、SPI、I2C和USART 调试模式 串行单线调试(SWD) 和JTAG 接口 Cortex-M3内嵌跟踪模块(ETM) 多达112 个快速I/O 端口 51/80/112个多功能双向的I/O 口,所有I/O 口可以映像到16个外部中断;几乎所有端口均可容忍5V 信号 多达11个定时器 多达4 个16位定时器,每个定时器有多达4 个用于输入捕获/ 输出比较/PWM 或脉冲计数的通道和增量编码器输入 2个16位带死区控制和紧急刹车,用于
4、电机控制的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计算单元,96位的芯片唯一代码 ECOPACK封装 表1 器件列表 参 考 基本型号 STM32F103xCSTM32F103RC、 STM32
5、F103VC、STM32F103ZC STM32F103xDSTM32F103RD、 STM32F103VD、STM32F103ZD STM32F103xESTM32F103RE 、 STM32F103ZE 、 STM32F103VE 本文档英文原文下载地址: http:/ STM32F103xC, STM32F103xD, STM32F103xE数据手册 参照2009 年3 月 STM32F103xCDE数据手册 英文第5 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 2/87 目录 1 介绍 . 4 2 规格说明 5 2.1 器件一览 . 5 2.2 系列之间的全兼容性 . 6
6、2.3 概述 6 2.3.1 ARM的Cortex-M3 核心并内嵌闪存和SRAM 6 2.3.2 内置闪存存储器 6 2.3.3 CRC(循环冗余校验) 计算单元 . 7 2.3.4 内置SRAM . 7 2.3.5 FSMC(可配置的静态存储器控制器) . 7 2.3.6 LCD并行接口 . 7 2.3.7 嵌套的向量式中断控制器(NVIC) 7 2.3.8 外部中断/ 事件控制器(EXTI) . 7 2.3.9 时钟和启动 . 7 2.3.10 自举模式 8 2.3.11 供电方案 8 2.3.12 供电监控器 . 8 2.3.13 电压调压器 . 8 2.3.14 低功耗模式 . 8
7、2.3.15 DMA. 9 2.3.16 RTC(实时时钟) 和后备寄存器 . 9 2.3.17 定时器和看门狗 9 2.3.18 I2C总线 . 10 2.3.19 通用同步/ 异步收发器(USART) . 10 2.3.20 串行外设接口(SPI) . 10 2.3.21 I2S(芯片互联音频) 接口 . 11 2.3.22 SDIO11 2.3.23 控制器区域网络(CAN) 11 2.3.24 通用串行总线(USB) . 11 2.3.25 通用输入输出接口(GPIO) . 11 2.3.26 ADC(模拟/ 数字转换器) . 11 2.3.27 DAC(数字至模拟信号转换器) . 1
8、1 2.3.28 温度传感器 . 12 2.3.29 串行单线JTAG 调试口(SWJ-DP) 12 2.3.30 内嵌跟踪模块(ETM) . 12 3 引脚定义 15 4 存储器映像 28 5 电气特性 29 5.1 测试条件 . 29 5.1.1 最小和最大数值 29 STM32F103xC, STM32F103xD, STM32F103xE数据手册 参照2009 年3 月 STM32F103xCDE数据手册 英文第5 版 ( 3/87 本译文仅供参考,如有翻译错误,请以英文原稿为准)5.1.2 典型数值 29 5.1.3 典型曲线 29 5.1.4 负载电容 29 5.1.5 引脚输入电
9、压 . 29 5.1.6 供电方案 30 5.1.7 电流消耗测量 . 30 5.2 绝对最大额定值 30 5.3 工作条件 . 32 5.3.1 通用工作条件 . 32 5.3.2 上电和掉电时的工作条件 . 32 5.3.3 内嵌复位和电源控制模块特性 32 5.3.4 内置的参照电压 33 5.3.5 供电电流特性 . 33 5.3.6 外部时钟源特性 40 5.3.7 内部时钟源特性 44 5.3.8 PLL特性 . 45 5.3.9 存储器特性 . 45 5.3.10 FSMC特性 . 45 5.3.11 EMC特性 . 60 5.3.12 绝对最大值( 电气敏感性) 61 5.3.
10、13 I/O端口特性 62 5.3.14 NRST引脚特性 . 64 5.3.15 TIM定时器特性 . 65 5.3.16 通信接口 65 5.3.17 CAN(控制器局域网络) 接口. 71 5.3.18 12位ADC 特性 72 5.3.19 DAC电气参数 . 75 5.3.20 温度传感器特性 76 6 封装特性 77 6.1 封装机械数据 77 6.2 热特性 . 83 6.2.1 参考文档 84 6.2.2 选择产品的温度范围 84 7 订货代码 86 8 版本历史 87 STM32F103xC, STM32F103xD, STM32F103xE数据手册 1 介绍 本文给出了ST
11、M32F103xC 、 STM32F103xD和 STM32F103xE大容量增强型产品的订购信息和器件的机械特性。有关完整的STM32F103xx 系列的详细信息,请参考第2.2 节。 大容量STM32F103xx 数据手册,必须结合STM32F10xxx 参考手册 一起阅读。 有关内部闪存存储器的编程、擦除和保护等信息,请参考STM32F10xxx 闪存编程参考手册 。 参考手册和闪存编程参考手册均可在ST 网站下载: 有关Cortex-M3 核心的相关信息,请参考Cortex-M3技术参考手册,可以在ARM 公司的网站 下载:http:/ .jsp?topic=/com.arm.doc.
12、ddi0337e/。 参照2009 年3 月 STM32F103xCDE数据手册 英文第5 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 4/87 STM32F103xC, STM32F103xD, STM32F103xE数据手册 2 规格说明 STM32F103xC、STM32F103xD 和STM32F103xE 增强型系列使用高性能的ARM Cortex-M3 32位的RISC 内核,工作频率为72MHz ,内置高速存储器( 高达 512K字节的闪存和64K 字节的 SRAM),丰富的增强I/O 端口和联接到两条APB 总线的外设。所有型号的器件都包含3 个12位的 ADC、
13、4个通用16位定时器和2 个 PWM定时器,还包含标准和先进的通信接口:多达 2个 I2C接口、3 个 SPI接口、2个I2S接口、 1个SDIO 接口、5 个USART 接口、一个USB 接口和一个CAN 接口。 STM32F103xx大容量增强型系列工作于-40C 至 +105C的温度范围,供电电压2.0V 至3.6V ,一系列的省电模式保证低功耗应用的要求。 STM32F103xx大容量增强型系列产品提供包括从64脚至144 脚的6 种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所有外设的基本介绍。 这些丰富的外设配置,使得STM32F103xx 大
14、容量增强型系列微控制器适合于多种应用场合: 电机驱动和应用控制 医疗和手持设备 PC游戏外设和GPS 平台 工业应用:可编程控制器(PLC)、变频器、打印机和扫描仪 警报系统、视频对讲、和暖气通风空调系统等 图1 给出了该产品系列的框图。 2.1 器件一览 表2 STM32F103xC、STM32F103xD 和STM32F103xE 器件功能和配置 外设 STM32F103Rx STM32F103Vx STM32F103Zx 闪存(K 字节) 256 384 512 256 384 512 256 384 512 SRAM(K字节) 48 64 48 64 48 64 FSMC(静态存储器控
15、制器) 无 有(1)有 通用 4个(TIM2 、 TIM3、TIM4 、 TIM5) 高级控制 2个(TIM1 、 TIM8) 定时器 基本 个(TIM6 、 TIM7) SPI(I2S)(2)3个(SPI1 、SPI2 、SPI3) ,其中SPI2 和SPI3 可作为I2S通信 I2C 2个(I2C1、I2C2) USART/UART 5个(USART1 、USART2 、USART3 、UART4、UART5) USB 1个(USB 2.0 全速 ) CAN 1个(2.0B 主动) 通信 接口 SDIO 1个 GPIO端口 51 80 112 12位ADC 模块(通道数) 3(16) 3(
16、16) 3(21) 12位DAC转换器(通道数 2(2) CPU频率 72MHz 工作电压 2.03.6V 工作温度 环境温度:-40 +85 /-40 +105(见表10) 结温度:-40 +125(见表10) 封装形式 LQFP64,WLCSP64 LQFP100 ,BGA100 LQFP144,BGA144 1对于LQFP100 和 BGA100封装,只有FSMC 的 Bank1和 Bank2可以使用。 Bank1只能使用 NE1片选支持多路复用NOR/PSRAM存储器, Bank2只能使用NCE2 片选支持一个16位或8 位的NAND 闪存存储器。因为没有端口G ,不能使用FSMC 的
17、中断功能。 2SPI2 和SPI3 接口能够灵活地在SPI 模式和I2S音频模式间切换。 参照2009 年3 月 STM32F103xCDE数据手册 英文第5 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 5/87 STM32F103xC, STM32F103xD, STM32F103xE数据手册 2.2 系列之间的全兼容性 STM32F103xx是一个完整的系列,其成员之间是完全地脚对脚兼容,软件和功能上也兼容。在参考手册中,STM32F103x4 和 STM32F103x6被归为小容量产品,STM32F103x8 和 STM32F103xB被归为中等容量产品,STM32F103x
18、C 、STM32F103xD 和STM32F103xE 被归为大容量产品。 小容量和大容量产品是中等容量产品(STM32F103x8/B) 的延伸,分别在对应的数据手册中介绍:STM32F103x4/6数据手册和STM32F103xC/D/E 数据手册。小容量产品具有较小的闪存存储器、 RAM空间和较少的定时器和外设。而大容量的产品则具有较大的闪存存储器、RAM 空间和更多的片上外设,如SDIO 、FSMC 、I2S和DAC 等,同时保持与其它同系列的产品兼容。 STM32F103x4、STM32F103x6 、 STM32F103xC 、STM32F103xD 和STM32F103xE 可直
19、接替换中等容量的STM32F103x8/B 产品,为用户在产品开发中尝试使用不同的存储容量提供了更大的自由度。 表3 STM32F103xx系列 小容量产品 中等容量产品 大容量产品 16K闪存 32K闪存(1)64K闪存 128K 闪存 256K闪存 384K 闪存 512K 闪存引脚数目 6K RAM 10K RAM 20K RAM 20K RAM 48K或64K(2)RAM 64K RAM 64K RAM 144 100 64 3个USART + 2 个UART 4个16位定时器、2 个基本定时器 3个SPI、2 个I2S、2 个I2C USB、CAN 、2 个PWM 定时器 3个ADC
20、 、1 个DAC 、1 个 SDIO FSMC(100和 144脚封装(3) 48 3个USART 3个16位定时器 2个SPI、2 个I2C、USB 、CAN、1 个PWM 定时器 1个ADC 36 2个USART 2个16位定时器 1个SPI、 1个I2C、 USB、CAN、1 个PWM 定时器 2个ADC 1对于订购代码的温度尾缀(6 或 7)之后没有代码A 的产品,其对应的电气参数部分,请参考STM32F103x8/B 中等容量产品数据手册。 2只有CSP 封装的带256K 闪存的产品,才具有64K 的RAM 。 3100脚封装的产品中没有端口F 和端口G 。 2.3 概述 2.3.1
21、 ARM的 Cortex-M3核心并内嵌闪存和SRAM ARM的Cortex-M3 处理器是最新一代的嵌入式ARM 处理器,它为实现MCU 的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。 ARM的 Cortex-M3是 32位的RISC 处理器,提供额外的代码效率,在通常8 和 16位系统的存储空间上发挥了ARM 内核的高性能。 STM32F103xC、 STM32F103xD和 STM32F103xE增强型系列拥有内置的ARM 核心,因此它与所有的ARM 工具和软件兼容。 图1 是该系列产品的功能框图。 2.3.2 内置闪存存储器 高达
22、512K 字节的内置闪存存储器,用于存放程序和数据。 参照2009 年3 月 STM32F103xCDE数据手册 英文第5 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 6/87 STM32F103xC, STM32F103xD, STM32F103xE数据手册 2.3.3 CRC(循环冗余校验) 计算单元 CRC(循环冗余校验) 计算单元使用一个固定的多项式发生器,从一个32位的数据字产生一个CRC 码。 在众多的应用中,基于CRC 的技术被用于验证数据传输或存储的一致性。在EN/IEC 60335-1 标准的范围内,它提供了一种检测闪存存储器错误的手段, CRC计算单元可以用于实
23、时地计算软件的签名,并与在链接和生成该软件时产生的签名对比。 2.3.4 内置SRAM 多达64K 字节的内置SRAM,CPU 能以0 等待周期访问( 读/ 写) 。 2.3.5 FSMC(可配置的静态存储器控制器) STM32F103xC、 STM32F103xD和STM32F103xE 增强型系列集成了FSMC 模块。它具有4 个片选输出,支持PC 卡/CF卡、SRAM、PSRAM、NOR和NAND 。 功能介绍: 三个FSMC 中断源,经过逻辑或连到NVIC 单元; 写入FIFO ; 代码可以在除NAND 闪存和PC 卡外的片外存储器运行; 目标频率fCLK为HCLK/2 ,即当系统时钟
24、为72MHz 时,外部访问是基于36MHz 时钟;系统时钟为48MHz时,外部访问是基于24MHz 时钟。 2.3.6 LCD并行接口 FSMC可以配置成与多数图形LCD 控制器的无缝连接,它支持Intel 8080 和Motorola 6800 的模式,并能够灵活地与特定的LCD 接口。使用这个LCD 并行接口可以很方便地构建简易的图形应用环境,或使用专用加速控制器的高性能方案。 2.3.7 嵌套的向量式中断控制器(NVIC) STM32F103xC、 STM32F103xD和 STM32F103xE增强型产品内置嵌套的向量式中断控制器,能够处理多达60 个可屏蔽中断通道( 不包括16个Co
25、rtex-M3的中断线) 和16个优先级。 紧耦合的NVIC 能够达到低延迟的中断响应处理 中断向量入口地址直接进入内核 紧耦合的NVIC 接口 允许中断的早期处理 处理 晚到的 较高优先级中断 支持中断尾部链接功能 自动保存处理器状态 中断返回时自动恢复,无需额外指令开销 该模块以最小的中断延迟提供灵活的中断管理功能。 2.3.8 外部中断/ 事件控制器(EXTI) 外部中断/ 事件控制器包含19个边沿检测器,用于产生中断/ 事件请求。每个中断线都可以独立地配置它的触发事件( 上升沿或下降沿或双边沿) ,并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。 EXTI可以检测到脉冲宽度
26、小于内部APB2 的时钟周期。多达112 个通用I/O 口连接到16个外部中断线。 2.3.9 时钟和启动 系统时钟的选择是在启动时进行,复位时内部8MHz 的 RC振荡器被选为默认的CPU 时钟,随后可以选择外部的、具失效监控的416MHz 时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时 可以采取对PLL 时钟完全的中断管理( 如当一个间接使用的外部振荡器失效时) 。 参照2009 年3 月 STM32F103xCDE数据手册 英文第5 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 7/87 S
27、TM32F103xC, STM32F103xD, STM32F103xE数据手册 多个预分频器用于配置AHB 的频率、高速APB(APB2) 和低速APB(APB1) 区域。 AHB和高速 APB的最高频率是72MHz ,低速APB 的最高频率为36MHz 。参考图2 的时钟驱动框图。 2.3.10 自举模式 在启动时,通过自举引脚可以选择三种自举模式中的一种: 从程序闪存存储器自举 从系统存储器自举 从内部SRAM自举 自举加载程序(Bootloader) 存放于系统存储器中,可以通过USART1 对闪存重新编程。 2.3.11 供电方案 VDD= 2.03.6V :VDD引脚为I/O 引脚
28、和内部调压器供电。 VSSA, VDDA= 2.03.6V :为 ADC、复位模块、 RC振荡器和PLL 的模拟部分提供供电。使用ADC时,VDDA不得小于2.4V 。VDDA和VSSA必须分别连接到VDD和VSS。 VBAT= 1.8 3.6V:当关闭VDD时,( 通过内部电源切换器) 为RTC 、外部32kHz振荡器和后备寄存器供电。 关于如何连接电源引脚的详细信息,参见图12 供电方案。 2.3.12 供电监控器 本产品内部集成了上电复位(POR)/ 掉电复位(PDR) 电路,该电路始终处于工作状态,保证系统在供电超过2V 时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复
29、位状态,而不必使用外部复位电路。 器件中还有一个可编程电压监测器 (PVD),它监视 VDD/VDDA供电并与阀值VPVD比较,当VDD低于或高于阀值VPVD时产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。 PVD功能需要通过程序开启。关于VPOR/PDR和VPVD的值参考表12。 2.3.13 电压调压器 调压器有三个操作模式:主模式(MR) 、低功耗模式(LPR)和关断模式 主模式(MR) 用于正常的运行操作 低功耗模式(LPR)用于CPU的停机模式 关断模式用于CPU 的待机模式:调压器的输出为高阻状态,内核电路的供电切断,调压器处于零消耗状态( 但寄存器和SRAM的内
30、容将丢失) 该调压器在复位后始终处于工作状态,在待机模式下关闭处于高阻输出。 2.3.14 低功耗模式 STM32F103xC、 STM32F103xD和 STM32F103xE增强型产品支持三种低功耗模式,可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。 睡眠模式 在睡眠模式,只有CPU 停止,所有外设处于工作状态并可在发生中断/ 事件时唤醒CPU 。 停机模式 在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,停止所有内部1.8V 部分的供电,PLL 、HSI 的RC振荡器和HSE 晶体振荡器被关闭,调压器可以被置于普通模式或低功耗模式。
31、 可以通过任一配置成EXTI 的信号把微控制器从停机模式中唤醒,EXTI 信号可以是16个外部I/O口之一、PVD 的输出、RTC 闹钟或USB 的唤醒信号。 待机模式 在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V 部分的供电被切断;PLL 、HSI 的RC振荡器和HSE 晶体振荡器也被关闭;进入待机模式后,SRAM和寄存器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。 从待机模式退出的条件是: NRST上的外部复位信号、 IWDG复位、 WKUP引脚上的一个上升边沿或RTC 的闹钟到时。 参照2009 年3 月 STM32F103xCDE数据手
32、册 英文第5 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 8/87 STM32F103xC, STM32F103xD, STM32F103xE数据手册 注: 在进入停机或待机模式时, RTC、 IWDG和对应的时钟不会被停止。 2.3.15 DMA 灵活的12路通用 DMA(DMA1上有7 个通道, DMA2上有5 个通道) 可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输; 2个DMA 控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。 每个通道都有专门的硬件DMA 请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以
33、通过软件单独设置。 DMA可以用于主要的外设:SPI 、 I2C、 USART,通用、基本和高级控制定时器TIMx , DAC、 I2S、SDIO和ADC 。 2.3.16 RTC(实时时钟) 和后备寄存器 RTC和后备寄存器通过一个开关供电,在VDD有效时该开关选择VDD供电,否则由VBAT引脚供电。后备寄存器(42 个16位的寄存器) 可以用于在关闭VDD时,保存84个字节的用户应用数据。 RTC和后备寄存器不会被系统或电源复位源复位;当从待机模式唤醒时,也不会被复位。 实时时钟具有一组连续运行的计数器,可以通过适当的软件提供日历时钟功能,还具有闹钟中断和阶段性中断功能。RTC 的驱动时钟
34、可以是一个使用外部晶体的32.768kHz 的振荡器、内部低功耗 RC振荡器或高速的外部时钟经128 分频。内部低功耗RC振荡器的典型频率为40kHz 。为补偿天然晶体的偏差,可以通过输出一个512Hz 的信号对RTC 的时钟进行校准。 RTC具有一个32 位的可编程计数器,使用比较寄存器可以进行长时间的测量。有一个20位的预分频器用于时基时钟,默认情况下时钟为32.768kHz时,它将产生一个1 秒长的时间基准。 2.3.17 定时器和看门狗 大容量的STM32F103xx 增强型系列产品包含最多2 个高级控制定时器、4 个普通定时器和2 个基本定时器,以及2 个看门狗定时器和1 个系统嘀嗒
35、定时器。 下表比较了高级控制定时器、普通定时器和基本定时器的功能: 表4 定时器功能比较 定时器 计数器分辩率 计数器类型 预分频系数 产生DMA 请求 捕获/ 比较通道 互补输出 TIM1 TIM8 16位 向上,向下,向上/ 下 165536之间的任意整数 可以 4 有 TIM2 TIM3 TIM4 TIM5 16位 向上,向下,向上/ 下 165536之间的任意整数 可以 4 没有 TIM6 TIM7 16位 向上 165536之间的任意整数 可以 0 没有 高级控制定时器(TIM1 和 TIM8) 两个高级控制定时器(TIM1 和 TIM8)可以被看成是分配到6 个通道的三相PWM 发
36、生器,它具有带死区插入的互补PWM 输出,还可以被当成完整的通用定时器。四个独立的通道可以用于: 输入捕获 输出比较 产生PWM( 边缘或中心对齐模式) 单脉冲输出 配置为16位标准定时器时,它与TIMx 定时器具有相同的功能。配置为16 位PWM 发生器时,它具有全调制能力(0100%) 。 在调试模式下,计数器可以被冻结,同时PWM 输出被禁止,从而切断由这些输出所控制的开关。 很多功能都与标准的TIM 定时器相同,内部结构也相同,因此高级控制定时器可以通过定时器链接功能与TIM 定时器协同操作,提供同步或事件链接功能。 参照2009 年3 月 STM32F103xCDE数据手册 英文第5
37、 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 9/87 STM32F103xC, STM32F103xD, STM32F103xE数据手册 通用定时器 (TIMx) STM32F103xC、 STM32F103xD和STM32F103xE 增强型系列产品中,内置了多达4 个可同步运行的标准定时器(TIM2 、 TIM3、 TIM4和 TIM5)。每个定时器都有一个16 位的自动加载递加/ 递减计数器、一个16 位的预分频器和 4个独立的通道,每个通道都可用于输入捕获、输出比较、 PWM和单脉冲模式输出,在最大的封装配置中可提供最多16个输入捕获、输出比较或PWM 通道。 它们还能通
38、过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。在调试模式下,计数器可以被冻结。任一标准定时器都能用于产生PWM 输出。每个定时器都有独立的DMA 请求机制。 这些定时器还能够处理增量编码器的信号,也能处理1 至3 个霍尔传感器的数字输出。 基本定时器 -TIM6和 TIM7 这2 个定时器主要是用于产生DAC 触发信号,也可当成通用的16位时基计数器。 独立看门狗 独立的看门狗是基于一个12位的递减计数器和一个8 位的预分频器,它由一个内部独立的40kHz 的RC振荡器提供时钟;因为这个RC振荡器独立于主时钟,所以它可运行于停机和待机模式。它可以被当成看门狗用于在发生问题时
39、复位整个系统,或作为一个自由定时器为应用程序提供超时管理。通过选项字节可以配置成是软件或硬件启动看门狗。在调试模式下,计数器可以被冻结。 窗口看门狗 窗口看门狗内有一个7 位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生问题时复位整个系统。它由主时钟驱动,具有早期预警中断功能;在调试模式下,计数器可以被冻结。 系统时基定时器 这个定时器是专用于实时操作系统,也可当成一个标准的递减计数器。它具有下述特性: 24位的递减计数器 自动重加载功能 当计数器为0 时能产生一个可屏蔽系统中断 可编程时钟源 2.3.18 I2C总线 多达2 个I2C总线接口,能够工作于多主模式或从模式,支
40、持标准和快速模式。 I2C接口支持7 位或10位寻址,7 位从模式时支持双从地址寻址。内置了硬件CRC 发生器/ 校验器。 它们可以使用DMA 操作并支持SMBus 总线2.0 版/PMBus 总线。 2.3.19 通用同步/ 异步收发器(USART) STM32F103xC、 STM32F103xD和STM32F103xE 增强型系列产品中,内置了3 个通用同步/ 异步收发器(USART1 、USART2 和USART3) ,和2 个通用异步收发器(UART4 和UART5) 。 这5 个接口提供异步通信、支持IrDA SIR ENDEC 传输编解码、多处理器通信模式、单线半双工通信模式和L
41、IN 主/ 从功能。 USART1接口通信速率可达4.5 兆位/ 秒,其他接口的通信速率可达2.25 兆位/ 秒。 USART1、 USART2和USART3 接口具有硬件的CTS 和RTS 信号管理、兼容ISO7816的智能卡模式和类SPI通信模式,除了UART5 之外所有其他接口都可以使用DMA 操作。 2.3.20 串行外设接口(SPI) 多达 3个 SPI接口,在从或主模式下,全双工和半双工的通信速率可达18兆位 /秒。 3位的预分频器可产生8 种主模式频率,可配置成每帧8 位或16位。硬件的CRC 产生 /校验支持基本的SD 卡和MMC 模式。 所有的SPI接口都可以使用DMA 操作
42、。 参照2009 年3 月 STM32F103xCDE数据手册 英文第5 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 10/87 STM32F103xC, STM32F103xD, STM32F103xE数据手册 2.3.21 I2S(芯片互联音频) 接口 2个标准的I2S接口( 与SPI2 和SPI3 复用) 可以工作于主或从模式,这2 个接口可以配置为16 位或32位传输,亦可配置为输入或输出通道,支持音频采样频率从8kHz 到48kHz 。当任一个或两个I2S接口配置为主模式,它的主时钟可以以256 倍采样频率输出给外部的DAC 或CODEC( 解码器) 。 2.3.22 S
43、DIO SD/SDIO/MMC主机接口可以支持MMC 卡系统规范4.2 版中的3 个不同的数据总线模式: 1位( 默认) 、 4位和8 位。在8 位模式下,该接口可以使数据传输速率达到48MHz ,该接口兼容SD 存储卡规范2.0 版。 SDIO存储卡规范2.0 版支持两种数据总线模式:1 位( 默认) 和4 位。 目前的芯片版本只能一次支持一个SD/SDIO/MMC 4.2版的卡,但可以同时支持多个MMC 4.1 版或之前版本的卡。 除了SD/SDIO/MMC ,这个接口完全与CE-ATA 数字协议版本1.1 兼容。 2.3.23 控制器区域网络(CAN) CAN接口兼容规范2.0A 和2.
44、0B( 主动) ,位速率高达1 兆位/ 秒。它可以接收和发送11位标识符的标准帧,也可以接收和发送29位标识符的扩展帧。具有 3个发送邮箱和2 个接收FIFO , 3级 14个可调节的滤波器。 2.3.24 通用串行总线(USB) STM32F103xC、 STM32F103xD和 STM32F103xE增强型系列产品,内嵌一个兼容全速USB 的设备控制器,遵循全速USB 设备(12兆位/ 秒) 标准,端点可由软件配置,具有待机/ 唤醒功能。USB 专用的48MHz时钟由内部主PLL 直接产生( 时钟源必须是一个HSE 晶体振荡器) 。 2.3.25 通用输入输出接口(GPIO) 每个GPIO
45、 引脚都可以由软件配置成输出( 推挽或开漏) 、输入( 带或不带上拉或下拉) 或复用的外设功能端口。多数GPIO 引脚都与数字或模拟的复用外设共用。除了具有模拟输入功能的端口,所有的GPIO引脚都有大电流通过能力。 在需要的情况下,I/O 引脚的外设功能可以通过一个特定的操作锁定,以避免意外的写入I/O 寄存器。 在APB2 上的I/O 脚可达18MHz 的翻转速度。 2.3.26 ADC(模拟 /数字转换器) STM32F103xC、 STM32F103xD和 STM32F103xE增强型产品,内嵌3 个 12位的模拟/ 数字转换器(ADC),每个 ADC共用多达21 个外部通道,可以实现单
46、次或扫描转换。在扫描模式下,自动进行在选定的一组模拟输入上的转换。 ADC接口上的其它逻辑功能包括: 同步的采样和保持 交叉的采样和保持 单次采样 ADC可以使用DMA 操作。 模拟看门狗功能允许非常精准地监视一路、多路或所有选中的通道,当被监视的信号超出预置的阀值时,将产生中断。 由标准定时器(TIMx) 和高级控制定时器(TIM1 和 TIM8)产生的事件,可以分别内部级联到ADC 的开始触发和注入触发,应用程序能使AD 转换与时钟同步。 2.3.27 DAC(数字至模拟信号转换器) 两个12 位带缓冲的DAC 通道可以用于转换 2路数字信号成为2 路模拟电压信号并输出。这项功能内部是通过
47、集成的电阻串和反向的放大器实现。 这个双数字接口支持下述功能: 参照2009 年3 月 STM32F103xCDE数据手册 英文第5 版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 11/87 STM32F103xC, STM32F103xD, STM32F103xE数据手册 两个DAC 转换器:各有一个输出通道 8位或12位单调输出 12位模式下的左右数据对齐 同步更新功能 产生噪声波 产生三角波 双DAC 通道独立或同步转换 每个通道都可使用DMA 功能 外部触发进行转换 输入参考电压 VREF+STM32F103xC、 STM32F103xD和 STM32F103xE增强型产品中
48、有8 个触发 DAC转换的输入。DAC通道可以由定时器的更新输出触发,更新输出也可连接到不同的DMA 通道。 2.3.28 温度传感器 温度传感器产生一个随温度线性变化的电压,转换范围在2V VDDA 3.6V之间。温度传感器在内部被连接到ADC1_IN16 的输入通道上,用于将传感器的输出转换到数字数值。 2.3.29 串行单线JTAG 调试口(SWJ-DP) 内嵌ARM 的SWJ-DP 接口,这是一个结合了JTAG 和串行单线调试的接口,可以实现串行单线调试接口或JTAG 接口的连接。JTAG 的 TMS和 TCK信号分别与SWDIO 和 SWCLK共用引脚,TMS 脚上的一个特殊的信号序列用于在JTAG-DP 和SW-DP 间切换。 2.3.30 内嵌跟踪模块(ETM) 使用ARM 的嵌入式跟踪微单元(ETM) , STM32F10xxx通过很少的ETM引脚连接到外部跟踪端口分析(TPA) 设备,从CPU 核心中以高速输出压缩的数据流,为开发人员提供了清晰的指令运行与数据流动的信息。TPA 设备可以通过USB 、以太网或其它高速通道连接到调试主机,实时的指令和数据流向能够被调试主机上的调试软件记录下来,并按需要的格式显示出来。 TPA硬件可以从开发工具供应商处购得,并能与