网络可用性的独立于处理器的通信

申请号 CN201380043726.7 申请日 2013-08-05 公开(公告)号 CN104584677A 公开(公告)日 2015-04-29
申请人 高通股份有限公司; 发明人 沈书伟;
摘要 在一些 实施例 中,一种 电子 装置包含主机处理器和模 块 ,所述模块耦合到所述主机处理器,以使用第一无线通信协议经由无线网络通信。所述电子装置还包含 控制器 ,其耦合到所述主机处理器和所述模块,以使用第二无线通信协议与远程装置无线地通信,独立于所述主机处理器从所述模块获得所述无线网络的状态,并且将所述无线网络的状态发射到所述远程装置。
权利要求

1.一种电子装置,其包括:
主机处理器;
,其耦合到所述主机处理器,以使用第一无线通信协议经由无线网络通信;以及控制器,其耦合到所述主机处理器和所述模块,以使用第二无线通信协议与远程装置无线地通信,以便独立于所述主机处理器从所述模块获得所述无线网络的状态,并且将所述无线网络的所述状态发射到所述远程装置。
2.根据权利要求1所述的电子装置,其中所述控制器将要独立于所述主机处理器从所述模块接收所述无线网络的所述状态的变化的通知,并且向所述远程装置提供所述通知。
3.根据权利要求1所述的电子装置,其中:
所述主机处理器经配置以实施协议堆栈的对应于所述第二无线通信协议的第一部分;
所述控制器经配置以实施协议堆栈的对应于所述第二无线通信协议的第二部分;并且所述控制器进一步经配置以重复所述协议堆栈的所述第一部分的功能以独立于所述主机处理器对来自所述远程装置的查询进行响应。
4.根据权利要求3所述的电子装置,其中:
所述查询包括服务发现请求;并且
所述控制器将要通过执行所述重复的功能对所述服务发现请求进行响应,其中所述重复的功能是提供所述控制器提供所述无线网络的所述状态的能的指示。
5.根据权利要求3所述的电子装置,其中:
所述查询包括服务特性发现请求;并且
所述控制器将要通过执行所述重复的功能对所述服务特性发现请求进行响应,其中所述重复的功能是报告与所述控制器提供所述无线网络的所述状态的能力相关联的特性。
6.根据权利要求1所述的电子装置,其进一步包括接口,所述接口用以独立于所述主机处理器将所述无线网络的所述状态从所述模块提供到所述控制器。
7.根据权利要求1所述的电子装置,其中所述无线网络是无线局域网WLAN,所述第一无线通信协议是WLAN协议,并且所述第二无线通信协议是蓝牙协议。
8.根据权利要求1所述的电子装置,其中所述无线网络是蜂窝式网络,所述第一无线通信协议是蜂窝式协议,并且所述第二无线通信协议是蓝牙协议。
9.根据权利要求1所述的电子装置,其中所述第二无线通信协议是蓝牙低能量协议。
10.根据权利要求1所述的电子装置,其中所述控制器将要独立于所述主机处理器与所述远程装置建立连接。
11.根据权利要求1所述的电子装置,其中:
所述主机处理器在闲置时将要进入功率节省模式;并且
所述控制器将要从所述模块获得所述无线网络的所述状态,并且将所述无线网络的所述状态提供到所述远程装置,而无需将所述主机处理器从所述功率节省模式唤醒。
12.根据权利要求1所述的电子装置,其中所述模块和所述控制器将要独立于所述主机处理器向所述远程装置提供对所述无线网络的接入。
13.根据权利要求1所述的电子装置,其中:
所述模块是第一模块,并且所述无线网络是第一无线网络;
所述电子装置进一步包括第二模块,其耦合到所述主机处理器,以使用第三无线通信协议经由第二无线网络通信;并且
所述控制器耦合到所述第二模块,并且将要独立于所述主机处理器从所述第二模块获得所述第二无线网络的状态,并且将所述第二无线网络的所述状态提供到所述远程装置。
14.一种无线通信方法,其包括:
在电子装置中的控制器中:
从所述电子装置中的模块获得使用第一无线通信协议的无线网络的状态以便使用所述第一无线通信协议进行通信,其中所述无线网络的所述状态是独立于所述电子装置中的主机处理器从所述模块获得的;并且
使用第二无线通信协议将所述无线网络的所述状态发射到远程装置。
15.根据权利要求14所述的方法,其进一步包括从所述远程装置接收对于无线网络的所述状态的请求;
其中响应于所述请求而获得和发射所述无线网络的所述状态;并且
其中使用所述第二无线通信协议接收所述请求。
16.根据权利要求14所述的方法,其进一步包括:
检测所述无线网络的所述状态的变化;
独立于所述主机处理器将所述无线网络的所述状态的所述变化从所述模块传送到所述控制器;以及
在所述控制器中,将所述无线网络的所述状态的所述变化的通知发射到所述远程装置。
17.根据权利要求14所述的方法,其进一步包括:
在所述控制器中,独立于所述主机处理器与所述远程装置建立连接。
18.根据权利要求14所述的方法,其进一步包括:
在所述主机处理器中,当闲置时从正常操作模式转变成功率节省模式;
其中当所述主机处理器处于所述功率节省模式时执行所述接收、获得和发射。
19.根据权利要求14所述的方法,其进一步包括,在所述控制器中:
从所述远程装置接收服务发现请求;以及
独立于所述主机处理器对所述服务发现请求进行响应。
20.根据权利要求14所述的方法,其进一步包括,在所述控制器中:
从所述远程装置接收服务特性发现请求;以及
独立于所述主机处理器对所述服务特性发现请求进行响应。
21.一种非暂时性计算机可读存储媒体,其存储经配置以由电子装置中的控制器执行的一个或多个程序,所述一个或多个程序包括:
从所述电子装置中的模块获得无线网络的状态以便使用第一无线通信协议进行通信的指令,其中将独立于所述电子装置中的主机处理器获得所述无线网络的所述状态;以及使用第二无线通信协议将所述无线网络的所述状态发射到远程装置的指令。
22.根据权利要求21所述的非暂时性计算机可读存储媒体,其中获得所述无线网络的所述状态的所述指令包括响应于使用所述第二无线通信协议在所述控制器处从所述远程装置接收到的请求而获得所述无线网络的所述状态的指令。
23.根据权利要求21所述的非暂时性计算机可读存储媒体,其中所述一个或多个程序进一步包括:
确定所述无线网络的所述状态是否已经改变的指令;以及
将所述无线网络的所述状态的变化的通知发射到所述远程装置的指令。
24.根据权利要求21所述的非暂时性计算机可读存储媒体,其中所述一个或多个程序进一步包括独立于所述主机处理器与所述远程装置建立连接的指令。
25.根据权利要求21所述的非暂时性计算机可读存储媒体,其中所述一个或多个程序进一步包括独立于所述主机处理器对来自所述远程装置的服务发现请求进行响应的指令。
26.根据权利要求21所述的非暂时性计算机可读存储媒体,其中所述一个或多个程序进一步包括独立于所述主机处理器对来自所述远程装置的服务特性发现请求进行响应的指令。
27.一种电子装置,其包括:
主机处理器;
用于使用第一无线通信协议经由无线网络通信的装置;以及
用于使用第二无线通信协议与远程装置通信的装置,其包括用于独立于所述主机处理器获得所述无线网络的状态和用于将所述无线网络的所述状态发射到所述远程装置的装置。
28.根据权利要求27所述的电子装置,其中所述用于获得所述无线网络的所述状态的装置包括用于响应于来自所述远程装置的请求获得所述无线网络的所述状态的装置。
29.根据权利要求27所述的电子装置,其中所述用于与所述远程装置通信的装置包括用于确定所述无线网络的所述状态是否已经改变和用于将所述无线网络的所述状态的变化的通知发射到所述远程装置的装置。
30.根据权利要求27所述的电子装置,其中所述用于与所述远程装置通信的装置包括用于独立于所述主机处理器与所述远程装置建立连接的装置。
31.根据权利要求27所述的电子装置,其中所述用于与所述远程装置通信的装置包括用于独立于所述主机处理器对来自所述远程装置的服务发现请求进行响应的装置。
32.根据权利要求27所述的电子装置,其中所述用于与所述远程装置通信的装置包括用于独立于所述主机处理器对来自所述远程装置的服务特性发现请求进行响应的装置。

