2007年10月第三版第1页增强型,32位基于ARM核心的带闪存、USB、CAN的微控制器7个定时器、2个ADC、9个通信接口功能■核心−ARM32位的Cortex™-M3CPU−72MHz,高达90DMips,1.25DMips/MHz−单周期硬件乘法和除法——加快计算■存储器−从32K字节至128K字节闪存程序存储器−从6K字节至20K字节SRAM−多重自举功能■时钟、复位和供电管理−2.0至3.6伏供电和I/O管脚−上电/断电复位(POR/PDR)、可编程电压监测器(PVD)、掉电监测器−内嵌4至16MHz高速晶体振荡器−内嵌经出厂调校的8MHz的RC振荡器−内嵌40kHz的RC振荡器−内嵌PLL供应CPU时钟−内嵌使用外部32kHz晶体的RTC振荡器■低功耗−3种省电模式:睡眠、停机和待机模式−VBAT为RTC和后备寄存器供电■2个12位模数转换器,1us转换时间(16通道)−转换范围是0至3.6V−双采样和保持功能−温度传感器■调试模式−串行线调试(SWD)和JTAG接口■DMA−7通道DMA控制器−支持的外设:定时器、ADC、SPI、I2C和USART■多达80个快速I/O口−26/36/51/80个多功能双向5V兼容的I/O口−所有I/O口可以映像到16个外部中断■多达7个定时器−多达3个同步的16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道−16位6通道高级控制定时器−多达6路PWM输出−死区控制、边缘/中间对齐波形和紧急制动−2个看门狗定时器(独立的和窗口型的)−系统时间定时器:24位的、带自动加载功能的■多达9个通信接口−多达2个I2C接口(SMBus/PMBus)−多达3个USART接口,支持ISO7816,LIN,IrDA接口和调制解调控制−多达2个SPI同步串行接口(18兆位/秒)−CAN接口(2.0B主动)−USB2.0全速接口■ECOPACK®封装(兼容RoHS)表一器件列表参考基本型号STM32F103x6STM32F103C6,STM32F103R6,STM32F103T6STM32F103x8STM32F103C8,STM32F103R8,STM32F103V8,STM32F103T8STM32F103xBSTM32F103RB,STM32F103VB,STM32F103C8初步信息STM32F103增强型2007年10月第三版第2页1介绍本文给出了STM32F103xx增强型的订购信息和器件的机械特性。有关闪存存储器的编程、擦除和保护等信息,请参考《STM32F10x闪存编程参考手册》。有关Cortex-M3的信息,请参考《Cortex-M3技术参考手册》2规格说明STM32F103xx增强型系列使用高性能的ARMCortex-M332位的RISC内核,工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN。STM32F103xx增强型系列工作于-40°C至+105°C的温度范围,供电电压2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。完整的STM32F103xx增强型系列产品包括从36脚至100脚的五种不同封装形式;根据不同的封装形式,器件中的外设配置不尽相同。下面给出了该系列产品中所有外设的基本介绍。这些丰富的外设配置,使得STM32F103xx增强型微控制器适合于多种应用场合:●电机驱动和应用控制●医疗和手持设备●PC外设和GPS平台●工业应用:可编程控制器、变频器、打印机和扫描仪●警报系统,视频对讲,和暖气通风空调系统图一给出了该产品系列的框图。STM32F103增强型2007年10月第三版第3页2.1器件一览表二:器件功能和配置(STM32F103xx增强型)32643264128326412864128102010202010通用232332高级SPI121221I2C121221USART232332USB111111CAN111111通用I/O端口32518026LQFP100,BGA100216通道72MHz2.0至3.6V-40至+85°C/-40至+105°C封装210通道LQFP48LQFP64CPU频率工作电压工作温度12位同步ADC210通道VFQFPN36222通信定时器2020111331闪存(K字节)RAM(K字节)外设STM32F103CxSTM32F103TxSTM32F103RxSTM32F103Vx3112113STM32F103增强型2007年10月第三版第4页2.2概述ARM®的Cortex™-M3核心并内嵌闪存和SRAMARM的Cortex-M3处理器是最新一代的嵌入式ARM处理器,它为实现MCU的需要提供了低成本的平台、缩减的管脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。ARM的Cortex-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上得到了ARM核心的高性能。STM32F103xx增强型系列拥有内置的ARM核心,因此它与所有的ARM工具和软件兼容。图一是该系列产品的功能框图。内置闪存存储器●高达128K字节的内置闪存存储器,用于存放程序和数据。内置SRAM多达20K字节的内置SRAM,CPU能以0等待周期访问(读/写)。嵌套的向量式中断控制器(NVIC)STM32F103xx增强型内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个Cortex-M3的中断线)和16个优先级。●紧耦合的NVIC能够达到低延迟的中断响应处理●中断向量入口地址直接进入核心●紧耦合的NVIC接口●允许中断的早期处理●处理晚到的较高优先级中断●支持中断尾部链接功能●自动保存处理器状态●中断返回时自动恢复,无需额外指令开销该模块以最小的中断延迟提供灵活的中断管理功能。外部中断/事件控制器(EXTI)外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。时钟和启动系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟;当外部时钟失效时,它将被隔离,同时会产生相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个外接的振荡器失效时)。具有多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。STM32F103增强型2007年10月第三版第5页自举模式在启动时,自举管脚被用于选择三种自举模式中的一种:●从用户闪存自举●从系统存储器自举●从SRAM自举自举加载器存放于系统存储器中,可以通过USART对闪存重新编程。供电方案●VDD=2.0至3.6V:VDD管脚提供I/O管脚和内部调压器的供电。●VSSA,VDDA=2.0至3.6V:为ADC、复位模块、RC振荡器和PLL的模拟部分提供供电。使用ADC时,VDD不得小于2.4V。●VBAT=1.8至3.6V:当(通过电源开关)关闭VDD时,为RTC、外部32kHz振荡器和后备寄存器供电。供电监控器本产品内部集成了上电复位(POR)/掉电复位(PDR)电路,该电路始终处于工作状态,保证系统在供电超过2V时工作;当VDD低于设定的阀值(VPOR/PDR)时,置器件于复位状态,而不必使用外部复位电路。器件中还有一个可编程电压监测器(PVD),它监视VDD供电并与阀值VPVD比较,当VDD低于或高于阀值VPVD时将产生中断,中断处理程序可以发出警告信息或将微控制器转入安全模式。需要通过程序开启PVD。有关VPOR/PDR和VPVD数值,请参考表九“内置复位和电源控制模块特性”。电压调压器调压器有三个操作模式:主模式(MR)、低功耗模式(LPR)和关断模式●主模式(MR)用于正常的运行操作●低功耗模式(LPR)用于CPU的停机模式●关断模式用于CPU的待机模式:调压器的输出为高阻状态,内核电路的供电切断,调压器处于零消耗状态(但寄存器和SRAM的内容将丢失)该调压器在复位后始终处于工作状态,在待机模式下关闭处于高阻输出。低功耗模式STM32F103xx增强型支持三种低功耗模式,可以在要求低功耗、短启动时间和多种唤醒事件之间达到最佳的平衡。●睡眠模式在睡眠模式,只有CPU停止,所有外设处于工作状态并可在发生中断/事件时唤醒CPU。●停机模式在保持SRAM和寄存器内容不丢失的情况下,停机模式可以达到最低的电能消耗。在停机模式下,停止所有内部1.8V部分的供电,PLL、HSI和HSE的RC振荡器被关闭,调压器可以被置于普通模式或低功耗模式。可以通过任一配置成EXTI的信号把微控制器从停机模式中唤醒,EXTI信号可以是16个外部I/O口之一、PVD的输出、RTC闹钟或USB的唤醒信号。●待机模式在待机模式下可以达到最低的电能消耗。内部的电压调压器被关闭,因此所有内部1.8V部分的供电被切断;PLL、HSI和HSE的RC振荡器也被关闭;进入待机模式后,SRAM和寄存器的内容将消失,但后备寄存器的内容仍然保留,待机电路仍工作。STM32F103增强型2007年10月第三版第6页从待机模式退出的条件是:NRST上的外部复位信号、IWDG复位、WKUP管脚上的一个上升边沿或RTC的闹钟到时。注:在进入停机或待机模式时,RTC、IWDG和对应的时钟不会被停止。DMA灵活的7路通用DMA可以管理存储器到存储器、设备到存储器和存储器到设备的数据传输;DMA控制器支持环形缓冲区的管理,避免了控制器传输到达缓冲区结尾时所产生的中断。每个通道都有专门的硬件DMA请求逻辑,同时可以由软件触发每个通道;传输的长度、传输的源地址和目标地址都可以通过软件单独设置。DMA可以用于主要的外设:SPI、I2C、USART、通用和高级定时器TIMx和ADC。RTC(实时时钟)和后备寄存器RTC和后备寄存器通过一个开关供电,在VDD有效时该开关选择VDD供电,否则由VBAT管脚供电。后备寄存器(10个16位的寄存器)可以用于在VDD消失时保存数据。实时时钟具有一组连续运行的计数器,可以通过适当的软件提供日历时钟功能,还具有闹钟中断和阶段性中断功能。RTC的驱动时钟可以是一个使用外部晶体的32.768kHz的振荡器、内部低功耗RC振荡器或高速的外部时钟经128分频。内部低功耗RC振荡器的典型频率为32kHz。为补偿天然晶体的偏差,RTC的校准是通过输出一个512Hz的信号进行。RTC具有一个32位的可编程计数器,使用比较寄存器可以产生闹钟信号。有一个20位的预分频器用于时基时钟,默认情况下时钟为32.768kHz时它将产生一个1秒长的时间基准。独立的看门狗独立的看门狗是基于一个12位的递减计数器和一个8位的预分频器,它由一个独立的32kHz的内部RC振荡器提供时钟,应为这个RC振荡器独立于主时钟,所以它可运行于停机和待机模式。它可以被当成看门狗用于在发生问题时复位整个系统,或作为一个自由定时器为应用程序提供超时管理。通过选择字节可以配置成是软件看门狗或硬件看门狗。在调试模式,计数器可以被冻结。窗口看门狗窗口看门狗内有一个7位的递减计数器,并可以设置成自由运行。它可以被当成看门狗用于在发生问题时复位整个系统。它由主时钟驱动,具有早期预警中断功能;在调试模式,计数器可以被冻结。系统时