WiFi通信模块如何实现低功耗工作
Posted 成都泽耀科技有限公司Ashining
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WiFi通信模块如何实现低功耗工作相关的知识,希望对你有一定的参考价值。
A51系列是2.4G频段的WIFI模块,基于乐鑫ESP8266EX为核心处理器,并符合IEEE 802.11 b/g/n(HT20)协议规范。
RF信号最大功率约+20dBm,提供3种版本:板载天线、IPEX连接器和半孔引脚,均采用1.27mm间距的半孔引脚的SMD封装,重量轻,体积小,方便集成。
模块引出芯片全部IO,可根据应用场景自行开发固件。
多种功耗模式
A51支持多种功耗模式:灵敏模式、普通模式、省电模式、超省模式、睡眠模式、深度睡眠模式。
适用更多不同场景,低功耗模式延长使用寿命。
1.灵敏模式(Active 模式):模块的工作主频为 160MHz,模块全速运行,模块不做任何省电操作,因此此模式下模块工作最灵敏,性能最优,响应速度最快,数据传输延迟最低。
2.普通模式:模块主频降低为80MHz,其他和灵敏模式一致。此模式下数据收发流畅,延迟小。
3.省电模式:模块主频为 80MHz,CPU一直保持工作状态,可以响应外部的所有输入,模块的无线部分会跟随连接的路由器的DTIM Beacon节拍睡眠和醒来,因此不会丢失网络下发的数据和模块上传的数据,用户可以在任何时间从串口输入透传数据,数据不会丢失,用户数据会在无线醒来期间发送到网络端。
4.超省模式:模块主频为 80MHz,CPU和无线部分一同跟随连接的路由器的DTIM Beacon节拍睡眠和醒来,因此不会丢失网络下发的数据和模块上传的数据。所以在睡眠期间的所有输入,CPU将都不能响应。
如果用户在睡眠期间向串口发送数据,那么这些数据将丢失,用户在此模式下想要发送数据到网络端,需要重复提交数据,以达到数据在模块醒来期间被收到的目的。
网络端下发的数据,模块将会在醒来期间发送给串口设备,因此,网络端下发的数据将不会丢失。
5.睡眠模式:模块的主频为 80MHz,睡眠期间模块将关闭 CPU 和无线,因此睡眠期间模块不能收到网络端的数据。用户可以设置模块在网络连接成功,并且没有接收和发送任何数据开始计时多长时间进入睡眠,也可以设置模块从睡眠开始多长时间自动醒来,如果用户想要模块一直睡眠,直到串口有数据才被唤醒,那么可以将醒来时间设置为 268436ms(即最大值)。
模块在睡眠期间 CPU 停止工作,不会响应外部中断,用户如果想要发送数据,可以先从串口发送一个唤醒包,然后等待 CHSTA 引脚输出低电平,用户再将要发送的数据从串口输入,这样数据就不会丢失。
睡眠模式下,为了让功耗尽量降低,用户可以配置模块在睡眠期间是否保持 GPIO 的输出状态,如果睡眠期间GPIO 不输出,那么 GPIO 将变为高阻态。
6.深度睡眠模式:在深度睡眠模式下,模块主频为80MHz,深度睡眠期间模块将关闭 CPU 和无线,因此深度睡眠期间模块不能收到网络端的数据。
用户可以设置模块在网络连接成功,并且没有接收和发送任何数据开始计时多长时间进入深度睡眠,也可以设置模块从深度睡眠开始多长时间自动醒来,如果用户想要模块一直处于深度睡眠,直到通过外部被唤醒,那么可以将醒来时间设置为 268436ms(即最大值)。
模块在深度睡眠期间 CPU 停止工作,不会响应外部的所有输入,用户如果想要发送数据,只能通过模块复位让模块重新运行。如果用户设置了醒来时间,那么模块会 在时间到时自动复位重新运行。
深度睡眠模式下,为了让功耗降到最低,用户可以配置模块在深度睡眠期间是否保持 GPIO 的输出状态,如果睡眠期间 GPIO 不输出,那么 GPIO 将变为高阻态。
这些模式只有模块工作在透传模式下才起作用,在配置模式和 Smartconfig 模式下被使用。可以根据现场情况,选择使用不同的模式,来达到最佳效果。
低功耗管理
1.Modem-Sleep模式
CPU工作,Wi-Fi射频处于省电状态,随WiFi协议定时唤醒。
Modem-sleep模式应用于需要CPU-直工作的场景,如应用于PWM或I2S等。在保持Wi-Fi连接时,如果没有数据传输,可根据802.11 标准(如U-APSD),关闭WI-FI Modem路来省电。例如,在DTIM3 时,保持300ms的睡眠间隔,每次唤醒3 ms来接收AP的Beacon包,则电流约为15 mA。
2.Light-Sleep模式
CPU及所有外设暂停运行。任何唤醒事件(MAC、主机RTC定时器或外部中断)都会唤醒主控,射频随WiFi协议定时唤醒。
Light- sleep模式用于CPU可暂停的应用,如Wi-Fi开关。在保持Wi-Fi 连接时,如果没有数据传输,可根据802.11标准(U-APSD),关闭Wi-Fi Modem并暂停CPU来省电。例如,在DTIM3时,保持300 ms的睡眠间隔,每次唤醒3ms来接收AP的Beacon包,则电流约为0.9 mA。
3.Deep-Sleep睡眠
仅RTC处于工作状态,芯片的其他部分掉电。
Deep-sleep模式应用于需要Wi-Fi连接的场景。对于很长时间才发送一次数据包的应用(如每100秒测一次温度的传感器),每300s醒来后需0.3s~1s连上AP,则整体平均电流小于1mA。电流20uA是在2.5V下得到的。
以上是关于WiFi通信模块如何实现低功耗工作的主要内容,如果未能解决你的问题,请参考以下文章