嵌入式移动终端内置WIFI 的低功耗设计

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
http://www.igecc.com  2009年02月23日10:29:35 微计算机信息

 

摘 要: 目前嵌入式移动终端设备加入WIFI 技术实现无线传输数据与语音是技术热点,并具备巨大的商业价值。在既定的电池能耗限定条件下,降低WIFI 子系统 的功耗,延长设备的工作和待机时间是嵌入式WIFI 内置设计的技术瓶颈。本文采用ARM7 系列的LPC2220 作为微处理器的嵌入式开发平台,重点 分析NXP(恩智浦) 半导体公司的高集成度BGW200WIFI 芯片, 系统提出了WIFI 硬件与射频电路设计、WIFI 底层软件驱动开发的设计 思路,尤其是四种低功耗节电管理模式,并最后给出了WIFI 系统功耗的实际测试结果。

1 引言

嵌 入式设备是无线通信最重要的应用领域。自2007 年开始,全球Wi-Fi(Wireless Fidelity) 市场高速持续增长,销量达到2.8 亿套。低功耗的无线通信软硬件设计是嵌入式移动设备重要的研究内容。仍以Wi-Fi 为例,若采用飞思卡尔(Freescale)的WIFI 模组和嵌入式微处理器MCF5249 ,考虑通常手机的电池容量,则通话时间仅为1~2 小时,待机时间也仅有20~26 小时。而从现实应用看,嵌入式移动设备中电池能量有限,在充电后至少应该保障一天的使用时间。因此,解决功率消耗对提高嵌入式WIFI 移动设备的可用性具有重要意义。

本文提出了一种在嵌入式移动设备中WIFI 子系统的低功耗设计思路,芯片采用恩智浦公司的BGW200 模块,通过合理的设计系统硬件、WIFI 底层的软件驱动方面、节点管理模式等手段实现了低功耗的WiFi 系统。

2 WIFI 硬件与射频电路低功耗设计

本 设计采用LPC2220 微控制器作为主机端微控制器,它基于一个支持实时仿真和嵌入跟踪的ARM7TDMI-S CPU。BGW200 是一款WIFI 低功耗系统化封装(SiP) 芯片组,具备“主机零负荷”性能,MAC 通信协议可以利用内置嵌入的ARM7 核来执行,所以不会对主处理器HOST 造成任何负荷。只有当BGW200 接收到有效数据封包时,才会触发主处理器工作。

图 1 显示了WIFI 子系统为实现低功耗目标的硬件电路设计框图,主要包括BGW200、系统时钟、低频睡眠时钟、和1.8V/3.0V 电源供应、带通滤波器、天线和“与门”电路。其中用虚线标注的低频睡眠时钟和辅助RF 电路在设计中属于可选项。设计具体细节如下:SPI2接口:考虑到SDIO 对主机资源消耗较大,设计采用SPI 接口。BGW200 分SPI1 和SPI2两种接口,其中SPI2 是高度从接口(Slave),通过管脚设置CSR0/SCR1 为0/0。两个SPI 接口共享相同的数据线和时钟信号线,但是具有不同的片选信号,SPI1 使用GPIO[10] 作为片选信号,SPI2 使用SPI_SS_N(GPIO[6])。SPI2 接口操作独立于总线时钟,最高可以工作到66MHz 。SPI2 的IO 接口采用VDD3.3 供电(2.7V 到3.6V)。

                                 图1  WIFI 子系统硬件框图

供 电单元设计采用了LDO 降压芯片,由于BGW200 分两种电压:射频部分电压范围值(2.7V-3.6V),基带内核电压范围值(1.65V-1.95V)。因此设计依据的因素考虑了芯片的成本、电平值和 最大电流负荷、电源输入输出效率和噪声、输入电压范围、输出电压精度以及保护特性,采用了TPS73630(3.0V,400mA )和TPS73218(1.8V,250mA)。考虑到陶瓷电容有最优的ESR 特性过滤脉动电压抖动影响,设计中同时采用了陶瓷电容匹配LDO 芯片。另外,为加强低功耗设计实现,设计用了LPC2220 主控制器的一个GPIO 口来控制BGW200 的开/关状态来降低功耗。

主系统时钟和睡眠时钟。BGW200 工作要求两个时钟,主系统时钟44MHz(10ppm) 和32KHz 的睡眠时钟。在嵌入式设计中都可以共享主处理器LPC2220 的时钟资源,其中BGW200 的GPIO[4]通过并联电容直接连到睡眠时钟。

2.4GHz 射频匹配电路。理想状态下,由于BGW200 的RF 端口已经是50? 的标准阻抗,

2.45GHz 的天线能够通过50? 的微带线直接连接到BGW200 的天线端口。在设计中,借助网络分析仪工具的帮助,设计了LC 匹配电路以达到更高带宽性能的射频信号接收性能和最佳的驻波比(回波损耗),具体的LC 参数值取决于PCB(FR4) 介材特性和电子料的布板。天线设计采用了Johanson 公司的型号2450AT45A100,(最大输入功率:500mW ;天线峰值增益:0.5dBi ;回波损耗:9.5dB)。

3 WIFI 底层驱动移植与节电模式算法

BGW200 芯片提供WinCE5.0 和Linux2.4 内核的标准程序代码,分别基于TI OMAP/ Intel Bulverde/ 嵌入式平台。它的底层软件架构分主机(Host) 和从机(Target) 两个部分,其中Target 是指BGW200 的MAC 层,相关的MAC 协议已经固化在芯片内部。

3.1 底层驱动架构分析


   图2 表示了Host 主要的功能模块:

客 户机端的驱动(Client Driver)该层主要提供主机的操作系统OS、上层运行程序、以及主机端硬件抽象层(HHAL: Host Hardware Abstraction Layer )之间的连接,它将调用HHAL层的API 参数,对于不同的操作系统OS,该部分驱动要做重新移植。主机端硬件抽象层(HHAL) 该层是服务于SPI/SDIO 接口的主机端抽象接口,它分为两个部分,通用部分(Common) 和平台(Platform)相关部分。通用部分对所有的平台都是相同的,提供高层次的数据处理。而平台相关部分则依具体的硬件平台而定,需要提供底层对通 信接口(SPI)的读、写等操作,需要设计具体的硬件相关资源,如硬件中断、DMA通道等。

可配置效用层(Configuration Utilities) 针对不同的平台,提供了WLAN的相应配置工具,例如在WinCE上的ZeroConfig ,或者Linux平台的Wireless Extension 包。

主 机操作系统抽象层(HOSAL) 该层是一个主机侧操作系统的抽象接口,它提供了给HHAL的通用部分与操作系统无关的能力。该层以统一的接口支持不同的具体操作系统,目前主要有 Linux和WinCE两类。该模块主要包含支持HHAL运行的相关OS的API。具体包括:OS相关的结构体初始化、内存管理、定时器、队列、中断、线 程、事件和互斥锁。

 3.2 WIFI软件驱动与节电模式设计
本设计OS采用Linux2.4 内核,具体实现分以下几个部分:

3.2.1 初始化(Initialization)

首 先在驱动装载的过程中由HostDriver 调用PhgOsalRegInit()请求HOSAL层执行initialize 任务来完成内存的分配,然后执行回调函数,在回调函数中传递硬件相关的资源,并且注册事件入口,创建事务线程。准备工作一旦就绪,通过调用 PhgHhalInitialize() 立刻转入HHAL 通用层的处理,在通用层中调用HhalPlatformInitPreBoot()执行硬件相关的代码如平台资源初始化、注册中断处理函数、创建直接内存 访问通道等。这样HHAL通用层就具备了同Target 进行数据交换的能力。然后将Firmware 下载到Target 中,并向Target 的内部寄存器写入START 指令,等待Target 的ACK确认信息,初始化工作即宣告完成。

 3.2.2 建立连接(Connection)

在 HHAL通用层中已经定义了大量MIB命令字来与Target 的Firmware 执行相匹配,HOST通过PhgHhalQueueMgmtReq() 给TargetT 发起一个请求,对于简单的命令与回应,通过设置和读取TargetT 的内部寄存器来完成。如果有数据需要传输,Target 向HOST请求中断,并通过直接内存访问通道DMA把数据传输到HOST ,再由HOST 提交给操作系统上层。建立连接的过程HOST向Target 发起SCAN、JOIN、AUTH 、ASSOC 等请求,等待Target 执行完成并返回确认,HOST收到确认后转入在初始化阶段注册的相应事件入口,通知上层系统已经完成连接的建立。

 3.2.3 数据通讯(Communication)

数 据通讯实际上通过M2S 和S2M 两个 DMA 通道来完成。发送数据同样是调用PhgHhalQueueMgmtReq() 发起请求,待Target 准备就绪,调用HhalPlatformM2SDma()将数据发送到Target 中,再由Target 转换为RF 信号向无线连接点AP 发送。接收数据则是Target 由连接点收到RF 信号,解析为MAC 数据包,向HOST 发出中断请求,待HOST 准备就绪,调用HhalPlatformS2MDma() 从Target 中接收数据。

 3.2.4 节电算法软件设计(Power Management)

根 据移动终端的具体运用场景,在底层驱动中开发了ACTIVE 、Max POWER_SAVE 、Fast POWER_SAVE 、POWER_SLEEP四种电源管理模式。工作模式(Active Mode )时,电源管理关闭,芯片处于完全上电状态;最大功耗节电模式(Max POWER_SAVE )时,满足在用户可以选择的侦听间隔最大程度内,达到功耗节省最优。快速功耗节电模式(Fast POWER_SAVE )时,满足在用户固定的侦听间隔,达到良好的功耗节省最优。睡眠模式(POWER_SLEEP) 时, 芯片处于关机状态,用户需要人工操作重新回到芯片工作状态。本设计中驱动装载后默认的是ACTIVE, 同时在事务线程中对电源模式进行检测,当上层软件需要转换为POWER_SAVE, 驱动仍然通过PhgHhalQueueMgmtReq() 向Target 发起请求,使得Target 切换到POWER_SAVE 工作模式,在这种模式下,BGW200 只消耗很少的电能,同时仍进行MAC层的处理,上层软件可以根据数据传输的需求来实时切换Target 的工作模式,以达到有效节能的目标。

4 测试结果
本 设计的WIFI 子系统在实际环境下进行了功耗测试,测试用的无线连接点AP 用的是Linksys 公司的WRT54G, 无线链路的距离是1 米,软 件设置到最大发射功率为+16dBm,同时按照802.11b 协议规范的要求,分别在四种不同速率1M/2M/5.5M/11M 情况下测量出发射和接 收功耗。测试结果如表1 所示。

表1  BGW200 在LPC2220/Linux2.4 系统平台上的功耗测试


 WIFI 子 系统的待机功耗为6.36 毫瓦(100 毫秒信标间隔)和2.23 毫瓦(300 毫秒信标间隔),实现了对WIFI 的低功耗设计要求。加上在本论文 设计的包括LPC2220 微控制器作为主机端的整个系统平均待机电流为15mA, 通话的平均电流为300mA ,通常以设备采用650mA 的电池能 耗下,系统的待机时间可以到48 小时,连续通话时间为3 小时。
5 结束语
本文作者创新点在于:通过实际的设计研究与实验测试对 比,提出在嵌入式移动设备中WIFI 子系统的低功耗设计方法,其中与WIFI 连接的HOST 主机端(嵌入式微处理器)并不局限于特定的型号。本文的 低功耗设计到了多个技术层面,包括芯片分析选择、硬件系统外围电路架构、电源管理设计优化、PCB 布板与射频电路、软件驱动的四个节电模式。它为广大嵌 入式移动设备企业及相关科研机构设计最终WIFI 产品的设计提供一种参考思路,并倡导应用节能技术,研发生产低能耗型产品当作提高企业核心竞争力的有效 途径。