说明书全文

网络可用性的独立于处理器的通信

技术领域

[0001] 本发明实施例大体上涉及无线通信系统,且更具体来说涉及用于在装置之间传送网络状态信息的系统和方法。

背景技术

[0002] 无线装置可以使用例如蓝牙等无线通信协议无线地连接到远程装置。如果无线装置还能接入远程装置无法直接接入的无线网络,那么无线装置可以充当向远程装置提供对无线网络的接入的网关。无线装置可以向远程装置提供网络状态信息以及网络接入。但是,使用无线装置中的主机处理器实施这些功能,可能会产生不期望的延迟和功率消耗。附图说明
[0003] 举例说明本发明的实施例,并且本发明的实施例并不希望受到附图各图的限制。
[0004] 图1展示了根据一些实施例的无线装置无线地连接到远程装置和一个或多个无线网络的无线通信系统。
[0005] 图2是展示了根据一些实施例的无线地连接到具有卸载的网络可用性服务的网络报告器的网络监视器的框图
[0006] 图3是根据一些实施例的充当网络报告器的无线装置的示意性框图。
[0007] 图4A是蓝牙低能量(BLE)协议堆栈的框图。
[0008] 图4B是根据一些实施例的经过修改以提供卸载网络可用性服务的BLE协议堆栈的一部分的框图。
[0009] 图5A和5B是说明根据一些实施例的操作电子装置中的控制器的方法的流程图
[0010] 图6是根据一些实施例的控制器的框图。
[0011] 各图和说明书通篇中,用相同的参考标号指代对应的部分。

