无线网络中设备同步和连接管理的制作方法


无线网络中设备同步和连接管理
1.相关申请
2.本技术要求2021年6月17日提交的美国临时申请第63/211,691号的权益,其全部内容通过引用并入本文。
技术领域
3.本公开涉及无线网络;更具体地说,涉及无线网络的设备的时间同步,以及无线网络的设备之间的连接的管理。


背景技术:



4.个域网(例如,蓝牙(bt))使用2.4ghz射频频带为各种个人、工业、科学和医疗应用提供无线连接。bt网络使用基于分组的协议,并具有包括中央设备和外围设备的架构。一个中央设备可以与多个外围设备进行通信。通常,在为两个设备之间的通信分配的特定时间期间,数据在中央设备和特定外围设备之间传输。在指定的时间,外围设备可以调入(tune-in)以从中央设备接收消息和数据,并进而将数据传输到中央设备。蓝牙低功耗(ble)网络的通信范围与bt网络相似,但功耗和成本要小得多。当数据通信即将发生时,ble设备通常保持在睡眠模式并转换到活动模式。ble协议还支持散射网组网(scatternet networking),单个设备既可以作为一个或多个通信连接的中央设备,也可以作为一个通信连接的外围设备。
附图说明
5.图1是根据一些实现方式的其中可以执行本公开中描述的时间同步、时间复用、频率复用、同步动作和各种其他技术的无线网络系统的图。
6.图2图示了根据一些实现方式的无线网络中的使用由父设备发送的消息和与父设备通信的已知调度的示例时钟同步事件。
7.图3图示了根据一些实现方式的无线网络的示例节点拓扑。
8.图4图示了根据一些实现方式的用于无线散射网网络的多层的节点之间的通信的示例通信方案。
9.图5图示了根据一些实现方式的优化无线网络中的下游数据流的示例通信方案。
10.图6是据一些实现方式的优化了无线网络中的下游数据流的图5的示例通信方案的进一步图示。
11.图7是根据一些实现方式的在节点的无线网络中的数据通信期间减少干扰的示例信道复用方案的图示。
12.图8a描绘了根据一些实现方式的无线网络中的设备同步的示例方法的流程图。
13.图8b描绘了根据一些实现方式的使用公共时间指示来打开用于与父网络设备通信的通信窗口的示例方法的流程图。
14.图8c描绘了根据一些实现方式的使用公共时间指示来执行同步动作的示例方法
的流程图。
15.图9描绘了根据一些实现方式的在无线网络中构建数据流的示例方法的流程图。
16.图10描绘了根据一些实现方式的在无线网络中管理通信信道的示例方法的流程图。
具体实施方式
17.在许多个人、工业、科学和医疗应用中,不同设备的时间同步可以提供显著的益处。在动态条件下,当由无线网络支持的系统状态随时间变化时,由多个设备同时执行测量或发起某些其他动作可能会有优势。例如,电动车辆的性能可能取决于多个高压电池单元的充电和放电的均匀性。对每个电池的状态进行准确的同时(同步)测量可以提供可用于优化车辆的加速、巡航、制动和各种其他操作期间的电池利用率的数据,以及充电期间的数据。类似地,医疗设备可以配置为从患者身体的多个部位同时收集数据。工业测试(例如,汽车或任何其他安全敏感设备的碰撞测试)可能依赖于由多个传感器执行的测量的同步。这种同步通常通过有线连接来实现,有线连接可用于确保同时生成、发送和/或接收所有信号。然而,有线连接的安装和维护可能很麻烦,尤其是在大量微型设备被集成并用作更大系统的一部分的情况下。在某些情况下,与大量外围设备的有线连接可能不仅不方便,而且可能不切实际或甚至不安全。因此,部署比有线设备更容易安装、维护或更换的无线传感器/设备可能是有利的。
18.在很大程度上彼此独立的无线设备可能具有与其他时钟相比以稍微不同的速度运行的时钟;例如,不同的时钟可能具有稍微不同的漂移(drift)、抖动等。因此同步所有或至少一些无线设备是有益的。例如,使用bt、ble或一些其他无线网络技术操作的设备可以通过在中央设备(在本文中也称为父设备)和各种外围设备(在本文中称为子设备)之间交换的适当准备的信号来同步。
19.测试和控制系统中的无线设备可以被组织成具有多层节点的分层无线网络。更具体地说,最低层的无线设备(节点)可以收集感测数据并将收集到的数据中继到下一层的节点,等等。给定层的每个节点可以从前一层的多个节点收集数据,也可以添加由该节点收集的数据,并将聚合的数据进一步向上传递到节点的网络,直到所有数据都被根节点(顶节点、高级节点、中央节点等)收集。此外,根节点可以反向传播指令到较低的节点。在一些网络中,根节点可以传播要同步传送到多个用户或用户设备(例如,到多个扬声器)的数据(例如,音频数据)。在无线节点的这种复杂的散射网拓扑中,单个设备可以充当父设备(例如,指示与一个或多个子设备的连接的参数的设备)和子设备(例如,遵循父设备的指令以用于与该父设备通信的设备)二者。类似地,在无线网状网络中,数据流没有被严格定义,并且可能采用许多路径通过不同的节点集到达目的地设备。
20.这种无线网络的高效操作呈现了许多技术挑战。除了时间同步之外,对于并发测量或数据传送,可能还必须优化无线网络以增加吞吐量,例如,确保收集的数据(或指令)尽可能快速传送到(或自)根节点。父设备需要从多个子设备收集数据,然后父设备才能将数据上传到自己的父设备。收集数据的延迟可能导致父设备错过为数据上传分配的通信窗口并空闲直到其自己的父设备打开下一个通信窗口。这种延迟可能会随着每个后续节点层而加剧。结果,来自各种传感器的数据可能会在各种不同的时间到达目的地设备(例如,根节
点),并且在某些情况下,对于由目的地设备进行有用处理太晚。
21.另外,每一层的多个父设备(节点)可以同时从它们的子设备接收数据。在紧凑型系统(例如,电池)中,各种通信设备之间的距离可能相对较小,从而导致不同通信链路之间发生大量无线电干扰。因此,在某些情况下可能会丢失数据分组,从而进一步加剧数据传送问题。
22.本公开的各方面和实施方式通过实现无线网络中准确时钟同步的系统和方法、时间复用通信窗口的高效分级(staging)以最小化时间延迟、以及使用不同无线链路的同时通信的频率复用,解决了现有技术的这些和其他局限性中的至少一些。例如,公开了级联时间同步技术,其中给定节点基于从节点的父设备接收的周期性(具有已知周期)通信序列来同步/调整其时钟,并使用同步/调整的时钟确定的时间与节点的子设备通信。结果,时间同步过程从顶节点传播到最低层的节点。在一些实现方式中,节点与其子设备的连接是分级(间隔)的,其间隔允许从每个子设备的数据的个体化收集在节点的通信窗口之前发生以将数据上传到节点自己的父设备。结果,数据通过高效排序的上传序列沿无线链路的网络向上传播,直到所有收集的数据在最佳时间内到达顶节点。在一些实现方式中,可以使用隔开以减少干扰的不同频率(无线通信信道)同时发生多个并行上传。下文进一步描述了许多其他系统、方法和技术。
23.图1是根据一些实现方式的无线网络系统100的图,其中可以执行本公开中描述的时间同步、时间复用、频率复用、同步动作和各种其他技术。描绘的是可以支持与多个设备的无线连接和数据交换的网络设备110。网络设备120可以与父设备110通信。网络设备120也可以与子设备124通信。即使描绘了单个子设备,网络设备120也可以支持与任意数量的子设备(并且类似地,与多个父设备)的无线连接。描述的是网络设备120的一些组件和模块,如下面更详细讨论的。尽管没有描绘父设备110和子设备124的内部结构,但是应当理解,网络设备120的一些或所有组件也可以存在于父设备110、子设备124和无线网络系统100的其他设备中。
24.父设备110可以具有与网络设备120的无线连接104,并且网络设备120可以具有与子设备124的无线连接106,如用对应的箭头示意性地指示的。无线连接(这里也称为无线链路)104和106可以是蓝牙(bt)连接、蓝牙低功耗(ble)连接或任何其他合适的连接。无线网络系统100的一些或所有设备(例如,节点)可以与一个或多个附加设备相关联(并且可以通信,例如,使用总线或有线连接),例如,父设备110可以与一个或多个设备122-a相关联(并且与一个或多个设备122-a通信地耦合),网络设备120可以与一个或多个设备122-b相关联,并且子设备124可以与一个或多个设备122-c相关联。在一些实现方式中,无线网络系统100的各种设备(包括各种相关联的设备)被配置为执行一个或多个同步动作。
25.父设备110可以经由无线链路104发送一条或多条消息以供网络设备120进行时间同步。父设备110可以与它自己的父设备形成无线通信链路,并且可以从那个父设备接收指令。父设备110可以是无线网络系统100(控制设备)的中心节点,并且可以为网络设备120(以及网络设备120的各种子设备)生成指令。在一些实现方式中,相关联设备122-a之一可以是用于整个无线网络系统100的控制设备。网络设备120可以向子设备124发送一个或多个消息以供子设备124发起或维持与网络设备120的时间同步。具体而言,网络设备120可以充当相对于无线通信链路104的子设备(外围设备)和相对于无线通信链路106的父设备(中
央设备)。子设备124也可以具有一个或多个其自己的子设备(未示出),并且可以反过来将消息发送到那些子设备以进一步扩展时间同步过程。在一些实现方式中,图1的一些或所有设备可以与多个其他设备形成通信。在一些实现方式中,父、子、中央、外围等的指定可以是可改变的;例如,可以重新配置无线设备网络。在一些实现方式中,无线设备网络可以是其中设备的角可以是动态的无线网状网络。
26.发送或接收消息的事件可以标记由无线网络系统100的设备用于同步的时间。在一些实现方式中,子设备可以使用从父设备接收消息的时间来执行时间同步。网络设备120可以使用经由链路104接收一个或多个消息来实现与父设备110的时间同步和数据交换。子设备124可以使用经由链路106接收一个或多个消息来实现与网络设备120的时间同步和数据交换。传送的消息可以包括对时间的明确指示,例如时间戳(例如,相应消息生成时的时钟值)、执行特定动作的未来时间、对连接间隔的指示、对连接事件计数的指示等。级联时间同步可以如下执行。网络设备120可以使用由父设备110发送的一个或多个消息来实现与父设备110的同步,并且子设备124可以使用由网络设备120发送的一个或多个消息来实现与网络设备120的同步,例如在后者已经与父设备110建立了同步之后。以此方式,网络的所有设备都可以变得同步。
27.网络设备120(以及类似地,父设备110、子设备124或无线网络系统100的任何其他设备)可以是支持网络连接性和功能性(例如,接收、发送和中继数据)的任何设备,例如台式电脑、笔记本电脑、平板电脑、电话、智能电视、传感器、照明设备、电池、发电机、电器、控制器(例如,空调、暖气、水加热控制器)、锁、安全系统的组件、定位信标或任何其他类型的网络设备。网络设备120可以支持同步应用130,其可以是执行时间同步并促进由网络设备120(或相关联的设备122-b)进行同步动作的模块(例如,软件、固件、硬件组件或其任何组合)。在一些实现方式中,由网络设备120进行的同步动作是与其他设备的动作同时执行的,其他设备例如父设备110、子设备124或无线网络系统100的其他设备,或与任何上述设备相关联的设备。在一些实现方式中,由网络设备120进行的同步动作可以与由其他设备执行的动作不同时地但根据预定模式来执行。例如,父设备110可以在第一预定时间执行动作,网络设备120可以在第二预定时间(其可以早于或晚于第一预定时间)执行另一个(或类似的)动作,等等。网络设备120上的同步应用130可以与在父设备110上实例化的类似应用结合操作,例如,从父设备110接收指令、向父设备110提供数据。同步应用130可以是工业应用、车辆应用、安全应用、测量控制应用、技术控制和监测应用、智能家居控制应用、导航应用、机器人应用等。同步应用130可以从父设备110接收(和处理)指示,指示包括与同步动作、时间同步、数据交换等相关联的时间。接收到的指示可以使相关联的设备122-b结合同步动作执行一个或多个操作,从相关联的设备122-b收集数据,处理收集的数据并将其传送到父设备110,等等。应用130还可以生成被发送到子设备124的消息以促进子设备124和网络设备120之间的同步。
28.网络设备120(和无线网络系统100的其他设备)可能能够在单个无线电频带(例如,2.4ghz频带、5ghz、60ghz等)或多个频带(例如,2.4ghz和5ghz频带二者)进行无线连接。网络设备120可以使用(或连接到)一个或多个天线140,天线140用于接收和发射无线电波信号。在一些实现方式中,天线140可以是或包括单个多输入多输出(mimo)天线。由天线140接收的信号可以由无线电组件142处理,无线电组件142可以包括滤波器(例如,带通滤波
器)、低噪声射频放大器、下变频混频器、中频放大器、模数转换器、傅里叶逆变换模块、去解析模块、交织器、纠错模块、加扰器和其他可用于处理由天线140接收的调制信号的(模拟和/或数字)电路。无线电组件142可以将接收到的(和数字化的)信号提供给物理层组件(phy)144。phy 144可以将数字化的信号转换成可以馈送到链路层146的帧。链路层146可以具有多个状态,例如广告(advertise)、扫描、发起、连接和待机。链路层146可以将帧转换为数据分组。在传输期间,数据处理可能发生在相反的方向,其中,链路层146将数据分组转换为帧,帧然后由phy 144进一步转换为被提供给无线电组件142的数字信号。无线电组件142可以将数字信号转换为模拟无线电信号,并且使用天线140发射无线电信号。在一些实现方式中,无线电组件142、phy 144和链路层146可以实现为无线控制器(例如,被实现为单个集成电路的无线控制器)的部分。
29.网络设备120(或其他设备)可以包括一个或多个中央处理单元(cpu)150。在一些实现方式中,cpu 150可以包括一个或多个有限状态机(fsm)、现场可编程门阵列(fpga)、专用集成电路(asic)等。网络设备120可以具有执行与同步相关的各种操作并且还可以支持在网络设备120上运行的任何其他进程的单个处理器。在一些实现方式中,网络设备120可以具有用于与在网络设备120上运行的其他进程和应用分开的同步操作的专用处理器。网络设备120还可以包括存储器设备160,其可以是(或包括)非易失性(例如,只读(rom))存储器以及易失性(例如,随机存取(ram))存储器。网络设备120的存储器设备160还可以存储用于同步应用130的代码和支持数据。
30.网络设备120还可以包括一个或多个时钟148和可以管理时钟/复位功能和电源资源的电源管理单元(pmu)170。网络设备120还可以包含输入/输出(i/o)控制器190以实现与其他外部设备和结构(包括相关联的设备122-b)的通信。在一些实现方式中,i/o控制器190可以实现通用i/o(gpio)接口、usb接口、pcm数字音频模块和其他i/o组件。
31.无线设备时间同步和漂移管理
32.在本公开的一些方面,无线设备在节点的连接的网格或树中进行通信。在一些实施例中,可以将用于管理无线网络的指令从中央、根或聚合节点向外发送到树状网络的更下方的节点。数据(例如,测量数据)可以从较低的节点流向中央节点。在一些实施例中,可以基于在网络的节点之间发送的消息来实现时间同步系统。时间同步系统可以使所有节点能够建立或更新对每个连接事件的时间的共同理解。
33.图2图示了根据一些实现方式的无线网络中使用由父设备发送的消息212和与父设备通信的已知调度的示例时钟同步事件200。在图2中示意性地描绘的是父设备(例如,中央设备、父网络设备等)210和子设备(例如,外围设备、子网络设备等)220的操作。父设备210和子设备220可以是蓝牙(bt)网络、bt低功耗(ble)网络或任何其他无线网络的一部分。父设备210和子设备220可能先前已经建立了无线网络连接。虽然为了简明和简洁起见在图2中描绘的是单个子设备220,但父设备210可以同时支持与多个子设备的连接。图2中描绘的各种设备可以与一个或多个相关联设备通信耦合(例如,经由有线连接、总线,或无线地)。在一些实现方式中,父设备210和子设备220可以监控相关联设备的状态或促进相关联设备的操作。例如,子设备220(和/或图2中未示出的各种其他设备)可以与电池(例如,电动车辆的汽车电池)的一个或多个单元相关联并且可以在执行(或促进)测量电池单元的状态。测量可以周期性地执行或者在由与无线网络的设备通信的主机控制器确定的时间执
行。子设备220、父设备210和/或各种其他设备可以集成到电池组中。电池可用于为驱动电动车辆的电动马达供电。当电池在为车辆的马达供电时,电池单元可以处于放电(和/或充电,例如,在制动期间)的恒定状态,这可能在不同的单元中以不同的方式发生。为了对不同单元的状态执行有意义且准确的测量,无线网络的各种设备可以同步地执行测量(或使测量由耦合到单元的相关联传感器执行)。
34.在一些实现方式中,通过允许无线网络的各种设备确定它们的内部时钟与网络中的至少一个其他参考设备(例如,父设备210)的时钟的差异,来实现无线网络的设备的同步动作。确定的时钟差异可用于在多个设备上同时执行同步动作。在一些实现方式中,可以通过无线连接的无线协议的规范来促进时钟同步200。例如,如在父设备210和子设备220之间的连接的初始建立期间可以由父设备210设置的,连接事件(在由连接事件230定义的时间段期间发生)可以被固定连接间隔t0隔开。
35.在一些实现方式中,时钟同步200可以如下实现。父设备210可以在调度的连接事件230开始时向子设备220发送消息212。子设备220可以在期待连接事件230的开始。具体地,子设备220可以给无线电电路以及其他硬件、软件、电路等加电,以准备接收消息212。子设备220可以在连接事件230开始之前的某个时间开始收听来自父设备210的通信,从而实现加宽的连接事件240,例如,通过向父设备210的连接事件230的预期开始添加一些窗口加宽242。窗口加宽242可以通过预测父设备210和子设备220的时钟例如由于时钟经历的不同抖动、漂移等而不完美同步的可能性来帮助子设备220与父设备210通信(例如,交换消息)。在一些实施例中,连接事件230和加宽的连接事件240均可以包括发送(tx)部分和接收部分(rx)。连接事件230的tx部分可以在连接事件230的rx部分之前发生。连接事件230的tx部分可以对应于加宽的连接事件240的rx部分,并且连接事件230的rx部分可以对应于加宽的连接事件240的tx部分。在一些实施例中,窗口加宽242可以仅应用于加宽的连接事件240的rx部分,以提供针对父设备210和子设备220之间的时钟抖动、漂移、偏移等的保护。
36.在一些实现方式中,子设备220可以根据子设备220的内部时钟在接收到消息212时(例如,在接收硬件检测到消息报头、消息访问码等时)记录时间戳。在一些实现方式中,子设备220可以基于消息212的接收时间来生成当前时钟时间。子设备220可以结合其他信息来生成同步的时钟时间,例如利用消息212的预期到达时间。在一些实现方式中(例如,如果无线网络包括ble无线网络),消息212的预期到达时间可以从连接事件计数(例如,自从连接建立、改变、重置等以来发生的连接事件的数量)和连接间隔t0确定。连接事件计数可以由父设备210和子设备220分别跟踪。在一些实现方式中,消息212可以包括时间的明确指示以促进父设备210和子设备220的内部时钟的同步。消息212可以包括连接事件计数器,例如以针对丢失消息、中断通信、干扰等进行保护。消息212还可以包括时间戳、时序偏移等,以促进公共时间指示(common indication of time)的生成。
37.作为第一示例实现方式,父设备210和子设备220可以形成无线通信连接。父设备210和子设备220可以共享经由单边时间同步建立的公共时间。更具体地,父设备210可以独立于子设备的时钟维护其时钟,而子设备220可以执行周期性校正(时间调整)以确保子设备220的时钟与父设备210的时钟对齐。父设备210可以调度用于父设备210和子设备220基于父设备210的时钟交换消息(例如,消息212、消息222等)的通信时间。子设备220可以准备通过打开加宽的连接事件240来接收消息。父设备210可以在指定时间(如由父设备210的时
钟测量的)发送消息212,在连接事件230开始时,表示为时间t1,这也可以是子设备220正在期待来自父设备210的通信开始时的时间(如由它自己的时钟测量的)。当子设备220的通信硬件检测到消息212(例如,通过检测由父设备210传送的报头或访问码)时,子设备220可以记录时间戳t
ts
,例如,如由子设备220的时钟测量的。子设备220的处理设备然后可以记录通信的预期时间t1和实际记录的通信时间t
ts
之间的差(时间校正)δt1=t
1-t
ts
。随后,当子设备220(由父设备210、根节点等)指示在目标时间t
target
执行动作(例如,同步动作)时,子设备220可以在校正的时间(如由子设备的时钟测量的)t
target
+δt1执行动作。然后可以在随后的与父设备210的连接事件期间(例如,在时间t2、t3,等)更新时间校正(δt1→
δt2→
δt3→…
)。父设备210发送消息、子设备220接收和记录时间戳并且子设备220更新时间校正δtj的操作可以根据需要重复(例如,周期性地、每个连接事件、每n个连接事件等),以维持两个设备之间的时间同步的目标精度。
38.作为第二示例实现方式,父设备210和子设备220可以如下建立通信连接和公共时间。通信连接可以是ble连接,具有建立的(例如,在建立连接时)连接间隔t0。当在两个节点之间建立无线连接时,节点可以共享对每个连接事件的连接事件计数器(cec)的理解。子设备使用从父设备接收到的分组来同步子设备的时钟,例如,当子设备的硬件识别到已经接收到分组时,硬件建立公共纪元(epoch),其中父设备和子设备子设备是时间同步的。
39.在接收到消息212时,子设备220可以更新连接事件计数器,该计数器可以是对自从某个先前时间(例如,通信连接的开始)以来已经调度了多少连接事件的指示。子设备220然后可以使用连接间隔t0来生成公共时间指示。例如,消息212的预期接收时间(例如,根据父设备210的时钟)可由t
exp
=cec
×
t0+t
offset
给出,其中c
conev
是连接事件的计数器并且t
offset
是(例如,在与父设备210的初始连接期间)指派给子设备210的、相对于连接间隔t0的开始时间的时间偏移量。任何两个连接的节点(例如,父设备210和子设备220)可以基于连接事件计数器建立公共时间戳。例如,父设备2100可以在与子设备建立连接之后共享数据元组(cec,时间戳),并且因此在子设备220中建立时间戳。子设备220的时间戳(虽然与父设备210的时间戳绑定)可以从父设备210的时间戳漂移。为了补偿这种漂移,当子设备220接收到来自父设备210的通信时,子设备将连接事件计数器递增cec+1

