作者:Stephen Evanczuk
在设计电池供电型物联网 (IoT) 设备和其他互连产品时,设计人员需要满足持续无线连接和更长电池续航时间这两个相互冲突的需求。在同一设备中,同时需要蓝牙5 和 Wi-Fi 连接的需求不断增加,这使本已捉襟见肘的功耗限制雪上加霜。虽然 Wi-Fi和蓝牙协议提供了有关帮助降低功耗的标准协议,但以架构形式提供才是更直接的支持,在这种架构中会将可分担网络处理任务的无线电子系统与低功耗微控制器结合在一起。
本文将概述双模 Wi-Fi/蓝牙连接的重要性,并说明它们为何让物联网设计复杂化。随后文中将展示来自 Cypress Semiconductor的开发板和相关软件,以及如何使用它们来开发能够持续连接并具有更长电池续航时间的双模 Wi-Fi/蓝牙物联网设备。
双模 Wi-Fi/蓝牙持续连接日益增长的需求
对于旨在通过支持蓝牙的智能手机和其他移动设备与用户互动的许多物联网设备来说,蓝牙连接被认为是标准要求。然而,对于许多物联网应用来说,物联网设备需要Wi-Fi 连接来接入无线局域网 (WLAN) 以直接访问互联网,或者与同一网络上的其他对等设备和主机系统进行交互。
在很多方面,如果这些物联网设备只需要根据传输数据或其他信息的需求而连接至 WLAN或蓝牙主机,则开发人员就能够更简单直接地延长电池续航时间。由于许多物联网设备的有效占空比通常较低,这些设备可以通过在多数情况下采用低功耗休眠模式运行,唤醒足够长的时间来执行传感器测量、完成相关的处理任务并传输所得数据,然后再返回低功耗模式,以此来延长电池续航时间。在现实中,大多数物联网设备都需要快速响应来自对等设备、主机系统和终端用户的异步传入指令和数据。
为了保持响应能力,物联网设备需要在表面上提供持续连接,并一直保持检测传入流量,以便能够在可接受的时间段内作出响应。如果开发人员试图通过反复唤醒设备接收传入流量来满足这一基本要求,则设备的电池将很快耗尽。事实上,尽管单次发射操作消耗的电量更高,但随着时间的推移,电池供电型Wi-Fi设备中的无线电接收器通常会比无线电发射器消耗更多的电量。当然,设备主机处理器在每次接收操作中所消耗的电量也将其自身的大量负载添加到功耗预算中。幸运的是,无线标准定义了一些协议,让开发人员在降低功耗的同时,还能从表面上保持持续连接。
无线连接标准如何帮助设备降低功耗
在正常操作中,Wi-Fi 接收站 (STA) 通过关闭其大部分 Wi-Fi 子系统来节省电量。由于接入点 (AP) 会缓存休眠 STA的帧,因此不会丢失消息。作为其正常网络管理操作的一部分,AP 会定期发送包含位图(称为流量指示图 (TIM))的信标,位图将指示 AP 是否有每个 STA的等待流量。AP 还会周期性地发送包含传送流量指示图 (DTIM) 的信标,指示存在缓存多播或广播数据。STA 预期会在 DTIM周期值内定期唤醒,此值是正常信标间隔的某个倍数。若物联网配置有高 DTIM 周期值,则网络中的设备能够降低功耗,因为在唤醒接收器接收信标(指示 AP中有为其暂存的帧)之前,这些设备可以休眠更长时间。这就是下文讨论的标准 802.11 节能轮询机制背后的基本方法。
低功耗蓝牙 (BLE)
通过优化蓝牙广告频率和有效载荷来降低设备的功耗。通过增加广告间隔,物联网设备可以延迟发射器操作;通过降低有效载荷,物联网设备可以缩短发射器事件的持续时间。当然,并不是每种应用都能容忍长广告间隔或最小有效载荷。例如,在音频或实时感测设备中,长广告间隔意味着连接延迟,这可能会对整个应用的表现产生不利影响。
外设可以使用另一种名为“从设备延迟”的 BLE 功能,这种功能允许外设跳过连接事件。与 Wi-Fi DTIM 一样,BLE从设备延迟允许设备更长时间地保持低功耗模式。这种特殊模式不是简单地增加连接间隔,而是允许外设跳过与主机的连接事件,但仍可根据需要唤醒和发送数据,而不会引起额外的延迟。
支持双模连接和延长电池续航时间
这些方法有助于减少 Wi-Fi 和蓝牙设备的满功率运行持续时间和频率,但是开发人员可以利用 Cypress Semiconductor 的CY8CKIT-062S2-43012 Wi-Fi BT Pioneer 套件中所展现出的硬件和软件功能进一步延长电池续航时间。除了跳线和 USB 电缆,该Cypress 套件还包含 PSoC 62S2 Wi-Fi BT Pioneer 开发板,后者为实现低功耗物联网设计提供了全面的开发平台和功能齐全的硬件系统。与Cypress 软件配合使用,Cypress 套件允许开发人员即时评估和快速部署各种复杂的电源管理功能。
除了多个接口连接器、按钮和 LED,该套件的开发板还集成了 CY8C5868LTI-LP038 PSoC 5LP 器件,提供 CypressKitProg3 板载编程和调试功能。为了增加板载存储空间,Cypress 集成了其 S25FL512S 512 Mb 串行 NOR 闪存器件及其CY15B104 4 Mb 串行铁电随机存取存储器 (FRAM)(图 1)。
在开发板的核心,一个载波模块集成了 Cypress Semiconductor 的 PSoC 6 微控制器和 Murata Electronics 的1LV 型 LBEE59B1LV 无线连接模块与无源元器件。一个射频 (RF) 开关和一个双频 2.45 GHz/5 GHz小型片式天线完善了支持器件。
PSoC 6 专为消除处理性能与功耗之间的传统权衡而设计,集成了用作主应用处理器的 150 MHz Arm®
Cortex®-M4,以及用于处理低功耗操作的 100 MHz Arm Cortex-M0+。除了集成的闪存和静态 RAM (SRAM),PSoC6还包括加密引擎、可编程模拟和数字外设,CapSense 触摸感应支持和多个系统接口(图 2)。
Murata 的 LBEE59B1LV 模块在 10.0 x 7.2 x 1.4 毫米 (mm) 的封装中提供了完整的无线电子系统,内置 Cypress CYW43012 嵌入式设备无线互联网连接 (WICED) Wi-Fi + 蓝牙设备、参考时钟和滤波器(图 3)。
该模块支持蓝牙 5.0 和 Wi-Fi 802.11a/b/g/n 的 2.4 GHz 和 5 GHz 无线连接。此外,该模块还提供 802.11ac友好模式,支持 5 GHz 频段中 20 MHz 通道的 802.11ac 256 正交调幅 (QAM),比仅支持 802.11n的产品提供了更高的吞吐量和更低的每比特能耗。Murata 的 LBEE59B1LV模块获得了多个地区的预认证,消除了与合规性测试和认证相关的漫长延迟,加快了开发速度。
在模块内,Cypress 的 WICED 设备在 Wi-Fi 和蓝牙子系统中分别集成了 Arm Cortex-M3 处理器和 Arm Cortex-M4处理器。虽然不适用客户代码,但 Arm Cortex-M3 处理器运行 Cypress 固件,支持 Wi-Fi
操作和其他功能,包括下文所述的卸载功能。蓝牙子系统中的 Arm Cortex-M4 运行蓝牙控制器固件、蓝牙堆栈和配置文件。此外,该内核可以运行使用Cypress 的 WICED 软件开发套件 (SDK) 编写的客户代码。
在无线物联网设计中使用节能方法
PSoC 6 和无线连接模块设计用于最大限度地降低功耗,并具有一整套功率模式和降功耗功能。Cypress
为这一高能效硬件平台提供了大量的软件支持,旨在简化节能方法在无线物联网设计中的使用。例如,开发人员可以使用独立的嵌入式 Wi-Fi 主机驱动程序 (WHD)库轻松实现前文所述的节能轮询方法。
开发人员只需调用 WHD 应用编程接口 (API) 函数 whd_wifi_enable_powersave() 即可启用节能轮询,之后调用whd_wifi_disable_powersave() 即可在器件中禁用节能轮询。启用后,STA 会通知 AP 其已进入休眠状态。如前所述,AP会缓存发送给休眠中 STA 的任何帧,并配置周期性信标以指示存在待处理的帧。当 STA 唤醒来检查信标时,即会开始一个标准过程来获取这些帧。
虽然节能轮询机制旨在用于低占空比的 STA,但还有一种称为无轮询节能的类似方法,支持具有更高吞吐量要求的 STA。使用这种方法,STA发送一个空函数数据帧,该数据帧会启动来自 AP 的帧传输。
节能轮询和无轮询节能允许设备减少接收器操作,但无助于消除与网络操作开销相关的非必要事务。例如,在连接到外部网络(特别是公共互联网)时,任何包含物联网WLAN的网络都会携带非必要的数据包流量。若能在通信子系统内过滤掉这些数据包,而不影响到物联网设备主机处理器,则能让主处理器更多时间保持在低功耗休眠模式。
除了非必要的数据包外,合法的网络流量也会导致主机处理器不必要地唤醒。例如,Wi-Fi 标准地址解析协议 (ARP) 可使用广播数据包将与设备相关联的 IP地址映射到设备的媒体访问控制 (MAC) 地址。此操作对于 WLAN 的正常运行必不可少,可以让设备与网络中的其他设备联系、检测重复的 IP 地址,并在 IP地址因任何原因改变时通知其他设备。
ARP 请求和响应数据包是网络操作中基本的数据包,以至于仅仅处理 ARP 请求和响应,物联网设备的主机处理器就会不堪重负。如果设备的 WLAN接口只是在主机与网络之间传递请求和响应,则每个 ARP 请求都会唤醒主机,有时这是不必要的。
相比之下,Murata 的无线连接模块介入该交换过程,从而解除了 PSoC 6 微控制器的 ARP 请求处理负载。当 PSoC 6以其他方式参与其主物联网应用功能时,该功能可为应用执行保留处理器周期。如果 PSoC 6 处于休眠模式,该功能有助于降低物联网设备的整体功耗。Murata模块通过对等设备自动应答功能启用 ARP 卸载,只有在其缓存的条目不能满足传入的 ARP 请求时,才会唤醒 PSoC 6(图 4 左)。
同样的方法也有助于降低 WLAN 功耗。在正常操作中,Murata 模块可以监视(窥探)网络流量,并缓存来自其他 ARP 响应的 IP:MAC对。通过使用主机自动应答,Murata 模块可以响应来自 PSoC 6 的 ARP 请求,只有当 ARP 缓存无法满足 PSoC 6的请求时才调用其无线电子系统(图 4 右)。
节能功能的简单菜单式实现
利用 Pioneer 套件实现 ARP 卸载非常简单。Cypress 的 Device Configurator 工具包含在 Cypress 的
ModusToolBox (MTB) 集成开发环境 (IDE) 中,能够让开发人员通过几个菜单选择即可部署此功能。Cypress提供预建配置文件,允许开发人员快速选择包括 ARP 卸载在内的不同配置。
使用 Device Configurator 工具进行显式定义配置几乎同样简单。开发人员可使用该工具的菜单选项来启用主机唤醒引脚、命名引脚(CYBSP_WIFI_HOST_WAKE),并设置引脚参数(图 5)。
在该工具的 Wi-Fi 选项卡中,开发人员可启用主机唤醒,并将中断引脚设置为先前输入的名称(CYBSP_WIFI_HOST_WAKE)。其他菜单条目可用于启用 ARP 卸载,将功能设置为对等设备自动应答,启用网络窥探,以及设置缓存条目过期时间(图6)。
保存配置后,开发人员只需生成源文件、构建修改后的项目,并对 Pioneer 开发板进行编程。使用类似的程序,开发人员可以配置 Murata 模块,以卸载Wi-Fi 数据包过滤,并处理其他常见类型的网络操作。同样的方法甚至允许物联网设备执行维持 Wi-Fi 连接所需的 Wi-Fi TCP保持活动协议——所有这些都无需唤醒物联网主机处理器。
在正常的 WLAN 操作中,客户端设备和主机服务器通过交换保持活动数据包来维持 TCP连接。如果此交换的任一方在几次尝试后没有收到响应,其将终止连接。即使在功耗受限的物联网设备中,主机处理器也必须不断地唤醒以参与这种交换,或者消耗更多的电量来不断地重建连接。
与 ARP 卸载一样,开发人员可以使用 Device Configurator 工具来启用 TCP 保持活动卸载。启用此功能后,Murata模块会自动执行保持活动协议,而不唤醒 PSoC 6(图 7)。
尽管 Cypress 推荐使用 Device Configurator 工具作为最简单的实现途径,但开发人员也可以手动实现 Cypress平台的节能功能,包括 ARP 卸载、数据包过滤、TCP 保持活动卸载等。
这两种方法的基础都是 Cypress 的低功耗助理 (LPA) 中间件,该中间件支持用于 Wi-Fi、蓝牙和 PSoC 6微控制器的节能功能,以及本文未提到的其他功能。
在开发人员使用菜单或通过手动添加配置代码定义配置之后,LPA 固件会对应用执行透明操作,自动协调使用低功耗硬件功能和软件功能。
总结
物联网设备对持续无线连接和延长电池续航时间的需求为设计人员提出了相互矛盾的要求,而同时支持 Wi-Fi和蓝牙的需求只会加剧这种矛盾。如上所述,通过将可卸载网络处理任务的无线电子系统与低功耗微控制器相结合,Cypress Semiconductor 的CY8CKIT-062S2-43012 Wi-Fi BT Pioneer 套件能够让设计人员满足物联网无线连接和低功耗需求。
-
PSoC
+关注
关注
12文章
170浏览量
91791 -
蓝牙
+关注
关注
114文章
5763浏览量
169770 -
物联网
+关注
关注
2903文章
44240浏览量
371002 -
wi-fi
+关注
关注
14文章
2103浏览量
124303 -
电池
+关注
关注
84文章
10449浏览量
128910
发布评论请先 登录
相关推荐
评论