具体实施方式

[0012] 揭示了一些实施例,所述实施例允许电子装置中的控制器获得网络状态信息,并且独立于电子装置中的主机处理器向远程装置提供所述网络状态信息。
[0013] 在一些实施例中,一种电子装置包含主机处理器和耦合到所述主机处理器的模,以使用第一无线通信协议经由无线网络通信。所述电子装置还包含控制器,其耦合到所述主机处理器和所述模块,以使用第二无线通信协议与远程装置无线地通信,独立于所述主机处理器从所述模块获得无线网络的状态,并且向所述远程装置发射所述无线网络的状态。
[0014] 在一些实施例中,执行一种操作电子装置的方法。所述电子装置包含:主机处理器,使用第一无线通信协议经由无线网络通信的模块,以及使用第二无线通信协议与远程装置无线地通信的控制器。在所述方法中,在所述控制器中接收来自所述远程装置的对无线网络的状态的请求。所述控制器独立于所述主机处理器从所述模块获得无线网络的状态,并且向所述远程装置发射所述无线网络的状态。
[0015] 在一些实施例中,一种非暂时性计算机可读存储媒体存储一个或多个经配置以由电子装置中的控制器执行的程序。所述电子装置进一步包含主机处理器和使用第一无线通信协议经由无线网络通信的模块。所述控制器经配置以使用第二无线通信协议与远程装置无线地通信。所述一个或多个程序包含响应于来自所述远程装置的请求独立于所述主机处理器从所述模块获得无线网络的状态的指令。所述一个或多个程序还包含向所述远程装置发射所述无线网络的状态的指令。
[0016] 在以下描述中,阐述例如特定组件、电路和过程的实例等许多特定细节以提供对本发明的透彻理解。并且,在以下描述中并且出于解释的目的,阐述特定的术语以提供对本发明的实施例的透彻理解。但是,所属领域的技术人员将显而易见的是这些具体细节对于实践本发明的实施例可能并不是必需的。在其它情况下,以框图的形式展示众所周知的电路和装置以避免混淆本发明。如本文所使用的术语“耦合”的意思是直接连接到或者通过一个或多个介入组件或电路连接。经由本文所描述的多个总线提供的任何信号可以与其它信号时间多路复用,并且是经由一个或多个共用总线提供的。另外,可以将电路元件或软件块之间的互连展示为总线或单个信号线。所述总线中的每一者可以替代地是单个信号线,并且单个信号线中的每一者可以替代地是总线,并且单个线路或总线可以表示用于在组件之间通信的无数物理或逻辑机构中的任何一或多者。本发明的实施例不应解释为限于本文所描述的具体实例,而是在其范围内包含通过所附权利要求书限定的所有实施例。
[0017] 图1示意性地说明了体现本发明的一些方面的无线通信系统100。如图所示,移动无线电子装置(例如,移动电话)102可经配置以接入一个或多个无线网络。举例来说,无线局域网(WLAN)(例如,根据IEEE 802.11协议实施的WiFi网络)中的链路103使无线装置102与无线接入点104耦合,无线装置102可以通过无线接入点104接入广域网(WAN)106(例如,因特网)。另外,或者替代地,蜂窝式网络(例如,LTE网络)中的链路107使无线装置102与蜂窝式基站108耦合,无线装置102可以通过所述蜂窝式基站108接入WAN 110(例如,因特网)。WAN 106和110可以提供对类似或不同资源的接入,并且可以是相同的网络(例如,因特网)。总的来说,使用合适的无线电接入技术(RAT)来实施包含链路103的WLAN和/或包含链路107的蜂窝式网络。RAT网络的实例包含使用码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA)、单载波FDMA(SC-FDMA)等的无线网络。
[0018] 图1中将无线装置102图解为移动电话只是一个实例。其它实例包含(但不限于)平板计算机、膝上型计算机、个人数字助理和类似装置。此外,无线装置102不需要是移动的。
[0019] 无线装置102还经配置以经由无线链路111与远程装置(例如手表)112通信。在一些实施例中,链路111是蓝牙链路。举例来说,远程装置112是蓝牙低能量(BLE)装置,并且无线装置102包含用于与远程装置112通信的BLE收发器。在一些实施例中,远程装置112使用“单模”BLE实施方案,其特征在于蓝牙协议堆栈中的轻量低能量链路层(LE LL),以提供低功率闲置模式操作和功率节省模式、简单的装置发现和可靠的数据传送。图1中将远程装置112说明为手表只是一个实例。其它实例包含(但不限于)传感器、监视器和计量器(例如,在例如体育、健康、医疗保健、娱乐、玩具、工业设备等应用中)。在一些实施例中,远程装置112用电池供电(例如,使用纽扣电池)。
[0020] 在一些实施例中,远程装置112包含用户接口(例如,显示器)113,其显示图标114,图标114展示无线装置102的网络状态(例如,用于包含链路103或107的WLAN或蜂窝式网络)。举例来说,图标114说明无线装置102是否经由链路103和/或107连接到WLAN和/或蜂窝式网络。远程装置112还可显示关于无线装置102的网络状态的其它信息,例如网络类型、信号强度和可用数据传送速率。远程装置112经由链路111获得无线装置102的网络状态。
[0021] 在一些实施例中,远程装置112还可通过链路111、无线装置102和链路103和/或107接入网络资源(例如,WAN 106和/或110)。举例来说,远程装置112从网络106和/或110检索数据,以供显示或其它使用,或者将信息(例如,传感器测量值)上载到网络106和/或110。无线装置102因而充当网关,远程装置112可以通过网关接入网络106和/或110。
[0022] 如所描述,远程装置112监视无线装置102的网络状态,所述网络状态是无线装置102通过链路111向远程装置112报告的。因而,将远程装置112称为起到网络监视器的作用,并且将无线装置102称为起到网络报告器的作用(例如,根据蓝牙技术联盟采用的术语)。图2是展示网络监视器200(例如,图1的远程装置112)的框图,网络监视器200具有与网络报告器202(例如,图1的无线装置102)的无线连接206(例如,经由图1的无线链路111)。网络监视器200可以向网络报告器202请求关于网络报告器202的网络状态的信息。网络报告器202的网络可用性服务204(例如,使用蓝牙规范实施的)处理所述请求并且对所述请求进行响应。为了在网络报告器202中节省功率并且减少响应时间,将网络可用性服务204从网络报告器202的主机处理器(例如,图3的主机处理器324)卸载,这样允许网络报告器202独立于主机处理器对所述请求进行响应。举例来说,如果主机处理器是闲置的,并且已经进入功率节省模式,则网络报告器202对所述请求进行响应,而不需要将主机处理器从功率节省模式唤醒。因为从主机处理器上卸载了网络可用性服务204,所以网络可用性服务204被称作卸载网络可用性(ONwA)服务204。
[0023] 图3是根据一些实施例的无线装置102(图1)的示意性框图,并且因而是网络报告器202(图2)的实例。无线装置102包含:耦合到蓝牙天线318的蓝牙控制器300、耦合到WLAN天线320的WLAN(例如,WiFi)模块302、和耦合到蜂窝式天线322的蜂窝式(例如,LTE)模块304。蓝牙控制器300处理经由链路111(图1)与远程装置112的蓝牙通信。WLAN模块302处理经由WLAN链路103(图1)与接入点104的WLAN(例如,WiFi)通信。蜂窝式模块304处理经由蜂窝式网络链路107与基站108的蜂窝式(例如,LTE)通信。控制器300、模块302和模块304因而各自使用相异的无线通信协议无线地通信。控制器300、模块302和模块304各自包含一个收发器,所述收发器根据对应的无线通信协议操作。
[0024] 无线装置还包含主机处理器(例如,中央处理单元或CPU)324和存储器330。主机处理器324运行操作系统和装置应用。总线326耦合主机处理器324、存储器330、蓝牙控制器300、WLAN模块302和蜂窝式模块304。在一些实施例中,与总线326分开的接口332使蓝牙控制器300与WLAN模块302耦合,并且与总线326分开的接口334使蓝牙控制器300与蜂窝式模块304耦合。将接口332用于蓝牙控制器300与WLAN模块302之间的关于WLAN状态的通信。将接口334用于蓝牙控制器300与蜂窝式模块304之间的关于蜂窝式网络状态的通信。接口332和334(其可被称为状态接口)可以组合在单个总线中。替代地,总线326用于蓝牙控制器300与WLAN模块302和/或蜂窝式模块304之间的关于网络状态的通信,并且省略接口332和/或334。
[0025] 在一些实施例中,不是使用三个分开的天线318、320和322,而是可以使用切换技术在模块302和304和控制器300中的两者或更多者(例如,所有)之间共用一个天线。在一些实施例中,蓝牙控制器300、WLAN模块302和蜂窝式模块304可以位于相同电路板上,或者可以作为芯片上系统(SoC)嵌入在相同集成电路上。在一些实施例中,总线326被实施为外围组件互连高速(PCIe)总线、通用串行总线(USB)、通用异步接收器/发射器(UART)串联总线、合适的高级微控制器总线架构(AMBA)接口、串联数字输入输出(SDIO)总线或其2 2
它接口。在一些实施例中,接口332和/或334实施为IC总线、IS总线或其它合适的接口。
[0026] 在一些实施例中,无线装置102具有一个架构,其中分别在蓝牙控制器300、WLAN模块302和WLAN模块304的固件硬件中实施用于蓝牙、WLAN和蜂窝式通信的协议堆栈的下部层。蓝牙控制器300包含低能量链路层(LE LL)306,用于通过执行通告、扫描、起始和连接功能来管理无线装置102与远程装置112之间的射频(RF)链路111。蓝牙控制器300还包含物理层(PHY)308,用于执行硬件特定的无线信号发射和接收。举例来说,PHY 308可以是1Mbps自适应跳频无线电,其使用2.4GHz工业、科学和医疗(ISM)波段中的高斯频移键控(GFSK)。WLAN模块302包含:PHY 312,用于发射和接收WLAN信号;以及媒体接入控制器(MAC)310,用于处理对应于发射的和接收到的信号的。在一些实施例中,MAC 310和PHY 312根据来自IEEE 802.11系列协议的一个协议(例如,WiFi协议)操作。类似地,蜂窝式模块304包含媒体接入控制器/无线电链路控制器(MAC/RLC)314,其实施数据链路层和发射和接收蜂窝式信号的PHY 316。
[0027] 在通过主机处理器324执行的软件中实施蓝牙、WLAN和/或蜂窝式协议堆栈的上部层。举例来说,对应于这些协议堆栈的上部层的驱动程序328存储于存储器330中(例如,在例如一个或多个非易失性存储器装置的存储器330中的非暂时性计算机可读媒体中),并且通过主机处理器324经由总线326来存取。驱动程序328包含一些指令,所述指令在通过主机处理器324执行时,实施蓝牙、WLAN和/或蜂窝式协议堆栈的上部层。
[0028] 蓝牙控制器300包含卸载网络可用性(ONwA)模块336,其独立于主机处理器324从WLAN模块302和/或蜂窝式模块304获得关于网络状态的信息,并且因而不需要主机处理器324执行上部协议堆栈层。举例来说,蓝牙控制器300分别经由状态接口332和334(或替代地,经由总线326)获得网络状态信息。状态接口332和334(举例来说)耦合到蓝牙控制器300的ONwA模块336。状态接口332还(举例来说)耦合到WLAN模块302中的MAC310,并且状态接口334还耦合到蜂窝式模块304中的MAC/RLC314。在一些实施例中,状态接口332和334中的一或两者实施为共存接口,所述共存接口经配置以用将干扰减到最小的方式来协调蓝牙控制器300和网络模块302和/或304的操作,例如(举例来说)使用
2线、3线或4线接口的包业务仲裁。ONwA模块336可以实施为处理器可读指令,所述处理器可读指令存储为固件并且可以通过蓝牙控制器300(例如,如所说明的,用于图6中的控制器600)执行。ONwA模块336经配置以经由蓝牙链路111(图1)将关于网络状态的信息(例如,经由状态接口332和/或334获得的)传送到另一装置,例如远程装置112。
[0029] 图4A是根据蓝牙技术联盟公布的蓝牙核心规范的4.0版本的BLE协议堆栈400的框图。BLE协议堆栈400包含在蓝牙控制器300(图3)中实施的下部层和在主机处理器324(图3)中实施的上部层。在蓝牙控制器300中实施的下部层包含PHY 402(例如,在图
3的PHY 308中实施)、链路层(LL)404(例如,在图3的LE LL 306中实施),以及主机-控制器接口(HCI)406(为简单起见在图3中未展示)。LL 404控制蓝牙控制器300的RF状态。可能的状态包含待机、通告、扫描起始和连接。HCI 406提供用于蓝牙控制器300与主机处理器324之间的通信的标准化接口。举例来说,可以在软件中(例如,使用应用程序编程接口或API)或在硬件中(例如,使用例如UART、SPI或USB接口等接口)实施HCI 406。
[0030] 在主机处理器324中实施的BLE协议堆栈400的上部层包含逻辑链路控制和调适协议(L2CAP)层408、属性协议(ATT)层410、通用属性规范(GATT)层412、安全性管理器(SM)层414和通用接入规范(GAP)层416。L2CAP层408为其上方的层执行数据囊封,包含对来自其上方的层的数据进行多路复用,以及对有待与HCI 406交换的包进行格式化。ATT层410允许无线装置102使被称为属性的数据暴露于其它装置(例如,暴露于图1的远程装置112),使得其它装置可以接入所述属性。当无线装置102使属性暴露于远程装置112时,无线装置102被称作ATT服务器,并且远程装置112被称作ATT客户端。GATT层412定义用于使用ATT层410的子程序,并且规定BLE规范的结构。BLE中的规范和服务所使用的数据被称作特性。GATT子程序处置这些特性的传送。因而,规范和应用程序与GATT层412介接,以便传送特性。(蓝牙规范是关于蓝牙通信的方面的规范。规范是定义能实现使用无线通信提供的服务的配置和功能。)ATT层410和GATT层412一起允许远程装置112(图1)发现无线装置102支持什么服务。
[0031] SM层414用于与其它装置(例如,与图1的远程装置112)的安全连接和数据交换。SM层414定义用于配对和密钥分配以及提供加密和识别功能的程序。GAP层416处置装置发现和检测并且起始安全性特征。应用程序和规范与GAP层416介接以执行发现和连接。
[0032] 网络可用性(NwA)规范(例如,蓝牙核心规范的4.0版本中定义的)允许无线装置102(图1)确定关于WLAN和/或蜂窝式连接的状态信息,并且将这个信息提供给远程装置112(图1)。NwA规范使用ATT层410、GATT层412和GAP层416的功能性来提供NwA服务。因为层410、412和416是在主机处理器324上的软件中实施的上部等级协议层,所以NwA规范使用主机处理器324。这样使用主机处理器324会导致功率消耗,当用电池给无线装置102供电时,功率消耗会缩短无线装置102的有用操作周期。
[0033] 为了避免这个功率消耗并且减少延迟,通过包含根据一些实施例的ONwA模块336(图3),将网络可用性服务从主机处理器324卸载到蓝牙控制器300(图3)。相对于图
4A的BLE协议堆栈的下部部分,修改在蓝牙控制器300中实施的BLE协议堆栈的下部部分,以支持ONwA模块336的操作。
[0034] 图4B是根据一些实施例的经过修改以支持ONwA模块336的操作的BLE协议堆栈450的下部部分的框图。BLE协议堆栈部分450允许蓝牙控制器300独立于主机处理器324提供ONwA服务204(图2)。在协议堆栈部分450中,PHY 402、LL 404和HCI 406按照针对协议堆栈400(图4A)描述的方式运转。L2CAP层452、ATT层454、GATT层456、SM层
458和GAP层460复制对应层408、410、412、414和416的功能的至少一部分以支持ONwA规范462的功能性。在一些实施例中,在ONwA模块336(图3)中实施ONwA规范462、L2CAP层452、ATT层454、GATT层456、SM层458和GAP层460。在蓝牙控制器300中(例如,在ONwA模块336中)复制(例如,ATT、GATT和/或GAP功能的)上部BLE协议堆栈功能性,使得从网络监视器200(图2)(例如,图1的远程装置112)的度看,ONwA服务204(图2)的操作是透明的。举例来说,ONwA模块336经配置以复制GATT服务器和GAP中心的状态,并且网络监视器200充当GATT客户端和GAP外围设备
[0035] ONwA模块336允许蓝牙控制器300确定关于WLAN和/或蜂窝式网络状态的信息(例如,经由状态接口332和/或334,或经由总线326),并且写入所述信息作为远程装置112可以经由链路111(图1)读取的特性。此外,ONwA模块336还可在无线装置102的网络状态(例如,WLAN和/或蜂窝式连接性状态)变化时提供通知。提供网络状态变化通知会节省网络监视器200(图2)(例如,图1的远程装置112)中的功率,方法是通过减少或消除网络监视器200为了获得状态信息所进行的轮询。
[0036] 在一些实施例中,ONwA模块336经配置以对网络监视器200起始的GATT Discover All Primary Services(发现所有初级服务)程序进行响应,以报告ONwA模块336提供的ONwA服务204的例子。此外,ONwA模块336可经配置以对网络监视器200起始的GATT Discover All Characteristics of a Service(发现服务的所有特性)程序进行响应,以便报告与ONwA模块336相关联的特性。ONwA模块336还可经配置以对网络监视器200起始的GATT Read Characteristic Value(GATT读取特性值)程序进行响应,以报告网络可用性特性的值。在一些实施例中,网络可用性特性是单个位,指示网络报告器202(图2)(例如,图1的无线装置102)是否连接到网络。替代地,网络可用性特性包含用以指示网络报告器202是否具有WLAN连接性的第一位,和用以指示网络报告器202是否具有蜂窝式网络连接性的第二位。此外,网络可用性特性可包含额外的位,用以提供关于网络连接性状态的额外信息,所述网络连接性状态包含(举例来说)网络类型、信号强度和/或数据速率
[0037] 在一些实施例中,ONwA模块336经配置以对网络监视器200起始的GATT Write Characteristic Descriptors(写入特性描述符)程序进行响应,以在Client Characteristic Configuration(客户端特性配置)描述符中设置通知位,以使得ONwA服务204能够通知网络监视器200网络状态发生变化。举例来说,ONwA模块336可经配置以复制GATT Notification(通知)程序,以向网络监视器200报告网络可用性的变化。
[0038] 在一些实施例中,ONwA模块336经配置以执行或响应网络监视器200起始的GAP Limited Discoverable Mode(有限可发现模式)程序,以允许连接到未接合的装置。未接合的装置是网络监视器200尚未与其建立安全连接的装置。类似地,ONwA模块336可经配置以执行或响应网络监视器200起始的GAP Undirected Connectable Mode(未定向可连接模式)程序,以允许连接到接合的装置。此外,ONwA模块336可经配置以在与网络监视器200发生链路损失的情况下执行或响应任何合适的GAP连接程序。
[0039] 图5A和5B是说明根据一些实施例的操作电子装置(例如,图2的网络报告器装置202,比如图1的无线装置102)中的控制器的相应方法500和550的流程图。控制器(例如,图3的蓝牙控制器300)耦合到主机处理器(例如,图3的主机处理器324)和一个或多个无线模块(例如,图3的WLAN模块302和/或蜂窝式模块304),并且经配置以与外部装置(例如,图2的网络监视器200,比如图1的远程装置112)无线地通信。在控制器中执行(502)方法500和550。
[0040] 在方法500(图5A)中,确定(504)是否存在与外部装置的连接(例如,经由图1的链路111的蓝牙连接)。举例来说,通过ONwA模块336(图3)来进行这个确定。如果不存在连接(504-否),则建立连接(506)。举例来说,ONwA模块336使用控制器的协议堆栈450(图4B)的GAP层460执行GAP连接程序。因为控制器的协议堆栈450重复在主机处理器324(图3)中实施的GAP层416(图4A)的GAP功能性,所以独立于主机处理器324建立(506)连接。
[0041] 如果存在到外部装置的连接(504-是),或者一旦建立了连接(506),则从外部装置接收(508)请求(例如,查询)。在一些实施例中,请求起始GAIT程序(例如,根据图4B的控制器的协议堆栈450的GATT层456)(510)。因为控制器的协议堆栈450重复在主机处理器324(图3)中实施的GATT层412(图4A)的GATT功能性,所以控制器300能够独立于主机处理器324处理所述请求。
[0042] 在操作508中接收到的请求的实例包含对无线网络(例如,图3的与WLAN模块302相关联的WLAN或与蜂窝式模块304相关联的蜂窝式网络)的状态(例如,可用性、连接状态、网络类型、信号强度、数据速率等)的请求、服务发现请求和服务特性发现请求。
[0043] (例如,使用图2的ONwA服务204)独立于主机处理器响应于所述请求获得(512)信息。举例来说,ONwA模块336(图3)从WLAN模块302(图3)获得关于WLAN状态的信息,和/或从蜂窝式模块304(图3)获得关于蜂窝式网络状态的信息。在另一实例中,响应于服务发现请求从ONwA模块336(图3)获得指示ONwA服务204(图2)的可用性的信息。在一些实施例中,响应于服务特性发现请求获得ONwA服务204的一个或多个特性。
[0044] 将在操作512中获得的信息发射(514)到外部装置(例如,经由图1的链路111)。举例来说,ONwA模块336(图3)使用在操作512中获得的信息对在操作510中起始的GATT程序进行响应(516);控制器300接着将这个信息发射到外部装置。如上所述,这个信息可包含关于ONwA服务204(图2)的信息,关于ONwA服务204的特性的信息,和/或关于网络状态的信息,这取决于从外部装置接收的请求(例如,取决于图2的网络监视器200调用的程序)。
[0045] 可以针对来自外部装置的不同请求反复地执行操作508、512和514(包含举例来说,操作510和516)。
[0046] 在一些实施例中,如果无线网络连接(例如,WLAN连接或蜂窝式连接)是可用的,则向外部装置提供(518)对无线网络的接入。举例来说,控制器300独立于主机处理器324(图3)配合WLAN模块302或蜂窝式模块304提供对网络监视器200(图2)(例如,图1的远程装置112)的无线网络接入。外部装置可以使用这个接入从网络(例如,图1的网络
106或110)上载数据和/或下载数据。可以(举例来说)在用户接口113(图1)上显示下载的数据。操作508、512和514(包含举例来说操作510和516)允许外部装置在接入网络之前确认网络可用性。
[0047] 在方法550(图5B)中,与针对方法500(图5A)描述的一样执行操作504和506。如果存在到外部装置的连接(504-是),或者一旦建立了连接(506),则ONwA服务204(图
2)(例如,如在图3的ONwA模块336中实施的)用于监视网络状态(例如,针对图3的与WLAN模块302相关联的WLAN,或与蜂窝式模块304相关联的蜂窝式网络)。举例来说,ONwA模块336从WLAN模块302或蜂窝式模块304(图3)接收网络状态信息,并且将当前网络状态信息与先前存储的网络状态信息比较以确定是否已发生网络状态变化。网络状态可包含(举例来说)网络可用性、连接状态、信号强度和/或数据速率。
[0048] 在一些实施例中,如果检测到网络状态的变化(554-是),则通知(558)外部装置所述变化。在一些实施例中,如果检测到网络状态的变化(554-是),则启动计时器。如果当计时器到期时仍然检测到变化(556-是),则通知(558)外部装置所述变化。举例来说,计时器可以具有1-5秒范围内的持续时间(例如,3秒)。使用计时器会过滤掉网络状态的瞬时变化,使得不通知外部装置持续时间比计时器的持续时间短的变化。
[0049] 如果未检测到网络状态的变化(554-否),或者如果检测到变化,但是当计时器到期时不再检测到变化(556-否),则不向外部装置提供通知,并且ONwA服务204继续监视(552)网络状态。
[0050] 在一些实施例中,如果无线网络连接(例如,WLAN连接或蜂窝式连接)是可用的,则向外部装置提供(518)对无线网络的接入,如针对方法500(图5A)所述。操作552、554、556和558允许外部装置在接入网络之前确认网络可用性。
[0051] 在一些实施例中,在主机处理器324(图3)处于功率节省模式时,使用控制器300(图3)执行方法500和/或550的全部或一部分。举例来说,主机处理器324退出正常操作模式,并且当主机处理器324闲置时进入功率节省模式,使得主机处理器324在功率节省模式中比在正常操作模式中消耗的功率少。这个转变可以在方法500或550之前或期间发生,并且执行方法500或550中的操作并不会使得主机处理器324从功率节省模式转变回到正常操作模式。
[0052] 虽然方法500和550包含看起来用特定的顺序发生的多个操作,但是应当清楚,方法500和550可包含更多或更少的操作,这些操作可以串行或并行地执行。可以改变两个或更多个操作的顺序,并且两个或更多个操作可以组合成单个操作。并且,方法500和550或其一些部分可以组合成单个方法。
[0053] 在一些实施例中,在软件中(例如,在固件中)实施蓝牙控制器300(图3)的LE LL306和ONwA模块336,或者类似控制器的用于不同无线通信协议的类似元件。图6是控制器600的框图,控制器600是根据一些实施例的此蓝牙控制器300(或类似控制器)的实例。控制器600包含PHY 308(如针对图3所述),并且还包含用以连接到总线326(图3)的总线接口602,和用以连接到接口332和334(图3)的任选的ONwA接口603。PHY 308、总线接口602和ONwA接口603耦合到一个或多个处理器核心604,所述处理器核心604耦合到存储器606。在一些实施例中,存储器606包含非暂时性计算机可读媒体(例如,一个或多个非易失性存储器元件,例如EPROM、EEPROM、快闪存储器等),所述非暂时性计算机可读媒体存储用于通过一个或多个处理器核心604执行的指令。所述指令包含在由处理器核心604执行时使得控制器600执行方法500和/或550(图5A-5B)的全部或一部分的指令。举例来说,所述指令包含在由处理器核心604执行时实施协议堆栈450的层404、406、452、
454、456、458、460和/或462(图4B)的功能性的指令。
[0054] 虽然存储器606展示为与处理器核心604分开,但是存储器606的全部或一部分可以嵌入在处理器核心604中。在一些实施例中,在与处理器核心604、PHY 308和接口602和603相同的集成电路中实施存储器606。
[0055] 在前文的说明书中,已经参照本发明的具体示范性实施例描述了本发明的实施例。但是,将明显的是,可以对其进行各种修改和变化,而并不背离所附权利要求书中阐述的本发明的更广的精神和范围。举例来说,虽然已经关于BLE系统描述了实施例,但是可以在具有类似网络监视器和网络报告器作用的装置的其它无线通信系统中实施其它实施例。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
QQ群二维码
意见反馈