|
【NXP Rapid IoT评测】低功耗的实验&总结
[复制链接]
本帖最后由 cruelfox 于 2019-1-20 21:34 编辑
经过对 K64 MCU 的降频改造,在运行我编的极简应用工程(屏幕的背光也关闭,省出来10mA电流)时,测得3.4V电源端的电流是 42mA 左右。这个电流仍然很高,作为 IoT 应用电池供电是吃不消的。K64已降频到 12MHz, MCU在这个频率也不会吃掉40mA电流。我怀疑是 KW41 还有重要贡献,不过评测时间不够不能再去研究 SDK 里面的KW41代码了(在线IDE生成的代码只是 K64 的)。
后来我发现把 KW41 复位(在我做的扩展板上引出了复位脚)时,整机的电流会降到 20mA 以内。那么让 K64 主动将 KW41 置于复位状态(姑且这么做,放弃BLE和Thread功能,为了省电的时候),可以在不修改 KW41 代码的前提下延长整机的使用时间。Rapid-IoT kit 的设计,是让 K64 作为主控MCU,它可以随时对 KW41 进行复位,于是改改代码不难实现“强制”复位。不过,问题就是要重新启用无线通信功能时,得重新初始化,等待时间长。再有就是 KW41 复位状态也还不一定是最低功耗状态。
我从工程代码中可以了解到,K64 和 KW41 是以 FSCI 软件接口进行通信的,在 K64 这边发起的一个调用,会通过串行通讯发送到 KW41 那边去执行。无奈我刚听说这个接口,对里头的细节一无所知,更不知道是否有低功耗模式的服务之类。只不过从目前的工程代码看来,它并没有加进低功耗方面的处理。
作为 Rapid-IoT 低功耗性能的探索实验,我就采取对 KW41 硬复位的办法来降功耗了。下面得让 K64 进入低功耗模式,在代码中可以做一些手脚。根据 K64 的手册,比 WAIT (CPU停下来,总线还是活动的)模式更省电,也容易实现的是 STOP 模式,以及 VLPS (很低功耗的STOP)模式。常见的 ARM Cortex-m 系列 MCU 都支持 STOP 模式,它需要先将 SCB 的 SCR 寄存器中 SLEEPDEEP 位置位来进入。我起初在尝试的时候,发现进入不了 STOP 模式,怀疑是启用了 SWD 调试的原因,但我不知道怎么关掉…… 后来发现断电后不连接调试器重新通电,就可以进入 STOP 以及 VLPS 模式了。
这样,当 K64 STOP 了以后总电流下降到了 9mA 左右。仍然还有什么器件在吃电呢?KW41 我不知道它现在电流是多少,传感器是否有活动的?我的应用使用了加速度计,但它理应消耗不了这个数量级的电流。回想起查看过 ATMO_Init() 函数里面的一系列初始化的东西,于是我再试试有什么可以去掉的。
在关掉了 CCS811 (空气质量传感器) 和触摸控制器之后,整机电流下降到了 4mA (K64为VLPS模式时). 也许还有什么传感器可以调整到省电模式的,我没有确定。在这个状态下由于 K64 已停止活动,需要由外部中断来唤醒(例如按钮按一下,例如传感器的 INT 输出),很多功能会受到限制。还有就是这个液晶显示屏,它是低功耗设计的,但显示静态图象也需要一个时钟输入,避免液晶极化——我将 K64 置于 STOP 模式大概是停掉了那个时钟,会有潜在问题。
评测时间结束,总结一下。Rapid-IoT 这个 Kit 硬件设计上是很精致的,在比手机小不少的体积中集成了多种传感器(惯性、磁场、压力、空气、光线、温度),还有NFC、RTC、安全芯片,无线方面则使用了单独的一颗 KW41 来支持BLE和Thread. 有这些就能覆盖很广的IoT应用了。而且它本身就支持丰富的用户界面,具有低功耗液晶屏、RGB LED、按钮、触摸控制器和蜂鸣器。再搭配 K64 这颗资源丰富的 Cortex-m4 MCU 作为主控,还有 SPI Flash 作为存储,这个小盒子的硬件配置可以说相当不俗。
作为快速原型工具,Rapid-IoT 搭配的软件开发平台是在线式的,编程方式和一般认为的编程完全不同。从实现传感器读出和控制输出、无线连接功能整合角度来看,这种搭积木的可视化编程的确可以使用户短时间上手,实现简单的传感器应用,甚至不用写任何代码,趣味性强。在线开发平台还可以设计手机上的界面,满足一定的交互需求。
但是,这个软件开发环境目前生成的代码在低功耗方面显然没有怎么努力。IoT应用经常是需要用电池供电的,甚至要求用一颗纽扣电池连续工作几个月以上。而 Rapid-IoT 配备的240mAh锂电池仅仅能支撑两个多小时,软件中还没有电源管理,甚至不能关机,这样的后果是极大制约了它的应用场景。作为原型设计,哪怕实现了必要的功能,也无法评估功耗——这是严重的缺陷。上面 KW41 这颗无线MCU的低功耗在线连接的能力也被荒废了。
本次评测活动,遗憾的是因为网络访问的原因,我使用的手机无法运行官方的APP,不能体验在线工程设计的数据交互。幸亏电脑访问 rapid-iot-studio 虽然慢还能使用,也能下载生成的文件。如果网站可以将工程中设计的手机界面编译成 apk 下载,并免除手机登陆服务器这一限制,就更好了。
|
|