打印
[STM32L0]

我从没想到过的板载外设——STM32L053-Discovery评测

[复制链接]
1501|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yiyigirl2014|  楼主 | 2016-7-29 20:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

1 简介

探索,发现不一样的你。“十三五“规划提出大数据概念无疑将推动物联网的进程,互联网+的口号提出将为更多的设备加入网络提供政策支持,绿色环保也在其中,具备超低功耗特性的微控制器也将大展宏图。ST目前一共推出三个超低功耗系列的MCU:STM32L0(Cortex-M0/M0+)、STM32L1(Cortex-M3)、STM32L4(Cortex-M4)。STM32L0系列STM32微控制器让客户能够取得前所未有的低功耗,整合高能效的ARM Cortex-M0+内核、优化架构、电源管理模式、超低功耗外设、支持节能型USB功能、独有的超低功耗制造工艺。

2 初见

我们先来看一下STM32L053-Discovery开发板的包装。一如既往的探索系列包装,简单的透明塑料外壳,加板子与一张简介卡片,并无提供数据线。包装如下图:


拆开包装我们看一下简介卡片正反面内容,分别是简要的配置介绍和简要的使用说明。

简介卡片正反面

看完了都有什么,我们接下来认真欣赏一下这块STM32L053-Discovery开发板。板子正中有一块E-Paper display(EPD:电子纸显示屏),见下图。


正面

其实我想说这是我没想到的,我刚拿到板子没有看那个塑料卡片样的显示屏时候,以为就是个塑料标签呢,看到带排线才去看那说明,原来这个就是电子纸,从前也就只听说亚马逊的电子书上有这玩意儿,特性就是超低功耗,只在变换内容的时候需要消耗电能,也就是断电后,上面显示的内容还可以一直保留很久很久。


反面

探索板上一共提供了3颗MCU,正面靠近USB口的应该是调试器ST-Link的,背面两颗,靠近板子底端白纸条编号的一颗就是我们的主角STM32L053C8T6。


侧面

我们看到正反面采用了绿、白色搭配(PCB采用绿底白字),这也是Discovery系列一贯风格。对于扩展接口全部预留出来,共计25×2个PIN,探索板扩展接口采用了标志性的两面针排针风格,如果想保证板子实用时候美观只能准备大量的杜邦线了。根据调试器端两个USB接口形状来看,采用了Mini-USB接口,中间的USB接口是ST-Link的,靠边的一个是用户USB接口,应该是可以挂载USB盘等USB从机设备的。

3 板上资源

要了解STM32L053-Discovery板子上的资源,先看板子的结构框图。


探索板结构框图

从结构框图我们可以看出,STM32L053-Discovery开发板上都提供了哪些资源,不用多说,ST-Link/V2-1这个是ST官方开发板均具备的调试编程器,另外上面提供了SWD接口,方便你为自己的项目进行编程调试;剩下全部是围绕主角STM32L053C8T6的,板载提供了两颗按键B1(用户可编程按键)、B2(系统复位按键),提供了可编程的两颗LED(LD3、LD4),以及NFC接口,线性触摸传感器和电子纸显示屏;另外一个就是STM32L系列探索板特有的部分IDD电流检测电路模块。

总结, 探索板提供了四类资源:1、编程调试电路;2、最小系统电路;3、扩展接口与板载外设;4、电流检测电路。


正面


反面

STM32L053-Discovery特性总结:

  • 采用LQFP48封装的STM32L053C8T6 MCU,片上具备64KB Flash,8KB RAM;
  • 板载ST-LINK/V2-1调试器,可通过选择开关设置为独立使用模式,具备SWD编程调试接口,USB支持三种功能,虚拟串口、大容量存储器、调试接口;
  • 开发板电源支持USB总线供电,或通过外部5V供电,外部应用供电支持3V模式和5V模式。

沙发
yiyigirl2014|  楼主 | 2016-7-29 20:30 | 只看该作者
板载一个线性触摸传感器,或作为4个触摸按键;板载IDD电流检测模块;板载2.04寸E-paper display(电子纸显示屏),分辨率为172×72;板载4个LED:LD1(红/绿),用于USB通信状态指示LD2(红),用于3.3V电源指示另外两个是用户可编程LED,LD3(绿)/LD4(红)板载两个实体按键,用户按键(蓝色)和复位按键(黑色);扩展接口25×2,两排,将STM32L053的48个PIN全部引出;