cec,并使用上述公式来校正子设备上的时间戳。例如,子设备210可以使用接收第n个连接事件的第一个分组的时间来在接收第一个分组的时间将其时钟设置为t
exp
=cec(n)
×
t0+t
offset

40.所描述的技术允许在父设备和子设备之间快速建立同步的时间。在一些实现方式中,子设备220可以使用计数器、连接间隔和时间偏移来确定预期接收时间t
exp
,并且然后使用如由子设备的时钟测量的消息212的实际接收时间来计算时间校正δtj(在记录计数器值c
conev
=j后)。其他等式可以用于建立设备之间的公共时间并且仍然在本公开的范围内。在一些实现方式中,父设备210可以传送一些信息以用于时钟同步并且子设备220可以提供其他信息。例如,父设备210可以在消息212中包括消息212的实际传输(或生成)时间(由父设备210的时钟测量的),并且子设备220可以确定消息212的实际到达时间(由子设备220的时钟测量的)。子设备220然后可以将两个时间的差确定为当前时间校正δt。在一些实现方式中,子设备220可以使用消息212的发送和接收中的时间延迟的估计来进一步调整时间校正。
41.在一些实现方式中,父设备210可以发送消息212,该消息212包括连接事件计数器
和时间指示(例如,时间戳)。然后父设备210可以发送不包括该信息的后续消息,并且子设备220可以在接收到后续消息时管理(例如,递增)计数器。在一些实现方式中,父设备210可以在稍后时间重新发送(或更新)连接事件计数器并提供新的时间戳。可以响应于例如触发事件(例如,与子设备220的连接的丢失和重新建立)、连接参数的更新(例如,连接间隔t0的改变、通信频率的改变等)等,而发送包括更新的信息的这样的稍后消息。
42.建立时间同步可以以多种方式实现。在一种实现方式中,管理连接事件和维持时间校正可以使用多个时钟(例如,图1的时钟148)来执行。例如,在连接事件230的预期开始(例如,t1)之前,由子设备220的处理器执行的软件(例如,固件)可以将第一时钟(例如,内部设备时钟等)提前窗口加宽242的预期水平的量,导致第一时钟在t1之前开始接收间隔(例如,打开加宽的连接事件240)。在接收到消息212(例如,消息的报头或访问代码)时,硬件可以这样的方式调整子设备220的第一时钟,以使消息212的实际接收时间与预期的接收时间t1相匹配。经时间调整的第一时钟然后可以用于更新在子设备220上单独维护的第二时钟(参考时钟)。然后可以再次提前第一时钟以预期下一个连接事件,所述下一个连接事件预期在时间t2开始。同时,更新后的第二时钟可以保持与父设备(并因此与网络的其他设备)的同步时间,并且可以用于确定由子设备220执行的各种动作(例如,同步动作)的时序。在一些实现方式中,可以提前(例如,在初始连接建立期间)或在先前的连接事件230期间(例如,作为消息212的一部分)将接收的预期时间t1、t2等从父设备210传送到子设备220。在一些实现方式中,可以由子设备220考虑连接间隔、连接事件计数等来计算预期的接收时间。
43.在一些实现方式中,单个时钟管理连接事件并维持时间校正。例如,在接收到消息212时,子设备220可以创建时间戳。子设备220的软件然后可以确定和保持(例如,如上所述)消息到达时间(如由子设备220的内部时钟测量的)(例如,时间戳)与消息的预期到达时间之间的差δt。然后,该软件通过使用由δt调整的内部时钟调度子设备220的各种动作来扮演参考时钟的角。类似地,该软件保持窗口加宽242的预期大小并且使子设备220在适当的时间打开加宽的连接事件240。
44.在一些实现方式中,子设备220可以接收消息212,并且可以通过对接收消息的时间增加一些间隔来调度(基于在消息212中接收的数据、在另一消息中接收的数据、由子设备220生成的数据等)未来动作的时间。例如,消息212可以包括指示:事件(例如,未来的连接事件、同步动作或测量等)将在从消息122的接收时间起的某个时间延迟(间隔)之后发生。子设备220可以通过将延迟添加到当前(在接收时)时钟值来计算动作的目标时间,并且当时钟达到目标值时,执行动作。在一些实现方式中,与无线网络的节点相关联的各种设备可以被配置为执行同步动作,并且可以使用诸如上述那些的方法来实现时钟同步。在一个示例中,用于多单元电池(例如,电动车辆的电池)的电池管理系统可以执行各种单元的属性的同时测量。在另一个示例中,医疗传感系统可以执行患者身体各个部位的状态的同时测量。执行此类测量(例如,电池或患者身体)的设备可以与使用上述一种或多种方法同步的无线网络节点相关联。
45.在一些实现方式中,子设备220可以针对在发送消息212的父设备210和接收消息212的子设备220之间经过的时间延迟(例如,空中时间(air time)、处理时间等)进行校正,其示意性地在图2中用指示消息212的通信的斜箭头来示出。例如,可以通过添加估计的时
间延迟、现场测试中测量的平均时间延迟等来执行时间同步。在一些实现方式中,不考虑时间延迟。例如,各种设备的时钟的同步容差(考虑到由设备执行的应用的准确度)可能使得应对延迟不会带来显著的附加益处。
46.时间同步技术可以扩展到网络的其他节点。更具体地,中间节点可以将时间戳(根据它们与相应父节点的连接确定)转换到子节点。在到其父节点的中间节点连接事件之一期间中间节点建立(接收到)时间戳元组(cec,时间戳)之后,中间节点可以为到子节点j的每个连接转换新的元组(cec(j),时间戳(j))。然后,子节点又向其子节点转换时间戳。此过程在网络的完整拓扑中建立时间戳。节点树的每一级都涉及时间戳中的一些误差,并且树的多个级别可能增加误差。然而,只要节点在周期性地交换分组,并且从而同步时钟,这个误差就可以被有意义地约束。
47.cec/时间戳元组可以在相应连接首次建立时(或之后)在父设备和子设备之间生成和传输。在一些实现方式中,生成并发送一次该元组并针对连接的剩余生命周期使用生成的cec/时间戳元组可能就足够了。在一些实现方式中,cec/时间戳元组可以经由从父节点到子节点的消息被更新一次或多次。例如,连接参数可能必须经由连接更新过程进行更新。在一些实现方式中,cec/时间戳元组可以在应用级消息中传输。在一些实现方式中,cec/时间戳元组可以经由自定义链路级别消息来传输。
48.所公开的在节点的完整拓扑中建立时间戳的技术的优点包括(但不限于)准确度、效率和弹性(对于丢失的分组)。例如,如果正在使用高质量的低功耗振荡器(lpo)时钟,则在深度为2的树中并且对于100ms的连接间隔,时间戳的准确度可以约为5-10us。所公开的技术对带宽要求低,并且具有低功耗,使用少至一个父-子通信来同步时间,并且可以在任意的节点拓扑中被快速建立。
49.时钟漂移管理和链路耦合
50.不同设备的时钟可以如上所述被对齐(同步)。此外,在从父节点接收到同步通信之后,各种设备的对齐时钟必须通过跟踪和/或调整到子节点的通信链路的时序以与到父节点的链路对齐来保持这种对齐。结果,父通信链路与子通信链路之间的固定关系在这种同步时被强制(enforce)。在一些实现方式中,这可以经由引导链路(leader link)与跟随链路(follower link)的耦合来实施。例如,到父节点的链路可以是引导链路。当使用经由引导链路接收到的通信执行同步时,跟随链路的时序被更新并与引导链路对齐。例如,使用时钟调整过程为跟随链路确定固定偏移量,该时钟调整过程将引导和跟随链路之间的时间偏移量更新为新偏移量。如果引导链路和跟随链路经由单独的硬件时钟来维护,则用于跟随链路的时钟可以基于与引导链路的同步来更新。
51.两个链路之间的对齐的这种保持可以称为链路耦合。链路耦合与所谓的时钟拖动(clock dragging)不同,其中一个链路的时序被缓慢调整(拖动)以更好地与另一个时钟对齐。链路耦合涉及更新跟随链路的时序以与引导链路对齐,使得引导链路的时序的变化导致跟随链路的时序的立即改变。结果,时钟漂移无法将两条链路拉离最佳对齐。
52.链路耦合也可用于节点的多设备拓扑(如下图3所示),其包括这样的根节点:数据从其他节点流式传输到的该根节点,或者替代地,数据从其流式传输到另一个节点。节点之间的连接可以是专用蓝牙(br/edr或le)连接。一些或所有连接可能具有相同或相似的连接间隔。如下所述,可以优化这种节点树中的数据传输以实现低延时和低重传率。
53.图3图示了根据一些实现方式的无线网络的示例节点拓扑300。节点拓扑300可以描述蓝牙网络、ble网络、wi-fi网络或另一类型的无线网络。节点拓扑300可以包括任意数量的节点,这些节点被配置为将数据传递到其他节点(或相关联的设备)、处理数据、组合数据等。节点还可以配置为与相应相关联的设备进行通信。例如,每个(或至少一些)节点可以与测量设备相关联(或可以管理或控制测量设备)。网络的根(中央)节点可以被配置为与控制整个无线网络的设备进行通信。在一些实现方式中,无线网络可以具有多个根节点302(图3中未示出),其中一个或多个可以是备份根节点或具有相同网络状态和控制网络的权利的节点。图3描绘了主要是二叉的树拓扑,其中每个节点与较高级别的一个节点和较低级别的多个节点通信,但是本公开的各方面可以应用于其他拓扑,包括其他树拓扑、不是树的拓扑,例如总线拓扑、星形拓扑、环形拓扑等。节点可以是支持无线连接性和功能性(例如,接收、发送和/或中继数据的能力)的任何设备,例如台式计算机、膝上型计算机、平板计算机、电话、智能电视、照明设备或其他设备、电器、控制器、安全系统的组件、专用设备或任何其他类型的网络设备。
54.节点拓扑300包括多个节点,其被布置在层中,通过通信链路310-j连接。在一些实现方式中,网络的节点(例如,所有节点、若干层的节点等)被配置为控制相关联的设备(或与之通信)。在一些实现方式中,网络的每个节点都与用于监测电动车辆的电池单元的条件的设备相关联。根节点302可以是(或关联于)中央或控制设备。中央或控制设备可以控制无线网络的参数、节点之间的通信调度、可以执行由各个节点(或在各个设备的方向上)收集的数据的最终聚合等。根节点302与级别1节点304通信耦合。(级别j节点可以是通过j个通信链路从根节点302移除的节点。)在一些实现方式中,更靠近根节点302的节点(例如,特定链路310-j的节点)(例如,级别(j-1)节点)可以是控制链路310-j的父节点,例如,可以是规定经由链路310-j发生的通信的时序、间隔、频率等的设备。离根节点302较远(例如,级别j节点)的一个或多个节点(相同链路310-j的一个或多个节点)可以是子节点,其遵循父节点关于经由链路310-j发生的通信时序、频率等的指令。
55.在树形散射网拓扑中,级别j节点可以是一个或多个级别(j+1)节点的父节点,并且还可以是级别(j-1)节点的子节点。具有父节点和至少一个子节点二者的任何节点在本文中可以被称为中间节点(中间设备)。例如,除了根节点和最终级别n节点的终端节点之外的任何节点都可以是中间节点。拓扑300示意性地示出了这样的散射网拓扑(散射网网络),其包括根节点302,以及根节点302之下的若干层的节点,即级别1节点304-k、级别2节点306-k和级别3节点308-k。应该理解,在节点的树形拓扑中可以包括任意数量的级别。在一些实现方式中,最低层的节点(例如,级别3节点308-k)可以与用于执行同步动作(例如,操纵设备、进行测量等)的设备相关联。数据段(例如,测量的结果)可以由级别3节点308-k传递到它们相应的父节点,例如级别2节点306-k。级别2节点306-k(或它们的相关联设备)可以充当从级别3节点308-k接收的数据段的聚合器。节点306-k本身可以与执行同步动作(例如,与由一个或多个级别3节点308-k执行的同步动作相同的同步动作)的设备相关联。因此,节点306-k可以生成被添加到聚合的数据的附加数据段。然后可以将聚合的数据传递到级别1节点304,该节点可以充当来自级别2节点306和级别3节点308的数据的聚合器。例如,节点306-1可以是到节点308-1、308-2和308-3的父节点(pn),以及到节点304-1的子节点(cn)。数据可以由节点306-1从上游节点308-1、308-2和308-3收集,被添加到、被聚合(并且
可选地,被修改或以其他方式处理)并被提供给下游节点304-1。这个过程可以继续,直到在同步动作期间(或结合同步动作)生成的数据被传送到根节点302。数据生成、通信、聚合等的细节可以由特定的应用、网络拓扑、无线通信协议等来确定。在一些实现方式中,一些信息可以沿相反方向传播(如虚线箭头所指示)。该信息可以包括时间同步数据分组、时间戳、用于同步动作的目标时间、要如何执行同步动作的指令等等。
56.在一些实现方式中,拓扑300中的指令可以从根节点302流向较低级别的节点,例如,与根节点302相关联的控制设备可以确定用于网络的通信连接的通信时序、频率、间隔等,并且可以经由节点之间的各种链路310-j的链路将指示这些参数的指令传送到网络的节点。如本文所用,为了命名,从给定节点朝向根节点302的方向可以称为下游方向,而远离根节点302的方向可以称为上游方向。然而,应该理解,如上所述,信息可以在每个链路上双向流动。在一些实现方式中,可以在测量接近相关联设备的条件的过程中收集数据,例如:电池单元的属性,由医疗传感器、工业传感器、实验室传感器等测量的属性。
57.在一些应用中,数据传输的时序和对齐可能重要,因为未对齐的传输可能导致沿节点树向上的数据传输的延迟,增加延时和由于数据冲突导致的重传中的功率损失。为了实现从较低级别节点到较高级别节点的最佳数据传输(和/或转发),可以首先建立该节点树中的最佳对齐。特别是,给定节点与其子节点之间的连接的时序可能正好在与父节点的连接之前。可以使用父和子连接之间的适当间隙(时间延迟)来允许通信窗口加宽和数据聚合。
58.这种传输布置的优点可以包括(但不限于):数据传输的低延时、由于避免冲突而降低的功率、较低的分组错误率。在给定的拓扑中,可以从较高级别的链路(例如,从根节点)开始建立连接,之后是较低级别的链路。通过每个中间节点都控制到其子节点的连接并在与其父节点的连接方面跟随其父节点,来促进传输的时序的最佳安排。
59.在ble网络中,连接更新(connection update)过程可用于改变(例如,改进)连接的时序。连接更新过程建立连接更新之后的第一个连接事件的时序,这确定了后续连接事件的时序。连接更新的使用允许在连接断开并且必须重新创建的情况下重新获取目标放置。
60.在建立连接的最佳时序之后,可以使用链路耦合过程来维持该时序。在每个中间节点处,到父节点的连接是引导链路,并且到子节点的连接是跟随链路。相应地,每当中间节点与父节点同步时,立即调整到子节点的连接的时序以符合该最佳偏移量。由于每个级别处的父设备将它们相应的时钟调整为与它们自己的父固定对齐,因此子节点可以通过使用更大的窗口加宽因子来考虑(factor in)其父节点的时钟调整,例如,其中节点的每个后续层具有增加的窗口加宽。这种渐进式窗口加宽允许减轻多个层中时钟的漂移复合。附加的窗口加宽可能向连接时间间隔增加一定量。在一些实现方式中,这可以通过使用更短的连接间隔和/或使用更准确的时钟(例如,以最小化窗口加宽)来减轻。图4图示了根据一些实现方式的用于无线散射网网络的多层的节点之间的通信的示例通信方案400。使用级别1的节点304-1、级别2的节点306-1和级别3的节点308-1、308-2和308-3(如图3所示)之间的连接来示出通信方案400,但是所描述的通信方案适用于具有任意层数的节点的任何网络的任何三个相邻层的节点的通信。节点306-1具有父节点304-1和三个子节点308-1、308-2和308-3。与节点304-1相关联的设备可以控制节点304-1(及其相关联设备)和节点306-1
(及其相关联设备)之间的通信连接。例如,节点304-1和节点306-1之间的通信可以由节点304-1(或其相关联设备)的时钟来规定。节点304-1和节点306-1之间的通信连接的参数(例如,通信频率、通信时序、连接间隔等)可以由节点304-1、由网络的根节点302(控制节点、控制设备),或者由控制通信方案400的另一设备来确定。在一些实现方式中,通信连接的参数可以由多个设备确定;例如,一些参数可以由控制设备确定,而一些参数可以由与节点304-1相关联的设备确定。例如,可以由控制设备提供一系列可能的参数,并且这些参数的特定值(在所提供的范围内)可以由节点304-1生成。同样,节点306-1可以控制节点306-1与子节点308-1、308-2和308-3之间的通信连接,例如,以与上面结合节点304-1和306-1之间的通信描述的方式相似的方式。
61.在时间t1,节点304-1可以打开连接事件(ce)410以将数据传送到节点306-1并且可以从节点306-1接收数据。ce 410可以在考虑到设备的时钟值而确定的时间被打开,所述设备控制整个无线网络,例如是使用例如上面关于图2描述的级联时钟同步技术的根节点(级别0的节点)。特别地,节点304-1的时钟(其用于启动ce 410)可以相对于根节点的时钟来同步。节点306-1可以在ce410的开始之前打开其ce 420(用于与节点304-1通信)。这实现了加宽的连接事件,以帮助应对时钟漂移、抖动等。在一些实现方式中,网络内的所有通信连接(例如,图3的每个链路310-j)可以具有相同的通信周期(例如,t0)。在一些实现方式中,不同的链路310-j可以与通信之间的不同周期一起使用。例如,节点308-1、308-2和308-3可以每个连接间隔t0与节点306-1通信,但是节点306-1可以每两个连接间隔(周期2t0)与节点304-1通信。在一些实现方式中,在每个连接间隔t0期间,所有链路都可用于通信。
62.在单个连接间隔t0内,节点306-1可以与其子节点308-1、308-2和308-3中的每一个通信。更具体地,节点306-1可以在如由节点306-1的时钟测量的时间t2打开ce 422-1以与子节点308-1通信。子节点308-1可能在时间t2之前的时间已经打开了加宽的ce 430-1。由节点308-1在ce 430-1期间从节点306-1接收的消息可用于将节点308-1的时钟同步(或重新同步)到节点306-1的时钟,如上文关于图2所描述的或使用类似的技术。类似地,节点306-1可以打开附加的ce以与节点306-1的其他子节点通信。例如,节点306-1可以在时间t3打开ce 422-2以与子节点308-2通信,并且在时间t4打开ce 422-3以与子节点308-3通信。节点308-2和308-3中的每一个可以分别打开加宽的通信间隔,例如ce 430-2和ce 430-3。在一些实现方式中,各种ce可以在时间上不重叠,使得当不同的通信链路在被使用时不存在串扰或干扰。在一些实现方式中,时间延迟t
2-t1、t
3-t1和t
4-t1可以由节点306-1(或与节点306-1相关联的设备)建立、管理和强制。这些固定的时间延迟可以通过链路耦合技术来强制。
63.图4的通信方案400可以被扩展以包括附加的子设备、节点级别等。在连接间隔t0期满之后,例如,在时间t5=t1+t0,节点304-1可以打开新的ce 411,节点306-1可以打开对应的ce 421,并且图4中所示的一些或所有通信可以重复。
64.在一些实现方式中,如用虚线箭头450所指示,可以强制连接事件之间的时序延迟以维持相对连接时序。在ce 410期间,节点304-1可以向节点306-1发送消息412。节点306-1可以被配置为在接收到消息412时(例如,在节点306-1的硬件检测到消息412、其访问码、报头等时)与节点304-1同步时间(或更新时间同步)。随后,节点306-1可以打开ce 422-1并向节点308-1发送消息414。节点308-1可以被配置为在接收到消息414时生成与节点306-1同
2之前打开ce 530-2并且在ce 522-2和ce 530-2的重叠部分期间传送数据。在数据从节点308-2传送到节点306-1之后,节点306-1可以在打开ce 522-3以用于与节点308-3通信之前关闭ce 522-2并进入一段静默期,例如间隔524-2。静默期可以容适加宽ce 530-1和ce 530-2。节点308-3可以在调度的ce 522-2之前打开ce 530-2并在ce 522-3和ce 530-3的重叠部分期间传送数据。间隔524-1和524-2为节点308-k提供用于部署窗口加宽的一定程度的灵活性。
70.在一些实现方式中,在关闭ce 522-3之后,节点306-1可以进入聚合窗口(aw)526,在此期间节点306-1可以处理数据、重新排列数据、丢弃一些数据、附加额外的数据、聚合数据、将数据打包,等等。然后可以将聚合和打包的数据传输到节点304-1。例如,节点304-1可以打开rw 510以从节点306-1接收数据。节点306-1可以打开ce 520并将数据传输到节点304-1。
71.在一些实现方式中,所有rx窗口可以具有相同的(第一)持续时间并且所有tx窗口可以具有相同的(第二)持续时间。在一些实现方式中,为了应对节点的连续层中时钟误差的可能累积,上游接收窗口可以随着节点的每一层而逐渐变宽。
72.无线网络的其他节点可以遵循相同的过程。例如,节点306-1可以是与节点304-1通信的多个子节点之一。相应地,ce 510可以是针对多个子节点(节点306-1只是那些子节点中的一个)打开的ce序列的一部分。许多其他设备(图5中未示出)可以存在于无线网络中。节点(设备)308-1、308-2和308-3中的每一个可以具有附加的子设备。类似地,节点304-1可以具有在无线网络更下游的父节点。使用发送和接收窗口的相同安排原则,数据可以在单个连接间隔内流经整个网络(包括任意数量的节点),其中,一旦数据准备好(例如,被获得和/或汇总)以进行传输,每个节点就将数据传送到下游节点。
73.在一些实现方式中,通信方案500可用于将数据从多个源节点传输到多个目的地节点。目的地节点可以被配置为从无线网络的设备获得信息以供进一步处理。在一些实现方式中,可以优化无线拓扑以用于在相反方向上的信息传递(例如,远离中央节点),在这种情况下,下游和上游指定可以反转。例如,如果在相反的方向上(从根节点到更高级别的节点)优化信息传递,则通信方案500仍然可以在图5中的箭头方向和时间轴方向反转的情况下使用。
74.图6是根据一些实现方式的优化了无线网络中的下游数据流的图5的示例通信方案500的进一步说明。除了节点306-1,图6还图示了图3的另一个级别2节点306-2和节点306-2的两个子节点308-4和308-5的操作。如图6所示,节点308-4(节点308-5)和节点306-2之间的通信可以与节点308-1(节点308-2)和节点306-1之间的通信同时发生(具有完全或部分重叠)。在aw 528期间聚合从节点308-4和308-5收集的数据之后,节点306可以打开tx窗口521以用于将聚合数据传送到节点304-1,这打开对应的rx窗口512。如图6所示,从节点306-1和306-2到节点304-1的通信发生在不同时间,由一段静默期隔开。如图6所示,节点306-2和节点304-1之间的通信可以在节点306-1正在聚合数据(aw 526)的同时发生。
75.图6中图示的通信布置提高了数据收集的效率,允许更短的总连接间隔,同时仍然确保来自多个(或所有)节点的数据同时传送,而没有任何两个上游节点在同时与同一个下游节点通信。类似的时序技术可以应用于任何级别的节点之间的通信链路和任意大小的拓扑(例如,应用于具有n层节点的无线网络)。
76.图6中图示的数据通信的时序使得不同节点对之间的多个通信可以同时发生。在各种应用中,无线网络的节点可以位于受限的体积内(例如,汽车电池或医疗传感装置),并且在使用相同的通信频率时可能干扰彼此的通信。频率复用的方法可以用于解决此类情况并减少干扰量,如下面更详细描述的。
77.通信干扰管理
78.在本公开的一个方面,管理无线网络的设备之间的无线通信的干扰。在一些实施例中,放置节点之间的连接事件以避免时间上的冲突。在一些实施例中,可以同时放置网络中的一些连接事件。例如,网络的第一节点和网络的第二节点之间的通信可以与网络的第三节点和网络的第四节点之间的通信在时间上重叠。可以分配通信信道(例如,无线通信频率)以避免频率上的冲突。可以分配通信信道以避免与源自无线网络外部的信号(例如,外部干扰)在频率上重叠。
79.图7是根据一些实现方式的在节点的无线网络中的数据通信期间减少干扰的示例信道复用方案700的图示。节点的无线网络可以具有要指派给不同无线链路的多个可用无线通信信道(wcc)。例如,蓝牙低功耗网络可能有40个wcc,每个wcc的宽度为2mhz,其中37个wcc可用于传送数据,并且3个wcc用于广告。在信道复用方案700中,没有同时使用的链路可以使用相同的wcc,因为没有任何干扰可能发生。例如,由于链路701-1和701-2在不同时间使用(被时分复用),所以链路701-1和701-2可以共享相同的wcc以用于无线通信。类似地,任何以相同的前三位数字编号的链路(例如,链路703-1和703-2)都可以使用相同的wcc进行通信。另一方面,如图6所示,一些链路704-j可以与至少一些链路705-j(706-j、707-j等)同时使用。可以为此类链路指派不同的wcc,以避免或减少干扰。
80.在一些实现方式中,控制设备(例如,节点710或与节点710相关联的设备)可以将通信调度发送到网络的各个节点。控制设备可以生成将通信(发送和接收)窗口指派给节点(如上面更详细地描述)以及将wcc指派给节点之间的各种无线链路的调度。例如,可以为每个链路指派一组可由该链路使用的wcc。在一些实现方式中,可以为同时操作的链路指派不同的wcc,而可以为在不同时间操作的链路(例如,与相同下游节点通信的链路)指派相同的wcc集合。取决于网络中节点的总数,wcc集合可能具有一个或多个wcc,其中,在大量节点的实例中,每个链路具有一个或两个wcc,并且对于较小的网络,具有若干或更多个wcc。在一些实现方式中,第n级节点中的每一个可以被指派不同的wcc集合,例如,节点740可以被指派集合{c}
(0)
,节点741可以被指派集合{c}
(1)
,等等,其中,节点74x被指派集合{c}
(x)

