[STM32U0]

MCU优选 第4期: 低功耗体验篇,STM32U083开发板测评合集

[复制链接]
1639|0
手机看帖
扫描二维码
随时随地手机跟帖
21ic小能手|  楼主 | 2024-9-26 13:31 | 显示全部楼层 |阅读模式

*阅读说明:以下仅做简要总结展示,排名不分先后。详细测评过程描述、源码、资料等请戳原链接查看。


  • 测评一:

STM32U0支持多种低功耗模式,包括睡眠模式、停止模式和待机模式。根据应用的需求,选择合适的模式非常重要。
睡眠模式:CPU停止工作,但外设时钟保持开启。这种模式适用于外设需要持续运行但CPU不需要处理任务的场景。
停止模式:所有时钟都停止,但SRAM和寄存器内容保持不变。这种模式适用于需要快速唤醒的场景。
待机模式:功耗最低,关闭了1.8V的内核电源。这种模式适用于长时间不需要工作的场景。

低功耗通用异步接收发射机(LPUART)这些设备嵌入了三个LPUART。外围设备至少支持异步串行通信功率消耗以及半双工单线通信和调制解调器操作(CTS/RTS)。他们允许多处理器通信。LPUART具有独立于CPU时钟的时钟域,可以从停止模式唤醒系统使用高达220 Kbaud的波特率。

STM32U0   LPTIM 如何产生 PWM 主要涉及使用具有超低功耗(Ultra-Low Power, ULP)特性的定时器来生成脉冲宽度调制(Pulse Width Modulation, PWM)信号。ULP 定时器因其低能耗特性适用于电池供电设备或需要严格控制功耗的嵌入式系统。

用STM32U0驱动一款IIC 接口的OLED:OLED,即有机发光二极管(Organic Light Emitting Diode)。 OLED 由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。LCD 都需要背光,而 OLED 不需要,因为它是自发光的。这样同样的显示 OLED 效果要来得好一些。分辨率确可以做到很高。



  • 测评二:

MSI我以前是没有听说过的,也没有见过面的。我查了一下网络,好像说MSI是可变的晶振,由RC组成的。我打开了CUBAEMX很快就找到了MSI选项,我改变了一下晶振,发现就几种可变的。后面的晶振值都受影响。我觉得用MSI得慎重。

下载了CubeU0的安装包.这个是给CubeMX准备的,但也可以解压出来。做研究用。
我看到了其中的一个例程,LPTime的。

LPUART是一种UART,它可以在有限的功耗下实现双向UART通信。只需要32.768 kHz LSE时钟来启用高达9600包的UART通信。当LPUART由不同于LSE时钟的时钟时钟源时钟时,可以达到更高的波特率。即使微控制器处于低功耗模式,LPUART也可以等待输入的UART帧,同时能耗极低。LPUART包括所有必要的硬件支持,以使异步串行通信成为可能与最小的功耗。它支持半双工单线通信和调制解调器操作(CTS/RTS)。它还支持多处理器通信。DMA(直接存储器存取)可用于数据传输/接收。全双工异步通信NRZ标准格式(标记/空间)。

测低功耗电流很简单,在下载的U0Cube中有一个选择各种低功耗的例程。且用板载的串口,十分方便。

PLC就是通过串口通讯,集成了叫Modebus协议,这样才在工业界开始了它的用武之地。我最近看好了DMA,不用占CPU时间。干完活了告诉一声就行。那么来试试U0的DMA吧。



  • 测评三:
有点好奇这个芯片的coremark跑分,STM手册里数据这个数据在56MHZ时是136,也就是取得了2.39coremark/MHZ的成绩,接着第一篇测评贴自己动手试试看看自己环境是不是编译环境是不是有差距。

这一贴测评SPI。根据官方datasheet,芯片有3个spi控制器,都支持spimaster和spi slave,帧大小支持4bits -16bits,详细可参见datasheet。本帖就以SPI1为对象测试。外设的测试一般都会接上对应设备,比如i2c slave等等,但SPI比较特别,可以用杜邦线把MISO和MSOI针脚连接起来,形成externalloop,然后自发自收,这有点像linux下的spidev_test测试程序。根据笔者经验一般过了spidev_test,基本spi控制器没啥大问题了。

