低功耗模式
该器件支持多种功耗模式,以实现低功耗、短启动时间、可用外设和可用唤醒源之间的最佳折衷。
默认情况下,在系统或上电复位后,微控制器处于运行模式,范围1:
- 休眠模式:CPU时钟关闭,所有外设包括CPU核心外设(包括NVIC、SysTick)都可以运行,当发生中断或事件时唤醒CPU。
- LPRun(低功耗运行模式):当系统时钟频率降低至2MHz以下时。代码从SRAM或闪存执行。稳压器在低功率模式,以尽量减少工作电流。
- LPSleep(低功耗睡眠模式):从LPRun模式进入。
- 停止0和停止1模式:SRAM1和SRAM2和所有的寄存器的内容将被保留。VCORE域内所有时钟都停止,PLL,MSI,HSI16和HSE32都被禁用,LSI和LSE都保持运行。
RTC可以保持活动状态(有RTC的停止模式,没有RTC的停止模式)。低于ghz的无线电可能独立于CPU保持活动状态。
复位模式
为了改善复位下的消耗,复位下和复位后的I/O状态为“模拟状态”(I/O斯密特触发器被禁用)。另外,当复位源为内部复位时,内部复位上拉不激活。
外设互连矩阵
几个外围设备之间有直接连接。这允许在外设之间进行自主通信,从而节省CPU资源,从而降低电源消耗。此外,这些硬件连接允许快速和可预测的延迟。
根据外设的不同,这些互连可以在运行、睡眠、LPRun、LPSleep、停止0、停止1和停止2模式下运行。
Reset and clock controller(RCC)复位和时钟控制器
以下不同的时钟源可以用来驱动系统时钟(SYSCLK):
- HSI16(高速内部)16MHz RC 振荡器时钟
- MSI(多速度内部)RC振荡器时钟从100kHz到48MHz
- HSE32(高速外置)32MHz振荡器时钟,带微调电容
- 锁相环时钟
复位启动后,MSI作为系统时钟源,配置为4MHz
设备有以下额外的时钟源:
- LSI:32KHz的低速内部RC,可以驱动独立的看门狗和可选的RTC用于自动唤醒从停机和待机模式。
- 32.768KHz低速外部振荡器,可选地驱动用于从停止,待机和关机模式或实时时钟(RTCLK)自动唤醒的RTC。
每个时钟源可以在不使用时单独开启或关闭,以优化功耗。
几个预分频器可用于配置AHB频率(HCLK3/PCLK3,HCLK1),高速APB2(PCLK2)和低速APB1(PCLK1)域。
AHB(HCLK3、HCLK1)、PCLK1和PCLK2域的最大频率为48MHz。
大多数外设时钟都是从它们的总线时钟(HCLK、PCLK)派生而来,以下几种除外:
- 用于真正RNG的时钟
- ADC时钟
- DAC在采样和保持模式下使用LSI时钟
- (LP)U(S)ART的时钟(由软件选择)
硬件信号量(HSEM)
HSEM提供了一个基于16位寄存器的信号量。
信号量可用于确保内核上运行的不同进程之间的同步。
HSEM提供了一种非阻塞机制,以原子方式锁定信号量,提供以下功能:
- 锁定信号量有两种方式:两步锁:通过向信号量写入COREID和PROCID,然后进行读检查。一步锁:通过从信号量中读取编码
- 当信号量被解锁时产生中断:每个信号量可能在其中一条中断线上产生中断。
- 信号量清除保护:只有当COREID和PROCID匹配时,信号量才会被解锁。
- 每个COREID清除全局信号量
通用输入/输出口(GPIOs)
每个GPIO引脚都可以通过软件配置为输出(推挽或开漏),输入(带或不带或上拉或下拉)或辅助功能。
大多数GPIO引脚与数字或模拟替代功能共享。由于它们在AHB总线上的映射,可以实现快速I/O切换。
如果需要,可以按照特定的顺序锁定I/O复用功能配置,以避免对I/O寄存器进行虚假写入。
直接内存访问控制器(DMA)
DMA(直接存储器访问)用于在外设和存储器之间以及存储器到存储器之间提供高速数据传输。
数据可以通过DMA快速移动,而无需任何CPU操作。这样可以为其它操作保留空闲的CPU资源。
DMA控制器总共有14个通道。
一个完整的交叉矩阵允许具有DMA支持的外设映射到任何可用的DMA通道上。每个DMA通道都有一个仲裁器,用于处理DMA请求之间的优先级。
DMA主要特性如下:
- 14个可独立配置的通道(请求)
- 外围设备和所有14个通道之间的完整交叉矩阵以及通过DMAMUX1的硬件触发可能性
- 来自一个DMA通道的请求之间的软件可编程优先级(四个级别:非常高、高、中、低),以及在对等情况下的硬件优先级管理(例如:请求1由于请求2)
- 独立的源和目标传输大小(字节,半字,字),模拟打包和拆包。源/目的地址必须在数据大小上对其。
- 支持循环缓冲区管理
- 三个事件标志(DMA半传输,DMA传输完成和DMA传输错误),逻辑上在每个通道的单个中断请求中组合在一起。
- 内存到内存传输
- 外设到内存、内存到外设和外设到外设的传输
- 访问闪存,SRAM,APB和AHB外设,作为源和目的地
- 可编程的数据传输数(最多65536)
DMAMUX1用于将具有DMA源支持的外设路由到任何DMA通道。
嵌套向量中断控制器(NVIC)
该设备嵌入了一个能够管理16个优先级的NVIC,并处理多达62个可屏蔽中断通道上追加Cortex-M4的16条中断线。
NVIC的好处如下:
- 低延迟中断处理
- 中断入口向量表地址直接传递到核心
- 中断的早期处理
- 处理延迟到达的高优先级中断
- 处理器状态自动保存
- 中断入口在中断出口时恢复,没有指令开销
NVIC硬件块以最小的中断延迟提供灵活的中断管理功能。
扩展中断/事件控制器(EXTI)
EXTI通过可配置和直接的事件输入来管理唤醒。
它向电源控制提供唤醒请求,并向CPU NVIC生成中断请求和向CPU事件输入生成事件。
可配置事件/中断来自能够产生脉冲的外设,并允许在事件/中断触发边缘和软件触发之间进行选择。
直接事件/中断来自具有自己的清除机制的外设。
循环冗余校验(CRC)
CRC计算单元用于从8位、16位或32位数据字和生成多项式中获得CRC码。
在其它应用中,基于CRC的技术用于验证数据传输或存储的完整性。
在功能安全校准的范## 标题围内,它们提供了一种验证闪存完整性的方法。
模数转换器(ADC)
本机12位ADC嵌入到器件中。
它可以通过硬件采样扩展到16位分辨率。
ADC有多达12个外部通道和4个内部通道(温度传感器、参考电压、VBAT监控、DAC输出)。
ADC在单镜头或扫描模式下执行转换。在扫描模式下,对一组选定的模拟输入进行自动转换。
ADC频率独立于CPU频率,即使在CPU速度较低的情况下,也允许最大采样率位~2Msps。自动关断功能保证ADC除主动转换阶段外处于断电状态。
ADC可以由DMA控制器提供服务。它可以在整个VDD供电范围内运行。
ADC具有多达256个采样的硬件过采样器,将分辨率提高到16位。参考应用说明通过过采样(AN2668)提高STM32F1系列、STM32F3系列和STM32Lx系列ADC分辨率。
模拟看门狗能允许非常精确地监测一个,一些或所有扫描通道的转换电压。当转换电压超出程序设定的阈值时,就会产生中断。
由通用定时器(TIMx)生成的事件可以在内部连接到ADC启动触发器,以允许应用程序与定时器同步A/D转换。
温度传感器
温度传感器(TS)产生随温度线性变化的VTS电压。
温度传感器内部连接ADC VIN输入通道,将传感器输出电压转换为数字值。
传感器提供良好的线性,但它必须校准,以获得良好的整体精度的温度测量。由于温度传感器的偏移量可能因工艺变化而异,因此未校准的内部温度传感器仅适用于相对温度测量。
为了提高温度传感器的精度,每个部件都由ST单独进行工厂校准。结果校准数据存储在设备工程字节中,可在只读模式下访问。
内部基准电压(VREFINT)
VREFINT为ADC和比较器提供稳定的(带隙)电压输出。VREFINT内部连接ADC VIN[13]输入通道。
真随机数生成器(RNG)
该设备嵌入了一个真正的RNG,可提供由集成模拟电路生成的32位随机数。
RNG是一个真正的随机数生成器,它为应用程序提供32位样本的全熵输出。它由一个活熵源(模拟)和一个内部调节组件组成。
高级加密标准硬件加速器(AES)
AES加密或解密数据,使用完全符合FIPS(联邦信息处理标准)第197号出版物中定义的高级加密标准(AES)的算法和实现。
支持多种链模式(ECB,CBC,CTR,GCM,GMAC,CCM),密钥大小为128或256位。
AES支持传入和传输数据的DMA传输(需要两个DMA通道)。
公钥加速器(PKA)
PKA用于计算加密公钥原语,特别是与RSA (Rivest, Shamir和Adleman), Diffie-Hellmann或ECC(椭圆曲线加密)在GF§(伽罗瓦域)上相关的原语。这些操作在Montgomery域中执行。
定时器和看门狗
这些器件包括一个高级16位定时器,一个通用32位定时器,两个16位基本定时器,三个低功耗定时器,两个看门狗定时器和一个SysTick定时器。
超前控制定时器
高级控制定时器TIM1可以看作是两个通道上的三相PWM多路复用。
每个通道具有可编程插入死区时间的互补PWM输出。每个通道也可以看作是完整的通用计时器。
4个独立通道可用于:
- 输入捕获
- 输出比较
- PWM产生(边缘或中心对齐模式)具有全调制能力
- 单脉冲模式输出
在调试模式下,TIM1计数器可以冻结,PWM输出被禁用,以关闭由这些输出驱动的任何电源开关。
许多特性与使用相同体系结构的通用计时器(将在下一节中描述)共享。然后,TIM1可以通过外设互连矩阵与TIM2一起工作,用于同步或事件链。
通用定时器(TIM2,16,17)
每个通用定时器可用于产生PWM输出,或作为一个简单的时基。
定时器2主要特点:
- 功能齐全的通用定时器
- 四个独立通道用于输入捕获/输出比较,PWM或单脉冲模式输出
- 在调试模式下可以冻结的计数器
- 独立的DMA请求生成,支持正交编码器
定时器16和定时器17的主要特点:
- 具有中等功能的通用定时器
- 16位自动加载计数器和16位分频器
- 一个通道和一个互补通道
- 通道,可以全部用于输入捕获/输出比较,PWM或单脉冲模式输出
- 在调试模式下可以冻结的计数器
- 独立的DMA请求生成