Nucleo开发平台是ST在2014年最新发布的易用性好、可扩展性佳的低成本平台,因其简单自由、灵活可扩展受到多数工程师的喜爱,特有的支持ARM mbed项目开发,支持云端开发以及兼容Arduino扩展接口等特性让它一度有取代Discovery系列板卡之势,可以说,Nucleo系列板卡让ST融入了一个更加宽广的生态圈。
最近,我们又拿到了两款ST Nucleo系列板卡,不过不同于先前评测过的兼容Arduino R3扩展接口的Nucleo系列板卡,此次拿到的STM32F042以及STM32L031开发板设计的更加小巧,同时兼容Arduino Nano的扩展接口,废话不多说,我们直接看实物图。
STM32F042以及STM32L031开发板采用了Nucleo系列板卡的一贯包装,两者的板型也保持一致,与Arduino Nano的板型十分相似。通过ST的产品线可以发现,单看板卡上的功能,STM32F042 Nucleo以及STM32L031 Nucleo几乎持平,主要的不同在于两者搭载了不同型号的微控制器。比如,ST将STM32F042微控制器归在主流的应用产品,而STM32L031则更偏向于需要低功耗应用的场景,比如,可穿戴设备等。
虽然乍眼一看这两块板卡极其相识,很难分辨谁是谁,但是仔细观察的话,还是能发现稍许的不同之处。
首先当然是主控制器,STM32F042 Nucleo搭载的是STM32F042K6T6,基于ARM Cortex-M0处理器,主频48MHz,属于主流的微控制器系列;而STM32L031搭载了STM32L031K6T6,基于ARM Cortex-M0+,主频32MHz,属于ST的低功耗系列MCU。
其次,低功耗的STM32F031 Nucleo开发板上搭载了外部的32.768kHz晶振,而STM32F042 Nucleo开发板上没有。
至于其它功能上,板卡维持了一致的设计,在板卡的背面则主要是设计了一个STLINK/V2-1调试器,方便工程师学习开发的时候下载调试。
总的来说,STM32F042 Nucleo以及STM32L031 Nucleo开发板在板卡的功能实现上基本保持了一致的设计,这也主要是方便兼容Arduino Nano 开发板,而两者最大的不同之处也就是在于所搭载的微控制器的区别,下表则是两款MCU产品具体特性的对比。
从表格中可以看到,在系统资源上,STM32F042K6相对于STM32L031K6多了CEC、CAN、触摸通道等功能,而STM32L031K6更多偏向于自身低功耗特性,比如:
0.25uA的Standyby模式
0.38uA的Stop模式
低至76uA/MHz的Run模式等
STM32L031K6还拥有比STM32F042K6更低的工作电压,并且具有掉电复位功能,非常适合电池供电设备的低功耗产品应用。
开发环境
Nucleo系列板卡的开发环境相信大家已经不会再陌生了,除了第三方IDE工具如Keil、IAR等,就属mbed云端开发比较方便快捷了,但是有个缺点就是无法调试,写写小程序还可以,但是涉及到复杂的代码程序还是要回归到第三方的IDE工具上来。在开发资料方面,ST为工程师准备一个完整的开发库,比如针对STM32F042 Nucleo开发板的STM32CubeF0,针对STM32L031 Nucleo开发板的STM32CubeL0,这些我们都可以通过官网下载获取。
上电
此次的Nucleo板卡可以通过多种方式供电,最为普遍的是直接通过板载的MicroUSB接口供电,其次,我们还可以通过外部的外部3.3V/ 5V/ 7~12V电源供电,非常灵活。
ST Nucleo系列板卡内置的出厂程序基本都是LED闪烁的例程,此次的板卡也不例外,不过,不同于之前的Nucleo系列板卡可以通过用户按键调节LED占空比以达到改变LED的闪烁频率,STM32F042以及STM32L031开发板上并没有设计用户按键,有且只有一个复位按键。
作为两款功能类似的板卡,官方提供的例程也较为常见,不过针对低功耗的STM32L031 Nucleo开发板,官方也提供相应的低功耗测试例程,我们也重点来了解下STM32L031K6T6微控制器的功耗状况。
本次测试的实验例程出自ST官网提供的例程。
确保安装好STLINK/V2-1驱动。
以Keil IDE工具为例,安装STM32L0xx_DFP database。
载入相应的例程通过STLINK下载到开发板中。
不过在实际功耗测试的时候也遇到了点问题,由于电流测试跳帽处的接口太狭小,想接杜邦线的时候一不小心直接把排针座给扯下了,只能焊接两根导线测试。
选取几组实测结果供大家参考。
PWR_LPRUN模式
PWR_LPSLEEP模式
待机模式
待机模式+RTC
相比ST官方提供的数据来看,我们发现实际测试的结果与官方给出的数据还是有些许出入,当然本身的测量仪器也不是很好,精度也不够,只供大家参考。不过,话说回来,在ST的同级别微控制器中,L系列的产品在功耗上的表现确实比较出色,加上ST微控制器在同类产品的竞争中一直保持着不错的价格优势,在实际的产品研发中,相信会让工程师更加偏向于选用ST的产品吧。
小结
介绍并对比了ST最新推出的STM32F042以及STM32L031 Nucleo开发板,板卡基于Arduino Nano原型设计,板载STLINK/V2-1调试器、兼容Arduino Nano扩展接口、支持ARM mbed在线编译器以及第三方的IDE设计工具,简单、方便、好用;另外,板卡搭载面向低功耗应用的ARM Cortex-M0以及ARM Cortex-M0+处理器,是想要学习或者开发基于ARM系列微控制器的低功耗产品的理想选择。