STM32微处理器介绍
4-STM32系列微控制器开发简介

杰出的功耗控制
代码在F1ash中以72 MHz的全速运行时,如果外部时钟开启,处理器仅消耗27 mA 电流; 待机状态时极低的电能消耗,典型的耗电值仅为2μA; 提供2.0~3.6 V的低电压工作能力,使CPU可以运用于电池供电系统。
B R T
电子系统设计
出众及创新的外设
可达12 Mbit/s的USB接口、高达4.5 Mbit/s的USART接口、可达18 Mbit/s的SPI 接口、可达400 kHz的I2C接口、最大翻转频率为18 MHz的GPIO、可使用最高72 MHz 时钟输入的PWM定时器、可达48 MHz的SDIO接口、从8 kHZ至96 kHz的I2S接口、 转 换时间为1μs,多达3个12位ADC、2通道12位DAC、2个独立的CAN接口、10/100 Mbit/s 自适应、硬件IEEE 1588规范的以太网接口。
B R T
电子系统设计
STM32处理器 分类:
B R T
电子系统设计
Cortex-M3 CPU 36/72 MHz
闪存 接口
最大512KB 闪存存储器 最大64KB SRAM
JTAG/SW 调试 嵌入式跟踪宏单元 嵌套向量中断控制器 1个系统时基定时器 多达12个DMA通道 SDIO SD/SDIO/MMC/CE-ATA CRC校验 桥
ARM
ARM公司于2007年推出的嵌人式开发工具MDK,是用来开发基于ARM内核微控 制器的嵌人式应用程序的开发工具; ARM公司的RealView编译工具集是面向ARM技术的编译器中,能够提供最佳性 能的一款编译工具;
B R T
电子系统设计
Keil MDK
Keil MDK集Keil公司的IDE环境μVision和ARM公司的RealView编译工具RVCT两 者优势于一体,提供了包括C编译器、宏汇编、链接器、库管理和一个功能强 大的仿真调试器在内的完整开发方案,通过一个集成开发环境(μVision)将这 些功能组合在一起; Keil MDK也是目前为数不多的完全支持Cortex-M3处理器开发的企业级开发工 具,并内含STM32F10x系列处理器片上外设固件库(Firmware Library)和完 整的数据手册; μVision当前最高版本是μVision4,它的界面和常用的微软VC++的界面相似, 界面友好,易学易用,适合不同层次的开发者使用。
STM32使用说明

STM32使用说明STM32是一系列由STMicroelectronics公司开发的32位微控制器,它们集成了处理器核、存储器和外设,并能够在嵌入式系统中控制硬件设备。
STM32系列芯片为工业控制、汽车电子、消费电子等领域的各种应用提供了高性能和低功耗的解决方案。
下面将介绍STM32的使用说明,包括其主要特性、开发工具和开发流程。
首先,STM32微控制器的主要特性如下:1. 32位核心处理器:STM32系列采用ARM Cortex-M处理器,具有高性能和低功耗的特点。
2.多种型号选择:STM32微控制器有多种不同型号可供选择,包括主频、封装、存储容量等方面的差异,以满足不同应用的需求。
3.丰富的外设:STM32集成了丰富的外设,包括通用输入输出(GPIO)、通用串行接口(USART)、SPI接口、I2C接口、定时器和PWM 生成器等,可用于连接各种外部传感器和执行器。
4.低功耗模式:STM32支持多种低功耗模式,通过灵活地控制功耗,可以延长电池寿命或减少功耗。
5. 丰富的开发生态系统:STMicroelectronics为STM32提供了完整的开发工具链和开发文档,包括编译器、调试器、开发板和软件库等,方便开发者进行应用开发和调试。
其次,STM32的开发工具包括以下几个方面:1. STM32Cube软件套件:这是STMicroelectronics提供的一套软件工具,用于开发和配置STM32芯片。
它包括STM32CubeMX配置工具和STM32Cube库,可以帮助开发者生成初始化代码、配置外设和生成项目模板。
2. Keil MDK:Keil是ARM公司提供的一套开发工具,包括C编译器、调试器和集成开发环境(IDE),可以用于编写、编译和调试STM32的应用程序。
3. IAR Embedded Workbench:IAR是一家瑞典公司开发的嵌入式开发工具,包括C编译器、调试器和IDE,在STM32的开发中也有广泛应用。
stm32芯片简介