81.在外部无线设备开始使用所指派的频率之一进行通信的情况下,将多个wcc指派给给定链路可以提高该链路对干扰或噪声的弹性。因此,在一些实现方式中,一些wcc集合可以部分或完全重叠。例如,由于链路707-j可能在不同时间使用,所以一些集合{c}
(7)
、{c}
(8)
和{c}
(9)
可能具有公共信道。在一些实现方式中,集合{c}
(7)
、{c}
(8)
和{c}
(9)
可以是相同的。同样,集合{c}
(0)
、{c}
(1)
和{c}
(2)
可能相同但与集合{c}
(7)
、{c}
(8)
和{c}
(9)
(以及其他集合)不同。
82.凭借在下游层中具有较少的节点,下游链路可以具有更多种指派的wcc。例如,如果链路702-1没有与链路704-j同时使用,则可以为链路702-1指派并集{c}
(0)
u{c}
(1)
u{c}
(2)
的任何wcc(包括该并集的所有wcc),而可以为链路702-2指派并集{c}
(3)
u{c}
(4)
的任何wcc。此外,如果没有同时使用链路702-1和702-2,则可以为链路702-1和702-2中的每一个指派
较大并集{c}
(0)
u{c}
(1)
u{c}
(2)
u{c}
(3)
u{c}
(4)
的任何(或所有)wcc。wcc的这种指派可以延伸通过所有下游节点,其中,根节点710被指派来自所有集合{c}
(j)
的并集的任何(或所有)wcc。
83.在一些实现方式中,为了附加保护免受来自相邻无线通信信道(例如,具有接近频率)的干涉信号(interloping signal)的噪声和干扰,不同的wcc集合可以被一个或多个未指派的wcc分开(间隔开)。例如,在图7所示的无线网络中,可用的wccc1…c37
(假设是ble网络,为了具体)可以指派如下:
84.c1…
c8:链路704-1、704-2和704-3;
85.c9和c
10
:未指派;
86.c
11
…c18
:链路705-1和705-2;
87.c
19
和c
20
:未指派;
88.c
21
…c28
:链路706-1和706-2;
89.c
29
:未指派;
90.c
30
…c37
:链路707-1和707-2。
91.结果,可以同时通信的任何两对节点被至少一个(并且通常是两个)未指派的间隔wcc分开。上述指派是示例性的,因为可以替代使用wcc的任何其他间隔的指派。例如,指派给无线链路的wcc的数量可能较低,而未指派的间隔wcc的数量可能较高。
92.在不同时间,可以从指派给特定节点的wcc集合中选择不同的wcc用于该特定节点的通信。wcc的选择可以由父节点执行,例如,节点734可以从指派给节点746的集合中、由根节点710或由节点734和节点710之间的任何其他下游节点(例如,节点722)来选择wcc。wcc的选择可以在父节点发送的指令中传送,并且可以从下一或任何后续通信开始有效。在一些实现方式中,wcc的选择可以是动态的,并且可以基于测量的外部干扰/噪声的量。更具体地,网络的一些(或所有)节点可以被配置为检测潜在干扰,例如,通过检测特定频带内存在的能量,该特定频带可以包括节点当前用于通信的wcc。用于评估每个特定链路质量的度量可能包括接收信号强度指标(rssi)、信噪比(snr),其可能是通过信道中检测到的噪声量调整的链路的rssi,或任何其他可接受的度量。
93.在一些实现方式中,控制无线链路的节点(例如,父节点或根节点710)可以从网络的一个或多个节点接收信息并且可以从后续的通信中移除特定的wcc(或多个wcc)(至少是暂时的,直到无线网络的环境改变。例如,节点可以向父节点发送消息,指示某个或某些wcc正在经历干扰、降低的rssi/snr等。该消息可以通过网络传播并到达控制设备(例如,根节点710),其然后可以从后续通信中移除对应的wcc。控制设备然后可以向无线网络的所有(或受影响的)节点分发更新的wcc信息。在一些实现方式中,如果某些信道表现不佳,则控制设备可以执行wcc的完全重新指派。例如,如果15个最高频率的ble信道c
23
…c37
在一段时间内持续具有低snr,则控制设备可以在网络节点之中重新指派剩余的信道c1…c22
并暂时保持信道c
23
…c37
未指派(例如,直到snr提高)。
94.在一些实现方式中,wcc的指派可以是随机的,例如,基于通信频率的伪随机序列。例如,可以基于随机(或伪随机)数字序列1

n来指派n个可用的wccc1…cn
(例如,由网络硬件支持、不受干扰等)。在一些实现方式中,每个节点可以存储相同的伪随机函数并且可以生成用于通信的wcc,而不等待来自父节点的指令。每个节点可以被指派一个到wcc 1

n的
伪随机序列中的偏移量(例如,数字m)并且可以选择用于通信的wcc作为生成的序列中的第m个数字。并发通信的节点可以被赋予不同的偏移量,以确保这些节点的通信不会干扰。例如,节点741和745可以被给予不同的偏移量,而节点741和742可以被给予不同或相同的偏移量。结果,预先指派的偏移量用作指向伪随机序列的指针。由于所有节点都可以生成相同的伪随机序列,因此由不同节点使用的不同指针确保了并发通信节点不会使用相同的wcc。
95.在一些实现方式中,每个节点的偏移量可以移位(shift)时间依赖的数字,例如m(t)=(m+[t/τ])mod n,其中t可以是离散时间纪元(例如,连接事件计数器的值)并且τ可以是某个量化参数(例如,连接间隔的持续时间,或某个其他项目);该函数[x]是参数x的整数部分。在一些实现方式中,伪随机函数可以具有时间作为附加输入,使得在不同时间生成不同的伪随机序列。在一些实现方式中,用于确定wcc的指派的伪随机函数可以包括时间和偏移量作为输入参数。在一些实现方式中,伪随机函数可以包括相应节点的地址(或相应节点的父节点的地址)来代替偏移量。在一些实现方式中,由伪随机函数指派的wcc可以是排除了间隔信道的非连续wcc,如上所述。
[0096]
无线通信管理的方法
[0097]
图8-10图示了无线网络中无线连接(及其可能的变化)的时间同步、时间复用和频率复用的示例方法800-1000。方法800-1000和/或其单独的函数、例程、子例程或操作中的每一个可以由一个或多个处理单元(cpu、现场可编程门阵列或fpga、专用集成电路或asic、有限状态机等等)和存储器设备来执行,存储器设备通信地耦合到图1的父设备110、网络设备120、子设备124的处理单元,或结合图2-7所示或提及的任何设备/节点,或其任何组合。在某些实现方式中,单个处理线程可以执行方法800-1000中的每一个。可替代地,两个或更多个处理线程可以执行方法800-1000中的每一个,每个线程执行方法的一个或多个单独的函数、例程、子例程或操作。在说明性示例中,实现方法800-1000的处理线程可以被同步(例如,使用信号量、临界区和/或其他线程同步机制)。可替代地,实现方法800-1000的处理线程可以相对于彼此异步地执行。与图8-10中所示的顺序相比,方法800-1000的各种操作可以以不同的顺序执行。方法800-1000的一些操作可以与其他操作同时执行。一些操作可以是可选的。
[0098]
图8a-8c描绘了无线网络中时间同步和同步动作的示例方法的流程图。图8a描绘了根据一些实现方式的无线网络中的设备同步的示例方法800a的流程图。在无线网络中,设备可能具有用于跟踪时间的流逝的不同的内部时钟。在一些无线网络中,使用非常精确的时钟可能不切实际或过于昂贵。在一些涉及同时测量或其他动作的应用中,例如音乐播放,在整个网络中建立同步的时间可能是有利的。方法800a可用于在具有任意数量的设备的网络中建立同步的时间。在一些实现方式中,建立同步的时间可以包括调整各种设备的时钟以与特定时钟对齐,例如中央或根节点的时钟、与网络的特定节点相关联的设备的时钟,等等。
[0099]
在框801,网络设备(例如,图3和图4中的设备306-1)可以经由无线网络的第一链路(例如,链路310-2)从父网络设备(例如,图3中的节点304-1)接收第一消息(例如,图4中的消息412)。在一些实现方式中,无线网络可以是蓝牙或蓝牙低功耗网络。父网络设备可以是控制第一链路的设备。父网络设备可以向网络设备发送规定与第一链路相关的时序、通信频率等的指令。网络设备可以遵循父网络设备的指令。在一些无线网络中,例如无线网状
网络,父和子指定可能不是静态的,并且设备的角可能随时间而改变。一些无线网络可以被重新配置成不同的拓扑,例如,响应于变化的条件或需求。可以根据由根节点或网络的某个其他节点发送的指令来执行重新配置网络。
[0100]
在框802,网络设备(例如,节点306-1)与父设备建立第一公共时间指示。可以考虑以下各项中的至少一项来建立第一公共时间指示:(i)与第一消息相关联的连接间隔,或(ii)与第一消息相关联的第一时钟值。第一时钟值可以是第一消息的到达时间或消息中包含的时间戳,例如,与第一消息的传输或生成相对应的时间戳(根据父网络设备的时钟)。网络设备可以记录第一消息的接收时间(根据网络设备的时钟),并将接收时间与时间戳进行比较,以生成与父网络设备的公共时间指示(例如,记录时差、调整网络设备的时钟等)。在一些实现方式中,第一消息(而不是第一消息的内容)的到达时间可用于建立公共时间指示。例如,网络设备可以知道连接间隔t0并且可以被配置为将连接事件计数器乘以连接间隔(例如,将在网络设备和父网络设备之间发生的连接事件分开的时间量)以确定第一消息的预期到达时间。在一些实现方式中,连接间隔可以与第一消息一起传送。在一些实现方式中,连接间隔可能先前已经传送到网络设备,例如,当与父网络设备的链路首次建立时。
[0101]
在框803,方法800a可以继续,其中,第一网络设备经由第二链路(例如,图3中的链路310-3)向子网络设备(例如,图3和图4中的节点308-1)传送第二消息(例如,图4中的消息414)。第二消息可以使子网络设备与网络设备建立第二公共时间指示。结果,公共时间可以贯穿整个无线网络(级联通过整个无线网络)传播。
[0102]
如用可选框804和805示意性地描绘的,可以随后更新无线网络中的第一和第二公共时间指示。在一些实现方式中,指示可以周期性地更新(例如,每个连接间隔一次),在检测到时钟漂移时更新,为同步动作做准备而更新,等等。更具体地,在框804,网络设备可以接收来自父网络设备的第三消息(例如,图4中的消息416)。第三消息可以是由父网络设备传送的后续消息之一并且可以具有与第一消息的内容相似的内容(例如,其时间戳被更新,如果适用的话)。在框805,可以考虑到第三消息来更新第一公共时间指示。例如,可以记录第三消息的预期到达时间与第三消息的实际到达时间(由网络设备的时钟测量)之间的新差异。更新的第一公共时间指示然后可以用于使子网络设备更新第二公共时间指示,例如通过将第四消息从网络设备(例如,节点306-1)传送到子网络设备(例如,节点308-1)。任何数量的子网络设备(例如,节点308-2、308-3)可以类似地同步,例如,通过网络设备重复框803和805,其中,通信指向相应的子网络设备。
[0103]
图8b描绘了根据一些实现方式的使用公共时间指示来打开通信窗口以用于与父网络设备通信的示例方法800b的流程图。方法800b可以由具有至少两个时钟的网络设备执行,这里分别称为设备时钟和参考时钟。在框811,无线网络的网络设备基于与父网络设备的公共时间指示来调整参考时钟。参考时钟可以是网络设备内部的时钟。可以使用结合方法800a描述的实现方式或类似实现方式中的任何一个来建立公共时间指示。在框812,设备时钟可以提前相对于参考时钟的时间偏移量。在一些实现方式中,时间偏移被预定为大于时钟的典型漂移(例如,参考时钟和/或设备时钟的典型漂移),以允许与父网络设备的未来通信窗口充分加宽并且不错过父网络设备的未来传输的开始。典型的漂移可以从现场测试中得知。
[0104]
在框813,设备时钟可以用于打开接收窗口以接收消息,该消息可以与方法800a的
第三消息相同(或不同)。该消息可以由父网络设备发送。当设备的读取匹配消息的预期接收时间(例如,与父网络设备的下一个通信窗口的预期开始)时,可以打开接收窗口。
[0105]
在框814,方法800b可以继续,其中,考虑到消息的接收时序来再次调整设备时钟。例如,可以基于检测到消息中的访问码或报头的时序来(例如,通过网络设备硬件)调整设备时钟。在一些实现方式中,可以考虑到连接事件计数器的值来调整设备时钟。例如,连接事件计数器cec可以在接收到消息时或基于等于或近似等于自上次连接事件以来的连接间隔t0的时间流逝而递增。设备时钟可以被调整为与父网络设备时钟的时钟对齐,假定其具有值cec
×
t0(加上独立于cec的偏移量)。然后可以使用设备时钟来调整参考时钟,如上面结合框811所描述的。框811-814的操作可以重复多次,例如,在网络设备和父网络设备之间的通信连接的持续时间内。
[0106]
在一些实现方式中,参考时钟和设备时钟可以是相同的时钟。在这样的实现方式中,可以通过网络设备的软件虚拟地执行设备时钟的提前。
[0107]
图8c描绘了根据一些实现方式的使用公共时间指示来执行同步动作的示例方法800c的流程图。在一些实现方式中,方法800c可以结合上述方法800a来执行。在框821,可以由网络设备记录第一时钟值。例如,第一时钟值可以与由第一网络设备接收的消息相关联,如上面结合方法800a的框802所描述的。在一些实现方式中,第一时钟值可以与消息的接收时间相关联。在一些实现方式中,第一时钟值可以已经包括在由父网络设备发送的消息中。
[0108]
在框822,可以生成时间戳。在一些实现方式中,时间戳可以指示未来事件的时间。在一些实现方式中,可以更新网络设备的设备时钟以与父网络设备的时钟对齐。在一些实现方式中,可以将指定的延迟时间添加到第一时钟值以生成时间戳。未来事件可以是未来连接事件、未来通信窗口、要执行的未来动作(例如,同步测量)等。在一些实现方式中,延迟可以由父网络设备指定或从网络的中央设备传递。在一些实现方式中,与父网络设备或中央设备不同的设备可以指定被包括在第一消息中的延迟时间。
[0109]
在框823,可以与未来事件相关联地执行动作。例如,打开通信窗口、发送消息、进行测量等。当时钟的值(例如,第二时钟值)匹配(例如,达到或超过)时间戳的值(例如,接收第一消息的时间加上延迟时间)时,可以执行该动作。在一些实现方式中,可以与无线网络的其他设备(例如,子设备、父设备等)同步地执行该动作。
[0110]
图9描绘了根据一些实现方式的在无线网络中构造数据流的示例方法900的流程图。在一些应用中,可以优化设备的无线网络以在目标方向上高效地传递数据。然而,应该理解的是,每个连接事件(例如,任何两个设备之间的每个连接事件)都可以具有双向传递数据的能力,例如,以促进在中心节点聚合数据和将指令传播远离中心节点。优化的数据流的方向(从源节点到目的地节点)在本文中被称为下游方向,而相反的方向被称为上游方向。无线网络可以具有多个源节点、一个或多个目的地节点以及多个中间节点(其可以附加地布置成节点的一个或多个层或级),并且多个中间节点中的每一个具有下游节点和多个上游节点。中间节点可以针对某些无线链路充当父节点并且针对其他无线链路充当子节点。例如,返回参考图3,中间节点306-1可以具有下游父节点304-1和上游子节点308-1、308-2和308-3。
[0111]
在框901,中间节点(例如,节点306-1)可以从多个上游节点(例如,节点308-1、308-2和308-3)中的每一个接收多个上游消息中的对应的上游消息。每个上游消息可以在
多个接收窗口(例如,ce 522-1的rx窗口、ce 522-2的rx窗口和ce 522-3的rx窗口,如图5所示)中的相应接收窗口内接收。
[0112]
如用可选框902指示的,方法900可以包括以多个接收时间偏移量中的相应偏移量打开多个接收窗口中的每一个。可以相对于与下游节点的接收窗口相关联的时间来确定时间偏移量。例如,可以相对于时间t1确定与ce 522-1的rx窗口、ce 522-2的rx窗口和ce 522-3的rx窗口(参考图5)中的每一个的开始相关联的时间偏移量,时间t1可能与ce 509的先前接收窗口rx相关联。
[0113]
在框903,方法900可以继续,其中,由中间节点(例如,节点306-1)向下游节点(例如,节点304-1)传输使用多个上游消息生成的下游消息。例如,中间节点可以聚合接收到的数据并将聚合的数据包括在下游消息中。中间节点还可以在下游消息中包括附加数据(例如,由与中间节点相关联的设备进行的测量)。可以在多个接收窗口(例如,ce 522-1的rx窗口、ce 522-2的rx窗口和ce 522-3的rx窗口)后续的传输窗口(例如,ce 520的tx窗口)内传输下游消息。在一些实现方式中,传输窗口可以在最后一个接收窗口(例如,ce 522-3的rx窗口)关闭之后的延迟之后打开,从而允许中间节点在数据聚合窗口(例如,aw 526)期间聚合数据。在一些实现方式中,如图5所示,接收窗口可以是不重叠的并且相对于彼此具有固定偏移量。在一些实现方式中,接收窗口可以在时间上等距(均匀)间隔到预定精度内,例如,到设备时钟的精度、由无线网络支持的应用所要求的精度等。如图5所示,间隔524-1可以与间隔524-2相同(或大致相同)。
[0114]
这样的连接事件间隔可以贯穿整个无线网络向上游传播。在一些实现方式中,利用连接事件之间的固定偏移量可以使通信时序能够保持稳定,以优化数据流并且容适在时间同步事件之间发生的时钟漂移/抖动(如结合图8a-8c所描述的)并针对其进行补偿。在一些实现方式中,可以针对下游数据传输的每个连接间隔发生时间同步。在一些实现方式中,可以每隔设定数量的下游数据传输的连接间隔执行一次时间同步。在一些实现方式中,数据可以在单个连接间隔中流经整个无线网络。例如,在连接间隔开始时,源节点(例如,第n级的节点)可以将数据传输到下一(第n-1)级的节点。第n-1级的节点可以聚合数据并将聚合的数据发送到下一个下游级别,直到聚合的数据在连接间隔结束附近时到达目的地节点(例如,根节点)。然后可以开始下一个连接间隔。
[0115]
在一些实现方式中,下游连接事件的传输窗口可以是下游连接事件的一部分。例如,ce 520的tx窗口是ce 520的一部分。类似地,多个接收窗口中的每一个可以是多个上游连接事件的对应上游连接事件(例如,ce 522-1、ce 522-2和ce 522-3的rx窗口分别是对应的ce 522-1、ce 522-2和ce 522-3的一部分)。在一些实现方式中,由于累积和传输的数据的量可以随着节点的每一层而增加,所以tx窗口宽于多个上游连接事件中的每一个的相应tx窗口(例如,ce 520的tx窗口宽于ce 530-k的tx窗口)。在一些实现方式中,传输窗口可以是还包括下游接收窗口(例如,ce 520的rx)的下游连接事件(例如,ce 520)的一部分。类似地,多个接收窗口(例如,ce 522-k的rx)中的每个接收窗口可以与如下相应上游连接事件(例如,ce 530-k)相关联:其还包括宽于下游接收窗口(例如,宽于ce 520的rx)的接收窗口(ce 530-k的rx)。
[0116]
在一些实现方式中,如用可选框904指示的,方法900可以包括在与预期通信时间(例如,ce510的开始)相比提前的时间打开下游连接事件(例如,ce 520)。预期通信时间可
以被确定为以下两项的总和:i)与下游节点的先前连接事件相关联的时间,以及ii)下游节点连接间隔(例如,t0)。在一些实现方式中,设定时间提前可以应用于无线连接的持续时间,直到网络设置被改变,等等。类似的设定时间提前可以应用于由其他设备(例如,各种上游设备)管理的连接事件。例如,节点308-1可以在ce 522-1之前开始ce 530-1。
[0117]
如可选框905所示,方法900可以包括在传输窗口(例如,ce 520的tw)期间接收来自下游节点(例如,节点304-1)的指令以用于中间节点和/或用于一个或多个上游节点。接收到的指令可能与未来动作、未来通信、无线网络设置的改变等有关。类似地,在接收窗口(例如,ce 522-1的rx窗口、ce 522-2的rx窗口和ce 522-3的rx窗口)期间,中间节点可以向上游节点(例如,308-1、308-2和308-3)传输一个或多个消息,包括传递先前从下游节点接收到的指令。
[0118]
图10描绘了根据一些实现方式的管理无线网络中的通信信道的示例方法1000的流程图。无线设备的网络可以被组织成n层节点,其中,数字n可以是大于2的任何整数。无线网络可以具有布置在节点树中的设备,例如,图7中描绘的节点树。方法1000可以用于优化可被调度以在重叠时间窗口期间传送数据的多个无线通信链路。同时发生的(例如,在时间上重叠的)无线链路可以通过利用不同的通信频率(例如,无线通信信道)来避免干扰。方法1000可用于将不同的通信频率指派给这些同时通信的链路。无线网络的节点可以分类为第一层的节点(例如,图7中的根节点710)、第二层的节点(例如,图7中的节点720和722)、第三层的节点(例如,例如,图7中的节点730-736),依此类推,直到最后(第n)层的节点(例如,图7中的节点740-749)。方法1000可以由无线网络的控制设备的处理逻辑来执行,例如,由节点710、与节点710相关联的设备、或者任何其他合适的设备来执行。
[0119]
在框1001,执行方法1000的处理逻辑可以识别(例如,基于存储的网络拓扑)第n-1层的第一节点(例如,节点730)支持上升到第n-1层的第一节点的第一多个无线链路(例如,链路704-j)以及从第n-1层的第一节点上升到第n-2层的第一节点(例如,节点720)的第一无线链路(例如,链路702-1)。在一些实现方式中,第n-1层的第一节点可以控制上升到该节点的第一多个无线链路中的每一个(例如,可以充当其父设备)。在一些实现方式中,第n-1层的第一节点(例如,节点730)可以从第n-2层节点中的第一节点(例如,节点720)接收与第一无线链路(例如,链路702-1)的利用有关的指令。
[0120]
在框1002,处理逻辑可以向第一多个无线链路(例如,链路704-1、704-2和704-3)中的每一个指派第一多个wcc集合中的相应的wcc集合(例如,分别为集合{c}
(0)
、{c}
(1)
和{c}
(2)
)。在一些实现方式中,第一多个wcc集合中的所有集合可以是相同的(例如,{c}
(0)
、{c}
(1)
和{c}
(2)
中的每一个可以具有相同的信道集合)。在一些实现方式中,第一多个wcc集合中的不同集合可以重叠(例如,可以与{c}
(1)
和/或{c}
(2)
共享一些但不是所有的wcc)。在一些实现方式中,第一多个wcc集合中的集合可以是非重叠的(例如,没有任何wcc进入{c}
(0)
、{c}
(1)
和{c}
(2)
中的多于一个)。
[0121]
在框1003,处理逻辑可以识别第n-1层节点中的第二节点(例如,节点732)支持上升到第n-1层节点中的第二节点的第二多个无线链路(例如,链路705-j)和从第n-1层节点中的第二节点上升到第n-2层节点中的第一节点(例如,节点720)的第二无线链路(例如,链路702-1)。
[0122]
在框1004,方法1000可以继续,其中,处理逻辑向第二多个无线链路(例如,链路
705-1和705-2)中的每一个指派第二多个wcc集合中的相应的wcc集合(例如,分别为集合{c}
(3)
和{c}
(4)
)。与上述第一多个wcc类似,第二多个wcc的信道可以是不重叠的、部分重叠的或彼此相同的。此外,第一多个wcc集合(例如,集合{c}
(0)
、{c}
(1)
和{c}
(2)
)中的wcc可以不与第二多个wcc集合重叠。各种wcc集合可以由一个或多个未使用(未指派)的wcc隔开。
[0123]
应当理解,框1001-1004仅示出了与指派无线链路相关的操作的一部分,并且可以类似地指派各种其他无线链路(例如,网络的所有无线链路)。例如,可以将第三多个wcc集合(例如,集合{c}
(5)
和{c}
(6)
)指派给上升到第n-1层节点中的第二节点(例如,节点734)的无线链路706-j,等等。对“第一”、“第二”等的引用应仅被理解为标识符,并且不预先假定对应元素和组件的任何特定排名或wcc的指派顺序。
[0124]
在一些实现方式中,被指派相同的wcc集合的无线链路可以是时间复用的,例如,通过这些链路的通信可以发生在不同的时间,例如在非重叠通信(发送和接收)窗口期间。可以为同时使用的无线链路指派不重叠或部分重叠的wcc的集合。
[0125]
在框1005,处理逻辑可以向从第n-1层的第一节点上升到第n-2层的第一节点的第一无线链路(例如,链路702-1)指派wcc的第一组合集合。wcc的第一组合集合可以包括第一多个wcc集合(例如,集合{c}
(0)
、{c}
(1)
和{c}
(2)
)中的至少一个wcc和第二多个wcc集合(例如,{c}
(2)
和/或{c}
(3)
)中的至少一个wcc。在一些实现方式中,第一组合集合可以包括第一多个wcc集合和第二多个wcc集合的所有集合(例如,是并集)(例如,集合{c}
(0)

{c}
(4)
的并集)。
[0126]
类似地,处理逻辑可以将相同的第一组合集合指派给从第n-1层的第二节点上升到第n-2层的第一节点的第二无线链路(例如,链路702-2)。处理逻辑可以进一步将wcc的附加组合集合指派给其他无线链路。例如,从第n-1层的第三节点(例如,节点734)上升到第n-2层的第二节点(例如,节点722)的第三无线链路(例如,链路703-1)和从第n-1层的第四节点(例如,节点736)上升到第n-2层的第二节点(例如,节点722)的第四无线链路(例如,链路703-2)二者可以被指派wcc的第二组合集合(例如,集合{c}
(5)

{c}
(9)
的并集)。
[0127]
也可以为下游节点继续指派wcc集合的并集。例如,第三无线链路可以从第n-2ln的第一节点(例如,节点720)上升到第n-3ln的第一节点(例如,节点710),并且第四无线链路可以从第n-2ln的第二节点(例如,节点722)上升到第n-3ln的(相同的)第一节点。因此,第三wl和第四wl中的每一个可以被指派wcc的第一组合集合(例如,集合{c}
(0)

{c}
(4)
的组合)和wcc的第二组合集合(例如,集合{c}
(5)

{c}
(9)
的组合)的并集。
[0128]
在一些实现方式中,方法1000可包括:在可选框1006,获得表征第一多个wcc集合的链路质量的信息。所获得的信息可以基于相应wcc的各种度量(例如,rssi、snr等),并且可以指示一些wcc可以正在提供不充分或次优的连接性。响应于接收到这样的信息,执行方法1000的处理设备可以在框1007向第n-1ln的第一节点传送用于不使用第一多个wcc集合中的一个或多个wcc的指令。类似的指令可以被传送到指派了相同性能不佳的wcc的各种其他上游和下游节点。
[0129]
应当理解,以上描述旨在是说明性的,而不是限制性的。在阅读和理解以上描述后,许多其他实施示例对于本领域技术人员将是显而易见的。尽管本公开描述了具体示例,但将认识到本公开的系统和方法不限于本文描述的示例,而是可以在所附权利要求的范围内进行修改来实践。因此,说明书和附图应被视为说明性意义而非限制性意义。因此,本公
开的范围应当参照所附权利要求以及这些权利要求所享有的等同物的全部范围来确定。
[0130]
上面阐述的方法、硬件、软件、固件或代码的实现可以通过存储在机器可访问、机器可读、计算机可访问或计算机可读介质上的可由处理元件执行的指令或代码来实现。“存储器”包括以机器可读的形式提供(即,存储和/或传输)信息的任何机制,例如计算机或电子系统。例如,“存储器”包括随机存取存储器(ram),例如静态ram(sram)或动态ram(dram);rom;磁或光存储介质;闪存设备;电存储设备;光存储设备;声学存储设备,以及适用于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的有形机器可读介质。
[0131]
在整个本说明书中对“一个实现方式”或“实现方式”的引用意味着结合该实现方式所描述的特定特征、结构或特性被包括在本公开的至少一个实现方式中。因此,贯穿本说明书的各个地方出现的短语“在一个实现方式中”或“在实现方式中”不一定都指代相同的实现方式。此外,特定特征、结构或特性可以在一个或多个实现方式中以任何合适的方式组合。
[0132]
在上述说明书中,已经参考具体示例性实施方式给出了详细描述。然而,显然可以对其进行各种修改和改变而不背离如所附权利要求中阐述的本公开的更广泛的精神和范围。因此,说明书和附图应被视为说明性意义而非限制性意义。此外,上述对实现方式、实施方式和/或其他示例性语言的使用不一定指相同的实现方式或相同的示例,而是可以指不同和有差异的实现方式,以及潜在地相同实现方式。
[0133]
词语“示例”或“示例性”在本文中用于表示充当示例、实例或说明。本文中描述为“示例”或“示例性”的任何方面或设计不一定被解释为优选于或优于其他方面或设计。相反,使用“示例”或“示例性”这些词旨在以具体的方式呈现概念。如在本技术中使用的,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另有说明,或从上下文中清楚,“x包括a或b”旨在表示任何自然包含性排列。也就是说,如果x包括a;x包括b;或x包括a和b,则在上述任何情况下都满足“x包括a或b”。此外,本技术和所附权利要求中使用的冠词“一”和“一个”通常应解释为表示“一个或多个”,除非另有说明或从上下文中清楚地指向单数形式。此外,除非如此描述,否则始终使用术语“实现方式”或“一个实现方式”或“实施方式”或“一个实施方式”并不意味着相同的实现方式或实施方式。此外,本文使用的术语“第一”、“第二”、“第三”、“第四”等意在作为区分不同元素的标签,并且不一定根据它们的数字名称而具有顺序含义。