参考文献: 
[1] BGW200 Linux / Mainstone2 / SPI Release 03.02.04.78. 2006.  
[2]王树奇,孙弋.基于S3C2410 的井下WiFi 便携终端的设计[J]. 微计算机信息,2007, 4-2:186-188. 
[3] 何津津,陈奇,杨莲兴. 802.11b 标准MAC 子层的低功耗设计【J】. 微电子学 . 第36 卷第一期(105-107),2006.

Harmony鸿蒙南向外设驱动开发-WLAN 无线局域网数据传输是端侧设备不可或缺的一部分,用户可以方便地接入到无线网络进行数据传输和共享,并且在无线网络覆盖区域自由移动,彻底摆脱有线的束缚 阅读详情

相关推荐

移动终端基带芯片基本架构

基带数字处理功能以及手机基本外围功能都集中到单片片上系统(SOC)中,其基本构架都采用了微处理器+数字信号处理器(DSP)的结构,微处理器和DSP的处理能力一直增强。微处理器是整颗芯片的控制中心,会运行一个实时嵌入式操作系统(如Nucleus PLUS)。DSP子系统是基带处理的重点,其中包含了许多硬件加速器和基带专用处理模块,完成所有物理层功能。本文概述了单模和多模基带芯片的架构。

Adan 8777

一文让你全面了解Wi-Fi的低功耗模式

配置为节电模式时,STA将在一段时间内关闭部分收发器组件以减少耗电。在此期间,无线接口处于短时间休眠状态。STA通过将电源管理位置1来通知AP启用节电模式,AP将所有传输给客户端的802.11帧储存在缓冲区中。

1042484520@qq.com(邮箱) 4948

嵌入式系统低功耗优化:DVFS与外设电源管理实战

嵌入式系统低功耗设计是物联网设备开发的核心挑战,涉及动态电压频率调整(DVFS)、外设电源门控等关键技术。DVFS通过动态调节处理器电压和频率,可在不同负载下实现显著的功耗优化,如ARM Cortex-M处理器从全速运行到深度睡眠模式可降低功耗三个数量级。外设电源管理则通过硬件开关和软件控制策略,有效解决WiFi、蓝牙等模块的闲置耗电问题。这些技术在智能传感器、穿戴设备等场景中,可将纽扣电池供电设备的续航从数天延长至数年。结合STM32等微控制器的具体实现方案,展示了如何通过时钟配置、电源域划分和状态机设计

weixin_30872577的博客 229

移动终端基带芯片的基本架构介绍之三(移动终端基带芯片详细架构)

移动终端基带芯片的基本架构介绍之三(移动终端基带芯片详细架构) 参考链接:https://blog.csdn.net/lxl584685501/article/details/46771623 http://m.blog.csdn.net/blog/suipingsp/35280465 http://m.blog.csdn.net/blog/suipingsp/35574959 http://www.bubuko.com/infodetail-237651.html (一)概述 1.基带芯片SO

a1809032425的博客 3071

安信可经验分享 | WiFi保持连接状态下低功耗的实现,适用于ESP32/ESP32C3/ESP32S3系列模组二次开发

文章目录一、前言二、目标芯片选择三、menuconfig配置项四、代码4.1 初始化电源管理:4.2 设置Listen-Interval1、TIM(traffic indication message)2、DTIM(Delivery Traffic Indication Message )3、Beacon-Interval(信标间隔)4、Listen-Interval, (STA即Client接收Beacon 的周期)五、功耗测试 一、前言 ESP32/ESP32C3/ESP32S3系列模组都有三种低功耗

安信可科技 1万+

常见的WiFi协议低功耗简介

如题。

EricWZY2008的专栏 4360

WIFI低功耗模式说明

Wifi在没有数据传输时,会进入standby mode。此时分两种情况: 1、没有连接AP的情况下,wifi芯片会进入deep sleep,此时完全受控于主控,此时的功耗为uA级别; 2、连接AP的情况下,wifi芯片会进入休眠模式,但是会自动起床检查数据,起床的周期取决于路由器AP的DTIM  interval(该值依赖AP缓存数据的能力)。DTIM interval的值就是n个Beaco