单片机存储器处理器成本STM32背景如果你正为项目的处理器而进行艰难的选择:一方面抱怨16位单片机有限的指令和性能,另一方面又抱怨32位处理器的高成本和高功耗,那么,基于ARM Cortex-M3内核的STM32系列处理器也许能帮你解决这个问题。
使你不必在性能、成本、功耗等因素之间做出取舍和折衷。
即使你还没有看完STM32的产品手册,但对于这样一款融合ARM和ST技术的“新生儿”相信你和我一样不会担心这款针对16位MCU应用领域的32位处理器的性能,但是从工程的角度来讲,除了芯片本身的性能和成本之外,你或许还会考虑到开发工具的成本和广泛度;存储器的种类、规模、性能和容量;以及各软件获得的难易,我相信你看完本专题会得到一个满意的答案。
对于在16位MCU领域用惯专用在线仿真器(ICE)的工程师可能会担心开发工具是否能够很快的上手?开发复杂度和整体成本会不会增加?产品上市时间会不会延长?没错,对于32位嵌入式处理器来说,随着时钟频率越来越高,加上复杂的封装形式,ICE已越来越难胜任开发工具的工作,所以在32位嵌入式系统开发中多是采用JTAG仿真器而不是你熟悉的ICE。
但是STM32采用串行单线调试和JTAG,通过JTAG调试器你可以直接从CPU获取调试信息,从而将使你的产品设计大大简化,而且开发工具的整体价格要低于ICE,何乐而不为?有意思的是STM32系列芯片上印有一个蝴蝶图像,据ST微控制器产品部Daniel COLONNA 先生说,这是代表自由度,意在给工程师一个充分的创意空间。
我则“曲解”为预示着一种蝴蝶效应,这种蝴蝶效应不仅会对方案提供商以及终端产品供应商带来举足轻重的影响,而且会引起竞争对手策略的改变……翅膀已煽动,让我们一起静观其变!STM32市面上流通的型号截至2010年7月1日,市面流通的型号有:基本型:STM32F101R6 STM32F101C8 STM32F101R8 STM32F101V8 STM32F101RBSTM32F101VB增强型:STM32F103C8 STM32F103R8 STM32F103V8 STM32F103RBSTM32F103VB STM32F103VE STM32F103ZESTM32系列的作用简介ARM公司的高性能”Cortex-M3”内核1.25DMips/MHz,而ARM7TDMI只有0.95DMips/MHz一流的外设1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻转速度低功耗在72MHz时消耗36mA(所有外设处于工作状态),待机时下降到2μA最大的集成度复位电路、低电压检测、调压器、精确的RC振荡器等简单的结构和易用的工具 STM32F10x重要参数2V-3.6V供电容忍5V的I/O管脚优异的安全时钟模式带唤醒功能的低功耗模式内部RC振荡器内嵌复位电路工作温度范围:-40°C至+85°C或105°C STM32F101性能特点36MHz CPU 多达16K字节SRAM 1x12位ADC温度传感器 STM32F103性能特点72MHz CPU多达20K字节SRAM 2x12位ADC 温度传感 PWM定时器 CAN USBSTM32互联型系列简介:全新STM32互连型(Connectivity)系列微控制器增加一个全速USB(OTG)接口,使终端产品在连接另一个USB设备时既可以充当USB主机又可充当USB 从机;还增加一个硬件支持IEEE1588精确时间协议(PTP)的以太网接口,用硬件实现这个协议可降低CPU开销,提高实时应用和联网设备同步通信的响应速度。
stm32的工作原理

