超低功耗+高性能的里程碑——Nucleo-L432KC评测
[导读]意法半导体构建了新型架构,得益于其高度灵活性,达到了同类最佳的超低功耗性能。STM32L4 MCU在比较超低功耗微控制器效率的标准化EEMBC™ ULPBench®测试中获得123分(世界纪录)。此外,STM32L4系列打破了超低功耗领域的性能限制。基于带有FPU的ARM® Cortex®-M4内核以及意法半导体ART Accelerator™,该系列在80 MHz的CPU频率下性能达到100 DMIPS。
一.前言
意法半导体公司(STMicroelectronics)发布的其超高能效的ARM Cortex-M4 STM32L4系列微控制器为能耗敏感的应用带来更高能效,比如穿戴式设备、医用监视器、工业传感器、智能生活设备。
STM32L4系列可以根据微处理器运行时不同的应用需求来适时调整电压从而实现功耗的动态平衡。该功能适用于停止模式的低功耗外设(LP UART、LP定时器)、安全和保密特性、大量智能外设,以及诸如运算放大器、比较器、LCD、12位DAC和16位ADC(硬件过采样)等先进的低功耗模拟外设。
STM32L4系列有5个产品线:STM32L4x1(基本型系列),STM32L4x2(USB Device),STM32L4x3(USB Device, LCD),STM32L4x5(USB OTG)和STM32L4x6(USB OTG, LCD)。存储容量范围从256KB到1024KB闪存,64KB到128KB SRAM存储器,引脚数量从64到144。
目前Nucleo开发板有三种硬件形态,分配是Nucleo-32、Nucleo-64、Nucleo-144,分别如下图。
二.Nucleo-L432KC开箱
本次拿到的是Nucleo-L432KC ,采用的是与所有Nucleo-32系列相同的塑料透明包装。包装左上角标明了这块开发板的微处理是STM32L432,属于超低功耗的STM32L4系列。右下部分便藏着今天的主角——Nucleo-L432KC 。
包装盒的背面,是快速使用规范和开发Nucleo-L432KC 所需要的系统需求,以及可用于Nucleo-L432KC 开发板的开发工具,可以看到了有Keil、IAR和基于GCC的IDE,还有目前ARM大力推行的云端开发工具mbed。
包装内物品非常简单,就只有一份介绍页和Nucleo-L432KC 开发板。Nucleo-L432KC 开发板标注了兼容Arduino Nano 接口的引脚,介绍页上还标注了其对应的GPIO,十分方便开发人员进行查询。
以下是Nucleo-L432KC 各方位的高清图。
三.硬件介绍
Nucleo-L432KC 使用的是STM32L432KC作为微处理器,属于ARM Cortex-M4架构,主时钟为80MHz。片内FLASH为256KB,SRAM为64KB。其主要特点如datasheet截图:
Nucleo-32系列是由两部分组成,背面是由STM32F103CBT6设计而成的板载的ST-LINK/V2-1,可以给开发板进行调试和程序下载。正面是STM32L432KC组成的最小系统和兼容Arduino Nano的座子。默认SB4和SB17断路,系统主时钟使用内部晶振,也可由ST-LINK的STM32F103CBT6的MCO提供。
在Nucleo-L432KC 的官网主页上,不仅可以下载到相关的资料,还可以得到该板的电路原理图和PCB图。根据扩展名PrjPCB,可以看出是Altium Designer的工程文件。
使用Altium Designer打开MB1180.PrjPCB工程文件,里面包含Nucleo-L432KC 的电路原理图,分为3部分:整体框架图、MCU的电路图和STLINK电路图,还有原理图库和PCB元件封装库。
打开PCB文件,可以看到整体各Layer的排版、各线路的走线、线宽等,本开发板采用4层板,做工精致。ST毫无保留的把PCB文档提供给用户,十分方便用户设计自己的原理图,最终应用到项目中。
电源部分,开发板可使用USB供电或者使用管脚座子的外部Vin(6.5V~15V)进行供电或者管脚座子的5V ,无论是哪种供电,都需要经过U3 LDO LD39050PU33R把5V转成3.3V再给STM32供电。在JP1跳冒处串联一只电流表,即可测量STM32L432KC的电流。
开发板还预留出了一些丝印为SBXX的焊盘,用户可根据自己的需求来选择使用一些功能。比如不需要使用板载的LD3灯,则去掉SB15焊盘上的0欧姆电阻即可。
四.软件介绍
对于STM32软件的开发,笔者习惯使用STM32CubeMX和Keil搭配使用。STM32CubeMX可以很方便的配置STM32复杂的时钟系统、添加各种组件,例如图形库,RTOS等,生成初始化代码。使用Keil进行应用程序编写和代码调试。STM32CubeMX不仅仅是一个强大的图形初始化配置工具,还可以测试使用各外设下的功耗。
2014年,ST公司推出了一个STM32所有系列的通用库stm32Cube,该库进行了重新设计,分为驱动层、中间层、硬件抽象层、应用层,用户只需要了解硬件抽象层提供的API,便可以在应用层进行开发。我们可以从ST官网上下载到该库,库里包含了开发所要用的驱动文件还有示例Demo。
同样,也可以在mbed进行软件开发。目前已经支持10家公司的微处理器,而支持的开发板已经接近100块。Nucleo-L432KC 刚刚发布,在mbed上就能找到,可见ST效率之高,
地址为:http://developer.mbed.org/platforms/ST-Nucleo-L432KC/
在mbed进行开发,优点是不需要专门的IDE,只要在网页上就可以编程,比如Windows、Linux、Mac Os浏览器打开后就可以进行代码输入、工程管理,
甚至在手机上也可以进行这种操作,同时,开发者可以使用mbed提供的大量的封装好的库来进行上层开发,
不再需要考虑驱动配置。缺点是目前效率偏低,不能进行调试。
五、功耗测试
在ST官网可以看到各模式下电流消耗的情况。该成绩有其他公司的同类产品相比,处于领先地位。
在ST公司提供的库文件当中,在Examples的PWR目录里面,有11个在不同模式下的低功耗例子。
首先将如下图所示,将万用表调到直流的mA或uA档,红黑探针分别接到Nucleo-L432KC 的JP1的IDD处。
JP1是给STM32L432KC 的供电跳帽,我们使用万用表串联到插针两边,
便可测得流入STM32L432KC 的电流。
六.总结
ST发布的STM32L4系列符合物联网的发展趋势,尤其是其片上外设-低功耗高精度16位ADC(硬件过采样)将在传感器数据采集方面发挥重要作用。
七.资料下载
STM32L432KC数据手册:
http://www.st.com/content/st_com/zh/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32l4-series.html
STM32社区的STM32讨论版块:
https://www.stmcu.org.cn/module/forum/forum-244-1.htmlSTM32CubeL4库地址:
http://www.st.com/web/en/catalog/tools/PF260508
STM32L4 Keil.STM32L4xx_DFP.1.2.0.pack 下载:
http://az717401.vo.msecnd.net/pack/Keil.STM32L4xx_DFP.1.2.0.pack
Keil MDK下载:
http://www.keil.com/download/product/
相关推荐:
NUCLEO-L432KC官方技术文档
STM32 L4系列超低功耗微控制器官方介绍
STM32L4单片机参考设计
STM32单片机官方开发工具一览
|