32位 ARM Cotrex-M4 CPU
32MHz晶体振荡器
32 kHz RTC振荡器与校准
20x32位备份寄存器
引导程序支持USART和SPI接口
介绍
STM32WLE5/E4xx远程无线和超低功耗器件嵌入了强大的超低功耗LPWAN兼容无线电解决方案,支持以下调制:LoRa,(G)FSK,(G)MSK和BPSK。
LoRa®调制仅适用于STM32WLx5xx。
这些器件被设计为功耗极低,基于高性能ARM Cortex-M4 32位RISC内核,工作频率高达48MHz。该核心实现了一套完整的DSP指令和一个独立的内存保护单元(MPU),提高了应用程序的安全性。
这些设备嵌入高速存储器(高达256 kb的闪存,高达64 kb的SRAM),以及广泛的增强型I/ o和外设。
该器件还为嵌入式闪存和SRAM嵌入了几种保护机制:读出保护、写入保护和专有代码读出保护。
这些器件提供一个12位ADC、一个12位DAC低功耗采样保持器、两个超低功耗比较器以及一个高精度参考电压发生器。
该器件嵌入了一个低功耗RTC,带有一个32位亚秒唤醒计数器,一个16位单通道计时器,两个16位四通道计时器(支持电机控制),一个32位四通道计时器和三个16位超低功耗计时器。
这些设备还嵌入了两个DMA控制器(每个7个通道),允许内存(闪存,SRAM1和SRAM2)和外设之间的任何传输组合,使用DMAMUX1进行灵活的DMA通道映射。
这些器件还具有以下标准和高级通信接口:两个USART(支持LIN、智能卡、IrDA、调制解调器控制和ISO7816)、一个低功耗UART (LPUART)、三个i2c (SMBus/PMBus)、两个spi(最高16 MHz,一个支持I2S)、用于处理器固件进程同步的信号量。
工作温度/电压范围为-40°C ~ +105°C(带射频+85°C),电源为1.8 V ~ 3.6 V。一套全面的节能模式允许低功耗应用的设计。
VBAT专用电源允许LSE 32.768 kHz振荡器、RTC和备份寄存器备份。即使主VDD不存在,设备也可以通过cr2032电池,超级电池或小型可充电电池保持这些功能。
框图
架构
该器件嵌入了一个sub-GHz RF子系统,该子系统使用ARM Cotrex-M4与通用微控制器子系统接口。
需要一个RF低层堆栈,它与主机应用程序代码一起在CPU上运行。
射频子系统的通信是通过内部SPI接口完成的。
Arm Cortex-M4
ARM Cortex-M4是一款嵌入式系统处理器。它的开发是为了提供一个满足MCU实现需求的低成本平台,具有减少的引脚数和低功耗,同时提供出色的计算性能和先进的中断响应。
Arm Cortex-M4 32位RISC处理器具有卓越的代码效率,在通常与8位和16位设备相关的内存大小下提供Arm核心所期望的高性能。
该处理器支持一组DSP,允许高效的信号处理和复杂的算法执行。
自适应实时内存加速器(ART Accelerator)
ART加速器是针对STM32工业标准ARM Cortex-M4处理器进行优化的内存加速器。
ART加速器平衡了ARM Cortex-M4相对于闪存技术的固有性能优势,后者通常需要处理器等待更高频率的闪存。
为了使处理器在48 MHz时的性能接近60 DMIPS, ART加速器实现了指令预取队列和分支缓存,从而提高了64位闪存的程序执行速度。基于CoreMark基准测试,ART Accelerator实现的性能相当于在高达48 MHz的CPU频率下从闪存执行0等待状态程序。
内存保护单元(MPU)
内存保护单元MPU(memory protection unit)用于管理CPU对内存的访问,防止某个任务以外损坏其他活动任务使用的内存或资源。这个存储区域被组织成多达8个保护区,这些保护区又被分成8个子区域。保护区域的大小介于32字节和整个4GB的可寻址内存之间。
对于必须保护某些关键代码或认证代码以防止其它任务的不当行为的应用程序,MPU特别有用。
它通常由RTOS(实时操作系统)管理。如果一个程序访问了MPU禁止的内存位置,RTOS可以检测到它并采取行动。
在RTOS环境中,内核可以根据要执行的进程动态更新MPU区域设置。
MPU是可选的,可以绕过不需要它的应用程序。
嵌入式闪存
闪存接口管理从CPU AHB ICode/DCode到闪存的访问。
实现了对内存的访问、测出和编程操作以及读写保护。
闪存的主要特性如下:
- 内存组织:1 Bank,主容量:最大256KB,页面大小:2KB。
- 72位宽数据读取(64位加8位ECC位)
- 72位宽数据写入(64位加8位ECC位)
- 页擦除和大量擦除
由于选项字节,可以配置灵活的保护:
读出保护(RDP)保护整个内存。有三个级别:
- 0级:无读出保护
- 1级:内存读出保护。如果连接调试功能,在SRAM或引导加载程序中启动,则不能从闪存读取或写入内存。
- 2级:芯片读出保护。调试功能(JTAG和串行线),在SRAM中启动和引导加载程序选择被禁用(JTAG保险丝)。这种选择是不可逆的。
WRP:保护区域不被擦除和编程。可以选择两个区域,粒度为4KByte。
- 专有代码读出保护:闪存的两个部分是可以防止第三方读取和写入。该保护区域是仅执行的:它只能被STM32 CPU作为指令码访问,而其它所有访问都是严格禁止的。
- 支持单词错误检测和纠正
- 双重错误检测
嵌入式SRAM
该器件具有高达64KB的嵌入式SRAM,分为两个块:
1.SRAM1:最大32KB,映射到地址0x2000 0000。
2.SRAM2:位于地址0x2000 8000的32KB(在SRAM1 32-KByte配置的情况下与SRAM1相邻),也镜像在0x1000 0000,具有硬件奇偶校验(此时SRAM可以保留在待机模式)。
在所有CPU时钟速度下,SRAM都可以在0等待状态下以读/写方式访问。
安全管理
设备包含许多安全块,例如:
- RNG
- AES:128位和256位AES,支持ECB、CBC、CTR、GCM、GMAC和CCM链模式
- PKA:模运算包括取幂,最大模大小为3136位。素数场上的椭圆曲线标量乘法,ECDSA签名,最大模大小为521位的ECDSA验证
- 循环冗余校验计算单元(CRC)
启动模式
在启动时,BOOT0引脚和BOOT1选项位用于选择以下启动选项之一:
- 从Flash启动
- 从嵌入式引导加载程序所在的位置启动
- 从SRAM启动
引导加载程序使从USART或SPI下载代码成为可能。
如果引导选择使用BOOT0引脚从主闪存引导,但是发现第一个闪存位置为空,则Flash空检查机制强制从系统内存引导。
可以通过配置选项字节(而不是BOOT0引脚)来禁用此功能,以强制从主闪存引导(nSWBOOT0 = 0, nBOOT0 = 1)。
Sub-GHz radio 低 GHz 无线电介绍
“Sub-GHz”是指低于1GHz的无线电频段。低GHz无线电具有以下特点:
- 穿透能力强:低GHz无线电波的波长较长,因此穿透墙壁等障碍物的能力更强。
- 覆盖范围广:低GHz无线电的传播距离较远,因此适合用于长距离传输。
- 功耗低:低GHz无线电的功率需求较低,因此适合用于电池供电的设备。
低 GHz 无线电在以下领域有着广泛的应用:
工业控制:低 GHz 无线电可以用于工业控制系统中的远程控制、数据采集等应用。
物联网:低 GHz 无线电可以用于物联网中的传感器网络、工业网络等应用。
军事通信:低 GHz 无线电可以用于军事通信中的战场通信、指挥通信等应用。
sub-GHz是一种超低功耗无线电,工作在150~960MHz ISM频段。
在发送和接收中采用LoRa和(G)FSK调制,仅在发送中采用BPSK/(G)MSK调制,可以在距离、数据速率和功耗之间实现最佳权衡。
sub-GHz无线电包括:
- 模拟前端收发器,其RFO_LP引脚输出最大功率为+ 15dbm, RFO_HP引脚输出最大功率为+ 22dbm
- 提供以下调制方案的数字调制解调器组:- LoRa Rx/Tx,带宽(BW)为7.8 - 500khz,扩频因子(SF)为5 - 12,比特率(BR)为0.013至17.4 Kbit/s(实际比特率)- FSK和GFSK Rx/Tx,带宽为0.6至300 Kbit/s - (G)MSK Tx,带宽为0.1至10 Kbit/s - BPSK Tx,比特率为100和600 bit/s
- 包括所有数据处理和sub-GHz无线电配置控制的数字控制
- 高速时钟发生器
sub-GHz 无线电描述
sub-GHz无线电提供一个内部处理单元来处理与系统CPU的通信。
通信由通过SPI接口发送的命令处理,并且使用一组中断来发送事件信号。
BUSY信息是操作活动的信号,用于指示何时无法接收到低GHz的无线电命令
发送器
发射链包括调制解调器的调制输出,该调制解调器直接调制RF-PLL。位流的可选预滤波可以使能,以减少邻近信道的功率,这也取决于所选的调制方案。RF-PLL的调制信号直接驱动高输出功率PA (HP PA)或低输出功率PA (LP PA)。传输数据包的有效载荷大小取决于调制方案。
电源管理
该器件嵌入两个不同的稳压器:一个LDO和一个DC/CD(SMPS)。
SMPS可以通过软件选择开关,以提高电源效率。由于LDO和SMPS并联工作,所以SMPS的接通对用户是透明的,只影响功率效率。
供电方案
器件要求VDD工作电压在1.8V和3.6V之间。
可以为特定的外设提供几个独立的电源(VDDSMPS, VFBSMPS, VDDA, VDDRF):
- VDD = 1.8 V ~ 3.6 V VDD是用于I/ o的外部电源,系统模拟模块如复位、电源管理、内部时钟和低功耗稳压器。它通过VDD引脚对外提供。
VDD = 1.8 V ~ 3.6 V VDD是用于I/ o的外部电源,系统模拟模块如复位、电源管理、内部时钟和低功耗稳压器。它通过VDD引脚对外提供。 - VDDSMPS = 1.8 V ~ 3.6 V VDDSMPS是SMPS降压转换器的外部电源。它通过VDDSMPS电源引脚对外提供,必须连接到与VDD相同的电源。