技术特征:


1.一种无线网络中时间同步的方法,所述方法包括:经由所述无线网络的第一链路由网络设备从父网络设备接收第一消息,其中,所述无线网络为蓝牙网络或蓝牙低功耗网络;考虑到以下各项中的至少一项来在所述网络设备和所述父网络设备之间建立第一公共时间指示:(i)与所述第一消息相关联的连接间隔,或(ii)与所述第一消息相关联的第一时钟值;以及经由所述无线网络的第二链路由所述网络设备向子网络设备传送第二消息,所述第二消息使所述子网络设备与所述网络设备建立第二公共时间指示。2.如权利要求1所述的方法,还包括:由所述网络设备从所述父网络设备接收第三消息;以及考虑到所述第三消息来更新所述第一公共时间指示。3.如权利要求2所述的方法,其中,所述第三消息包括连接事件计数器,并且其中,更新所述第一公共时间指示包括将所述连接事件计数器乘以所述连接间隔。4.如权利要求2所述的方法,其中,所述第一公共时间指示是使用所述第三消息的接收时间来更新的。5.如权利要求2所述的方法,还包括:使用所述第一公共时间指示来调整所述网络设备的参考时钟;将所述网络设备的设备时钟提前相对于所述参考时钟的时间偏移量;使用所述设备时钟来开始接收窗口以接收所述第三消息;以及考虑到以下各项中的至少一项来调整所述设备时钟:与所述第三消息相关联的连接事件计数器的值,或所述第三消息的接收时间。6.如权利要求1所述的方法,还包括:记录所述第一时钟值;基于所述第一时钟值和延迟时间来生成用于未来事件的时间戳;以及当所述网络设备的时钟的第二时钟值与所述时间戳匹配时,执行动作。7.如权利要求6所述的方法,其中,所述动作与由所述父网络设备执行的动作和由所述子网络设备执行的动作同步地执行。8.如权利要求1所述的方法,其中,所述无线网络中的设备以散射网拓扑布置,所述设备包括所述网络设备、所述父网络设备和所述子网络设备。9.如权利要求1所述的方法,其中,所述无线网络包括:级别0设备,多个级别1设备,其中,所述多个级别1设备中的每一个与所述级别0设备无线连接,以及多个级别2设备,所述多个级别2设备中的每一个与所述多个级别1设备中的至少一个无线连接。10.一种装置,包括:无线电,其被配置为支持与无线网络的无线连接性;存储器设备;以及
处理设备,其通信地耦合到所述存储器设备,所述处理设备被配置为:在第一连接事件期间,经由所述无线网络的第一链路从父设备接收第一消息;考虑到以下各项中的至少一项来与所述父设备建立第一公共时间指示:(i)连接间隔,或(ii)与所述第一消息相关联的第一时钟值;以及经由所述无线网络的第二链路向子设备传送第二消息,所述第二消息被配置为使所述子设备生成与所述装置的第二公共时间指示。11.如权利要求10所述的装置,其中,所述处理设备还被配置为:从所述父设备接收第三消息;以及考虑到所述第三消息来更新所述第一公共时间指示。12.如权利要求11所述的装置,其中,所述处理设备还被配置为:使用所述第一公共时间指示来调整所述装置的参考时钟;使所述装置的设备时钟提前相对于所述参考时钟的时间偏移量;使用所述设备时钟来开始接收窗口以接收所述第三消息;以及考虑到以下各项中的至少一项来调整所述设备时钟:与所述第三消息相关联的连接事件计数器的值,或所述第三消息的接收时间。13.如权利要求10所述的装置,其中,所述第一消息包括连接事件计数器,并且其中,更新所述第一公共时间指示包括将所述连接事件计数器乘以所述连接间隔。14.如权利要求10所述的装置,其中,所述处理设备还被配置为:记录所述第一时钟值;基于所述第一时钟值和延迟来生成用于未来事件的时间戳;以及当所述装置的时钟的第二时钟值与所述时间戳匹配时,执行动作。15.如权利要求14所述的装置,其中,所述动作与由所述父设备执行的动作和由所述子设备执行的动作同步地被执行。16.一种系统,包括:父设备,其被配置为生成第一消息;中间设备,其被配置为:经由无线网络的第一链路从所述父设备接收所述第一消息;考虑到以下各项中的至少一项来与所述父设备建立第一公共时间指示:(i)与所述第一消息相关联的连接间隔,或(ii)与所述第一消息相关联的第一时钟值;以及考虑到所述第一公共时间指示来生成多个第二消息;以及多个子设备,所述多个子设备中的每一个被配置为:经由所述无线网络的多个第二链路中的相应链路从所述中间设备接收所述多个第二消息中的相应的第二消息;考虑到所述相应的第二消息,与所述中间设备建立第二公共时间指示;以及使用所述第二公共时间指示来执行动作,所述动作由所述多个子设备中的每一个同步地执行。17.如权利要求16所述的系统,其中,所述中间设备还被配置为:从所述父设备接收第三消息;以及
考虑到所述第三消息来更新所述第一公共时间指示。18.如权利要求17所述的系统,其中,所述中间设备还被配置为:使用所述第一公共时间指示来调整所述中间设备的参考时钟;将所述中间设备的设备时钟提前相对于所述参考时钟的时间偏移量;使用所述设备时钟来开始接收窗口以接收所述第三消息;以及考虑到以下各项中的至少一项来调整所述设备时钟:与所述第三消息相关联的连接事件计数器的值,或所述第三消息的接收时间。19.如权利要求16所述的系统,其中,所述中间设备还被配置为:记录所述第一时钟值;基于所述第一时钟值和延迟来生成用于未来事件的时间戳;以及当所述中间设备的时钟的第二时钟值与所述时间戳匹配时,执行所述动作。20.如权利要求19所述的系统,其中,所述父设备和中间设备中的每一个被配置为与由所述多个子设备中的每一个执行所述动作同步地执行所述动作。

技术总结


所公开的实现方式描述了用于促进以通信节点的拓扑结构组织的无线网络的高效操作的技术和系统。技术包括通过使用与节点之间的有序通信相关联的时间来生成和维护公共时间来对网络的各个节点进行级联同步。由网络维护的公共时间允许为精确的工业、医疗和测试应用执行同步操作。所描述的技术和系统还包括以促进由网络收集的数据从多个源节点到一个或多个目的地节点的快速和高效传播的方式管理不同节点之间的通信窗口。该技术还包括对网络的各个节点的通信频率(信道)的高效指派和灵活管理,以通过向利用并发通信窗口的节点指派不同的通信频率来减少干扰和噪声。的通信频率来减少干扰和噪声。的通信频率来减少干扰和噪声。


技术研发人员:

M

受保护的技术使用者:

赛普拉斯半导体公司

技术研发日:

2022.06.13

技术公布日:

2022/12/19

本文发布于:2024-09-24 18:13:58,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/42459.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   设备   时间   多个
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议