1. 资源介绍
2. MPU
内存保护单元(MPU)被用来管理CPU对内存的访问,以防止一个任务意外损坏内存或其他活动任务使用的资源。
MPU特别适用于必须保护一些关键或认证代码以防止其他任务的错误行为的应用程序。它通常由实时操作系统管理。
如果一个程序访问一个被MPU禁止的内存位置,实时操作系统可以检测到它并采取行动。
在RTOS环境中,内核可以根据将要执行的进程动态地更新MPU区域设置。
3. Embedded Flash memory
读出保护(RDP)保护整个存储器。有三个级别可供选择:
- 0级:无读数保护
- 1级:内存读出保护:如果调试功能被连接,在RAM中引导或引导加载程序被选择,那么闪存不能被读取或写入
- 2级:芯片读出保护:调试属性(Cortex-M0+串行线),RAM引导和引导加载程序选择被禁用。这种选择是不可逆转的。
写保护(WRP):受保护的区域被保护,以防止擦除和编程。每个bank可以选择2千字节粒度的两个区域。
整个非易失性内存内嵌纠错码(ECC)功能支持:
- 单一错误检测和校正
- 双错误检测
- 从ECC寄存器读出ECC失败地址
4. Boot modes
在启动时,引导针和引导选择器选项位被用来选择三个引导选项中的一个:
- boot from User Flash memory
- boot from System memory
- boot from embedded SRAM
引导引脚与标准GPIO共享,可以通过引导选择器选项bit禁用。引导加载程序位于系统内存中。它管理闪存重新编程通过USART上的引脚PA9/PA10, PC10/PC11或PA2/PA3,通过i2c总线上的引脚PB6/PB7或PB10/PB11,或通过SPI上的引脚PA4/PA5/PA6/PA7或PB12/PB13/PB14/PB15。
5.Power supply management
5.1 Power supply schemes
5.2 Power supply supervisor
该设备有一个集成的开机/关机(POR/PDR)复位活动在所有电源模式下,并确保开机和关机时的正确操作。
当电源电压低于VPOR/PDR阈值时,它保持设备在复位状态,而不需要外部复位电路。
5.3 Voltage regulator
两个嵌入式线性稳压器,主稳压器(MR)和低功率稳压器(LPR),提供设备中的大部分数字电路。
MR用于运行模式和睡眠模式。
LPR用于低功耗运行、低功耗休眠和停止模式。
在待机模式下,两个稳压器都断电,它们的输出设置在高阻抗状态,使它们的电流消耗接近于零。
5.4 Low-power modes
默认情况下,微控制器在系统或电源重新设置后处于运行模式。用户可以选择下面描述的低功耗模式之一:
- Sleep mode:在睡眠模式下,只有CPU被停止。所有外设继续工作,并可以唤醒CPU时,中断/事件发生。
- Low-power run mode:这种模式是通过低功率调节器提供的压核来实现的,以最小化调节器的工作电流。代码可以在SRAM或Flash中执行,CPU频率限制在2mhz。具有独立时钟的外围设备可以用HSI16时钟计时。
- Low-power sleep mode:此模式是从低功耗运行模式进入的。只有CPU时钟停止。当唤醒被事件或中断触发时,系统将恢复到低功耗运行模式。
- Stop 0 and Stop 1 modes:在停止0和停止1模式下,设备在保持SRAM和寄存器内容的同时降低了最低的功耗。VCORE域中的所有时钟都停止。锁相环,以及HSI16 RC振荡器和HSE晶体振荡器被禁用。LSE或LSI继续运行。RTC可以保持活动(停止模式有RTC,停止模式没有RTC)。
- Standby mode:待机模式用于实现最低功耗,POR/PDR在此模式下始终处于活动状态。
关闭主稳压器以关闭VCORE域电源。
关闭低功率调节器。锁相环,以及HSI16 RC振荡器和HSE 晶体振荡器也关闭电源。
RTC可以保持活动(有RTC时待机模式,没有RTC时待机模式)。
5.5 Reset mode
在退出复位期间和复位之后,I/Os的schmitt触发器被禁用,以减少功耗。此外,当复位源是内部的,内置的NRST引脚上的上拉电阻是失活的。
5.6 VBAT operation
VBAT功率域,消耗很少的能量,包括RTC, LSE振荡器和备份寄存器。
在VBAT模式下,RTC域由VBAT管脚提供。例如,电源可以是外接电池或外接超级电容器。两个防篡改检测引脚是可用的。
RTC域也可以由VDD/VDDA引脚提供。
通过内置开关,内部电压管理器允许自动切换RTC域供电之间的VDD和VBAT引脚电压,以确保RTC域(VBAT)的供电电压保持在有效的工作条件下。
如果两个电压都是有效的,RTC域从VDD/VDDA引脚提供。
如果VDD电压在有效范围内,用于在VBAT引脚上充电电池的内部电路可以被激活。
外部中断和RTC报警/事件不能导致微控制器退出VBAT模式,因为在该模式下VDD不在有效范围内。
6. Clocks and startup
时钟控制器将来自不同振荡器的时钟分布到核心和外围设备。它还管理时钟门控的低功率模式,并确保时钟鲁棒性。它的特点:
- Clock prescaler: 为了获得速度和电流消耗之间的最佳平衡,CPU和外设的时钟频率可以通过可编程预分频器进行调整
- Safe clock switching: 时钟源可以在运行模式中通过配置寄存器安全地更改动态。
- Clock management:为了降低功耗,时钟控制器可以将时钟停止到核心、个别外设或内存。
- System clock source: 三种不同的来源可以提供SYSCLK系统时钟:
- 4-48 MHz高速振荡器,外接晶体或陶瓷振荡器(HSE)。它可以为系统锁相环提供时钟。HSE也可以配置为外部时钟的旁路模式。
- 16 MHz高速内部RC振荡器(HSI16),可通过软件调整。它可以为系统锁相环提供时钟。
-系统锁相环,最大输出频率为64 MHz。可配HSE或HSI16钟送料。 - Auxiliary clock source: 两种用于实时时钟(RTC)的超低功耗时钟源:
- 32.768 kHz低速振荡器与外部晶体(LSE),支持四种驱动能力模式。LSE也可以配置为使用外部时钟的旁路模式。
- 32 kHz低速内部RC振荡器(LSI)±5%的精度,也用于时钟的独立看门狗。 - Peripheral clock sources: 一些外围设备(I2S, USARTs, I2Cs, ADC)有自己独立于系统时钟的时钟。
- Clock security system (CSS): 当HSE时钟发生故障时,系统时钟自动切换到HSI16,如果启用,则生成一个软件中断。LSE时钟故障也可以检测到并产生中断。CCS功能可以通过软件启用。
- Clock output: - MCO(微控制器时钟输出)提供一个内部时钟供外部使用的应用程序
- LSCO(低速时钟输出)在所有低功耗模式下提供LSI或LSE (VBAT操作除外)。
几个预分频器允许应用程序配置AHB和APB域时钟频率,最大64 MHz。
7.Timers and watchdogs
7.1 Advanced-control timer (TIM1)
高级控制定时器可以看作是6通道复用的三相PWM单元。它有互补的PWM输出与可编程插入死时间。它也可以被看作是一个完全通用的计时器。4个独立通道可用于:
input capture
output compare
PWM output (edge or center-aligned modes) with full modulati on capability (0-100%)
one-pulse mode output
7.4 Independent watchdog (IWDG)
独立看门狗是基于8位预分频器和12位下降计数器与用户定义刷新窗口。
它从一个独立的32 kHz内部RC (LSI)时钟。独立于主时钟,它可以在停止和待机模式下工作。
它既可以用作看门狗,在出现问题时重置设备,也可以用作*运行的计时器,用于应用程序超时管理。
它是通过选项字节配置的硬件或软件。
它的计数器可以在调试模式下被冻结。
7.5 System window watchdog (WWDG)
窗口看门狗是基于一个7位下降计数器,可以设置为*运行。
当出现问题时,它可以作为看门狗对设备进行复位。
它是由系统时钟计时的。
它具有预警中断能力。
它的计数器可以在调试模式下被冻结。
7.6 SysTick timer
这个定时器专门用于实时操作系统,但它也可以用作一个标准的下降计数器。SysTick定时器的特点:
•24位下行计数器
•自动加载能力
•计数器达到0时可屏蔽系统中断生成
•可编程时钟源
8. Real-time clock (RTC), tamper (TAMP) and backup registers
该设备嵌入一个RTC和五个32位备份寄存器,位于硅芯片的RTC域。
RTC是一个独立的BCD定时器/计数器。
RTC的特点:
- BCD(二进制编码的十进制)格式的日历,包括分秒、秒、分、小时(12或24格式)、星期、日、月、年
- 自动校正28,29(闰年),30,和31天的月
- 可编程的报警
- 实时修正从1到32767 RTC时钟脉冲,可用于与主时钟同步
- 参考时钟检测-一个更精确的二次源时钟(50或60赫兹)可以用来提高日历精度
- 数字校准电路,0.95 ppm的分辨率,以补偿石英晶体的不准确性
- 两个可编程滤波器的防篡改检测引脚
- 时间戳功能,以保存日历快照,触发事件上的时间戳针,篡改事件或切换到VBAT模式
- 17位自动重载唤醒计时器(WUT)的周期性事件,具有可编程的分辨率和周期
- 多个时钟源和参考:
- 32.768 kHz外部晶体(LSE)
-外部谐振器或振荡器(LSE)
-内部低功率RC振荡器(LSI,标配频率为32 kHz)
-高速外部时钟(HSE)除以32
当由LSE时钟时,RTC工作在VBAT模式和所有低功耗模式。
当被LSI时钟时,RTC不工作在VBAT模式,但它在低功耗模式。
所有RTC事件(Alarm, WakeUp Timer, Timestamp或Tamper)都可以产生一个中断,将设备从低功耗模式中唤醒。
如果VBAT管脚上提供了有效的备份电源电压,那么备份寄存器允许在VDD故障的情况下保留20字节的用户应用程序数据。
它们不受系统复位、电源复位和设备从待机模式唤醒时的影响。