博客专栏

EEPW首页 > 博客 > 从理论到落地:实网功耗测试实战案例+开源代码,低功耗应用指南!

从理论到落地:实网功耗测试实战案例+开源代码,低功耗应用指南!

发布人:13673998452 时间:2025-06-18 来源:工程师 发布文章

本文将以Air8000核心板为例,带你快速上手三种功耗模式。在实际应用开发中,可根据具体需求灵活运用。

最新开发资料详见:www.air8000.cn

 

一、三种功耗模式简介
 

Air8000支持的三种功耗模式各有特点。

1.1 常规模式:

网络在线状态,随时响应服务器命令,CPU满频运行,外设功能全部可用。比如,所有GPIO电平都可以控制。

1.2 低功耗模式:

网络在线状态,随时响应服务器命令,CPU降频运行,外设功能部分可用。比如,仅有AGPIO可以保持电平。

1.3 PSM+模式:

网络离线状态,无法响应服务器命令,CPU降频运行,外设功能部分可用。比如,仅有AGPIO可以保持电平。



二、最新源码及实操教程


Air8000应用示例持续更新中,当前示例为低功耗应用指南。不同的应用场景,可按需选择不同模式以及三种功耗模式之间的相互转换。

最新源码及实操教程详见:

https://docs.openluat.com/air8000/luatos/app/lowpower/sleep/

 

2.1 常规模式测试

顾名思义,常规模式为模块不考虑功耗时处于的状态。

1)代码示例

mian.lua中打开常规模式,屏蔽另外两种模式,如下图示:

normal.lua第二行和第三行,服务器IP端口号的地方改成用户自己使用的服务的IP/域名以及端口号。

如果仅作测试,也可以使用下面的测试服务器,测试服务器相关资料详见:

https://netlab.luatos.com/

进入后选择打开TCP/UDP(根据用户服务器类型自行选择):


打开后,如图所示位置即是IP和端口号:


本示例使用服务器netlab.luatos.com,打开TCP,然后修改IP和端口号,自动回复netlab下发的数据,自收自发测试。
 

normal.lua:



2)常规模式功耗测试结果

下图为链接好服务器后什么都不做的功耗,其中平均电流为6.2127mA。

注意:每一个尖峰均为和基站进行一些底层的数据交互导致的电流增大,这些交互不能省,均是3GPP协议规定的交互,如果省去,都有可能导致掉网。


2.2 低功耗模式测试

该模式可以实现与服务器之间进行长连接,服务器可随时下发数据给客户端,实现在低功耗情况下还能实时远程控制的功能。

1)代码示例

mian.lua中打开低功耗模式,屏蔽另外两种模式,如下图示:


low_power_dissipation.lua第二行和第三行,服务器IP端口号的地方,改成用户自己使用的服务的IP/域名以及端口号。

low_power_dissipation.lua:


2)低功耗模式功耗测试结果

下图为低功耗模式下,不发数据时,模块的功耗情况,每一处尖峰都是与基站之间进行必要的通讯带来的电流增大。


下图红框内为收到服务器下发数据时的功耗数据,可以看出从唤醒到收到服务器数据总计花费约5秒,平均电流约为23.7mA:


2.3 超低功耗PSM+模式测试

对于和服务器之间不需要保持长连接,仅仅需要间隔几小时甚至几天才发一次数据给服务器,希望电池待机时间更久一些的场景,可以使用超低功耗PSM+模式。

1)代码示例

mian.lua中打开超低功耗模式,屏蔽另外两种模式,如下图示:

ultra_low_power.lua第二行和第三行,服务器IP端口号的地方,改成用户自己使用的服务的IP/域名以及端口号。

ultra_low_power.lua:


2)超低功耗PSM+模式功耗测试结果

下图红框内为PSM+ 模式下,发送数据时的功耗,从发送数据到最后进入休眠总计花费约3秒,这3秒内平均电流约为24mA。


下图为PSM+模式下,模块待机时的功耗为30μA左右,目前因为充电IC影响,功耗会比4G模块系列要高,后续会对功耗进行优化。


今天的内容就分享到这里了~


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。




相关推荐

技术专区

关闭