原创测评:STM32L031K6T6]Nucelo-L031K6 拇指开发板
前言:其实在挺早的时候就知道了ST要出32pin的Nucelo的板子,不管从ST的官网还是ST MCU FINDER都有相关的信息。
“横跨多重电子应用领域、全球领先的半导体供应商意法半导体宣布其超高能效的ARM® Cortex®-M0+ STM32L0 微控制器实现量产,同时发布支持该系列产品的功能丰富的开发生态系统,包括成本极低的开发板和免费的软件工具,帮助开发人员充分控制应用能耗,且最大限度缩减产品上市时间。 作为穿戴式装置、医用监视器、工业传感器、智能生活设备等能源敏感应用的理想微控制器,STM32L0系列拥有同级领先的能效,ULPMarkTM-C认证测试取得135分,配合一个直流转换器,ULPMark-C 成绩取得158.7分[1]。此外,意法半导体独有的制造工艺具有很高的温度稳定性,确保STM32L0系列在125°C时拥有同类最低功耗,兼备出色的能效和稳健性。
STM32L0系列有三个产品线:STM32L0x1基本型产品线、STM32L0x2 USB产品线(无晶体USB2.0 Full Speed)和集成 HMI模块的STM32L0x3 USB/LCD产品线。存储容量范围从8KB到192KB FLASH,20KB SRAM,高达6KB EEPROM。此外,新14引脚封装使其成为最小的STM32微控制器,让32位的性能进入入门级嵌入式应用。”
等等之类的信息,想必大家都看到了。这里就不做过多的复制粘贴了。
外观展示
Nucleo-L031K6和Nucleo-F042K6外观对比展示:
从以上的外观盒,我们可以看到Nucleo-L031K6是CORTEX-M0+的内核,Nucleo-F042K6是CORTEX-M0的内核。二者有什么区别的?这个也我比较好奇。所以参考了一些资料。
Cortex-M0+ 处理器
ARM® Cortex®-M0+ 处理器是能效极高的 ARM 处理器。它以极为成功的 Cortex-M0处理器为基础,保留了全部指令集和数据兼容性,同时进一步降低了能耗,提高了性能。它与 Cortex-M0 处理器一样,芯片面积很小,功耗极低,并且所需的代码量极少,这就使得开发人员可以直接跳过16位系统,以接近8 位系统的成本开销获取 32 位系统的性能。Cortex-M0 处理器提供了丰富选项用于进行灵活开发。
Cortex-M0 处理器
ARM® Cortex®-M0 处理器是目前最小的 ARM 处理器。该处理器的芯片面积非常小,能耗极低,且编程所需的代码占用量很少,这就使得开发人员可以直接跳过16位系统,以 接近8 位系统的成本开销获取 32 位系统的性能。Cortex-M0 处理器超低的门数开销,使得它可以用在仿真和数模混合设备中。
通过上图想必二者的区别显而易见了。CORTEX-M0+的内核的使用也更加体现了“低”的概念。
参考网址:http://www.arm.com/zh/products/processors/cortex-m/cortex-m0.php
还有一点,二者除了主控不同,当然硬件上也明显的略有差异。当然,这个地方要回归到原理图看看了。
另外,从硬件的设计上Nucleo-32与之前的Nucleo-64的板子在电源的设计上,也不同(从原理图就可以对比出来)
另外,在USB口还增加了ST890CDR。从电路图看Isc的范围是620mA到765mA之间。
注:Isc代表短路电流,sc是short circuit(短路)的缩写。
板面布局
真还看不出来,在官网下载pcb工程后才发现,这个Nucleo-L031K6拇指小板原来是4层板。
内部结构
驱动及MDK包的安装
STlink驱动,这个驱动的安装有两种方法(当然还有方法的):
1、官网下载
2、Keil安装路径下,安装stlink驱动(如我的keil的安装路径是C:\Program Files (x86)\Keil_V5.16\ARM\STLink),该路径下也可安装stlink的驱动(我觉得这个方法最简单了)
3、ST-LINK utility的安装(安装过程很简单了,不做过多赘述)
下载地址为:STSW-LINK004STM32 ST-LINK utility
貌似MBED的平台上没有Nucleo-L031K6这个板子,MBED平台上有的是Nucleo-031K6。
https://developer.mbed.org/platforms/?pvend=10
4、MDK包的安装(因为之前已经安装过MDK了)
Demo展示及例程
根据板子的说明,板子正面的跳线帽拔下会改变LD3闪烁的频率。
有跳线帽 无跳线帽
连接到电脑USB口:
因为Nucleo-L031K6主要是用在低功耗方面,所以接下来一般会在PWR的例程下几个模式下的跑跑程序,然后在JP1的地方
串入万用表(电流档),看看在几个不同的模式下,电流的大小咯。但是,我的万用表没有电流档,这个就跳过咯。
总结
1、Nucleo-32的开发板相比Nucleo-64使用了不同的电源芯片,另外增加了ST890CDR,可见ST的各位工程师对这个板子的重视;
2、这个板子没有想到的是4层板,而Nucleo-64却是2层板,Nucleo-32虽然小,但是层数多;
3、Nucleo-32的usb口使用的是Micro USB没有延续Nucleo-64的Mini B型5Pin的usb口,应该是为了板子空间而考虑的;
4、还有需要稍稍吐槽下的是这个JP1,这个跳线帽实在太小了,而且这个跳线帽下的引脚是“爬着”的,让人不敢碰,生怕弄断了,希望这个以后能考虑直插的pin针还是好点;
5、还有地方,我比较疑惑:就是Keil的DFP的包的更新与STM32Cube MX的Firmware Package的更新,是否能联系在一起呢?
我举个例子,每次Keil会提示更新DFP的包(当然还有其他的CMSIS库等等)
那么这个时候一般来说,STM32Cube MX应该可能也会提示更新其版本,还有Firmware Package。
而Firmware Package的更新路径,虽然可以设置
但是,问题来了:这个Firmware Package更新的内容(不是CubeMX的版本的更新哦)和Keil的DFP的包的内容是一致的(我发现是一致的,如有不对,请指出)。那么Firmware Package也在更新,Keil的DFP的包也在更新。而且Firmware Package更新的文件夹的大小会越来越大,这样无形之中占用好多硬盘空间。
那么,是否可以通过CubeMX的软件的某些改进或者设置,使得自动扫描到Keil的DFP的包目录下的更新内容(前提是我先更新了Keil的DFP的包),以达到CubeMX的Firmware Package更新呢? 我这个不知道描述清楚了没有,但是这样的话,就避免了online更新CubeMX的Firmware Package 或者离线下载DFP的包后导入(其实就是个CubeMX软件解压缩的过程)。这个如有描述不合适之处,还请指出。
欢迎观看:
近期精彩内容推荐: