*阅读说明:以下仅做简要总结展示,排名不分先后。详细测评过程描述、源码、资料等请戳原链接查看。
硬件开箱和资料学习。
今年研究过Nordic的开发板,使用过Zephyr,欣喜的看到,其对 NUCLEO-U5A5ZJ-Q 提供的支持:ST Nucleo U5A5ZJ Q —Zephyr Project Documentation。于是赶紧试了一下,快速建立起了NUCLEO-U5A5ZJ-Q 的Zephyr开发环境。把构建NUCLEO-U5A5ZJ-Q 的Zephyr开发环境的步骤,给大家分享。
(1)板载LED (2)PWM控制LED源码 (3)添加自定义引脚使用PWM控制输出 (4)总结
在Zephyr中,测试NUCLEO-U5A5ZJ-Q 的CAN通信功能。
是在Zephyr系统中,直接使用lvgl驱动 NUCLEO-U5A5ZJ-Q 连接的SSD1306 OLED显示屏,来显示中英文字符,以及绘图。
在之前的文章中分享过使用lvgl在ssd1306oled上进行显示。但ssd1306为单色屏,显示的效果较为一般。我手头有一个DFRobot的IPS高清彩屏,经过测试,可以在NUCLEO-U5A5ZJ-Q上使用,下面就是使用分享。
分享了在 NUCLEO-U5A5ZJ-Q 开发板上,使用WS2812B 炫彩灯环的经验,展示的效果,包括按照顺序亮灭灯环上的灯珠,已经根据简谱点亮对应数量的灯珠。
之前分享了驱动DFRobot高清彩屏使用lvgl显示动态仪表盘,这篇文章在此基础上,获取SHT3x温湿度传感器的信息,然后使用仪表盘显示温湿度信息。
单片机的交互信息,通常是用uart输入串口信息,作为STM32U5A5,他的运行频率为160MHz,而且接口信息丰富,可以用LCD屏来做为输出信息,这样比较直观,再也不用开串口助手来观察了。本文就驱动LCD屏来做为此款开发板试用的第一篇。
stm32U5系列默认是没有freertos的配置,需要自己安装freertos包,当然大家也可以自己通过源码安装。但是安装stm32的freertos包,在工程管理方面要简单得很多,stm32CubeIDE可以轻松的帮开发者配置相关的代码。
TM32U5A5带有RTC(实时时钟),RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。stm32CubeIDE可以轻松的帮开发者配置相关的代码。本实验只实现时间的读取与展示。
LVGL能实现非常简约美观的UI界面,前面移植好显示后,这章移植LVGL,实现一个对LED灯控制的小实例。
STM32U5系列拥有一个FDCAN,在AN5348中,详细的描述了FDCAN相比于CAN2.0的优势,从原来的支持8个字节,到64个字节的传送。并且提升到2M的传输速。
使用STM32CubeMX(安装过程不阐述了),创建一个寄出代码,实现简单的LED功能,实现板子的运行和环境搭建的验证。
基于前面的demo例程,我们利用三个GPIO驱动了LED。接下来可以继续添加一下板载的按钮和串口打印功能。
前面我们实现了LED、按钮和串口打印,这次我们将LED的简单GPIO驱动改成PWM方式的呼吸灯。
前面已经点过LED,手上正好有一条WS2812B的灯带,上面有16颗灯珠,想着用STM32U5的SPI来驱动以下吧,将点灯进行到底。灯条的控制只需要接5V的电源以及SPI主机的MOSI引脚。5V就接到板子上的5V电源引脚即可。
手上有一块带电阻式触摸的TFT的彩屏,基于ILI9341和XPT2046,很早就想动手调试一番,这次正好借着性能强劲的STM32U5的测评来一次LIL9341的显示驱动调试。
前面调试好了ILI液晶的驱动这回来尝试一下触摸芯片的。XPT2046 是一款 4 线制电阻式触摸屏控制器,内含 12 位分辨率 125KHz 转换速率逐步逼近型 A/D 转换器。
LVGL是一个高度可裁剪、低资源占用、界面美观且易用的嵌入式系统图形库,对硬件的要求比较低,可以较为流畅的运行在单片机上。不依赖特定的硬件平台,可以在任何显示屏上运行,并且完全开源,对按钮,触摸,编码器旋钮等支持的非常到位。
本次测评的板卡是NUCLEO-U5A5ZJ-Q,进行开箱以及点灯、串口输出操作。在板卡的介绍中,板载的芯片为STM32U5A5ZJT6Q,在STM32系列芯片中属于超低功耗的高性能MCU。
I2C外设使用以光照传感器信息读取。I2C接口是很多传感器使用的通讯接口,在低功耗应用中,传感器的使用也是很普遍的。本文使用开发板的I2C接口来读取ISL29035光照传感器的数据。
支持I2C接口的传感器种类有很多,本文对使用STM32U5的I2C读取HS3003温湿度传感器的数据进行介绍。
支持I2C接口的传感器种类有很多,本文对使用STM32U5的I2C读取NST112温湿度传感器的数据进行介绍。
用ThreadX点个灯。在最新的系列芯片,ST将RTOS和USB协议栈都转向了ThreadX和USBX。
STM32U5 Series系列有几个型号内部嵌入了 USB OTG 高速设备/主机/OTG外设,并集成了收发器,.这些型号包括STM32U59x/5Ax/5Fx/5Gx。USB-IF 已通过通用串行总线规范 USB 2.0 认证。如果要使用高速USB,必须确保内部的USB PHY PLL产生精确的60MHz时钟。内部嵌入高速USB PHY可以省掉了使用外部高速USB外设带来的麻烦,这样对有高速数据传输需求的项目带来更多的便利。
上电后MCU默认处于运行模式,可以根据需要设置相应的低功耗模式来降低功耗。功耗的测试直接将万用表接入到电路板的IDD上,测试的代码比较简单,可以直接调用系统的函数。
STM32U5的一个特性就是超低功耗,如果想要获取更低的功耗就需要在空闲的时候进入到低功耗模式,之前我们测试过几种低功耗模式的功耗对比。考虑到具体的功耗和进入低功耗后恢复后状态,STOP是一个比较适合的模式。进入和退出STOP模式后,STM32的SRAMs 和寄存器的内容不会丢失。
开发板上电后,可以通过用户按键SW1来体验出厂默认程序。
收到开发板有一些时间了,今天开始点灯。
继续点灯,使用PWM来个呼吸灯。
NUCLEO-U5A5ZJ-Q是STM32Nucleo-144 开发板,带有 STM32U5A5ZJ MCU、SMPS,支持 Arduino、STZio 和 morpho 连接。STM32U5A5ZJ是最新的STM32U5系列的产品之一。
STM32U5系列提供了基于Arm®Cortex®-M33内核的低功耗高级微控制器,以满足智能应用所需的严苛的功耗与性能要求,这些应用包括可穿戴设备、个人医疗器械、家庭自动化和工业传感器。
STM32U5A5ZJ是带FPU的超低功耗160 MHz Arm Cortex-M33 MCU,采用Trust Zone技术,具有4 MB Flash存储器。
|