stm32的工作原理STM32是一种微控制器系列,由STMicroelectronics公司开发和生产。
它采用了ARM Cortex-M内核,广泛用于各种嵌入式系统中。
其工作原理如下:1. 内核架构:STM32 MCU使用ARM Cortex-M内核,这是一种高性能、低功耗的32位处理器。
它具有丰富的指令集和高效的流水线结构,可实现快速、准确的数据处理和控制。
2. 外设和功能模块:STM32 MCU集成了各种外设和功能模块,包括通用输入/输出端口(GPIO)、模拟到数数字转换器(ADC)、通用定时器(TIM)、串行通信接口(USART、I2C、SPI)等。
这些外设和功能模块通过专用的总线结构与内核连接,可以实现各种不同的应用需求。
3. 存储器系统:STM32 MCU包含了不同类型的存储器,包括闪存、RAM和EEPROM。
闪存用于存储代码和数据,RAM用于临时存储数据,而EEPROM用于非易失性数据存储。
这些存储器可以支持程序执行和数据存储,保证了STM32 MCU的灵活性和可靠性。
4. 电源管理:STM32 MCU提供了先进的电源管理功能,包括低功耗模式和快速唤醒机制。
它可以根据应用需求选择不同功耗级别,从而优化能耗和性能之间的平衡。
5. 开发和调试工具:开发人员可以使用各种开发环境和工具,如Keil MDK、IAR Embedded Workbench等,进行STM32MCU的开发和调试。
这些工具提供了丰富的调试功能和开发资源,帮助开发人员快速完成嵌入式应用的开发和测试。
总而言之,STM32 MCU利用ARM Cortex-M内核、丰富的外设和功能模块、灵活的存储器系统以及强大的开发和调试工具,实现了高性能、低功耗、可靠的嵌入式系统设计和开发。
它在物联网、工业自动化、消费电子等领域得到了广泛应用。
stm32单片机的工作原理

stm32单片机的工作原理STM32单片机是一款广泛应用于嵌入式系统的微控制器,具有高性能、低功耗和丰富的外设资源等特点。
本文将详细介绍STM32单片机的工作原理,并对其各个部分进行解析。
一、概述STM32单片机是由意法半导体(STMicroelectronics)公司开发的一款32位微控制器。
它采用了先进的ARM Cortex-M内核,非常适用于嵌入式控制应用。
STM32单片机具有丰富的外设资源,如通用IO口、定时器、通信接口(如USART、SPI、I2C)等,可以满足不同应用的需求。
二、内核结构STM32单片机的内核结构采用了Harvard体系结构,主要由处理器核、存储器和总线组成。
处理器核负责指令执行和数据处理,存储器用于存储程序代码和数据,总线则用于连接处理器核和存储器。
1. 处理器核STM32单片机的处理器核采用了ARM Cortex-M系列的核心。
它具有强大的计算能力和高效的指令执行速度,支持多种指令集和调试接口,能够满足不同应用的需求。
处理器核负责执行存储在存储器中的程序代码,控制外设的操作,并根据指令完成相应的数据处理。
2. 存储器STM32单片机的存储器分为Flash存储器和RAM存储器两部分。
Flash存储器用于存储程序代码和常量数据,可在电源关闭后保持数据的不变性。
RAM存储器用于存储临时的变量和数据,速度较快但断电后数据会消失。
3. 总线STM32单片机的总线用于连接处理器核和存储器,同时也用于连接外设。
总线分为数据总线、地址总线和控制总线三部分。
数据总线用于传输数据,地址总线用于指定存储器或外设的地址,控制总线用于传递读写和控制信号。
三、外设资源STM32单片机具有丰富的外设资源,可以满足各种嵌入式控制应用的需求。
这些外设包括通用IO口、定时器、通信接口等。
1. 通用IO口通用IO口是STM32单片机最常用的外设之一,它可以配置为输入或输出,用于连接外部设备或传感器。
通用IO口的数量和类型取决于具体型号,一般都有多个引脚可供使用。
4 STM32微处理器