海闊天空的专栏 2万+

基于ARM、linux的MF RC522射频读卡器

摘要:本设计将ARM、linux的嵌入式技术与RFID技术相结合,对于实现移动支付终端低功耗、便携式和网络化具有特别的意义。首先是采用MF RC522芯片设计与制作读写器,实现对Mifare卡的读写操作;其次是使用S3C2440A芯片和linux搭建嵌入式系统,作为各模块沟通和处理的枢纽;最后是运用开发软件编写服务端和MFC、Qt界面客户端的程序,使得各模块通过SPI和wifi通信的方式协同工作

谈笑有鸿儒 往来无白丁 2066

基于Java的WiFi定位系统服务器开发实战

随着物联网技术的快速发展,WiFi定位系统因其低成本、广覆盖和高精度的潜力,广泛应用于室内导航、智能仓储、人员追踪等领域。相较于GPS在室内信号弱、蓝牙覆盖有限的问题,WiFi定位利用已有的无线网络基础设施,具备部署便捷、兼容性强的优势。其核心原理基于接收信号强度(RSSI)与距离的衰减关系,结合三角测量、指纹匹配或到达时间差(TDOA)等算法,实现对目标位置的估算。尽管存在多径干扰与环境变化带来的误差,但通过信号建模优化与算法融合,仍可实现米级定位精度。

weixin_42600407的博客 1065

【单片机毕业设计推荐】基于 STM32 的太阳能智能路灯控制系统设计与实现,基于 STM32 与 WiFi 的多模式太阳能路灯监控系统开发(014003)

本文设计一套以 STM32F103C8T6 单片机为核心的太阳能智能路灯控制系统。系统利用 GL5506 光敏传感器采集环境光照强度,搭载 OLED 显示屏实现本地数据可视化,支持自动、手动、定时、阈值设置四种工作模式,可实现路灯 10 档位亮度调节。系统采用太阳能供电方案,借助 ESP-01S WiFi 模块完成无线数据传输,配套 Android Studio 开发的移动端 APP,实现光照数据、路灯档位远程查看,支持光照阈值、定时参数远程配置与系统时间校准。本文完成硬件电路搭建、嵌入式控制程序开发以及

bishe7_is_vx的博客 85

【单片机课程设计/毕业设计】基于 ESP8266WiFi 模块的生理数据采集报警平台设计与实现 面向居家健康的单片机体征检测与声光报警系统设计(024105)

本文设计实现一套基于 STM32 或 51 单片机的人体生理参数监测系统,系统以单片机作为主控单元,利用 MAX30102 模块采集心率、血氧数据,DS18B20 传感器完成体温数据采集,通过 LCD1602 液晶完成体征数据本地显示。系统支持按键完成心率、血氧、体温上下限阈值自定义设置,当检测到生理指标超出预设阈值,系统驱动蜂鸣器与 LED 指示灯实现声光报警。借助 ESP8266 WiFi 模块建立设备与手机 APP 通信链路,完成体征数据无线传输,用户可以在手机端查看监测数据并完成简单控制。

187

嵌入式、物联网常见通信协议

本文介绍一些常见的嵌入式、物联网通信协议,它们具有不同的性能、通信速率、覆盖范围、功率和内存,而且每一种协议都有各自的优点和或多或少的缺点。其中一些通信协议只适合小型家用电器,而其他一些通...

嵌入式Linux 2206

嵌入式系统中scanner接口通信协议操作指南

深入解析嵌入式系统中scanner接口的通信机制与协议操作,涵盖scanner数据传输流程与常见问题处理,帮助开发者高效实现设备间稳定通信。

weixin_42600128的博客 1078
上一篇: 无线互联 嵌入式系统设计的新挑战
下一篇: 嵌入式移动终端内置WIFI 的低功耗设计
Linux先生
博客等级 码龄20年 97粉丝 43原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值