发新帖本帖赏金 10.00元(功能说明)我要提问
12下一页
返回列表
打印
[STM32L0]

“超低功耗,看这里”——NUCLEO-L073RZ开发板测评

[复制链接]
5726|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lkl0305|  楼主 | 2016-3-13 23:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lkl0305 于 2016-3-14 00:20 编辑

“超低功耗,看这里”——NUCLEO-L073RZ开发板测评

lkl0305

随着横跨多重电子应用领域、全球领先的半导体供应商意法半导体(ST)公司的超高能效的ARM® Cortex®-M0+ STM32L0 微控制器实现量产,同时也推出了多款开发板帮助开发人员进行评估,其中NUCLEO-L073RZ便是一个用于评估STM32L073微控制器的极低成本开发板。

这次有幸在21IC社区申请到NUCLEO-L073RZ开发板测评机会,感谢21IC社区和管理员。下面就和大家一起体验一下NUCLEO-L073RZ开发板。我的测评内容包括:

1、初见

2、认识

3、测试

4、开发

5、结语










沙发
lkl0305|  楼主 | 2016-3-13 23:55 | 只看该作者
本帖最后由 lkl0305 于 2016-3-14 00:06 编辑

一、初见


(1)开箱

当拿到NUCLEO-L073RZ开发板后,一如既往,Nucleo风格塑封包装非常简洁。

图1-1 NUCLEO-L073RZ开发板包装

打开包装,熟悉的Nucleo开发板,大家如果不通过开发板上的标签来判断,很难判断开发板的型号,Nucleo开发板不仅电路的布局一致,电路布线也一样,大家可以将主芯片去掉,焊接一款其他型号的MCU,就是另一款开发板了,这一特性足以证明ST公司的STM32系列MCU的兼容性,不论是STM32F型的还是STM32L型的。

图1-2 NUCLEO-F070RB与NUCLEO-L073RZ对比

意法半导体ST公司目前共推出了3种极低成本的Nucleo系列的开发板,一种是只有拇指大小的Nucleo-32开发板,采用只有32引脚STM32微控制器,另一种是最早出现的数量最多的Nucleo-64开发板,采用64引脚的STM32微控制器,还有一种是最新推出的Nucleo-144开发板,采用144引脚的STM32微控制器。3种机制款开发板涵盖了主要的STM32系列微控制器,形成了丰富的生态系统,满足用户以极低价格评估STM32微控制器的要求。

图1-3 NUCLEO-32与NUCLEO-64对比

图1-4 NUCLEO开发板总览

这次拿到的NUCLEO-L073RZ开发板,隶属于STM32系列中低功耗的L系列微控制器。可以看到,开发板泾渭分明的分成上下两部分,上面是板载的ST-LINK编程调试器,下面是主芯片STM32L037RZ构成的最小系统板和极简单的外设(一个用户LED和一个用户按键)。开发板可以从中间掰断,这样可以上下部分单独使用。

图1-5 NUCLEO-L073RZ开发板正面

NUCLEO-L073RZ开发板的主要特点是:

(1)板载64引脚LQFP64封装的STM32L073RZ低功耗微控制器

(2)提供Arduino Uno Revision 3接口和ST Morpho全扩展接口

(3)支持mbed云端开发环境

(4)提供ST-LINK/V2-1编程/调试器,使用SWD接口与目标单片机连接

(5)多种供电方式:

a)通过ST-LINK/V2-1编程/调试器供电;

b)通过Arduino接口提供外部7V-12V电源供电;

c)通过ST Morpho接口提供外部5V电源供电;

d)通过Arduino或ST Morpho接口提供+3.3V电源供电

(6)三个LED指示灯,包括USB通讯(LD1),用户LED(LD2),电源指示灯(LD3)

(7)两个按钮,1个用户按钮(蓝色)和1个复位按钮(黑色)

(8)USB接口具有如下功能:

a)虚拟COM端口

b)大容量储存

c)ST-LINK / V2-1编程/调试器

(9)支持免费的HAL软件库,并具有丰富的开发例程