中断现象(外部原因触发 )
是指CPU暂停程序当前应该执行的工作,去处理其他的突发事 件,主程序的执行处于暂停的状态。 主程序 中断服务程序
中断请求 随机、突发
异常现象(内部原因导致 )
是指CPU遇到了无法响应的工作,然后进入一种非正常状 态。主程序的执行处于暂停状态,去执行异常处理程序。
2017/12/13
Cortex-M3内核主要特性 采用哈佛处理器架构 采用Thumb-2技术和指令集架构 采用三级流水线和分支预测技术 能实现32位单周期乘法 能实现2~12周期硬件除法 具有Thumb状态和调试状态 具有处理器模式和线程模式 可实现ISR的低延迟进入和退出 具有可中断-继续的LDM/STM、PUAH/POP指令 具有ARMv6类型BE8/LE(字节不变大端/小端)支持 可实现ARMv6非对齐访问
2017/12/13 20
异常向量表
异常类型 地址偏移 异常向量
0
1 2 3 4 5 6 7~10 11 12 13 14
0x00
0x04 0x08 0x0C 0x10 0x14 0x18 0x1c~0x28 0x2C 0x30 0x34 0x38
MSP的超始地址
复位 NMI
2017/12/13
11
寄存器
链接寄存器
寄存器R14用作链接寄存器LR。 该寄存器用于子程序或函数调用时保存返回地址。
程序计数器
寄存器R15用作程序计数器PC。 该寄存器用于指示当前的指令地址。可以写这个寄存器以 控制程序流,即是说,如果对它进行修改,就改变了程序 的走向。
特殊功能寄存器
中断程序状态寄存器(IPSR)
执行状态寄存器(EPSR)
stm32的组成

stm32的组成STM32是一款由STMicroelectronics公司生产的32位微控制器系列,广泛应用于嵌入式系统领域。
STM32微控制器由核心处理器、存储器、外设和引脚等组成,其丰富的特性和强大的性能使其成为嵌入式系统设计的首选。
1. 核心处理器:STM32微控制器使用ARM Cortex-M系列核心处理器,如Cortex-M0、Cortex-M3、Cortex-M4等。
这些处理器具有低功耗、高性能和丰富的指令集,适用于嵌入式应用。
它们提供了高效的计算能力、良好的实时性能和出色的能源管理。
2. 存储器:STM32微控制器具有不同容量和类型的存储器,包括闪存存储器、RAM和EEPROM。
闪存存储器用于存储程序代码和数据,RAM用于临时存储数据,EEPROM用于非易失性存储。
存储器的大小和类型可以根据具体应用的需求进行选择。
3. 外设:STM32微控制器提供了丰富的外设,包括通用输入/输出口(GPIO)、通用串行总线(USART、SPI、I2C)、通用定时器和计数器(TIM)、模拟至数字转换器(ADC)、数字至模拟转换器(DAC)、通用同步/异步收发器(USART、USB、CAN)等。
这些外设可以满足不同嵌入式系统的需求,实现各种功能。
4. 引脚:STM32微控制器的引脚用于连接外部器件,如传感器、执行器、显示屏和通信设备等。
引脚的数量和类型根据具体微控制器型号的不同而有所差异,可满足不同应用的连接需求。
微控制器的引脚也具有多种功能,如GPIO、模拟输入、定时器输入捕获等。
5. 电源管理:STM32微控制器提供了多种电源管理功能,包括低功耗模式、供电电压检测、时钟管理等。
低功耗模式可以使微控制器在待机或睡眠状态下降低功耗,延长电池寿命。
供电电压检测用于监测供电电压的稳定性,保证微控制器正常工作。
时钟管理用于控制微控制器的时钟频率和源。
6. 开发工具:STM32微控制器配套了一系列的开发工具,如集成开发环境(IDE)、调试器和编译器等。
STM32简介

