
ST在使用NUCLEO (NUCLEO -64)系列开发板推广其Cortex-M内核MCU取得成功后,再接再厉推出了32引脚的NUCLEO-32 和144引脚的NUCLEO-144 ,通过差异化的配置使受众更加广泛。今天要测试的是非常小巧的STM32L031-NUCLEO-32,板载的是低功耗系列的入门级芯片STM32L031。感谢与非网和ST官方提供的开发板,同时感谢苏柚和沐紫的辛勤劳动! ; a7 u/ \5 H8 A* k/ J ![]() ; f5 s& E9 S! z6 H 1、关于L0系列和STM32L031 STM32 L0 MCU 作为ST低功耗MCU系列中的一员,其每个部分都通过优化达到了卓越的低功耗水平,是一款功耗性能破纪录的真正超低功耗MCU,其采用的Cortor-M0+内核与STM32超低功耗特性的独有结合,使STM32 L0非常适合电池供电或供电来自能量收集的应用。整个系列不断的完善和推出新品,满足各个方面的需求。 " ]8 Y3 ~ {6 t1 y ![]() 3 l) ~$ X& a$ O. u STM32 L0提供了动态电压调节、超低功耗时钟振荡器、LCD接口、比较器、DAC及硬件加密。新的自主式外设(包括USART、I²C、触摸传感控制器)分担了ARM Cortex-M0+内核的负荷,减少了CPU唤醒次数,因此有助于减少处理时间及功耗。它还内置有其它一些增值特性,例如16位ADC(硬件过采样)、无需外晶振的USB、超低功耗模式中的短唤醒时间及低功耗模式下仍可工作的通信外设,实现了集成特性、高性能与超低能耗之间的完美平衡。STM32 L0具有高达64 KB闪存、8 KB RAM及高达2 KB的嵌入式EEPROM(无需闪存模拟),采用32到64针封装,包括节省空间的WLCSP36。 其整个系列通过外设的不同又分为STM32L0X1、STM32L0X2、STM32L0X3: ![]() 2 ^; C( l4 O0 Y2 F# v STM32L0x1基本型为STM32 L0系列的入门级产品,提供WLCSP32小封装,具有高达64 K字节闪存、高达8 K字节RAM及高达2 K字节嵌入式EEPROM 此系列还具有带DMA功能的外设、实时时钟、低功耗时钟、硬件加密模块以及每秒100 K采样时仅需48 µA的超低功耗12位ADC。 由于极低的运行时功耗,STM32L0x1系列非常适合鼠标或键盘等应用。得益于嵌入式的硬件加密模块(128位AES)及超低功耗模式时仍能工作的外设,它也适合燃气表和水表等工业应用。L0系列拥有丰富的产品线,根据不同配置分布如下: . P) Z) m8 U2 F: u; c4 q ![]() 7 q- ~: u1 Q7 P/ m% {8 P STM32L031作为入门级的一员,其低功耗功能相当优秀,各个模式模式功耗如下: , X }& G4 y- L( P# O! F · 0.25 uA Standby mode (2 wakeup pins) · 0.38 uA Stop mode (16 wakeup lines) · 0.68 uA Stop mode + RTC + 8 KB RAM retention · Down to 76 uA/MHz in Run mode · 5 us wakeup time (from Flash memory) · 41 uA 12-bit ADC conversion at 10 ksps 除了优秀的功耗消耗,STM32L031 外设也非常丰富,除了常用的外设外,还有能到低功耗模式下运行的LPTIM和LPUART能使系统功耗进一步的降低。 ![]() 内核及外设整体结构 ![]() D/ o: |) U, e: _ 2、关于NUCLEO-STM32L031-32 开发板 NUCLEO-STM32L031-32开发板给我们第一感觉是非常小巧,但是板载资源依然非常丰富,用于调试的STlink、复位按键、测电流的引脚、LED、Arduino-Nano、该有的都有了,一点都不逊色于我们非常熟悉的NUCLEO-64开发板。 正面是主芯片STM32L031 : X, }& h! @* C3 S/ H: |4 R ![]() " `1 {9 H0 e7 f9 C9 s' P) l9 q 背面是STlink 使用的STM32F103 ![]() 由于板载了ST-LINK/V2-1,不但给我们调试带来了方便,同时还有Virtual Com port 和Mass storage . 虚拟串口可以方便用于调试输出信息了PC端串口。 ![]() Mass storage .功能则可以和mbed一起使用在线编写代码下载运行 5 j, G6 Q8 o1 |. v' G' i ![]() $ R1 T; S- [+ |* S2 j: u 通过mbed网站能看到板子上的引出的外设,我们可以根据下图外设引脚的分布连接自己的 外设搭建测试平台,这样能在项目前期进行快速的评估 ![]() 除了在线免费的IDE之外mbed还有很多开源的丰富的例子学习参考。 3、关于测试程序 下面使用keil5创建一个测试程序用于简单的打印信息及点亮LED,在使用keil5开发前要安装STM32L031对应的PACK和相应的开发包STM32Cubel0。关于如何使用STM32Cubel0里面的文件以及如何创建一个工程模板可以参考之前的一个帖子里面的最后的 Cube详解和keil建立工程部分 在main函数里面简单的打印信息和点亮LED:
输出信息如下: ![]() 上面很简单的对L0系列及STM32L031进行了介绍,并测试了STM32L031-NUCLEO-32的串口外设打印信息。L0系列的重点在于其低功耗的休眠和低功耗外设的使用,低功耗的休眠测试可以参考STM32CUBEL0里面的详细的例子,低功耗外设也有对应的测试DEMO。LPUART和LPTIM的使用可以参考下之前L4的时候写的几个测试例子,主要是低功耗下串口唤醒和低功耗下PWM输出:LPTIM在STOP1模式下输出PWM 在最后面有详细的代码。 测试DEMO及相应的文档: ![]() |
分享一个STM32L031的串口调试程序
基于STM32L051使用CubeMX生成工程文件ST系列芯片通用经验分享
基于STM32L051开始添加需要的代码经验分享
STM32L051测试I2C协议设备的添加经验分享
基于STM32L051测试Flash和EEPROM的读写
基于STM32L051串口测试与Enocean模块通讯问题
基于STM32L0的EEPROM读写经验分享
基于STM32L0 ADC使用HAL库关于校准问题经验分享
【工程师笔记】汇总处
【经验之谈】基于STM32L053芯片使用STM32CUBE软件开发低功耗设备的经验分享
感谢N神支持!
感谢点赞。L0X1是没有USB接口但是可以扩展外部USB控制器用于鼠标键盘等设备。
感谢风神!!
没有仔细看,好像是预留的STLINK-SWD接口。
必须的