4 安装驱动

本评测本地开发环境为Keil,如下图中安装目录即为ST-Link的驱动程序目录,另外在Keil_v5\ARM目录下还有其他几个常见的编程器的驱动程序,如:U-Link、NU-Link、PEMicro等。


Keil自带的驱动程序


安装驱动后

安装驱动后,在STM32L053-Discovery连接PC后在PC的设备管理器会多出来如上图的3个设备。其中MBED微控制器USB设备可以在系统里面构建一个U盘,我们可以把编译后生成的.bin文件直接放入,就可以被系统自动写入到目标MCU,更新系统代码。虚拟串口设备可以实现通过USB的调试和串口通信。

5 DEMO测试

STM32L053-Discovery开发板出厂时候自带了演示DEMO,我们也就用该DEMO来检测一下STM32L0系列超低功耗特性如何。为了方便查看,本节图片笔者做了裁切。另外图中所测量数据可能跟你测量数据有少许出入是正常的。


开机后等待两秒进入该界面,第一行为STM32L053演示程序,并显示鼠标图样,电池图样和开发板上线性触摸传感器的图样,中间文字为:使用LTS(线性触摸触感器)来选择DEMO(示范、演示程序)分为IDD测试和USB测试。本节我们仅演示IDD。


接上图,触摸一下LTS下面部分(LTS分为四个触摸按键从上到下对应左图的从左到右)后,出现该图。从图上可知,一共分为四种模式,分别对应LTS的四个触摸键,按下B1实体按键可以退出。下面我们分别测试四种模式下电流的大小,其间IDD跳线置于ON。


触摸第一个按键后即进入该模式,全速运行模式,该模式下消耗电流为3.048mA


触摸第二个按键后进入该模式,睡眠模式,

从该模式唤醒消耗电流为1.080mA


触摸第三个按键后进入该模式,低功耗睡眠模式,从该模式唤醒消耗电流为4.090uA


触摸第四个按键后进入该模式,停止模式,

从该模式唤醒消耗电流为410nA

ST方面提供的数据显示,STM32L0将运行模式功耗降至87μA/MHz,当保留RAM全部数据时,停止模式功耗为440nA(本测评测得数据位410nA),并集成低功耗定时器,快速唤醒时间达到3.5μs,以便让应用设计人员能够充分利用不同的低功耗模式;针对产品功耗随温度升高而快速增加的情况,ST通过独有制造工艺使该系列产品创下了125℃时世界最小的功耗记录;此外,该系列还集成了世界功耗最低的ADC。在每秒100k次采样率下,片上集成的12位ADC功耗仅为48μA,内置的硬件过采样功能还可将ADC分辨率提高到16位。

6 开发环境与编程

最近发现论坛很流行使用MBED开发,MBED是ARM推出的一个开发框架,将底层封装后抽象出来,采用基于c++的顶端代码设计,支持在线编程编译,其特点是不用太费心于底层硬件的学习,目前还处于公测阶段,大有在ARM开发环境领域一统江湖之势。由于MBED提供了离线开发的功能,本测评就以Keil为IDE,以MBED离线开发包为代码基础进行介绍,最新版为mbed-4336505e4b1c。解压后,由于内容太多,我先先删除与本开发板无关的文件夹,这些文件夹是供其他系列的开发板使用的。如下图所示,这是MBED相关内容。


MBED离线支持文件包


使用特权

评论回复
板凳
yiyigirl2014|  楼主 | 2016-7-29 20:30 | 只看该作者

上图中.h文件就是MBED框架,下图为TARGET_DISCO_L053C8文件夹的内容,主要是HAL头文件、CMSIS文件、和四个文件夹。

第一个文件夹TARGET_STM为针对本开发板的配置文件,另外4个文件夹是针对不同的IDE开发环境使用的,本次我们是使用Keil开发环境,因此选择TOOLCHAIN_ARM_MICRO。其余3个可以删除。


我们再看看TOOLCHAIN_ARM_MICRO文件夹是什么,见下图,主要是编译后的.o文件,我们知道,一般.h会对应一个.c文件,编译链接后会生成对应的.o文件,这里ARM没有为我们准备对应的.c文件而是直接提供了.o,这样有好处也有坏处,好处是编译生成目标代码相对于之前会非常快,坏处就是我们不知道实现方法的.c内容,我们知道HAL是在STM32官方提供的,那么其他几个没有对应HAL的.o我们就无法得知了,希望在ARM推出正式版的MBED后能提供一下。


为了方便用户离线使用MBED,官方提供了导出在线工程的服务,并提供了在线的例程3个,可以导出到本地使用。我们使用DISCO-L053C8_ePD_demo1进行演示,我们打开该工程。


打开main.cpp文件,将代码修改为如下内容,我们用来测试,是不是从下至上的顺序。



如上图所示,编译生成目标代码.bin文件后,复制到开发板U盘内,自动更新系统代码,之后自动运行,运行结果如上图所示。结合代码可知,MBED提供代码行顺序是从下向上的,且从0行开始,本例程使用的是Font12字体,以数字显示最多每行可显示24个字,另外EPD_GDE021A1.cpp文件提供了简单的画图函数。

常用的三种烧录方式:1、直接在Keil集成开发环境通过LOAD方式下载并可在线调试;2、通过STM32 ST-LINK Utility软件对芯片进行擦写,可写入.bin文件和.hex文件等相关目标代码文件,该软件也有个好处可以把芯片内部的代码读出来保存为文件,方便之后恢复使用;3、把生成的.bin文件直接复制到探索板再带的U盘内,ST-LINK自动完成写入代码工作。此三种方式本测评不再做详细介绍,请参考本版块其他STM32系列的测评内容。

7 小结

STM32L053-Discovery板跟以往的开发板比,最大的特点就是使用了EPD作为显示器,由于该显示器断电后还可以显示的特点,可以说非常适合用于超低功耗设备的显示器,这样可以定时的更新显示内容,其他时间可以关闭显示设备的供电,另外系统也可以进入超低功耗休眠状态,例如作为电子表的应用。

另外ARM在不断的推出功能越来越强大的产品设计时候,也注意到来了,随着功能的越来越多越来越强大,开发者花费在学习上的成本就越来越多,因此ARM也在努力找到一种缩减学习成本的方法,让开发者一劳永逸的方法。这也就是MBED推出的重要原因之一吧。由于是刚刚推出不久,相信经过一段时间的发展会越来越适合项目开发使用。

作为STM32L053-Discovery板主角的STM32L0也具备丰富的片上外设,在STM32L系里应该说是性价比最高的一款超低功耗单片机了。下面图中给出了STM32L0系里几个子系列的特性对比,可以说本测评所用到的探索板使用的STM32L053应该是STM32L0系里性能最高的一款单片机了。


另外详细的开发板使用方法请参考开发板用户手册,具体电路原理图也请参考电路原理图文件,本测评提供的资料下载里均有,测评中所涉及到的文档和源代码均已打包提供下载。

8 相关资料下载

官方资料下载地址:http://www.st.com/stm32l0-discovery

整理后资料下载地址:http://pan.baidu.com/s/1i4wzT0h

备注:建议直接从整理后的资料下载,资料更全面,更方便使用。


使用特权

评论回复
地板
jiegemo| | 2016-8-5 08:35 | 只看该作者
请问你的开发板从哪买的

使用特权

评论回复
5
yiyigirl2014|  楼主 | 2016-8-7 13:55 | 只看该作者
MBED是ARM推出的一个开发框架,将底层封装后抽象出来,采用基于c++的顶端代码设计,支持在线编程编译

使用特权

评论回复
6
yiyigirl2014|  楼主 | 2016-8-7 13:55 | 只看该作者
jiegemo 发表于 2016-8-5 08:35
请问你的开发板从哪买的

淘宝就有,199元一套。

使用特权

评论回复
7
jiegemo| | 2016-8-8 14:40 | 只看该作者
yiyigirl2014 发表于 2016-8-7 13:55
淘宝就有,199元一套。

我只找到了一套123的,你的是不是例程什么的都比较全啊,能不能分享一下啊,谢谢,谢谢啦

使用特权

评论回复
8
yiyigirl2014|  楼主 | 2016-8-14 21:53 | 只看该作者
jiegemo 发表于 2016-8-8 14:40
我只找到了一套123的,你的是不是例程什么的都比较全啊,能不能分享一下啊,谢谢,谢谢啦 ...

去官网下载cube开发包,里面很全,或者去MBED,各种例程都有。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

213

主题

3530

帖子

10

粉丝