(10)支持多种可选的主流集成开发环境,包括IAR、IAR、GCC-based IDE等

NUCLEO-L073RZ开发板的背面,主要是一些锡桥,通过焊接不同的0欧电阻,实现电路的不同配置形式。不同的开发板,虽然电路板上锡桥的位置一样,但是要注意上面的焊接配置情况是不同的,在使用时大家一定要参看相关的文档和具体电路,不然的话可要走弯路的。

图1-6 NUCLEO-L073RZ开发板背面

包装里的说明页是NUCLEO-L073RZ开发板的第一手资料,大家可以在拿到开发板时,快速的简单了解一下板载MCU(STM32L073RZT6)的特点,开发板提供的DEMO例程快速上手运行,集成开发环境IED,系统配置要求等信息。

首先看一下说明页的正面左上角,大大的STM32L073指示了开发板的型号,下面写着Nucleo-64,这是在新版的开发板上的新内容,以前只是印着Nucleo字样,随着Nucleo系列开发板的丰富,类型也更加完备了。

图1-7 NUCLEO-L073RZ开发板说明页正面

除此之外,是不是发现中间Nucleo的颜色也不太一样呢?对了,绿色标识NUCLEO-L073RZ可以一款板载低功耗系列微控制器的开发板。

左下角描述了NUCLEO-L073RZ开发板的主要特点介绍。

右边是NUCLEO-L073RZ开发板的接口说明,方便大家在测试学习中查看方便。

说明页的背面有一段关于开发板使用的步骤引导说明,如果是初次使用Nucleo系列开发板,建议仔细阅读,上面描述了如何运行板载演示例程,另外下面依次是开发板使用的系统配置需求、推荐集成开发工具IDE等信息。

图1-8 NUCLEO-L073RZ开发板说明页背面

这里要特别提示一下,在官方推荐的集成开发环境中,有2处标有加粗的free字样,特别是MDK-ARM集成开发环境也是免费的!

图1-9 免费的MDK-ARM开发工具

2、上电

对NUCLEO-L073RZ开发板有一个初步的认识后,下面就给开发板上电看看官方给的板载例程演示。

开发上电之前,首先要检查跳线的位置:确保JP1跳线断开,JP5(PWR)跳线设置选择U5V侧短接,JP6(IDD)选择短接。

将NUCLEO-L073RZ开发板的ST-LINK部分的CN1接口使用USB type A 到mini-B型转接线连接电脑给开发板供电。

这时候就会发现电源指示LED灯LD3和连接指示LED灯LD1点亮(COM)。

(1)同时后绿色用户LED快闪(频率大约是0.25Hz)。

(2)按下蓝色用户按钮B1后,绿色LED灯LD2慢闪(频率1Hz)。

(3)再次按下蓝色用户按钮B1后,蓝色LED灯LD2闪烁频率加快(频率0.5Hz)。

(4)第三次按下蓝色用户按钮B1后,回到初始状态,然后重复上述过程。

图1-10 NUCLEO-L073RZ开发板例程演示

这个演示效果看不出和之前其他的Nucleo开发板有什么不同之处。

使用特权

评论回复
板凳
lkl0305|  楼主 | 2016-3-13 23:56 | 只看该作者
本帖最后由 lkl0305 于 2016-3-14 00:09 编辑

二、认识


在具体深入使用NUCLEO-L073RZ开发板之前,有必要对开发板的结构和主控制器有一个较为全面的认识。

1、结构

NUCLEO-L073RZ开发板遵循之前的Nucleo-64系列的风格,开发板分为上下两个区域,上面是ST-LINKV2区域,下面是微控制器自小系统、板载外设和接口电路部分,而且ST-LINK部分可以很方便的从中间剪开来单独使用,这时Nucleo-L073RZ开发板就分成两个独立的小板子。

ST-LINK编程调试器不但可以对板载MCU进行编程和调试,而且可以通过接口使用SWD方式为其它的STM32微控制器编程或调试程序。

STM32L073RZT6的最小系统板,也可以单独使用,这时需要注意,最小系统板的供电只能使用ST Morpho全扩展接口的VIN、E5V和3.3V,或者Arduino接口的VIN and 3.3V引脚供电。

