STM32F103xC,STM32F103xD,STM32F103xE数据手册2.2系列之间的全兼容性STM32F103xx是一个完整的系列,其成员之间是完全地脚对脚兼容,软件和功能上也兼容。在参考手册中,STM32F103x4和STM32F103x6被归为小容量产品,STM32F103x8和STM32F103xB被归为中等容量产品,STM32F103xC、STM32F103xD和STM32F103xE被归为大容量产品。小容量和大容量产品是中等容量产品(STM32F103x8/B)的延伸,分别在对应的数据手册中介绍:STM32F103x4/6数据手册和STM32F103xC/D/E数据手册。小容量产品具有较小的闪存存储器、RAM空间和较少的定时器和外设。而大容量的产品则具有较大的闪存存储器、RAM空间和更多的片上外设,如SDIO、FSMC、S和DAC等,同时保持与其它同系列的产品兼容。STM32F103x4、STM32F103x6、STM32F103xC、STM32F103xD和STM32F103xE可直接替换中等容量的STM32F103x8/B产品,为用户在产品开发中尝试使用不同的存储容量提供了更大的自由度。表3STM32F103xx系列小容量产品中等容量产品大容量产品引32K闪存(1)16K闪存64K闪存128K闪存256K闪存384K闪存512K闪存脚数48K或6K10K20K20K64K64K目64K(2)RAMRAMRAMRAMRAMRAMRAM3个USART+2个UART1444个16位定时器、2个基本定时器3个SPl、2个/S、2个/c1003个USARTUSB、CAN、2个PWM定时器3个16位定时器3个ADC、1个DAC、1个SDIO642个SPI、2个/C、USB、2个USARTFSMC(100和144脚封装(3)CAN、1个PWM定时器2个16位定时器1个ADC481个SPI、1个/2C、USB、CAN、1个PWM定时器2个ADC361.对于订购代码的温度尾缀(6或7)之后没有代码A的产品,其对应的电气参数部分,请参考STM32F103x8/B中等容量产品数据手册。2.只有CSP封装的带256K闪存的产品,才具有64K的RAM。3.100脚封装的产品中没有端口F和端口G。2.3概述2.3.1ARM的CortexTM-M3核心并内嵌闪存和SRAMARM的CortexTM-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。ARM的CortexTM-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上发挥了ARM内核的高性能。STM32F103xC、STM32F103xD和STM32F103xE增强型系列拥有内置的ARM核心,因此它与所有的ARM工具和软件兼容。图1是该系列产品的功能框图。2.3.2内置闪存存储器高达512K字节的内置闪存存储器,用于存放程序和数据。参照2009年3月STM32F103xCDE数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)6/87
STM32F103xC, STM32F103xD, STM32F103xE数据手册 2.2 系列之间的全兼容性 STM32F103xx是一个完整的系列,其成员之间是完全地脚对脚兼容,软件和功能上也兼容。在参考 手册中,STM32F103x4和STM32F103x6被归为小容量产品,STM32F103x8和STM32F103xB被归 为中等容量产品,STM32F103xC、STM32F103xD和STM32F103xE被归为大容量产品。 小容量和大容量产品是中等容量产品(STM32F103x8/B)的延伸,分别在对应的数据手册中介绍: STM32F103x4/6数据手册和STM32F103xC/D/E数据手册。小容量产品具有较小的闪存存储器、RAM 空间和较少的定时器和外设。而大容量的产品则具有较大的闪存存储器、RAM空间和更多的片上外 设,如SDIO、FSMC、I 2 S和DAC等,同时保持与其它同系列的产品兼容。 STM32F103x4、STM32F103x6、 STM32F103xC、STM32F103xD和STM32F103xE可直接替换中 等容量的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个I 2 S、2个I 2 C USB、CAN、2个PWM定时器 3个ADC、1个DAC、1个SDIO FSMC(100和144脚封装(3)) 48 3个USART 3个16位定时器 2个SPI、2个I 2 C、USB、 CAN、1个PWM定时器 1个ADC 36 2个USART 2个16位定时器 1个SPI、1个I 2 C、USB、 CAN、1个PWM定时器 2个ADC 1.对于订购代码的温度尾缀(6或7)之后没有代码A的产品,其对应的电气参数部分,请参考STM32F103x8/B中等容 量产品数据手册。 2.只有CSP封装的带256K闪存的产品,才具有64K的RAM。 3.100脚封装的产品中没有端口F和端口G。 2.3 概述 2.3.1 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 内置闪存存储器 高达512K字节的内置闪存存储器,用于存放程序和数据。 参照2009年3月 STM32F103xCDE数据手册 英文第5版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 6/87
STM32F103xC,STM32F103xD,STM32F103xE数据手册2.3.3CRC(循环穴余校验)计算单元CRC(循环元余校验)计算单元使用一个固定的多项式发生器,从一个32位的数据字产生一个CRC码。在众多的应用中,基于CRC的技术被用于验证数据传输或存储的一致性。在EN/IEC60335-1标准的范围内,它提供了一种检测闪存存储器错误的手段,CRC计算单元可以用于实时地计算软件的签名,并与在链接和生成该软件时产生的签名对比。2.3.4内置SRAM多达64K字节的内置SRAM,CPU能以O等待周期访问(读/写)。2.3.5FSMC(可配置的静态存储器控制器)STM32F103xC、STM32F103xD和STM32F103xE增强型系列集成了FSMC模块。它具有4个片选输出,支持PC卡/CF卡、SRAM、PSRAM、NOR和NAND。功能介绍:三个FSMC中断源,经过逻辑或连到NVIC单元;写入FIFO:代码可以在除NAND闪存和PC卡外的片外存储器运行:?目标频率fcLk为HCLK/2,即当系统时钟为72MHz时,外部访问是基于36MHz时钟;系统时钟为48MHz时,外部访问是基于24MHz时钟。2.3.6LCD并行接口FSMC可以配置成与多数图形LCD控制器的无缝连接,它支持lntel8080和Motorola6800的模式,并能够灵活地与特定的LCD接口。使用这个LCD并行接口可以很方便地构建简易的图形应用环境,或使用专用加速控制器的高性能方案。2.3.7嵌套的向量式中断控制器(NVIC)STM32F103xC、STM32F103xD和STM32F103xE增强型产品内置联套的向量式中断控制器,能够处理多达60个可屏蔽中断通道(不包括16个CortexTM-M3的中断线)和16个优先级。O紧耦合的NVIC能够达到低延迟的中断响应处理中断向量入口地址直接进入内核.紧耦合的NVIC接口?允许中断的早期处理?处理晚到的较高优先级中断.支持中断尾部链接功能.自动保存处理器状态.中断返回时自动恢复,无需额外指令开销该模块以最小的中断延迟提供灵活的中断管理功能。2.3.8外部中断/事件控制器(EXTI)外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽:有一个挂起寄存器维持所有中断请求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达112个通用I/O口连接到16个外部中断线。2.3.9时钟和启动系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟:当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。7/87参照2009年3月STM32F103xCDE数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)
STM32F103xC, STM32F103xD, STM32F103xE数据手册 2.3.3 CRC(循环冗余校验)计算单元 CRC(循环冗余校验)计算单元使用一个固定的多项式发生器,从一个32位的数据字产生一个CRC码。 在众多的应用中,基于CRC的技术被用于验证数据传输或存储的一致性。在EN/IEC 60335-1标准的 范围内,它提供了一种检测闪存存储器错误的手段,CRC计算单元可以用于实时地计算软件的签名, 并与在链接和生成该软件时产生的签名对比。 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,即当系统时钟为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个Cortex™-M3的中断线)和16个优先级。 ● 紧耦合的NVIC能够达到低延迟的中断响应处理 ● 中断向量入口地址直接进入内核 ● 紧耦合的NVIC接口 ● 允许中断的早期处理 ● 处理晚到的较高优先级中断 ● 支持中断尾部链接功能 ● 自动保存处理器状态 ● 中断返回时自动恢复,无需额外指令开销 该模块以最小的中断延迟提供灵活的中断管理功能。 2.3.8 外部中断/事件控制器(EXTI) 外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置 它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请 求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达112个通用I/O口连接到16个外 部中断线。 2.3.9 时钟和启动 系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以 选择外部的、具失效监控的4~16MHz时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地 切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取 对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。 参照2009年3月 STM32F103xCDE数据手册 英文第5版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 7/87
STM32F103xC,STM32F103xD,STM32F103xE数据手册多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHZ,低速APB的最高频率为36MHZ。参考图2的时钟驱动框图。2.3.10自举模式在启动时,通过自举引脚可以选择三种自举模式中的一种:从程序闪存存储器自举·从系统存储器自举?从内部SRAM自举自举加载程序(Bootloader)存放于系统存储器中,可以通过USART1对闪存重新编程。2.3.11供电方案?VpD=2.0~3.6V:VpD引脚为I/O引脚和内部调压器供电。?VsSA,VpDA=2.0~3.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC时,VpDA不得小于2.4V。VDDA和VsSA必须分别连接到VDD和VsS。?VBAT=1.8~3.6V:当关闭Vpp时,(通过内部电源切换器)为RTC、外部32kHz振荡器和后备寄存器供电。关于如何连接电源引脚的详细信息,参见图12供电方案。2.3.12供电监控器本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当Vpp低于设定的阀值(VpOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。器件中还有一个可编程电压监测器(PVD),它监视Vpp/VpDA供电并与阀值VpVD比较,当VpD低于或高于阀值Vpvp时产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。PVD功能需要通过程序开启。关于VpOR/PDR和VpVD的值参考表12。2.3.13电压调压器调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式主模式(MR)用于正常的运行操作O低功耗模式(LPR)用于CPU的停机模式?关断模式用于CPU的待机模式:调压器的输出为高阻状态,内核电路的供电切断,调压器处于零消耗状态(但寄存器和SRAM的内容将丢失)该调压器在复位后始终处于工作状态,在待机模式下关闭处于高阻输出。2.3.14低功耗模式STM32F103xC、STM32F103xD和STM32F103xE增强型产品支持三种低功耗模式,可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。·睡眠模式在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。O停机模式在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,停止所有内部1.8V部分的供电,PLL、HSI的RC振荡器和HSE晶体振荡器被关闭,调压器可以被置于普通模式或低功耗模式。可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O口之一、PVD的输出、RTC闹钟或USB的唤醒信号。?待机模式在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的供电被切断:PLL、HSI的RC振荡器和HSE晶体振荡器也被关闭;进入待机模式后,SRAM和寄存器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。从待机模式退出的条件是:NRST上的外部复位信号、IWDG复位、WKUP引脚上的一个上升边沿或RTC的闹钟到时。8/87参照2009年3月STM32F103xCDE数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)
STM32F103xC, STM32F103xD, STM32F103xE数据手册 多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最 高频率是72MHz,低速APB的最高频率为36MHz。参考图2的时钟驱动框图。 2.3.10 自举模式 在启动时,通过自举引脚可以选择三种自举模式中的一种: ● 从程序闪存存储器自举 ● 从系统存储器自举 ● 从内部SRAM自举 自举加载程序(Bootloader)存放于系统存储器中,可以通过USART1对闪存重新编程。 2.3.11 供电方案 ● VDD = 2.0~3.6V:VDD引脚为I/O引脚和内部调压器供电。 ● 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.12 供电监控器 本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电 超过2V时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。 器件中还有一个可编程电压监测器(PVD),它监视VDD/VDDA供电并与阀值VPVD比较,当VDD低于或高 于阀值VPVD时产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。PVD功能需 要通过程序开启。关于VPOR/PDR和VPVD的值参考表12。 2.3.13 电压调压器 调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式 ● 主模式(MR)用于正常的运行操作 ● 低功耗模式(LPR)用于CPU的停机模式 ● 关断模式用于CPU的待机模式:调压器的输出为高阻状态,内核电路的供电切断,调压器处于 零消耗状态(但寄存器和SRAM的内容将丢失) 该调压器在复位后始终处于工作状态,在待机模式下关闭处于高阻输出。 2.3.14 低功耗模式 STM32F103xC、STM32F103xD和STM32F103xE增强型产品支持三种低功耗模式,可以在要求低 功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。 ● 睡眠模式 在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。 ● 停机模式 在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式 下,停止所有内部1.8V部分的供电,PLL、HSI的RC振荡器和HSE晶体振荡器被关闭,调压器 可以被置于普通模式或低功耗模式。 可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O 口之一、PVD的输出、RTC闹钟或USB的唤醒信号。 ● 待机模式 在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的 供电被切断;PLL、HSI的RC振荡器和HSE晶体振荡器也被关闭;进入待机模式后,SRAM和 寄存器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。 从待机模式退出的条件是:NRST上的外部复位信号、IWDG复位、WKUP引脚上的一个上升边 沿或RTC的闹钟到时。 参照2009年3月 STM32F103xCDE数据手册 英文第5版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 8/87
STM32F103xC,STM32F103xD,STM32F103xE数据手册注:在进入停机或待机模式时,RTC、IWDG和对应的时钟不会被停止。2.3.15DMA灵活的12路通用DMA(DMA1上有7个通道,DMA2上有5个通道)可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输;2个DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以通过软件单独设置。DMA可以用于主要的外设:SPI、I’C、USART,通用、基本和高级控制定时器TIMX,DAC、I’S、SDIO和ADC。2.3.16RTC(实时时钟)和后备寄存器RTC和后备寄存器通过一个开关供电,在Vpp有效时该开关选择Vpp供电,否则由VBAT引脚供电。后备寄存器(42个16位的寄存器)可以用于在关闭Vpp时,保存84个字节的用户应用数据。RTC和后备寄存器不会被系统或电源复位源复位:当从待机模式唤醒时,也不会被复位。实时时钟具有一组连续运行的计数器,可以通过适当的软件提供日历时钟功能,还具有闹钟中断和阶段性中断功能。RTC的驱动时钟可以是一个使用外部晶体的32.768kHz的振荡器、内部低功耗RC振荡器或高速的外部时钟经128分频。内部低功耗RC振荡器的典型频率为40kHZ。为补偿天然晶体的偏差,可以通过输出一个512Hz的信号对RTC的时钟进行校准。RTC具有一个32位的可编程计数器使用比较寄存器可以进行长时间的测量。有一个20位的预分频器用于时基时钟,默认情况下时钟为32.768kHz时,它将产生一个1秒长的时间基准。2.3.17定时器和看门狗大容量的STM32F103xx增强型系列产品包含最多2个高级控制定时器、4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。下表比较了高级控制定时器、普通定时器和基本定时器的功能:表4定时器功能比较定时器计数器分辩率计数器类型预分频系数产生DMA请求捕获/比较通道互补输出TIM1向上,向下,1~65536之间4有16位可以TIM8向上/下的任意整数TIM2TIM3向上,向下,1~65536之间16位可以4没有的任意整数TIM4向上/下TIM5TIM61~65536之间016位向上可以没有TIM7的任意整数高级控制定时器(TIM1和TIM8)两个高级控制定时器(TIM1和TIM8)可以被看成是分配到6个通道的三相PWM发生器,它具有带死区插入的互补PWM输出,还可以被当成完整的通用定时器。四个独立的通道可以用于:?输入捕获输出比较.产生PWM(边缘或中心对齐模式)?单脉冲输出配置为16位标准定时器时,它与TIMx定时器具有相同的功能。配置为16位PWM发生器时,它具有全调制能力(0~100%)。在调试模式下,计数器可以被冻结,同时PWM输出被禁止,从而切断由这些输出所控制的开关。很多功能都与标准的TIM定时器相同,内部结构也相同,因此高级控制定时器可以通过定时器链接功能与TIM定时器协同操作,提供同步或事件链接功能。9/87参照2009年3月STM32F103xCDE数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)
STM32F103xC, STM32F103xD, STM32F103xE数据手册 注: 在进入停机或待机模式时,RTC、IWDG和对应的时钟不会被停止。 2.3.15 DMA 灵活的12路通用DMA(DMA1上有7个通道,DMA2上有5个通道)可以管理存储器到存储器、设备到存 储器和存储器到设备的数据传输;2个DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓 冲区结尾时所产生的中断。 每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地 址和目标地址都可以通过软件单独设置。 DMA可以用于主要的外设:SPI、I 2 C、USART,通用、基本和高级控制定时器TIMx,DAC、I 2 S、 SDIO和ADC。 2.3.16 RTC(实时时钟)和后备寄存器 RTC和后备寄存器通过一个开关供电,在VDD有效时该开关选择VDD供电,否则由VBAT引脚供电。后 备寄存器(42个16位的寄存器)可以用于在关闭VDD时,保存84个字节的用户应用数据。RTC和后备寄 存器不会被系统或电源复位源复位;当从待机模式唤醒时,也不会被复位。 实时时钟具有一组连续运行的计数器,可以通过适当的软件提供日历时钟功能,还具有闹钟中断和 阶段性中断功能。RTC的驱动时钟可以是一个使用外部晶体的32.768kHz的振荡器、内部低功耗RC 振荡器或高速的外部时钟经128分频。内部低功耗RC振荡器的典型频率为40kHz。为补偿天然晶体的 偏差,可以通过输出一个512Hz的信号对RTC的时钟进行校准。RTC具有一个32位的可编程计数器, 使用比较寄存器可以进行长时间的测量。有一个20位的预分频器用于时基时钟,默认情况下时钟为 32.768kHz时,它将产生一个1秒长的时间基准。 2.3.17 定时器和看门狗 大容量的STM32F103xx增强型系列产品包含最多2个高级控制定时器、4个普通定时器和2个基本定 时器,以及2个看门狗定时器和1个系统嘀嗒定时器。 下表比较了高级控制定时器、普通定时器和基本定时器的功能: 表4 定时器功能比较 定时器 计数器分辩率 计数器类型 预分频系数 产生DMA请求 捕获/比较通道 互补输出 TIM1 TIM8 16位 向上,向下, 向上/下 1~65536之间 的任意整数 可以 4 有 TIM2 TIM3 TIM4 TIM5 16位 向上,向下, 向上/下 1~65536之间 的任意整数 可以 4 没有 TIM6 TIM7 16位 向上 1~65536之间 的任意整数 可以 0 没有 高级控制定时器(TIM1和TIM8) 两个高级控制定时器(TIM1和TIM8)可以被看成是分配到6个通道的三相PWM发生器,它具有带死区 插入的互补PWM输出,还可以被当成完整的通用定时器。四个独立的通道可以用于: ● 输入捕获 ● 输出比较 ● 产生PWM(边缘或中心对齐模式) ● 单脉冲输出 配置为16位标准定时器时,它与TIMx定时器具有相同的功能。配置为16位PWM发生器时,它具有全 调制能力(0~100%)。 在调试模式下,计数器可以被冻结,同时PWM输出被禁止,从而切断由这些输出所控制的开关。 很多功能都与标准的TIM定时器相同,内部结构也相同,因此高级控制定时器可以通过定时器链接功 能与TIM定时器协同操作,提供同步或事件链接功能。 参照2009年3月 STM32F103xCDE数据手册 英文第5版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 9/87
STM32F103xC,STM32F103xD,STM32F103xE数据手册通用定时器(TIMx)STM32F103xC、STM32F103xD和STM32F103xE增强型系列产品中,内置了多达4个可同步运行的标准定时器(TIM2、TIM3、TIM4和TIM5)。每个定时器都有一个16位的自动加载递加/递减计数器一个16位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模式输出,在最大的封装配置中可提供最多16个输入捕获、输出比较或PWM通道。它们还能通过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。在调试模式下,计数器可以被冻结。任一标准定时器都能用于产生PWM输出。每个定时器都有独立的DMA请求机制。这些定时器还能够处理增量编码器的信号,也能处理1至3个霍尔传感器的数字输出。基本定时器-TIM6和TIM7这2个定时器主要是用于产生DAC触发信号,也可当成通用的16位时基计数器。独立看门狗独立的看门狗是基于一个12位的递减计数器和一个8位的预分频器,它由一个内部独立的40kHz的RC振荡器提供时钟:因为这个RC振荡器独立于主时钟,所以它可运行手停机和待机模式。它可以被当成看门狗用于在发生问题时复位整个系统,或作为一个自由定时器为应用程序提供超时管理。通过选项字节可以配置成是软件或硬件启动看门狗。在调试模式下,计数器可以被冻结。窗口看门狗窗口看门狗内有一个7位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生问题时复位整个系统。它由主时钟驱动,具有早期预警中断功能:在调试模式下,计数器可以被冻结。系统时基定时器这个定时器是专用于实时操作系统,也可当成一个标准的递减计数器。它具有下述特性:·24位的递减计数器?自动重加载功能当计数器为0时能产生一个可屏蔽系统中断.可编程时钟源2.3.18/C总线多达2个/C总线接口,能够工作于多主模式或从模式,支持标准和快速模式。1C接口支持7位或10位寻址,7位从模式时支持双从地址寻址。内置了硬件CRC发生器/校验器。它们可以使用DMA操作并支持SMBus总线2.0版/PMBus总线。2.3.19通用同步/异步收发器(USART)STM32F103xC、STM32F103xD和STM32F103xE增强型系列产品中,内置了3个通用同步/异步收发器(USART1、USART2和USART3),和2个通用异步收发器(UART4和UART5)。这5个接口提供异步通信、支持IrDASIRENDEC传输编解码、多处理器通信模式、单线半双工通信模式和LIN主/从功能。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操作。参照2009年3月STM32F103xCDE数据手册英文第5版(本译文仅供参考,如有翻译错误,请以英文原稿为准)10/87
STM32F103xC, STM32F103xD, STM32F103xE数据手册 通用定时器(TIMx) STM32F103xC、STM32F103xD和STM32F103xE增强型系列产品中,内置了多达4个可同步运行的 标准定时器(TIM2、TIM3、TIM4和TIM5)。每个定时器都有一个16位的自动加载递加/递减计数器、 一个16位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模 式输出,在最大的封装配置中可提供最多16个输入捕获、输出比较或PWM通道。 它们还能通过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。在调试模式 下,计数器可以被冻结。任一标准定时器都能用于产生PWM输出。每个定时器都有独立的DMA请求 机制。 这些定时器还能够处理增量编码器的信号,也能处理1至3个霍尔传感器的数字输出。 基本定时器-TIM6和TIM7 这2个定时器主要是用于产生DAC触发信号,也可当成通用的16位时基计数器。 独立看门狗 独立的看门狗是基于一个12位的递减计数器和一个8位的预分频器,它由一个内部独立的40kHz的RC 振荡器提供时钟;因为这个RC振荡器独立于主时钟,所以它可运行于停机和待机模式。它可以被当 成看门狗用于在发生问题时复位整个系统,或作为一个自由定时器为应用程序提供超时管理。通过 选项字节可以配置成是软件或硬件启动看门狗。在调试模式下,计数器可以被冻结。 窗口看门狗 窗口看门狗内有一个7位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生问 题时复位整个系统。它由主时钟驱动,具有早期预警中断功能;在调试模式下,计数器可以被冻结。 系统时基定时器 这个定时器是专用于实时操作系统,也可当成一个标准的递减计数器。它具有下述特性: ● 24位的递减计数器 ● 自动重加载功能 ● 当计数器为0时能产生一个可屏蔽系统中断 ● 可编程时钟源 2.3.18 I 2 C总线 多达2个I 2 C总线接口,能够工作于多主模式或从模式,支持标准和快速模式。 I 2 C接口支持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传输编解码、多处理器通信模式、单线半双工通信 模式和LIN主/从功能。 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操作。 参照2009年3月 STM32F103xCDE数据手册 英文第5版 (本译文仅供参考,如有翻译错误,请以英文原稿为准) 10/87