10、电压调节:调压器有3种运行模式:主(MR),低功耗(LPR)和 掉电。MR用在传统意义上的运行模式,LPR用在停止模式,掉电用在 待机模式。 11、低功耗模式:STM32F103xx支持3种低功耗模式。休眠模式:只有 CPU停止工作,所有外设继续运行,在中断/事件发生时唤醒CPU;停 止模式:允许以最小的功耗来保持SRAM和寄存器的内容。设备可以通 过外部中断线从停止模式唤醒。外部中断源可以使16个外部中断线之 一,或者RTC警告。待机模式:追求最少的功耗,在进入待机模式之 后,除了备份寄存器和待机电路,SRAM和寄存器的内容也会丢失。当 外部复位(NRST引脚),IWDG复位,WKUP引脚出现上升沿或者TRC警 告发生时,设备退出待机模式。进入停止模式或者待机模式时, TRC,IWDG和相关的时钟源不会停止。
4、嵌套矢量中断控制器(NVIC):可以处理43个可屏蔽中断通道 (不包括Cortex-M3的16根中断线),提供16个中断优先级。 5、外部中断/事件控制器(EXTI):外部中断/事件控制器由用于19 条产生中断/事件请求的边沿探测器线组成。每条线可以被单独配置 用于选择触发事件(上升沿,下降沿,或者两者都可以),也可以被 单独屏蔽。 6、时钟和启动:在启动的时候还是要进行系统时钟选择,但复位的 时候内部8MHz的晶振被选用作CPU时钟。可以选择一个外部的4-16MHz 的时钟,并且会被监视来判定是否成功。多个预比较器可以用于配置 AHB频率,高速ASB最高的频率为72MHz,低速APB最高的频率为36MHz。
STM32F103性能特点
内核:ARM32位Cortex-M3 CPU,最高工作频率72MHz,1.25MIPS/MHz。 单周期乘法和硬件除法。 存储器:片上集成32-512KB的Flash存储器。6-64KB的SRAM存储器。 时钟、复位和电源管理:2.0-3.6V的电源供电和I/O接口的驱动电压。 4-16MHz的晶振。内嵌出厂前调校的8MHz RC振荡电路。内部40 kHz的 RC振荡电路。用于CPU时钟。带校准用于RTC的32kHz的晶振。 低功耗:3种低功耗模式:休眠,停止,待机模式。 调试模式:串行调试和JTAG接口。 DMA:12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC 和USART。 2个12位的uS级的A/D转换器(16通道):A/D测量范围:0-3.6 V。双 采样和保持能力。片上集成一个温度传感器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STM32微处理器介绍班级:测控一班姓名:学号:**********2015年11月Stm32是07年意法半导体生产的一款以Cortex—M3为内核的32位微控制器,不但功能强大,功耗低,而且性价比十分可观。
意法半导体公司的STM32微控制器具有32位字长的CPU,使用精简指令系统(RISC)。
精简指令系统的指令字长固定,译码方便,相对于复杂指令系统(CISC),精简指令系统的处理效率更高。
具有32位字长CPU的STM32系列微控制器的处理能力远高于8位和16位单片机,同时集成了与32位CPU相适应的强大外设(如双通道ADC、多功能定时器、7通道DMA、SPI等),能够完成过去一般单片机所无法达到控制功能。
现在,已经形成了以8位单片机为主流的低端产品和以32位微控制器为主流的高端产品两大市场。
对于自动化领域的从业人员,了解32位微控制器的结构、特点,掌握其使用方法,是很有必要的。
STM32微控制器的结构与MCS—51单片机是相似的,也是用读写寄存器来使用内部的个部件。
但是,STM32的规模庞大,远非51内核单片机可比。
完成一个复杂的功能,可能需要操作多个寄存器的多个位,掌握其使用方法确有一定难度。
为了解决这个问题,意法半导体公司提供了固件库。
有了固件库,我们就可以调用函数来实现所需要的功能,这比通过操作寄存器实现就容易多了。
STM32集成了太多的外设,对于一个控制项目,可能很多外设是用不上的。
为了尽量降低功耗,所有外设的时钟在复位后都是关闭的,这样外设就不工作也不耗电。
如果要使用某个外设,首先要打开它的时钟,以及进行一些相关的初始化。
对端口写“0”或“1”,有4种方法可使用。
Stm32是07年意法半导体生产的一款以Cortex—M3为内核的32位微控制器,不但功能强大,功耗低,而且性价比十分可观。
意法半导体为缩短stm32的上市时间,提供了大量的固件函数库,即包含stm32所有内外设功能的库函数。
Stm32的编程有两种可选,一种是调用库函数,另一种是直接操作寄存器。
先来讲讲直接操作寄存器。
Stm32的寄存器共有300个左右,数量非常庞大,给编程带来困难。
而且,由于stm32与avr的芯片架构不同,stm32是不可以直接操作寄存器名称的,也就是说,不能像avr那样直接给寄存器的名称赋值;而只能通过宏定义让一个变量由指针指向寄存器所在的地址,也就是说直接操作寄存器所在的地址。
所以,每用到一个寄存器都需要宏定义一个寄存器。
STM32微处理器基于ARM核,所以很多基于ARM嵌入式开发环境都可用于STM32开发平台。
开发工具都可用于STM32开发。
选择合适的开发环境可以加快开发进度,节省开发成本。
对于32位嵌入式处理器来说,随着时钟频率越来越高,加上复杂的封装形式,ICE已越来越难胜任开发工具的工作,所以在32位嵌入式系统开发中多是采用JTAG仿真器。
STM32采用串行单线调试和JTAG,通过JTAG调试器你可以直接从CPU获取调试信息,从而将使你的产品设计大大简化,而且开发工具的整体价格要低于ICE。
STM32系列简介STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。
按性能分成两个不同的系列:STM 32F103“增强型”系列和STM32F101“基本型”系列。
增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。
两个系列都内置32K到512K的闪存,不同的是SRAM的最大容量和外设接口的组合。
时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。
STM32系列的特性ARM公司的高性能”Cortex-M3”内核:1.25DMips/MHz,而ARM7TDMI只有0.95DMips/MHz一流的外设:1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI,18MHz的I/O翻转速度。
STM32新系列产品的功能:STM32互连型系列产品分为两个型号:STM32F105和STM32F107。
STM32F105具有USB OTG 和CAN2.0B接口。
STM32F107在USB OTG 和CAN2.0B接口基础上增加了以太网10/100 MAC模块。
片上集成的以太网MAC支持MII和RMII,因此,实现一个完整的以太网收发器只需一个外部PHY芯片。
只使用一个25MHz晶振即可给整个微控制器提供时钟频率,包括以太网和USB OTG外设接口。
微控制器还能产生一个25MHz或50MHz的时钟输出,驱动外部以太网PHY层芯片。
音频功能方面,新系列微控制器提供两个I2S音频接口,支持主机和从机两种模式,既用作输入又可用作输出,分辨率为16位或32位。
音频采样频率从8kHz到96kHz。
把U盘插入微控制器的USB OTG接口,可以现场升级软件;也可以通过以太网下载代码进行软件升级。
这个功能可简化大型系统网络(如远程控制器或销售终端设备)的管理和维护工作。
充分发挥STM32架构的优势:除新增的功能强化型外设接口外,STM32互连系列还提供与其它STM32微控制器相同的标准接口,这种外设共用性提升了整个产品家族的应用灵活性,使开发人员可以在多个设计中重复使用同一个软件。
新STM32的标准外设包括10个定时器、两个12位1-Msample/s 模数转换器(交错模式下2-Msample/s)、两个12位数模转换器、两个I2C接口、五个USART 接口和三个SPI端口。
存储器和封装选项:新系列产品沿用增强型系列的72MHz处理频率。
内存包括64KB到512KB闪存和20KB 到64KB嵌入式SRAM。
新系列采用LQFP64、LQFP100、LFBGA100和LQFP144四种封装,不同的封装保持引脚排列一致性。
STM32F系列产品均带16位定时器/6通道16位PWM输出/RTC/看门狗/温度传感器/单周期乘法指令和硬件除法指令/超低功耗(90MIPS消耗电流36mA)/超快中断控制器。
STM32的核心Cortex-M3处理器是一个标准化的微控制器结构,Cortex-M3处理器拥有32位CPU,并行总线结构,嵌套中断向量控制单元,调试系统以及标准的存储映射。
STM32最初发布时有14个不同型号,分为两个版本:最高CPU时钟为72MHZ的“增强型”和最高CPU时钟为36MHZ的“基本型”。
这些不同STM32型号里内置的Flash最大可达128KB。
一般,STM32都会配备常见外设,诸如多通道ADC,通用定时器,I2C总线接口,SPI总线接口,CAN总线接口,USB控制器,实时时钟RTC等。
但是,它的每一个外部设备都具有独特之处。
例如,12位精度的ADC具备多种转换模式,并带有一个内部温度传感器,带有双ADC的STM32器件,还可以使两个ADC同时工作,从而衍生出了更为高级的9种转换模式;STM32的每一个定时器都具备4个捕获比较单元,而且每个定时器都可以和另外的定时器联合工作以生成更为精密的时序;STM32有专门为电机控制而设的高级定时器,带有6个死区时间可编程的PWM输出通道,同时其带有的紧急制动通道可以在异常情况出现时,强迫PWM信号输出保持在一个预订好的安全状态;SPI接口含有一个硬件CRC单元,支持8位字节和16位半字数据的CRC计算。
而且,STM32还包含了7个DMA通道,都可以用来在设备与内存之间进行8位,16位,32位数据的传输。
每个设备都可以向DMA控制器请求发送或者接收数据。
STM32内部总线仲裁器和总线矩阵将CPU数据接口和DMA通道之间的连接大大的简化了。
STM32是低功耗,高性能的微控制器。
在低功耗方面,STM32表现也是不错的。
它可以在2V供电的情况下运行,在所有设备同时打开且运行在满速72MHZ主频的情况下,也仅消耗36mA的电流,在与Cortex-M3内核的低功耗模式结合之后,只有2uA的电流消耗。
即便外部振荡器处在待启动状态,STM32使用内部8MHZ的RC振荡器也可迅速退出低功耗模式。
这种快速进出低功耗模式的特性,也进一步降低了微控制器整体的功率消耗,同时使微控制器仍然可以保持器件的整体高性能。
在电子领域,对器件的要求精度高是一方面,另一方面,还要求器件稳定性要好,处于可靠性的考虑,STM32配备了一系列硬件来支持对可靠性的高度要求。
这些硬件有:一个低电压检测器,一个时钟安全管理系统和两个看门狗定时器。
时钟管理系统可以检测到外部主振荡器的失效,并随即安全的将STM32内部8MHZ的RC振荡器切换为主时钟源。
在现代电子设计行业中,有一个问题是无法逃避的,那就是你不得不想方设法提高代码的安全性以防止被破解人员盗用。
STM32可以锁住其内部Flash使破解人员无法通过调试端口读取其内容。
当Flash的读保护功能开启后,其写保护功能也随之开启。
写保护功能常用于防止一些来历不明的代码写入中断向量表。
但是,写保护不仅可以保护中断向量表,还可以进一步将其保护范围延伸到整个Flash中的未被使用区域。
另外,STM32还有一小块电池备份RAM区,这个RAM区域对应于一个入侵检测引脚应用,当这个引脚上产生电平变化时,STM32会认为遭遇了入侵事件,随即自动将电池备份RAM区的内容全部清除。
对于STM32来说,一些早期微控制器比如早期的STR7和STR9发布的ANSI C库和源代码都是可移植的。
这些程序的接口已经在许多流行的编译工具上得到了整合。
相似的,许多开源的或者商用的RTOS,还有一些中间件(比如TCP/IP栈,文件系统)对以STM32系列微控制器来说也是可用的。
STM32上的CoreSight还提供断点数据查看功能以及一个指令跟踪器。
指令跟踪器可以将用户选择的应用信息上传到调试工具里。
从而可以为用户提供额外的调试信息,并且它在软件运行期间同样可以使用!STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。
按性能分成两个不同的系列:STM32F103“增强型”系列和STM32F101“基本型”系列。
增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。
两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。
时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。