图2-1 NUCLEO开发板整体结构框图

图2-2 NUCLEO-L073RZ开发板布局正面

图2-3 NUCLEO-L073RZ开发板布局正面背

2、核心

NUCLEO-L073RZ开发板的核心微控制器STM32L073RZT6是隶属于STM32系列的低功耗微控制器。

图2-4 STM32L073RZT6微控制器

到目前为止,意法半导体ST公司共推出9大系列超过30中的产片线的ARM® Cortex®‑M 内核 (M0, M0+, M3, M4, and M7)的STM32微控制器,以方便开发者中能够找到一款适合自己的设计,而且不同微控制器之间具有非常高的兼容性,并提供超过10年以上的稳定的供货量。

图2-5 STM32微控制器家族

其中在上图最下面一层绿色的是低功耗的STM32L系列MCU,可以看到,低功耗系列MCU也分为3个系列,分别是STM32L0超值系列,STM32L1宽范围多功能系列和STM32L4高性能系列,低功耗系列STM32主要可应用与对功耗比较敏感的电动工具、煤气/水表、移动手机或游戏机、智能电表、健身/保健和音频和语音识别等领域。

图2-6 STM32L系列微控制器家族

图2-7 STM32L系列微控制器存储器和引脚配置图

图2-8 STM32L系列微控制器应用场合

其中STM32L0系列微控制器基于ARM®Cortex®-M0 +内核,是一个真正的超低功耗MCU, ULPMarkTM-C认证测试取得135分,配合一个直流转换器,ULPMark-C 成绩取得158.7分。同时意法半导体独有的制造工艺具有很高的温度稳定性,因此可以确保STM32L0系列在125°C时拥有同类最低功耗,兼备出色的能效和稳健性。具有动态电压调节,超低功耗时钟振荡器,LCD接口,比较器,DAC,真随机数发生器和硬件加密(AES-128)。存储容量范围从8KB到192KB FLASH,20KB SRAM,高达6KB EEPROM。此外,最新推出的14引脚封装使其成为最小的STM32微控制器。

图2-9 STM32L0系列微控制器特点

目前STM32L0系列有三个产品线:STM32L0x1基本型产品线、STM32L0x2 USB产品线(无晶体USB2.0 Full Speed)和集成 HMI模块的STM32L0x3 USB/LCD产品线。

图2-10 STM32L系列微控制器分类

这次拿到的Nucleo-L073RZ开发板属于集成 HMI模块的STM32L0x3 USB/LCD产品线。属于STM32L0系列中最高配置的MCU之一。

图2-11 STM32L0x3系列微控制器

STM32L073RZT6的内部结构框图如下:

图2-12 STM32L073RZT6的内部结构框图

其主要特点:

(1)超低功耗:

支持电源1.65 V至3.6 V

温度范围-40至125°C

0.29μA待机模式(3唤醒引脚)

0.43μA停止模式(16唤醒行)

0.86μA停止模式+ RTC + 20 KB RAM保留

低至93μA/ MHz的运行模式

5微秒唤醒时间(从闪存)

41μA12位ADC(10 ksps的转换)

(2)内核:

基于ARM®32位Cortex®-M0 +内核

时钟支持32 kHz至32 MHz

0.95 DMIPS/MHz

(3)支持USB、USART的预编程引导程序

(4)丰富的模拟外设

12位ADC的多达16个通道

2×12位带有输出缓冲器通道的DAC

2个超低功耗比较器

(5)多达24个电容感应通道,支持触摸键,线性和旋转触摸传感器

(6)7通道DMA控制器,支持ADC、SPI、I2C、USART、DAC、计时器

3、ST-Link

Nucleo-L073RZ开发板内嵌一个ST-LINK/V2-1编程调试器,通过SWD接口与目标MCU直接连接,可对目标MCU进行编程和调试功能,同时可实现USB接口虚拟串口、USB接口存储器和USB电源管理等功能。这里要注意,ST-LINK/V2-1编程调试器不支持SWIM接口和低于3V的工作电压。

