单纯从学习的角度出发,可以选择F1和F4,F1代表了基础型,基于Cortex-M3内核主频为72MHZ,F4代表了高性能,基于Cortex-M4内核,主频180M。对于F1来说,F4(429系列以上)除了内核不同和主频的提升外,升级的明显特色就是带了LCD控制器和摄像头接口,支持SDRAM,这个区别在项目选型上会被优先考虑。但是从大学教学和用户初学来说,还是首选F1系列,目前在市场上资料最多,产品占有量最多的就是F1系列的STM32微控制器。本教材选用STM32F103VCTx,外形如图4-2所示。图4-2STM32F103VCTx外形图CRAPRARPPARARBHESTM32FLO3VCTZ22BTE93MLT HPO16STOARME04其中:STM32一产品系列。STM32表示基于ARM的32位微控制器。②F一产品类型。F表示通用类型。③103一产品子系列。101一基本型;102一USB基本型:103--增强型;105或107一互联型。④V-—引脚数目。T—36脚;C—48脚:R—64脚;V—100脚;Z—144脚③C—闪存储存器容量。4--16KB;6--32KB;8--64KBB--128KB;C--256KBD-384KB;E--512KB。?T一封装。H=BGA;T=LQFP;U=VFQFPN;Y=WLCSP64。x一温度范围。6一工业级温度范围-40~85℃7--工业级温度范围-40~105℃。下面还有内部代码、选项等部分,这里不做介绍。4.1.3与单片机、嵌入式、ARM的关系1.STM32与单片机STM32微控制器也称为STM32单片机。单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。由于8位单片机由于内部构造简单,体积小,成本低廉,在一些较简单的控制器中应用很广。常见的8位单片机主要有:Intel的51系列,Atmel的AVR系统,Microchip公司的PIC系列,TI6
6 单纯从学习的角度出发,可以选择F1和F4, F1代表了基础型,基于Cortex-M3内核, 主频为72MHZ, F4代表了高性能,基于 Cortex-M4内核,主频180M。 对于F1来说, F4(429 系列以上)除了内核不同和主频的提升外,升级的明显特色就 是带了LCD 控制器和摄像头接口,支持SDRAM,这个区别在项目选型上会被优先考虑。但是 从大学教学和用户初学来说,还是首选F1系列,目前在市场上资料最多,产品占有量最多 的就是F1系列的 STM32微控制器。本教材选用STM32F103VCTx,外形如图4-2所示。 图4-2 STM32F103VCTx外形图 其中: ① STM32—产品系列。STM32表示基于ARM的32位微控制器。 ② F—产品类型。F表示通用类型。 ③ 103—产品子系列。101—基本型;102—USB基本型;103-增强型;105或107—互 联型。 ④ V—引脚数目。T—36脚;C—48脚;R—64脚;V—100脚;Z—144脚. ⑤ C—闪存储存器容量。4-16KB;6-32KB;8-64KB;B-128KB;C-256KB;D- 384KB;E-512KB。 ⑥ T—封装。H=BGA;T=LQFP;U=VFQFPN;Y=WLCSP64。 ⑦ x—温度范围。6—工业级温度范围-40~85℃;7-工业级温度范围-40~105℃。 下面还有内部代码、选项等部分,这里不做介绍。 4.1.3 与单片机、嵌入式、ARM的关系 1.STM32与单片机 STM32微控制器也称为STM32单片机。 单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把 具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断 系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换 器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。由于8 位单片机由于内部构造简单,体积小, 成本低廉,在一些较简单的控制器中应用很广。常 见的8位单片机主要有:Intel的51系列,Atmel的AVR系统,Microchip公司的PIC系列,TI
的MSP430系列等。而STM32是一种功能比较强大的32位的单片机。它和8位单片机最大的不同是,它不仅可以使用寄存器进行编程,还可以使用官方提供的库文件进行编程,这样不仅编程方便,而且更容易移植。2.STM32与嵌入式嵌入式是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。主要分为DSP,微控制器MCU,微处理器,SOC四种。一个完整的嵌入式系统,从开发过程分为4层:硬件层、驱动层、操作系统层和应用层。而STM32是MCU的一种,故也属于嵌入式技术。3.STM32与ARMARM可以说是一个公司的名称,一类微处理的通称,也代表一种技术。其实ARM是一个做芯片标准的公司,它负责芯片内核的架构设计,而把具体的实现,授权给像TI,ST等半导体公司。例如任何一个Cortex-M3芯片,它们的内核结构都是一样的,不同的是它们的存储器容量,片上外设,IO以及其他模块的区别。ARM公司为了能让不同的芯片公司生产的Cortex-M3芯片能在软件上基本兼容,和芯片生产商共同提出了一套标准CMSIS标准(CortexMicrocontrollerSoftwareInterfaceStandard),翻译过来是ARMCortexM微控制器软件接口标准”,也就是其库函数。4.2STM32的基本架构和基本原理如果学过8位单片机的,例如51单片机,那么对于理解STM32的系统架构和功能模块是十分有利的,毕竟它们都属于单片机范畴(英文为Microcontroller)。只不过前者是8位单片机(即数据总线是8位的),而后者是32位单片机(数据总线是32位的)。但是,如果没有学过任何单片机,那么从零基础学STM32也不是没有可能,只是在理解时会困难些。学了C语言,大家都知道,开发PC程序,压根不用了解PC的硬件结构和功能部件的特点。但是开发单片机程序,必须知道单片机的内部结构和功能部件的特点和属性。本节就STM32微控制器的内部结构和功能部件的进行一个大致描述,在了解这些特点的基础上,就可以开始尝试STM32的应用设计与实践了。4.2.1ARMCortex-M3系列处理器1.ARMARM即AdvancedRISCMachines的缩写,这个缩写可以认为是一个公司的名字--ARM公司,也可以认为是一类微处理器的统称,还可以认为是一类技术的名字。1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州的SanJoseVLSI技术公司制造。2O世纪80年代后期,ARM很快开发成Acorn的台式计算机。20世纪90年代初,ARM公司成立于剑桥大学,设计了大量高性能、廉价、耗能低的RISC处理器及相关技术软件。RISc的英文全称是ReducedInstructionSetComputer,对应的中文是精简指令集计算机,特点是所有指令的格式都是一致的,所有指令的指令周期也是相同的,并且采用流水线技术。7
7 的MSP430系列等。而STM32是一种功能比较强大的32位的单片机。它和8位单片机最大的不 同是,它不仅可以使用寄存器进行编程,还可以使用官方提供的库文件进行编程,这样不 仅编程方便,而且更容易移植。 2.STM32与嵌入式 嵌入式是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功 能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。主要分为DSP,微控制器 MCU,微处理器,SOC四种。一个完整的嵌入式系统,从开发过程分为4层:硬件层、驱动 层、操作系统层和应用层。而STM32是MCU的一种,故也属于嵌入式技术。 3.STM32与ARM ARM可以说是一个公司的名称,一类微处理的通称,也代表一种技术。其实ARM是一个 做芯片标准的公司,它负责芯片内核的架构设计,而把具体的实现,授权给像TI,ST等半 导体公司。例如任何一个Cortex-M3芯片,它们的内核结构都是一样的,不同的是它们的存 储器容量,片上外设,IO 以及其他模块的区别。ARM公司为了能让不同的芯片公司生产的 Cortex-M3芯片能在软件上基本兼容,和芯片生产商共同提出了一套标准CMSIS标准 (Cortex Microcontroller Software Interface Standard),翻译过来是ARM Cortex™ 微控制器软件接口标准”,也就是其库函数。 4.2 STM32的基本架构和基本原理 如果学过8位单片机的,例如51单片机,那么对于理解STM32的系统架构和功能模块是 十分有利的,毕竟它们都属于单片机范畴(英文为Microcontroller)。只不过前者是8位单 片机(即数据总线是8位的),而后者是32位单片机(数据总线是32位的)。但是,如果没 有学过任何单片机,那么从零基础学STM32也不是没有可能,只是在理解时会困难些。学了 C语言,大家都知道,开发PC程序,压根不用了解PC的硬件结构和功能部件的特点。但是开 发单片机程序,必须知道单片机的内部结构和功能部件的特点和属性。 本节就STM32微控制器的内部结构和功能部件的进行一个大致描述,在了解这些特点的 基础上,就可以开始尝试STM32的应用设计与实践了。 4.2.1 ARM Cortex-M3系列处理器 1.ARM ARM即Advanced RISC Machines的缩写,这个缩写可以认为是一个公司的名字-ARM公 司,也可以认为是一类微处理器的统称,还可以认为是一类技术的名字。 1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生,由美国加州 的San Jose VLSI技术公司制造。20世纪80年代后期,ARM很快开发成Acorn的台式计算机。 20世纪90年代初,ARM公司成立于剑桥大学,设计了大量高性能、廉价、耗能低的RISC处理 器及相关技术软件。RISC的英文全称是Reduced Instruction Set Computer,对应的中文 是精简指令集计算机,特点是所有指令的格式都是一致的,所有指令的指令周期也是相同 的,并且采用流水线技术
ARM公司本身并不生产和销售芯片,它只出售芯片技术授权,即以出售ARM内核的知识产权为主要模式,因此也叫Chipless(无芯片)公司。全球顶尖的半导体公司,例如Atmel、TI、ST、Fujitsu、NXP等均通过购买ARM的内核,结合各自的技术优势进行生产和销售,共同推动基于ARM内核,包括Cortex内核的嵌入式微控制器的发展。目前,采用RAM技术产权核的微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、DSP、无线移动应用等各类产品市场,在低功耗、低成本和高性能的嵌入式系统应用领域处于领先地位。2.ARMCortex-M3为处理器Cortex是ARM的全新一代处理器内核,它在本质上是ARMV7架构的实现,它完全有别于ARM的其他内核,是全新开发的。按照3类典型的嵌入式系统应用,即高性能、微控制器、实时类,它又分成3个系列,即Cortex-A、Cortex-M、Cortex-R。而STM32就属于Cortex-M系列。Cortex-M旨在提供一种高性能、低成本的微处理器平台,以满足最小存储器、小引脚数和低功耗的需求,同时兼顾卓越的计算性能和出色的中断管理能力。目前典型的、使用最为广泛的是Cortex-MO、Cortex-M3、Cortex-M4。Cortex-M3是一个32位的单片机核,结合了多种创新性突破技术,使得芯片供应商可以提供超低费用的芯片。仅有3300门的M3内核,其性能可达1.25DMIPS/MHz,如主频位72MHz的M3处理器性能可达90DMIPS。M3处理器还集成了许多紧耦合系统外设,合理利用了芯片空间,使系统性能满足下一代产品的控制需求。(注:DMIPS主要用于测整数计算能力。其中MIPS是每秒百万条指令,用来计算同一秒内系统的处理能力,即每秒执行了多少百万条指令。例如,一个处理器达到220DMIPS的性能,是指这个处理器测整数计算能力每秒200*100万条指令。)Cortex的优势在于将低功耗、低成本与高效能完美结合。Cortex-M3处理器包括处理器内核、嵌套向量中断控制器(NVIC)、存储器保护单元、总线接口单元和跟踪调试单元等,为微处理器应用而开发的ARMCortex-M3拥有以下性能:(1)Cortex-M3内核使用了3级流水哈佛架构,运用分支预测、单周期乘法和硬件除法功能实现了1.25DMIPS/MHz出色的运算效率。(2)采用专门的面向C语言的Thumb-2指令集,最大限度地降低了汇编语言的使用。(3)Thumb-2指令集免去了Thumb和ARM代码德尔互相切换,性能得到了提高。(4)准确快速地进行了中断处理。(5)对于工业控制应用,存储器保护单元通过使用授权访问模式可以实现安全操作。4.2.2STM32F103系列微控制器STM32是意法半导体(STMicroelectronics)较早推向市场的基于Cortex-M内核的微处理器系列产品,该系列产品具有成本低、功耗优、性能高、功能多等优势,并且以系列化方式推出,方便用户选型,在市场上获得了广泛好评。STM32分成了几个不同的系列:STM32F100为“超值型”,STM32F101为“基本型”,8
8 ARM公司本身并不生产和销售芯片,它只出售芯片技术授权,即以出售ARM内核的知识 产权为主要模式,因此也叫Chipless(无芯片)公司。全球顶尖的半导体公司,例如 Atmel、TI、ST、Fujitsu、NXP等均通过购买ARM的内核,结合各自的技术优势进行生产和 销售,共同推动基于ARM内核,包括Cortex内核的嵌入式微控制器的发展。目前,采用RAM 技术产权核的微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、DSP、 无线移动应用等各类产品市场,在低功耗、低成本和高性能的嵌入式系统应用领域处于领 先地位。 2.ARM Cortex-M3为处理器 Cortex是ARM的全新一代处理器内核,它在本质上是ARMV7架构的实现,它完全有别于 ARM的其他内核,是全新开发的。按照3类典型的嵌入式系统应用,即高性能、微控制器、 实时类,它又分成3个系列,即Cortex-A、Cortex-M、Cortex-R。而STM32就属 于Cortex-M 系列。 Cortex-M旨在提供一种高性能、低成本的微处理器平台,以满足最小存储器、小引脚 数和低功耗的需求,同时兼顾卓越的计算性能和出色的中断管理能力。目前典型的、使用 最为广泛的是 Cortex-M0、Cortex-M3、Cortex-M4。 Cortex-M3是一个32位的单片机核,结合了多种创新性突破技术,使得芯片供应商可以 提供超低费用的芯片。仅有3300门的M3内核,其性能可达1.25DMIPS/MHz,如主频位72 MHz 的M3处理器性能可达90 DMIPS。M3处理器还集成了许多紧耦合系统外设,合理利用了芯片 空间,使系统性能满足下一代产品的控制需求。(注:DMIPS主要用于测整数计算能力。其 中MIPS是每秒百万条指令,用来计算同一秒内系统的处理能力,即每秒执行了多少百万条 指令。例如,一个处理器达到220 DMIPS的性能,是指这个处理器测整数计算能力每秒 200*100万条指令。) Cortex的优势在于将低功耗、低成本与高效能完美结合。 Cortex-M3处理器包括处理器内核、嵌套向量中断控制器(NVIC)、存储器保护单元、 总线接口单元和跟踪调试单元等,为微处理器应用而开发的ARM Cortex-M3拥有以下性能: (1)Cortex-M3内核使用了3级流水哈佛架构,运用分支预测、单周期乘法和硬件除法 功能实现了1.25DMIPS/MHz出色的运算效率。 (2)采用专门的面向C语言的Thumb-2指令集,最大限度地降低了汇编语言的使用。 (3)Thumb-2指令集免去了Thumb和ARM代码德尔互相切换,性能得到了提高。 (4)准确快速地进行了中断处理。 (5)对于工业控制应用,存储器保护单元通过使用授权访问模式可以实现安全操作。 4.2.2 STM32F103系列微控制器 STM32是意法半导体(STMicroelectronics)较早推向市场的基于CortexM内核的微处理器系列产品,该系列产品具有成本低、功耗优、性能高、功能多等优势,并 且以系列化方式推出,方便用户选型,在市场上获得了广泛好评。 STM32分成了几个不同的系列:STM32F100为“超值型”, STM32F101为“基本型
STM32F102为“USB基本型”,STM32F103为“增强型”,STM32F105或107为“互联型”,STM32L为“超低功耗型”。1.STM32F103xx性能STM32F103xx增强型微控制器使用高性能的ARMCortex-M332位的RISC内核,其工作频率是72MHz,内置高速存储器(最高可达512KB的闪存和64KB的SRAM),具有丰富的增强型I/O端口和连接到两条高性能外设总线(APB)的外设。STM32F103Vx系列都至少包含2个12位的ADC、一个高级定时器、3个通用16位定时器,还包含标准和先进的通信端口:2个I2C、2个SPI、3个USART、一个USB和一个CAN接口。I/O翻转速度可达18MHz。图4-2是基于ARMCortex-M3内核的STM32F10x系列微控制器的外观(LQFP100封装)表4-1是STM32F103xx增强型微控制器(F1ash不超过128KB的中小容量)各系列的外设资源。大容量的STM32103xx系列微控制器外设资源和芯片编号详细说明见有关资料。表4-1STM32103xx微控制器各系列的外设资源外设STM32F103CxSTM32F103TxSTM32F103RxSTM32F103Vx326432641286464闪存(KB)3212812820102020102020RAM (KB)10定时器23333通用2321高级1112通信SPI1212212222212C11213USART2323323USB11111111CAN1111111126325180通用1/0端口2210通道10通道16通道12位同步ADC2CPU频率72MHz2.0-3.6V工作电压工作温度-40-+85/-40+105封装VFQFPN36LQFP48LQFP64LQFP100BGA100从上表可以看出,STM32FI03的性能如下。内核:ARM32位Cortex-M3CPU,最高工作频率72MHz,1.25DMIPSMHz。单周期乘法和硬件除法。存储器:片上集成512KB的F1ash存储器。6~64KB的SRAM存储器。时钟、复位和电源管理:2.0~3.6V的电源供电和IO接口的驱动电压。POR、PDR和可编程的电压探测器(PVD)。4~16MHz的晶振。内嵌出厂前调校的8MHzRC振荡电路。内部40kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振。低功耗:3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT。9
9 STM32F102为“USB基本型”, STM32F103为“增强型”, STM32F105或107为“互联型”, STM32L为“超低功耗型”。 1. STM32F103xx性能 STM32F103xx增强型微控制器使用高性能的ARM Cortex-M3 32位的RISC内核,其工作频 率是72MHz,内置高速存储器(最高可达512KB的闪存和64KB的SRAM),具有丰富的增强型 I/O端口和连接到两条高性能外设总线(APB)的外设。STM32F103Vx系列都至少包含2个12 位的ADC、一个高级定时器、3个通用16位定时器,还包含标准和先进的通信端口:2个 I2C、2个SPI、3个USART、一个USB和一个CAN接口。I/O翻转速度可达18MHz。 图4-2是基于ARM Cortex-M3内核的STM32F10x系列微控制器的外观(LQFP100封装)。 表4- 1是STM32F103xx增强型微控制器(Flash不超过128KB的中小容量)各系列的外设资源。大 容量的STM32103xx系列微控制器外设资源和芯片编号详细说明见有关资料。 表4-1 STM32103xx微控制器各系列的外设资源 外设 STM32F103Tx STM32F103Cx STM32F103Rx STM32F103Vx 闪存(KB) 32 64 32 64 128 32 64 128 64 128 RAM(KB) 10 20 10 20 20 10 20 20 定时器 通用 2 3 2 3 3 2 3 3 高级 1 1 1 1 通信 SPI 1 2 1 2 2 1 2 2 I2C 1 2 1 2 2 1 2 2 USART 2 3 2 3 3 2 3 3 USB 1 1 1 1 1 1 1 1 CAN 1 1 1 1 1 1 1 1 通用I/O端口 26 32 51 80 12位同步ADC 2 10通道 2 10通道 2 16通道 CPU频率 72MHz 工作电压 2.0-3.6V 工作温度 -40-+85/-40-+105 封装 VFQFPN36 LQFP48 LQFP64 LQFP100 BGA100 从上表可以看出,STM32FI03的性能如下。 内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25DMIPSMHz。单周期乘法和硬 件除法。 存储器:片上集成512KB的Flash存储器。6~64KB的SRAM存储器。 时钟、复位和电源管理:2.0~3.6V的电源供电和IO接口的驱动电压。POR、PDR和可编 程的电压探测器(PVD)。4~16MHz的晶振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的RC振荡电路。用于CPU时钟的PLL。带校准用于RTC的32kHz的晶振。 低功耗:3种低功耗模式:休眠,停止,待机模式。为RTC和备份寄存器供电的VBAT
调试模式:串行调试(SWD)和JTAG接口。DMA:12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和UART。2个12位的微妙级的AD转换器(16通道):AD测量范围:0-3.6V。双采样和保持能力。片上集成一个温度传感器。2通道12位DA转换器:STM32F103xC,STM32F103xD,STM32F103xE独有。最多高达112个的快速10端口:根据型号的不同,有26、37、51、80、和112的I0端口,所有的端口都可以映射到16个外部中断向量。除了模拟输入,所有的都可以接受5V以内的输入。最多多达11个定时器:4个16位定时器,每个定时器有4个ICOCPWM或者脉冲计数器。2个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。2个看门狗定时器(独立看门狗和窗口看门狗)。定时器:24位倒计数器。2个16位基本定时器用于驱动DAC。最多多达13个通信接口:2个I2C接口(SMBusPMBus)。5个USART接口(IS07816接口,LIN,IrDA兼容,调试控制)。3个SPI接口(18Mbits),两个和I2S复用。CAN接口(2.OB)。USB2.0全速接口。SDIO接口。STM32的优异性体现在如下几个方面:(1)超低的价格。以8位机的价格,得到32位机,是STM32最大的优势。(2)超多的外设。STM32拥有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA等众多外设及功能,具有极高的集成度。(3)丰富的型号。STM32仅M3内核就拥有F100、F101、F102、F103、F105、F107、F207、F217等8个系列上百种型号,具有QFN、LQFP、BGA等封装可供选择。同时STM32还推出了STM32L和STM32W等超低功耗和无线应用型的M3芯片。(4)优异的实时性能。84个中断,16级可编程优先级,并且所有的引脚都可以作为中断输入。(5)杰出的功耗控制。STM32各个外设都有自已的独立时钟开关,可以通过关闭相应外设的时钟来降低功耗。(6)极低的开发成本。STM32的开发不需要昂贵的仿真器,只需要一个串口即可下载代码,并且支持SWD和JTAG两种调试口。SWD调试可以为你的设计带来跟多的方便,只需要2个10口,即可实现仿真调试。2.内部结构STM32跟其他单片机一样,是一个单片计算机或单片微控制器,所谓单片就是在一个芯片上集成了计算机或微控制器该有的基本功能部件。这些功能部件通过总线连在一起。就STM32而言,这些功能部件主要包括:Cortex-M内核、总线、系统时钟发生器、复位电路、程序存储器、数据存储器、中断控制、调试接口以及各种功能部件(外设)。不同的芯片系列和型号,外设的数量和种类也不一样,常有的基本功能部件(外设)是:输入/输出接口GPIO、定时/计数器TIMER/COUNTER、串行通信接口USART、串行总线I2C和SPI或I2S、SD卡接口SDIO、USB接口等。10
10 调试模式:串行调试(SWD)和JTAG接口。 DMA:12通道DMA控制器。 支持的外设:定时器,ADC,DAC,SPI,IIC和UART。 2个12位的微妙级的AD转换器(16通道):AD测量范围:0-3.6V。双采样和保持能力。 片上集成一个温度传感器。 2通道12位DA转换器:STM32F103xC,STM32F103xD,STM32F103xE独有。 最多高达112个的快速IO端口:根据型号的不同,有26、37、51、80、和112的IO端 口,所有的端口都可以映射到16个外部中断向量。除了模拟输入,所有的都可以接受5V以 内的输入。 最多多达11个定时器:4个16位定时器,每个定时器有4个ICOCPWM或者脉冲计数器。2 个16位的6通道高级控制定时器:最多6个通道可用于PWM输出。 2个看门狗定时器(独立看门狗和窗口看门狗)。 定时器:24位倒计数器。2个16位基本定时器用于驱动DAC。 最多多达13个通信接口:2个I2C接口(SMBusPMBus)。5个USART接口(ISO7816接口, LIN,IrDA兼容,调试控制)。3个SPI接口(18 Mbits),两个和I2S复用。CAN接口 (2.0B)。USB 2.0全速接口。SDIO接口。 STM32的优异性体现在如下几个方面: (1)超低的价格。以8位机的价格,得到32位机,是STM32最大的优势。 (2)超多的外设。STM32拥有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、 SDIO、ADC、DAC、RTC、DMA等众多外设及功能,具有极高的集成度。 (3)丰富的型号。STM32仅M3内核就拥有F100、F101、F102、F103、F105、F107、 F207、F217等8个系列上百种型号,具有QFN、LQFP、BGA等封装可供选择。同时STM32还推 出了STM32L和STM32W等超低功耗和无线应用型的M3芯片。 (4)优异的实时性能。84个中断,16级可编程优先级,并且所有的引脚都可以作为中 断输入。 (5)杰出的功耗控制。STM32各个外设都有自己的独立时钟开关,可以通过关闭相应 外设的时钟来降低功耗。 (6)极低的开发成本。STM32的开发不需要昂贵的仿真器,只需要一个串口即可下载 代码,并且支持SWD和JTAG两种调试口。SWD调试可以为你的设计带来跟多的方便,只需要2 个IO口,即可实现仿真调试。 2.内部结构 STM32跟其他单片机一样,是一个单片计算机或单片微控制器,所谓单片就是在一个芯 片上集成了计算机或微控制器该有的基本功能部件。这些功能部件通过总线连在一起。就 STM32而言,这些功能部件主要包括:Cortex-M内核、总线、系统时钟发生器、复位电路、 程序存储器、数据存储器、中断控制、调试接口以及各种功能部件(外设)。不同的芯片 系列和型号,外设的数量和种类也不一样,常有的基本功能部件(外设)是:输入/输出接 口 GPIO、定时/计数器TIMER/COUNTER、串行通信接口USART、串行总线I2C和SPI或I2S、SD 卡接口 SDIO、USB 接口等