STM32U083支持如下这几种低功耗模式:sleep, low power run, low power sleep, stop0, stop1, stop2,standby, shutdown。笔者对前面六种低功耗模式比较感兴趣,所以想尝试下这些低功耗模式的进 入与唤醒。STM32Cube_FW_U0_V1.0.0中关于低功耗模式有无数个样例程序代码,那么能否只用一个程序只跑一次来测试这六种低功耗模式呢?笔者思考一番后实现了这样的代码,这就是标题中所谓一箭六雕。

阅读stm32u083的手册得知进入stop2低功耗模式后,uart是不能唤醒MCU的,只有LPUART具有此功能。故而如果需要利用uart唤醒stop2模式下的mcu,只能使用LPUART。

本轮STM32U083测评以开箱点灯开始,以LPTIMER来实现一个点灯程序作为本轮STM32U083测评的收尾。此次点灯特别的地方在于它充分利用STM32U083的众多低功耗模式的支持和LPTIMER特性实现超低功耗的点灯,思路是MCU toggle LED后就进入stop2模式,LPTIMER定时唤醒MCU,再toggleLED,如此循环往复。



  • 测评四:

STM32U083的GPIO(General Purpose Input/Output,通用输入/输出)端口常被用于与外部设备,LED灯和按键,进行交互。本帖是一个关于如何使用STM32U083的GPIO来点亮LED灯以及读取按键状态的简单测评。

使用STM32U083的ADC下面是我例的步骤,本帖是一个简化的STM32U083 ADC使用步骤概述。

TM32U083串口测试主要涵盖硬件配置、软件设置以及通信协议的验证等方面。本帖是针对STM32U083串口测试的详细步骤和要点。



  • 测评五:

前段时间做了一下IO的测试,至少证明环境搭建是没有问题的,今天来测试一下我们LPUART,本来是打算用例程然后外加串口来进行测试的,但是现在少了一个外接的串口,我查了一下原理图,发现是接的是PA2和PA3,这个正好也是LPUART1的复用的引脚。

说实话,没有使用过MSI,对于MSI的相关知识也是比较陌生的,所以今天就先过来看看,给大家科普一下MSI时钟,自己的理解不一定到位或者正确,大家一起学习进步吧。



  • 测评六:
目前ST针对这个系列的开发板包含NUCLEO-U083RCNUCLEO-U031R8等。本次试用的NUCLEO-U083RC基于STM32U083RCT6。

从通用性的角度来说,几种STOP模式通用性比较好,因为休眠时不工作,唤醒可以立即恢复工作。本帖重点介绍。

STM32U0里面有若干组LPUART和LPTIMER,这两者和GPIO,都可以作为STOP模式的唤醒源。
如果要使用STOP2模式,则一般的串口是无法工作的,只能选择使用LPUART。
所有的STOP模式下,一般的TIMER都无法工作,只能选择用LPTIMER。
而LPTIMER的时钟来源必须是LSE或者LSI,其他时钟源在STOP模式下不工作。



  • 测评七:




  • 关于 STM32U083
STM32U083x系列提供高达256KB的Flash存储器和高达40 KB的SRAM,具有八种封装方式,包括32至81引脚的UFQFPN、WLCSP、LQFP和UFBGA封装。

STM32U083x器件提供
一个12位ADC,两个内置的轨到轨模拟比较器,一个运算放大器
一个低功耗RTC,一个通用32位定时器,一个专门用于电机控制的16位PWM定时器,三个通用16位定时器以及三个16位低功耗定时器。
多达21个电容感应通道
三个I2C、两个SPI、四个USART和两个低功耗UART,以及一个支持设备模式的无晶振USB2.0。
一个带内部升压转换器的LCD控制器,可以驱动8x48或4x52个段码。

此外,STM32U083xC器件内置了一个AES硬件加速器。
163334vm9m9xt4sfg7q1zl.png.thumb.jpg


》》访问ST MCU论坛,可查看更多开源作品。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

155

主题

693

帖子

30

粉丝