ST-LINK/V2-1编程调试器不但能对板载的STM32L073RZT6进行编程和调试,而且预留了外接的SWD接口,可以对其它STM32系列单片机进行编程调试。

图2-13 板载ST-LINK编程调试器

图2-14 ST-LINK编程调试器提供外部接口

4、接口

Nucleo-L073RZ开发板提供了Arduino UNO R3 Shield扩展接口,可以使用众多Arduino的扩展板。同时还为用户提供了全功能扩展接口ST morpho,可以将STM32L073RZT6微控制器所有IO口引脚通过排针引出。

图2-15 Nucleo-L073RZ开发板接口

使用特权

评论回复
地板
lkl0305|  楼主 | 2016-3-13 23:57 | 只看该作者
本帖最后由 lkl0305 于 2016-3-14 00:12 编辑

三、测试


Nucleo-L073RZ开发板隶属于STM32的低功耗系列的产品,当然功耗测试是必不可少的,下面就和大家一起测试一下这款微控制器的功耗。

下图给出了在125度时,STM32L0系列微控制器在不同工作模式下的典型功耗。

图3-1 STM32L0系列功耗

1、准备

(1)测试工具

测试功耗需要用到电流表,由于手头没有专业的电流表,还是使用手边4位半的VICTOR VC9806+胜利万用表。

(2)测试方法

在NUCLEO-L073RZ开发板上专门为大家设计了功耗测试位置,在开发板上跳线JI6接口(标号为IDD)就是给用户提供的测试目标单片机的电流大小的接口。具体设置为:当JP6设置为ON(使用跳线帽短接),这种是默认情况,正常为目标单片机供电;当JP6设置为OFF(将跳线帽去掉,在两引脚间加入电流表),这种情况下就可以用电流表测量微控制器的电流IDD了。

图3-2  IDD电流测量接口

图3-3  IDD电流测量原理图

(3)测试工程

意法半导体ST公司不但给大家NUCLEO-L073RZ开发板预留了功耗测试接口,还专门为大家提供了功耗测试工程样例。工程路在STM32CubeL0软件包内那测试功耗的例程默认路径为:\STM32Cube_FW_L0_V1.5.0\Projects\STM32L073RZ-Nucleo\Examples\PWR

图3-4 官方提供的低功耗例程

可以看到,意法半导体公司为大家提供了不少的关于电源管理的低功耗工程例程,包括SELLP、STANDBY、STOP、STOP_RTC、LPRUN和LPSLEEP等模式,大家可以结合例程进行具体的功耗配置学习,也可以用来测试功耗。

2、测试

(1)使用MDK打开每个工程文件,在工程的readme文件下面有关使用该工程的方法及使用注意事项。

图3-5 功耗测试工程

(2)按照下图进行接线

图3-6 功耗测试接线

(3)按上述方法重复测量所有情况下的功耗,结果如下表。



使用特权

评论回复

打赏榜单

songchenping 打赏了 5.00 元 2016-03-14
理由:原创测试帖,测试内容非常详细。

5
lkl0305|  楼主 | 2016-3-13 23:59 | 只看该作者
本帖最后由 lkl0305 于 2016-3-14 00:17 编辑

四、开发


体验完了NUCLEO-L073RZ开发板的低功耗,下面来体验一下开发板的开发过程。

1、资源

在STM32的生态系统中,ST公司不但提供了种类丰富的开发板帮助用户对微控制器进行评估,而且为NUCLEO开发板提供了非常丰富的开发工具。在IDE方面,支持主流的IDE,有MDK、IAR、GCC-based IDEs等,另外还支持ARM最新推出的云端开发Mbed。在软件方面,ST为STM32提供了标准库和HAL库,并提供了大量的工程实例和开发模板,帮助工程师快速开发STM32的工程。另外,ST还推出的STM32 CUBEMX配置工具可使用图形化界面完成STM32微处理器的初始化配置工作。

图4-1 STM32微控制器集成开发环境

图4-2 几种官方库的对比

