无线网络设备中降低的功耗的制作方法

文档序号:7885842阅读:184来源:国知局
专利名称:无线网络设备中降低的功耗的制作方法
无线网络设备中降低的功耗本申请要求2010年10月27日提交的序号为61/407,131的美国临时申请和2011年10月24日提交的序号为13/279,402的美国专利申请的优先权,将上述申请的公开通过引用整体地结合于本文中。
背景技术
无线设备和协议的数量上的猛增已经使得从未想过可能的应用能够实现。通过消除物理地连接到设备(诸如传感器或致动器)的需要,无线系统可以远程监视和控制各种操作。这使得新的应用,诸如远程控制和监视的运动检测系统、温度控制系统和其他用途能够实现。各种协议已经被提出,并被用来针对无线设备利用这些新用途。诸如蓝牙、WiFi和ZigBee 的协议,都定义了用于各种设备的格式和标准。对于这些无线设备的未来发展和使用来说,一个重要的考虑和使能因素是它们的功耗。在一些应用中,设备是电池供电的将是有益的,或者也许甚至是必要的。因此,可被用于在无线网络设备中降低功耗的任何技术将是有利的。

发明内容
公开了用于在无线网络设备中降低功率的各种技术。在一些实施例中,修改设备内的软件例程以最小化无线电中模拟电路被供电的时间。在一些实施例中,该技术利用了与特定网络协议相关联的隐含延迟的知识。例如,在CSMA网络中,在该设备可以试图获得对媒体的访问之前,存在定义的最小时段。在这个定义的时段期间,无线电可以被断电。在其他实施例中,公开了对协议的修改,其允许附加的功率节省。`


图I是示出了无线网络设备的各种硬件组件的代表性示意图。图2是示出了无线网络设备的各种软件组件和硬件组件之间的交互的代表性示意 图3示出了根据一个协议的特定消息的格式;
图4示出了图3中所示的消息中特定字段的格式;
图5示出了根据一个实施例进行通信的两个设备。
具体实施例方式图I示出了无线网络设备的代表性示意图,无线网络设备包括选择的硬件组件。在一些实施例中,硬件组件可以包括片上系统(SOC)设备100,具有处理单元110、代码存储器130、RAM 120、中断控制器(未示出)、外围设备(未示出)和无线电140。无线电组件140包括模拟电路141,诸如放大器、振荡器和其他组件。无线电组件140还包括数字电路142,包括基带处理器143和媒体访问控制器(MAC) 144。术语“无线电组件”被用来表示模拟电路141和数字电路142的组合。无线电组件140可由单独的电源供电,使得当SOC的部分保持被供电时,其可以是断电的。在一些实施例中,对无线电组件140的供电可以被分开,使得可以对通常为低功率的数字电路142和通常消耗更大量功率的模拟电路141单独地供电。在一些实施例中,只有模拟电路141由单独的电源所供电,而数字电路142由与SOC100的其余部分相同的电源所供电。在其他实施例中,配置SOC 100使得当无线电组件140的其余部分保持被供电时,基带处理器143和模拟电路141可以被关闭。通过从设备100的其余部分分离由无线电组件140所使用的功率,特别是由模拟电路141所使用的功率,这降低了总系统功率。即使当无线电被断电时,也允许处理器110保持活动。遍及本公开,描述了可关闭“无线电”来节省功率的概念。在一些实施例中,这意味着,只有模拟电路141被关闭,而无线电组件140的其余部分保持被供电。在其他实施例中,模拟电路141和基带处理器143均被关闭,而MAC 144保持被供电。在另一些实施例中,整个无线电140组件可以被断电。因此,如本公开所使用的短语“无线电被关闭”,包括任何的配置,其中无线电组件140的至少一部分在SOC 100的正常操作期间被关闭。本公开并不意图被限于仅无线电组件的被关闭的一个特定子集,而是无线电组件的可以被断电的任何子集。在优选的实施例中,至少模拟电路141被断电,因为这通常是无线电组件140的最闻功耗部分。如图I中所示出的,处理单元110接收来自代码存储器130的指令。这些指令允许处理单元110执行由设备和相关联无线协议所需的功能。处理单元110还能够从RAM存储器120和无线电组件140 二者加载信息,并在向二者存储信息。例如,可将配置信息从处理单元110存储到无线电组件140。由无线电组件140接收和发送的数据通常被存储在RAM存储器120中。代码存储器130还包含能够执行本文中所述功能的软件。该软件可以以任何合适的编程语言来编写,并且选择并不被本公开所限制。此外,本文中所描述的所有应用和软件是被包含在计算机可读介质上的计算机可执行指令。例如,软件和应用可以被存储在只读存储器中、可重写存储器中或嵌入式处理单元内。其上执行该软件的特定类型的处理单元110是应用相关的,且不被本发明所限制。图2示出了各种软件组件和`硬件之间的交互。软件可包括各种层,诸如物理层210、MAC层220和应用层230。通常,物理层210负责无线电140的配置和无线电硬件的实际操作。MAC层220接收通常以来自物理层210的数据包的形式的信息。然后解析这些数据包的内容。作为响应,MAC层220可以发送数据到物理层210,以用于通过无线电140进行发送。在一些实施例中,MAC层还基于定时器或所接收的数据包的内容来确定无线电硬件应该何时被供电或关闭。在一些实施例中,在硬件中和部分地在软件中部分地实施MAC层220。在这个实施例中,应用层230向软件MAC提交发送。然后,软件MAC配置硬件MAC来发送。然后硬件MAC控制硬件层210,该硬件层210控制硬件基带,该硬件基带控制模拟电路。在无线网络设备中,无线电组件140,并且特别是模拟电路141,可能是功耗的一大贡献体。因此,降低无线电的使用并可以因此将其禁用的任何技术,可以显著提高电池寿命。在任何给定的时间,无线电140中的模拟电路141可以处于接收模式、有效发送、或是被断电。术语“对无线电通电”与“将无线电置于接收模式中”是同义的,这需要对模拟电路141供电。在一些实施例中,即使当无线电被说成是被断电时,无线电140中的数字电路142的一部分也可被供电。在其他实施例中,MAC 144可被供电,而基带处理器143和模拟电路141被断电。在其他实施例中,所有的数字电路142可被供电,而模拟电路141被断电。因此,当关闭无线电时,无线电组件140的至少一部分被断电,以便降低功耗。根据一种方法,可以降低初始化期间无线电的使用。例如,当SOC 100被重置或者从其最低功率深度睡眠状态唤醒时,无线电组件140在其可被使用之前,可能需要被初始化。通常,无线电组件140被通电,并然后执行所有的初始化。这些初始化可包括用于在一定的频率(信道)上进行通信的无线电的配置、用于在所选信道上的最优功能的无线电参数的校准、特殊无线电操作模式(外部功率放大器,高功率模式等)的配置。仅使用无线电组件140的数字电路142来执行许多这些功能。在无线电组件的一些实施例中,这些操作中的实际上需要无线电组件140的模拟电路141被供电的唯一的一个操作是无线电参数的校准。虽然本公开涉及的是模拟电路,但要理解,其目的是禁用被用来发送和接收数据包的电路,因为该电路通常比设备的其他部分消耗更多的功率。因此,在一个实施例中,无线电组件140的模拟电路141被保持断电直到完成所有其他初始化步骤(除了无线参数的校准)。在这一点上,软件确定是否需要无线电参数的校准。也可以使用各种标准来确定是否需要校准,各种标准诸如是自从上次校准以来的时间,当前温度和先前的校准温度之间的差异,以及是否已经执行了校准。如果这些标准建议需要校准,则该软件接通无线电组件140的模拟电路141,并执行所需的校准。如果不需要校准,则校准序列将被绕过,且无线电141被通电以用于实际的通信。基于对底层网络协议的详细理解,可以进行功耗的其他优化。例如,在一个实施例中,由802. 15. 4标准规定了低级通信协议的细节。和许多其他的多节点通信协议一样,冲突避免是必要的。`应当理解,本文中所描述的许多方案存在于其他无线协议中,且本文中所描述的技术同样可适用于那些协议。802. 15.4的使用是说明性的,并非意图将本发明的范围限于此实施例。为了避免竞争,想要发送一个数据包的设备必须首先通过遵循一种被称为载波侦听多路访问-冲突避免(CSMA-CA,或简称CSMA)的过程来进行检查以看出信道(即无线设备中的空气媒介(air))是可用的。在发送前,CSMA要求设备首先等待一个随机时间段,然后执行被称为空闲信道评估(CCA)的针对空闲信道的检查。如果信道不可用,则设备使用另一个更长的延迟周期再次等待。进行多达4次的全部CCA尝试,来得到空闲的空气媒介,每一次尝试具有在其之前的随机化延迟。在成功的CCA后获得对信道的访问之后,设备发送数据包。在发送之后,设备从数据包的预期接收者监听确认数据包(ACK)。如果定义的时间段内没有接收到ACK,则认为发送尝试失败,并重新开始整个过程。进行多达4次的全部尝试来得到确认数据包。在一些硬件实施例中,SOC 100内的MAC硬件144自动管理无线电组件140中模拟电路141的接收和发送状态之间的某些过渡。例如,如果无线电141被通电,且CCA检查成功,则MAC硬件144可自动将无线电141置于发送模式中以发送数据包。在数据包发送的末尾,MAC硬件144可自动将无线电141置于接收模式中以监听ACK。在一些实施例中,MAC硬件144无法控制对无线电组件140的模拟电路141提供的功率,因为这必须由软件来完成。在大多数情况下,在这个CSMA过程期间,使用宝贵的功率同时不接收或发送数据包,无线电140的模拟电路141被通电。在一个实施例中,在与CSMA相关联的延迟周期期间,本发明的软件使无线电141断电。一旦延迟计时器已过期,该软件随后接通无线电141,使得其可以执行CCA检查,并且如果CCA检查是成功的,则发送数据包。如果CCA检查失败,软件再次使无线电141断电,并等待直到在使无线电141通电之前,下一个随机延迟计时器再次过期。该技术显著降低了无线电组件140的总功耗,其中对设备性能没有不利的影响。在一些硬件实施例中,无线电组件140中的数字电路142可包含专用硬件计时器,其被用于调度CCA检查和可选数据包发送,而没有进一步的软件交互。这些硬件实施例中的一些,将没有能力来自动使无线电141通电以执行CCA检查。根据软件的另一实施例,本发明利用该硬件行为的知识,以便继续使用专用的硬件计时器,而不是单独的通用目的计时器外围设备。了解的是,在刚刚描述的情况中,用于任何发送尝试的CCA检查必然将会失败(由于无线电141被断电),软件通过使无线电141通电并利用执行CCA检查所需的最小延迟发起另一个硬件控制的发送尝试,来响应CCA失败事件。如果CCA检查仍然失败,则该软件使无线电141断电,并使用根据CSMA的下一个随机延迟来发起另一个硬件控制的发送尝试。如果CCA检查是成功的,无线电组件140自动发送数据包。根据另一个方法,本发明利用与无线协议有关的特定知识来节省功率。例如,在802. 15. 4标准中,如图5中所示出的,设备400可发送“数据请求”数据包。响应于该数据包,接收者410将返回确认(ACK)数据包到发送设备400。输入的ACK将通知发`送设备400接收者410是否具有它希望发送到发送设备400的数据。图3示出了依据802. 15. 4标准的ACK数据包300的格式。前两个字节包括帧控制字段310。第三个字节包括序列号320,以及剩余两个字节包括循环冗余码330。ACK数据包300总是5个字节长。图4进一步描述了帧控制字段310。感兴趣的是第4位(帧未决)311。在完成ACK后,帧未决311通知发送设备(即接收ACK 300的设备),接收者具有它希望发送到发送设备的数据。通常,ACK 300被接收后,物理层210通知MAC层220。然后,MAC层220对数据包执行包括完整性、序列号等的检查。如果MAC层220验证ACK 300,并确定没有数据即将到来(即未设置帧未决位311),它将使无线电141断电。执行这些测试的软件和处理时间并不是微不足道的,且消耗功率。在一个实施例中,当ACK 300的每个字节到达设备时,物理层210中的软件被修改来检查ACK 300的每个字节。ACK 300的第二个字节一被接收,且物理层210确定帧未决位311未被设置,它就立即使无线电141断电。换句话说,它不等待接收ACK数据包300的剩余字节。该技术不仅节省了接收三个附加字节所需的时间,而且还节省了对于MAC层220验证ACK 300所需的处理时间。应当注意的是,存在一种可能,即在帧未决位311中存在由于发送错误所引起的错误。在这种情况下,物理层210可能已经不准确地确定接收者没有要发送的数据,并使无线电141断电。虽然该行为是不理想的,但它是可以接受的,因为发送设备定期发送“数据请求”数据包。在一些软件实施例中,如果MAC层220接收到具有发送错误的ACK 300,或没有接收到ACK 300,则它会发起“数据请求”数据包的重新发送。为了避免该行为,物理层210可以构建依据协议有效的“假的”或人工的ACK数据包。需要该“假的”或人工的ACK数据包,因为在从接收者接收到整个ACK 300之前,物理层310使无线电141断电。有效的“假的”ACK的构建允许MAC层220在不重试“数据请求”数据包的情况下继续。因此,MAC层220被欺骗以相信已经正确地接收了 ACK。在其他实施例中,可以修改MAC层220以忽略对“数据请求”数据包的不成功ACK。在其他实施例中,“假的”ACK可能经由中断、状态位或其他一般信号,而不是通过RAM中实际数据包表示的构建,来从物理层210传送到MAC层220。注意的是,虽然上面描述了有关ACK数据包300的特定实例,但在其他情况下可以采用相同的方法。例如,使用相同的方法,当数据包正被接收时,接收设备可以解析数据包,且在获得感兴趣的数据时,立即使无线电断电。该感兴趣的数据可包括,但不限于
是否将有更多的数据引入,
确认先前发送的数据被接收,
确认设备是活动的,
引入的数据包是否意在用于该设备(在这种情况下,在发现不匹配的设备地址后关闭无线电,且在数据包的预期结束后重新接通),
引入的数据包是否意在用于该设备(再次,在这种情况下,在发现不匹配网络标识符或PAN ID后关闭无线电,且在数据包的预期结束后重新接通),或者
引入的数据包中是否存在错误(在这种情况中,在基带报告所接收的字节或符号中的不可恢复的错误后,关闭无线电,且在数据包的预期结束后重新接通)。如果在设置帧未决位311的情况下发送ACK 300,这意味着接收者410将一直发送附加的数据到发送设备。在一些实施例中,接收者410需要通过遵循CSMA过程来获得对信道的访问。这个过程保证了从ACK数据包300的末尾到数据发送的开始所必须必要地经过的最小时间量。为了节省功率,软件(优选为物理层210)可使无线电141在这个最小时间量内断电,已知在该窗口期间将不发送附加数据。根据另一种方法,接收者410向发送设备400通知其将在即将到来的CSMA过程期间使用的延迟值。回到图4,注意的是,帧控制字节310在位的位置7-9和12-13中包含保留位。这五个位或这些位的子集,可被用来向发送设备传达延迟信息。例如,在802. 15.4中,CSMA过程期间所使用的延迟是固定延迟周期的倍数。换句话说,该设备可等待I个延迟周期、2 个延迟周期等,其中延迟周期的持续时间是预先确定的。在该实施例中,接收者410发送其将在下个CSMA过程期间使用的延迟周期的数量到发送设备400。通过这种方式,发送设备400获知在接收者410可获得对信道的访问之前将发生的最小延迟。因此,发送设备400可使无线电141断电,直到此最小时间已经过去。在另一个实施例中,CSMA过程期间所使用的延迟不是固定延迟时间的倍数。在此实施例中,相比使用帧控制字段310中的保留位可以表达的,存在更多可能的延迟时间。在这种情况下,接收者可以使用那些保留位,来指示在尝试获得对信道的访问之前,其将一直等待的最大延迟的百分比。例如,如果最大延迟时间为8毫秒,接收者410可使用三个位来向发送设备400通知其将使用的近似延迟值。下面的表格示出了使用3个位和8毫秒延迟时间的一个可能的实施例。
w I延迟时间
、于丨毫秒;保持无线电接通
OOl多于I毫秒,但少于2毫秒;无线电可被断电I毫秒_
010~多于2毫秒,但少于3毫秒;无线电可被断电2毫秒
011多于3毫秒,但少于4毫秒;无线电可被断电3毫秒_
100多于4毫秒,但少于5毫秒;无线电可被断电4毫秒_
101多于5毫秒,但少于6毫秒;无线电可被断电5毫秒_
110多于6毫秒,但少于7毫秒;无线电可被断电6毫秒_
Yll I多于7毫秒;无线电可被断电7毫秒在另一实施例中,在接收者410可访问信道之前,可以具有最小时间,以及最大时间。在此实施例中,可以使用位来表示接收者410将等待的最小时间和最大时间之间的时间的百分比。例如,假定最小延迟时间为I毫秒,最大延迟为15毫秒。该三个位可以被使用如下
E j>ected Delay = Min_Delay + 《/8) * (Max_Delay-MinJDelay)
(预期延迟=最小延迟+ (位值/8)* (最大延迟-最小延迟))。
`
下面的图表示出了使用该方法的延迟时间:_
位延迟时间(=Ims+(位值/8)*8ms)_
000~多于I毫秒,但少于2毫秒;无线电可被断电I毫秒 00Γ多于2毫秒,但少于3毫秒;无线电可被断电2毫秒
010多于3毫秒,但少于4毫秒;无线电可被断电3毫秒_
011多于4毫秒,但少于5毫秒;无线电可被断电4毫秒_
100多于5毫秒,但少于6毫秒;无线电可被断电5毫秒_
101多于6毫秒,但少于7毫秒;无线电可被断电6毫秒_
Τ 0~多于7毫秒;无线电可被断电7毫秒 Yll I多于8毫秒;无线电可被断电8毫秒该实施例可能需要对将要被实施的一个或多个协议标准进行修改。在其他实施例中,保留位被用作供应商唯一位,其中并非所有设备都需要实施该修改。在这种情况下,可以使用值000来表示无线电141不能被关闭。虽然与接收ACK 300期间的功率节省相关联的以上修改被描述为软件修改,但本发明并不限于此实施例。例如,如上所述,可以修改SoC 100以自动执行ACK数据包300中帧未决位311的检查。响应于确定该位被设置,硬件可以执行上述功能中的一些或全部。在另一实施例中,硬件可自动解析ACK数据包300中的保留位,以确定接收者410将使用的延迟。一旦延迟已经被确定,在适当的时候,硬件可自动使无线电141断电或使无线电141通电。此外,可以通过软件或硬件来进行由接收者对ACK数据包300中保留位的设置。根据另一种方法,可以通过延迟无线电141的供电直到数据包准备好用于发送,来最小化无线电使用。在大部分实施例中,通过在从更高的软件层接收数据包后,使每个软件层向数据包添加“包装”或附加的信息,来构建发出的数据包。例如,应用层230可构建其传递到MAC层220的数据包。然后MAC层220向数据包添加附加信息,并将其传递到物理层210。在大部分无线电实施方式中,当没有数据包要发送时,无线电141保持断电或处于降低功率状态。然而,一旦数据包被传递到MAC层220,MAC层220通常使预期发送该数据包的无线电141通电。然而,MAC层220仍然必须执行一些数据包构建,诸如增加加密,准备用于DMA的数据包,以及其他特征。该数据包构建可能是费时的,从而不必要地使用了用于无线电141的宝贵功率。在此实施例中,MAC层220在其将数据包传递到物理层210时,可使无线电141通电。在另一实施例中,在从MAC层220接收到数据包时,物理层210可以负责无线电141的通电。虽然上面的描述涉及无线发送,但在有线网络中可以采用相同的方法和算法。在任何网络中,用来接收和发送的电路通常比设备的其他部分消耗更多功率。因此,可使用这些方法来使被用于使用任何媒体接收和发送数据包的电路断电。本公开不被限制在本文中所描述的特定实施例的范围中。实际上,除了本文所述的那些之外,根据前述的描述和附图,对于本公开的其他各种实施例和修改对于本领域的普通技术人员来说将是显而易见的。因此,这样的其他实施例和修改意在落入本公开的范围内。此外,虽然已经出于特定目的,在特定环境中的特定实施方式的情境中,在本文中描述了本公开,但是本领域的普通技术人员将认识到,其实用性并不限于此,且出于任何数量的目的,可以在任何数目的环境中有益地实施本公开。因此,应当鉴于如本文中所描述的本公开的全部宽度和精神,来解释下面`所阐述的权利要求。
权利要求
1.一种用于降低设备中的功耗的方法,所述设备包括用于发送和接收数据包的电路、和处理单元,所述方法包括 从第二设备接收数据包; 当所述数据包被接收时,使用所述处理单元解析所述数据包;以及 在接收到整个数据包之前,在接收到感兴趣的数据时,禁用所述电路。
2.如权利要求I所述的方法,其中所述数据包包括确认数据包。
3.如权利要求2所述的方法,其中感兴趣的数据包括帧未决位。
4.如权利要求I所述的方法,其中所述感兴趣的数据包括附加数据将不通过所述第二设备发送的指示。
5.如权利要求I所述的方法,其中所述感兴趣的数据包括所述数据包不意在用于所述设备的指示。
6.如权利要求I所述的方法,其中所述设备属于网络,且所述感兴趣的数据包括所述数据包不意在用于所述网络的指示。
7.如权利要求I所述的方法,其中所述感兴趣的数据包括不可恢复的错误。
8.如权利要求I所述的方法,其中由所述设备执行软件,且所述软件包括与硬件通信的低级层、以及较高级层,其中所述低级层禁用所述电路。
9.如权利要求8所述的 方法,进一步包括使用所述处理单元来在存储器中构建人工数据包,所述人工数据包呈现为成功接收的数据包。
10.如权利要求9所述的方法,进一步包括将所述人工数据包从所述较低级层传递到所述较高级层。
11.一种用于降低设备中的功耗的方法,所述设备包括用于发送和接收数据包的电路、和处理单元,所述方法包括 从第二设备接收第一数据包; 使用所述处理单元解析所述第一数据包; 从所述数据包中的数据确定第二数据包将由所述第二设备发送;以及 在一定时间段内禁用所述电路,所述时间段少于最小时间,在所述最小时间之前,所述第二设备将发送所述第二数据包。
12.如权利要求11所述的方法,其中利用网络协议发送所述第一和第二数据包,且基于所述协议来确定所述最小时间。
13.如权利要求11所述的方法,其中所述第一数据包包括所述最小时间的指示。
14.如权利要求13所述的方法,其中所述指示包括多个位,所述多个位表示固定延迟周期的倍数。
15.如权利要求13所述的方法,其中所述指示包括多个位,所述多个位表示最大延迟的百分比。
16.如权利要求13所述的方法,其中所述指示包括多个位,所述多个位表示最小和最大延迟之间的时间的百分比。
17.一种初始化和校准设备中无线电组件的方法,所述无线电组件包括用于接收和发送数据包的模拟电路,和数字电路,所述方法包括 当所述模拟电路被断电时,执行所述初始化和校准的至少一部分。
18.如权利要求17所述的方法,进一步包括 确定无线电参数是否需要被校准,以及 如果是,则在校准所述无线电参数之前,使所述模拟电路通电。
19.如权利要求18所述的方法,其中所述确定基于自从所述无线电参数的上次校准以来的时间。
20.如权利要求18所述的方法,其中所述确定基于当前温度和所述无线电参数的上次校准期间的温度之间的差异。
全文摘要
公开了用于在无线网络设备中降低功率的各种技术。在一些实施例中,设备内的软件例程被修改以最小化无线电中模拟电路被供电的时间。在一些实施例中,该技术利用了与特定网络协议相关联的隐含延迟的知识。例如,在CSMA网络中,在该设备可以试图获得对媒体的访问之前,存在定义的最小时段。在这个定义的时段期间,无线电可以被断电。在其他实施例中,公开了对协议的修改,其允许附加的功率节省。
文档编号H04W74/08GK103222315SQ201180052007
公开日2013年7月24日 申请日期2011年10月26日 优先权日2010年10月27日
发明者P.J.斯佩罗, L.R.泰勒 申请人:硅实验室公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1