图4-3 几种官方库的信息

在ST为用户提供的库开发中,可以看出,STM32Snippets库代码最底层,生成代码效率应该更高,但是使用起来是最不方便的,支持的的MCU型号比较少,STM32Cube HAL库目前来说是ST公司比较推崇的开发方式,支持全系列STM32微控制器,代码的易用性等都是不错的,STM32Cube LL库代码执行效率也是比较高的,是ST公司下一步准备推出的支持全系列STM32微控制器的一个库,目前只支持STM32L4系列MCU,STM32L0系列的支持将在2016年四月份,还是比较期待的。

本来想要体验一下新板NUCLEO-L073RZ的Mbed开发,但是连接到Mbed网站后,显示暂不支持NUCLEO-L073R开发,看来是NUCLEO-L073RZ太新了。

图4-4 Mbed暂不支持NUCLEO-L073RZ

既然这样,只能使用传统的开发方式,我这里还是选择比较熟悉的MDK+CUBEMX+HAL库的方式。

这里我们不得不说MDK开发工具,这个在国内工程师中使用量非常大,但是MDK是收费软件。而前不久,在ARMKEIL官网提供了针对STM32F0和STM32L0系列MCU开发的免费产品序列号(PSN):U1E21-CM9GY-L3G4L,如下图地址为:http://www2.keil.com/stmicroelectronics-stm32/mdk。这里可以看出ST与ARM之间的合作深度。

图4-5 适用于STM32L0和STM32F0的DMK免费产品序列号

2、环境

(1)首先要在MDK官网下载最新的MDK5.18,网址:http://www.keil.com/arm/mdk.asp

图4-6 MDK官网

(2)然后在MDK官网下载最新的软件支持包MDK5 Software Packs,版本是Keil.STM32L0xx_DFP.1.4.0.pack,网址:http://www.keil.com/dd2/Pack/

图4-7 MDK5 Software Packs网站

(3)在ST官网下载CUBEMX,版本4.13,网址:http://www.st.com/web/catalog/to ... 961/SS1533/PF259242。

图4-8 STM32 CUBEMX下载页面

(4)下载STM32L0的HAL库,版本:1.5.0,网址:http://www.st.com/web/en/catalog/tools/PF260508

图4-9 STM32L0系列MCU库下载页面

软件安装比较简单,这里就不再重复了。

在开发之前,还要确保NUCLEO-L073RZ开发板的ST-LINK仿真调试器驱动安装好,且固件是最新的。当开发板连接计算机后,在设备管理器中显示出相应的设备。

图4-10 NUCLEO-L073RZ开发板被识别的设备

3、开发

在这里测试一个简单的工程,就是使NUCLEO-L073RZ上的LED1秒钟闪烁1次。

经过查看电路,发现用户LED使用的是PA5引脚连接的。

图4-11 用户LED电路

在设计程序时,不适用系统自带的HAL_Delay()实现延时,而是使用systick中断中的回调函数HAL_SYSTICK_Callback()实现。

首先在CUBEMX中新建工程。

图4-12 STM32 CUBEMX新建工程

之后在引脚选项界面选择PA5为输出。

图4-13 选择引脚

下面在时钟配置界面设定时钟。

图4-14 时钟配置

在引脚配置界面设置PA5的引脚。

图4-15 引脚配置

点击生成代码工具按钮,输入工程名称及IDE。

图4-16 输出代码窗口

打开MDK之后,可以看到自动生成的工程,代码非常简洁易懂,就不分析了。

图4-17 生成工程文件

在开始宏定义延时时间500ms,因为默认的systick中断周期为1ms。

图4-18 宏定义

添加systick的回调函数,在函数中每隔500ms将PA5引脚的状态取反一次,即可实现LED闪烁。

图4-19 添加systick回调函数

之后就是编译下载调试,整个过程比较简单,就不再重复了。

图4-20 演示效果

这里试了一下比较熟悉的MDK+STM32 CUBEMX+HAL库的方式来实现的,以后有时间来具体使用STM32Snippets库来测试一下。

最后关于HAL库的使用提一点点小的建议:

意法半导体提供了功能非常强大的HAL库帮助工程师快速开发,又提供了STM32 CUBEMX软件来进行初始化配置,但是在HAL库中的例程中好像没有找到哪一个例程是建立在STM32 CUBEMX软件基础之上的,让我有一些困惑,既然推出了这么好的工具,为什么官方不使用这个软件做一些比较综合的例程,然大家看看STM32 CUBEMX软件在实际应用中具体怎么应用呢?因此希望意法半导体ST公司在后期更新HAL库时,能够提供更多的基于CUBEMX软件的一些例程,并包含CUBEMX工程文件。


使用特权

评论回复

打赏榜单

songchenping 打赏了 5.00 元 2016-03-14
理由:软件使用介绍的也非常详细,让初学者有个大概的了解和学习。

6
lkl0305|  楼主 | 2016-3-14 00:00 | 只看该作者
本帖最后由 lkl0305 于 2016-3-14 00:18 编辑

五、结语


本次测试的NUCLEO-L073RZ开发板,是意法半导体ST公司最新推出的低成本的Nucleo-64开发板,板载ST-Link编程调试器,提供Arduino Uno Revision 3接口和ST Morpho全扩展接口。支持主流的IDE(MDK、IAR、GCC-based IDEs等)开发,另外还支持Mbed开发。同时ST为STM32提供了标准库和HAL库和STM32 CUBEMX配置工具可使用图形化界面完成STM32微处理器的初始化配置工作。NUCLEO-L073RZ开发板主要用于评估STM32L073RZT6微控制器,STM32L073RZT6是一款超高能效的ARM® Cortex®-M0+ STM32L0 微控制器,在同类微控制器中具有出色的表现,作为穿戴式装置、医用监视器、工业传感器、智能生活设备等能源敏感应用的理想微控制器。

使用特权

评论回复
7
lisingch| | 2016-3-14 00:22 | 只看该作者
楼主的帖子都是大部头的,好看!赞!

使用特权

评论回复
8
wwd8888| | 2016-3-14 08:46 | 只看该作者
学习一下,谢谢!

使用特权

评论回复
9
大秦正声| | 2016-3-14 08:51 | 只看该作者
不错

使用特权

评论回复
10
zhoupxa| | 2016-3-14 09:21 | 只看该作者
图文并茂,很详细,好贴

使用特权

评论回复
11
songchenping| | 2016-3-14 11:05 | 只看该作者
看来是费了心思的

使用特权

评论回复
12
lkl0305|  楼主 | 2016-3-14 17:16 | 只看该作者
lisingch 发表于 2016-3-14 00:22
楼主的帖子都是大部头的,好看!赞!

多谢支持哈:)

使用特权

评论回复
13
lkl0305|  楼主 | 2016-3-14 17:18 | 只看该作者
wwd8888 发表于 2016-3-14 08:46
学习一下,谢谢!

欢迎交流:)

使用特权

评论回复
14
oayzw| | 2016-3-14 18:48 | 只看该作者
想要三块

使用特权

评论回复
15
lvyunhua| | 2016-3-14 21:10 | 只看该作者
楼主很认真!

使用特权

评论回复
16
lkl0305|  楼主 | 2016-3-14 21:50 | 只看该作者

经常也拜读你的帖子啊,也很不错,多多交流

使用特权

评论回复
17
lkl0305|  楼主 | 2016-3-14 21:59 | 只看该作者

多谢多谢

使用特权

评论回复
18
数码小叶| | 2016-3-15 08:46 | 只看该作者
不错,可以直接当资料贴了,很全面

使用特权

评论回复
19
Garen2| | 2016-3-15 17:09 | 只看该作者
这是新出的板子吗

使用特权

评论回复
20
lkl0305|  楼主 | 2016-3-15 22:44 | 只看该作者
Garen2 发表于 2016-3-15 17:09
这是新出的板子吗

是的,最新的STM32L073,低功耗的,刚拿到:)

使用特权

评论回复
发新帖 本帖赏金 10.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

896

帖子

10

粉丝