具有用于多个通信网络的共享硬件的多协议网络设备的制作方法

文档序号:14651822发布日期:2018-06-08 21:58阅读:330来源:国知局
具有用于多个通信网络的共享硬件的多协议网络设备的制作方法

本申请要求享有于2015年9月24日提交的、序列号为No.14/864,375的美国专利申请的优先权权益。

技术领域

概括地说,本公开内容的实施例涉及通信领域,并且更具体地说,本公开内容的实施例涉及在多个通信网络中操作网络设备。



背景技术:

网络设备可以在多个通信网络上传送数据。每个通信网络可以使用不同的通信协议,例如,无线保真(Wi-Fi)、蓝牙、以太网、或电力线通信(PLC)协议。一些网络设备使用处理不同通信协议的重复的硬件模块,经由多种通信协议来进行通信。例如,网络设备可以具有用于处理每种不同通信协议的单独的模拟前端(AFE)、单独的数字信号处理器(DSP)、单独的存储器以及单独的网络接口。具有重复硬件组件的网络设备可能是相对大的、昂贵的并且消耗相对大量的功率。



技术实现要素:

概括而言,所描述的特征涉及用于使用共享硬件在多个网络上进行通信的一个或多个系统、方法和/或装置。公开了一种用于使用网络设备在多个网络上进行通信的方法。所述方法包括:从组合通信接口接收分组;以及确定所述分组是根据第一通信协议来被格式化的。响应于确定所述分组是根据所述第一通信协议来被格式化的,所述方法包括:启用所述网络设备的第一数字信号处理器(DSP)块中的第一组件以根据所述第一通信协议来处理所述分组,以及禁用所述第一DSP块中的第二组件,其中,所述第二组件被配置为根据第二通信协议来处理所述分组。在一些实现方式中,所述第一协议是PLC协议,而所述第二协议是Wi-Fi协议。

公开了一种用于在多个通信网络上进行通信的网络设备。所述网络设备可以包括组合通信接口(CCI),其被配置为在第一通信网络上接收分组以及在第二通信网络上接收第二分组。所述网络设备还可以包括DSP块,其用于根据第一通信协议来处理第一分组,以及根据第二通信协议来处理所述第二分组。所述网络设备还可以包括DSP块选择器,其用于选择性地启用/禁用根据所述第一协议对分组的处理和/或根据所述第二协议对分组的处理。

还描述了一种存储用于在多个通信网络上进行通信的指令的非暂时性计算机可读介质。所述指令在由处理器处理时可以使网络设备执行用于处理来自所述多个通信网络的通信的操作。

在一些实施例中,一种用于使用网络设备在多个通信网络上进行通信的方法,所述方法包括:从组合通信接口接收分组;确定所述分组是根据第一通信协议来被格式化的;响应于确定所述分组是根据所述第一通信协议来被格式化的,启用所述网络设备的第一数字信号处理器(DSP)块中的第一组件以根据所述第一通信协议处理所述分组,以及禁用所述第一DSP块中的第二组件,其中,所述第二组件被配置为根据第二通信协议来处理所述分组。

在一些实施例中,所述方法还包括:确定用于第二DSP块的配置参数;以及使用所述配置参数,来将所述第二DSP块配置用于根据所述第一通信协议来处理所述分组。

在一些实施例中,所述方法还包括:确定用于通过所述网络设备传播所述分组的一个或多个DSP块;以及将所述一个或多个DSP块配置为根据所述第一通信协议来处理所述分组。

在一些实施例中,所述方法还包括:通过第二DSP块和第三DSP块传播所述分组,以确定所述分组是否是根据所述第一通信协议来被格式化的,其中,所述第二DSP块用于根据所述第一通信协议来处理所述分组,以及所述第三DSP块用于根据所述第二通信协议来处理所述分组。

在一些实施例中,所述通过所述第二DSP块和所述第三DSP块传播所述分组是并行执行的。

在一些实施例中,所述确定所述分组是根据所述第一通信协议来被格式化的是至少部分地基于通过第二DSP块和第三DSP块传播所述分组的。

在一些实施例中,所述确定所述分组是根据所述第一通信协议来被格式化的是至少部分地基于调度的。

在一些实施例中,所述方法还包括:响应于确定所述分组是根据所述第一通信协议来被格式化的,确定是使用参数化还是通过启用第二DSP块中的所述第一组件来配置所述第二DSP块;以及使用所述参数化来将所述第二DSP块配置用于根据所述第一通信协议来处理所述分组,所述参数化使用与所述第一通信协议相关联的配置参数。

在一些实施例中,所述网络设备可用于使用所述第一通信协议在电力线通信(PLC)通信网络上进行通信,以及所述网络设备可用于使用所述第二通信协议在Wi-Fi通信网络上进行通信。

在一些实施例中,一种网络设备包括:组合通信接口(CCI),其被配置为在第一通信网络上接收第一分组以及在第二通信网络上接收第二分组;耦合到所述CCI的第一数字信号处理器(DSP)块,其中,所述第一DSP块包括:第一组件,其被配置为根据第一通信协议来处理所述第一分组,以及第二组件,其被配置为根据第二通信协议来处理所述第二分组;以及耦合到所述CCI和所述第一DSP块的DSP块选择器,其中,所述DSP块选择器被配置为:确定所述分组是根据第一通信协议来被格式化的,以及禁用所述第二组件,并且启用所述第一组件,以根据所述第一通信协议来处理所述分组。

在一些实施例中,所述DSP块选择器还被配置为:确定用于第二DSP块的配置参数,以及使用所述配置参数,来将所述第二DSP块配置用于根据所述第一通信协议来处理通信。

在一些实施例中,所述DSP块选择器还被配置为:确定用于通过所述网络设备传播所述分组的一个或多个DSP块,以及将所述一个或多个DSP块配置为根据所述第一通信协议来处理所述分组。

在一些实施例中,所述DSP块选择器还被配置为:通过第二DSP块和第三DSP块传播所述分组,其中,所述第二DSP块被配置为根据所述第一通信协议来处理所述分组,以及所述第三DSP块被配置为根据所述第二通信协议来处理所述分组。

在一些实施例中,所述DSP块选择器还被配置为:至少部分地基于通过所述第二DSP块和所述第三DSP块传播所述分组,来确定所述分组是根据所述第一通信协议来被格式化的。

在一些实施例中,通过所述第二DSP块和所述第三DSP块对所述分组的传播是并行发生的。

在一些实施例中,所述DSP块选择器还被配置为:至少部分地基于调度,来确定第一分组是使用所述第一通信协议接收的。

在一些实施例中,所述DSP块选择器还被配置为:响应于确定所述分组是根据所述第一通信协议来被格式化的,确定是使用参数化还是通过启用第二DSP块中的所述第一组件来配置所述第二DSP块,以及使用与所述第一通信协议相关联的配置参数来配置所述第一DSP块。

在一些实施例中,所述网络设备可用于使用所述第一通信协议在电力线通信(PLC)通信网络上进行通信,以及所述网络设备可用于使用所述第二通信协议在Wi-Fi通信网络上进行通信。

在一些实施例中,一种网络设备包括:用于从所述网络设备的组合通信接口接收分组的单元;用于确定所述分组是根据第一通信协议来被格式化的单元;响应于确定所述分组是根据所述第一通信协议来被格式化的,用于启用第一数字信号处理器(DSP)块中的第一组件以根据所述第一通信协议来处理所述分组的单元;以及用于禁用所述第一DSP块中的第二组件的单元,其中,所述第二组件被配置为根据第二通信协议来处理所述分组。

在一些实施例中,所述网络设备还包括:用于确定用于第二DSP块的配置参数的单元;以及用于使用所述配置参数,来将所述第二DSP块配置用于根据所述第一通信协议来处理所述分组的单元。

在一些实施例中,所述网络设备还包括:用于确定用于通过所述网络设备传播所述分组的一个或多个DSP块的单元;以及用于将所述一个或多个DSP块配置为根据所述第一通信协议来处理所述分组的单元。

在一些实施例中,所述网络设备还包括:用于通过第二DSP块和第三DSP块传播所述分组,以确定所述分组是否是根据所述第一通信协议来被格式化的单元,其中,所述第二DSP块用于根据所述第一通信协议来处理所述分组,以及所述第三DSP块用于根据所述第二通信协议来处理所述分组。

在一些实施例中,所述用于通过所述第二DSP块和所述第三DSP块传播所述分组的单元通过所述第二DSP块和所述第三DSP块并行地传播所述分组。

在一些实施例中,所述用于确定所述分组是根据所述第一通信协议来被格式化的单元是至少部分地基于所述用于通过所述第二DSP块和所述第三DSP块传播所述分组的单元的。

在一些实施例中,所述用于确定所述分组是根据所述第一通信协议来被格式化的单元是至少部分地基于调度的。

在一些实施例中,一种被配置为在多个通信网络上进行通信的网络设备,所述网络设备包括:处理器;非暂时性计算机可读介质,其包括指令,所述指令在所述处理器上执行时使所述处理器执行用于处理来自所述多个通信网络的通信的操作,所述指令包括用于执行以下操作的指令:从组合通信接口接收分组;确定所述分组是根据第一通信协议来被格式化的;响应于确定所述分组是根据所述第一通信协议来被格式化的,启用所述网络设备的第一数字信号处理器(DSP)块中的第一组件以根据所述第一通信协议来处理所述分组,以及禁用所述第一DSP块中的第二组件,其中,所述第二组件被配置为根据第二通信协议来处理所述分组。

在一些实施例中,所述指令还包括用于进行以下操作的指令:确定用于第二DSP块的配置参数;以及基于所述配置参数,来将所述第二DSP块配置为根据所述第一通信协议来处理所述分组。

在一些实施例中,所述指令还包括用于进行以下操作的指令:确定用于通过所述网络设备传播所述分组的一个或多个DSP块;以及将所述一个或多个DSP块配置为根据所述第一通信协议来处理所述分组。

在一些实施例中,所述指令还包括用于进行以下操作的指令:通过第二DSP块和第三DSP块传播所述分组,以确定所述分组是否是根据所述第一通信协议来被格式化的,其中,所述第二DSP块用于根据所述第一通信协议来处理所述分组,以及所述第三DSP块用于根据所述第二通信协议来处理所述分组。

在一些实施例中,所述分组到所述第二DSP块和所述第三DSP块的传播是并行发生的。

附图说明

通过参照附图,本申请实施例可以被更好地理解,并且使得大量目的、特征和优点对于本领域技术人员而言是显而易见的。

图1是用于在多个通信网络中操作的示例网络设备的图。

图2是示出了用于处理接收的分组的数字信号处理器的组件的图。

图3是示出了用于处理用于传输的分组的数字信号处理器的示例组件的图。

图4是示出了示例数字信号处理器块的配置的图。

图5是示出了使用数字信号处理器块的示例路径的图。

图6是示出了网络设备在多个网络中的示例操作的流程图。

图7是示出了对用于在多个网络中操作的网络设备的通信协议的示例确定的流程图。

图8是示出了在传播分组时的数字信号处理器块的示例配置的流程图。

图9是示出了对在多个通信网络中操作的网络设备的各种调度的图。

图10是示出了对用于在多个通信网络中操作的网络设备的组合调度的示例生成的流程图。

图11是包括用于网络通信的接口的电子设备的实施例的图。

具体实施方式

下文的描述包括体现本公开内容的技术的示例性系统、方法、技术、指令序列和计算机程序产品。然而,要理解的是,可以在没有这些具体细节的情况下实施所描述的实施例。例如,一些例子指代在Wi-Fi和PLC通信网络中操作。在其它实施例中,操作可以被执行为在实现其它适当的通信协议(例如,以太网、长期演进(LTE)、3G、4G等)的其它类型的网络中操作。在其它实施例中,没有详细示出公知的指令实例、协议、结构和技术,以避免模糊描述。

网络设备(例如,调制解调器)可以经由多个通信网络来与其它网络设备进行通信。每个通信网络可以使用不同的通信协议,例如,Wi-Fi、蓝牙、以太网或PLC通信协议。如本文描述的,网络设备可以包括一个或多个共享硬件模块,它们被配置为处理根据来自不同通信网络的不同通信协议进行格式化的通信。例如,硬件模块可以包括AFE、存储器、模数转换器(ADC)、数模转换器(DAC)、DSP、DSP块选择器、调度器、接口、存储器和/或处理器。一些实施例利用单独的硬件组件阵列,每个阵列用于处理采用不同通信协议进行格式化的通信。其它实施例包括单个硬件模块阵列,其可被配置为处理来自多种不同通信协议的通信。其它实施例可以共享一个或多个硬件模块,以处理来自多种通信协议的通信。例如,单个AFE、单个DSP、单个处理器和/或单个存储器可以被共享用于处理Wi-Fi和PLC数据两者。

DSP可以包括多个DSP块。DSP块可以包括自动增益控制(AGC)块、定时恢复块、均衡块等。在一些实施例中,一个或多个DSP块可以被配置为处理多种通信协议中的一种通信协议,而其它DSP块可以专用于处理单种通信协议。通过对被提供给DSP块的参数进行配置,DSP块可以用于处理不同的通信协议。例如,可以通过改变DSP块的某些参数值,来在不同的通信协议之间对该DSP块进行重新配置。在另一个实施例中,DSP块可以包括多个组件,每个组件被配置用于特定的通信协议。在该实施例中,可以根据正被使用的通信协议来启用/禁用各个DSP块组件。

网络设备可以基于处理通信数据或者基于调度来确定哪种通信协议正被用于通信数据。下文参照图1-6描述了关于基于对通信数据的处理来确定通信协议的细节。下文参照图9和10描述了关于基于调度来确定通信协议的细节。

在一个实施例中,在接收到通信数据时,网络设备可以确定哪种通信协议正被用于通信。在一种实现方式中,可以基于正被使用的通信协议来选择接收路径中的所有DSP块。在另一种实现方式中,接收路径中的第一DSP块是基于正被使用的通信协议来选择的,而接收路径中的剩余DSP块是基于该选择来动态地配置的。

当发送数据时,可以基于要被网络设备使用的通信协议的类型来配置发送路径中的DSP块。在另一种实现方式中,网络设备基于指示用于每个传输的通信协议的调度来确定哪种通信协议正被使用。调度还可以指示网络设备经由每种通信协议进行通信将花费的持续时间。下文进一步描述了关于网络设备如何经由多种通信协议进行通信的各个方面。

图1是用于在多个通信网络中操作的示例网络设备的图。网络设备102包括组合通信接口(CCI)110、DSP 112、处理器114、存储器116、调度器126和DSP块选择器118。CCI 110包括AFE 120、ADC 121和DAC 123。网络设备102可以使用CCI 110在链路108(1)-108(o)上接收和发送数据。

CCI 110的AFE 120使用模拟信号在链路108中的每个链路上接收和发送数据。例如,AFE 120可以经由链路108(1)来接收PLC信号以及经由链路108(2)来接收Wi-Fi信号。在一种实现方式中,CCI 110包括用于每个链路的单独的AFE,例如,用于经由链路108(1)进行通信的单独的AFE以及用于经由链路108(2)进行通信的单独的AFE。

AFE 120向ADC 121传播模拟信号以对模拟信号进行数字化。ADC 121对模拟信号进行数字化并且将相应的分组104(1)-104(m)传播给DSP 112以进行处理。可以使用帧和/或其它技术来封装分组104。在一些实施例中,CCI 110不确定用于所接收的模拟信号的通信协议。为了发送数据,DSP 112执行分组106(1)-106(m)到CCI 110的传播。DAC 123将分组106转换成相应的模拟信号,该模拟信号随后由AFE 120使用链路108中的一个链路来发送。

DSP 112包括DSP块122(1)-122(p)。DSP块122的子集形成接收路径,该接收路径可以用于处理从CCI 110接收的通信。DSP块122的另一个子集形成发送路径,该发送路径可以处理由CCI 110发送的通信。在一个实施例中,接收路径不与发送路径共享任何DSP块。在另一个实施例中,在发送路径和接收路径之间共享至少一个DSP块(例如,傅里叶逆变换(IFT)块)。

DSP块选择器118可以基于对数据通信的处理来确定分组的通信协议,如以下参考图1-6所描述的。替代地,DSP块选择器118可以基于已知的调度来确定分组的通信协议,如以下参考图8和图9所描述的。

在一个实施例中,DSP 112中的接收路径可以包括以下DSP块中的一者或多者:AGC块、均衡块、定时恢复块、多输入多输出(MIMO)奇异值分解(SVD)块、解码器块、信噪比(SNR)估计块、干扰减轻块、加窗块、时间跟踪块和/或其它DSP块。以下将进一步描述接收路径中的DSP块(也参见图2)。

在一个实施例中,DSP 112中的发送路径可以包括以下DSP块中的一者或多者:波束成形块、交织和解析块、分集复制块、正交幅度调制(QAM)映射块、IFT块、正交频分复用(OFDM)调制块和/或其它DSP块。下文将在图3的论述中进一步描述发送路径中的DSP块。

图4的讨论(以下)描述了DSP块122和网络设备102中的其它硬件模块可以如何用于处理多种通信协议。例如,用于PLC通信协议的接收路径和用于Wi-Fi通信协议的接收路径可以共享DSP块122、处理器114和存储器116中的一者或多者。在一个实施例中,用于PLC通信协议和Wi-Fi通信协议的接收路径还可以共享CCI 110的部分。

存储器116可以包括调度124。调度124可以指示网络设备102何时使用通信协议中的每种通信协议在链路108中的每个链路上进行通信。例如,调度124可以指示网络设备102将从时间t=0开始可用于在PLC通信协议上使用CCI 110进行通信达10毫秒(ms)。调度124可以指示网络设备102将从时间t=10ms到时间t=15ms可用于在Wi-Fi通信协议上使用CCI 110进行通信。调度124可以包括通信行为128。通信行为128可以指示网络设备102如何在冲突间隔期间在链路108中的每个链路上进行通信。如上文参照图9和10描述的,在冲突间隔期间,网络设备102被调度为可用于同时在多种通信协议上的通信。

图2是示出了用于接收和处理分组的数字信号处理器的块的图。DSP 202可以包括各种DSP块,例如,AGC块204、定时恢复块206、均衡块208、MIMO SVD块210、解码器块212、SNR估计块214、干扰减轻块216、加窗块218和时间跟踪块220。DSP 202还可以包括块配置器222,其将DSP块204-220中的一个或多个DSP块配置用于处理从CCI 110接收的分组。块配置器222可以通过对DSP块204-220中的每个DSP块进行参数化和/或通过选择性地启用和禁用DSP块204-220中的每个DSP块的组件,来单独地配置DSP块204-220中的每个DSP块。DSP 202还可以包括发送路径224的DSP块,如参照图3描述的。DSP 202可以向介质接入层(MAC)(在图2中未示出)传播经处理的分组。

在一个实施例中,AGC块204和定时恢复块206是接收路径中的初始DSP块。因此,将分组从CCI 110传播到AGC块204。在AGC块204对分组进行处理之后,AGC 204将经处理的分组传播给定时恢复块206。

在一个实施例中,网络设备可以不确定所接收的分组的通信协议,直到该分组已经被AGC块204处理为止。在网络设备确定所接收的分组的通信协议之后,块配置器222可以基于通信协议来配置接收路径中的剩余DSP块。换句话说,块配置器222可以基于对通信协议的确定来确定接收路径中的用于传播分组的一个或多个DSP块。随后,块配置器222可以配置接收路径中的所述一个或多个DSP块。

AGC块204对网络设备所接收的模拟信号的增益进行估计,并且可以调整所接收的模拟信号的接收增益。AGC块204可以以每个分组为基础(包括当前接收的分组以及同一模拟信号的一个或多个先前经处理的分组)来估计增益。例如,接收路径中的DSP块中的一些DSP块可以被配置为对具有某一电压范围内的增益的分组进行处理。AGC块204可以对分组的增益进行调整,使得分组中的数据在期望的电压范围内。AGC块204可以以类似的方式来操作,而不考虑所使用的通信协议。例如,当对Wi-Fi通信协议或PLC通信协议的分组进行处理时,AGC块204可以类似地操作。

块配置器222可以通过设置用于通信协议中的每种通信协议的配置参数来配置AGC块204。设置配置参数可以被称为“参数化”。例如,块配置器222可以使用用于根据PLC通信协议来处理分组的配置参数集合来对AGC块204进行参数化。块配置器222可以使用用于根据Wi-Fi通信协议来处理分组的不同的配置参数集合来对AGC块204进行参数化。

定时恢复块206对接收的信号的分组进行处理,以确定接收网络设备和发送网络设备的时钟频率之间的差。通常,每个网络设备可以基于预定的时钟频率来进行通信,其中,预定的时钟频率是由该网络设备本地生成的。然而,在发送模拟信号的网络设备和接收模拟信号的网络设备的时钟频率之间可能发生定时差异。例如,发送网络设备的时钟频率可以是100.00MHz。然而,接收网络设备的时钟频率可以是100.01MHz。定时恢复块206确定这两个时钟频率之间的差是0.01MHz。

定时恢复块206可以使用若干技术中的一种技术来测量相位差。在一个实施例中,网络设备基于其中数据被编码到多个载波频率上的OFDM来接收信号。因此,所接收的信号的分组可以包括多个符号。定时恢复块206可以对该分组中的每个符号的相位偏移进行估计,并且基于该分组中的符号的相位偏移来确定这两个时钟频率的差。

块配置器222可以基于分组的通信协议来配置定时恢复块206。块配置器222可以通过启用和禁用定时恢复块206的组件来配置定时恢复块206。启用或禁用DSP块的组件可以被称为块组件选择。例如,块配置器222可以启用定时恢复块206的第一组件,以便处理第一通信协议的分组。块配置器222可以启用定时恢复块206的第二组件,以便处理第二通信协议的分组。参照图4更详细地讨论块组件选择。

当被配置用于Wi-Fi通信协议时,网络设备可以发送包括一个或多个导频载波的分组。导频载波是分组中的携带固定(例如,预定的,不是数据)符号的部分。接收分组的网络设备期望接收分组的导频载波部分中的固定符号。在接收到具有导频携带的分组时,定时恢复块206可以确定所接收的固定符号和所期望的固定符号之间的相位差。随后,定时恢复块206可以确定接收网络设备和发送网络设备的时钟频率之间的相位差。在一个实施例中,定时恢复块206还可以基于相位差来解决任何定时误差。

当被配置用于PLC通信协议时,定时恢复块206可以不使用导频携带技术。替代地,定时恢复块206可以对发送网络设备的时钟频率进行估计,并且随后,将所估计的时钟频率与接收网络设备的时钟频率进行比较,以确定相位差。

均衡块208对针对一个或多个载波的数据进行均衡。网络设备经由多个载波,使用通信协议中的每种通信协议来发送和接收信号。每个载波具有被分配用于通信协议中的每种通信协议的频率带宽的一部分(在本文中被称为“载波频率”)。网络设备使用PLC通信协议在预定义的带宽(本文中被称为“PLC带宽”)上发送和接收通信。PLC通信协议可以将PLC带宽划分成数千个载波,其中每个载波具有某个带宽。例如,PLC带宽可以被划分成3,500个载波,每个载波具有25kHz的带宽。均衡块208可以对这些载波中的每个载波进行均衡(独立于其它载波)。

对于许多通信协议而言,均衡块208可以通过测量每个载波频率上的信道度量(例如,幅度和相位)来对信道进行均衡。每个分组可以包括用于一个或多个载波的数据。均衡块208可以对每个载波频率单独地应用均衡。当处理PLC通信协议的分组时以及当处理Wi-Fi通信协议的分组时,均衡块208可以类似地操作。

例如,当被配置用于PLC通信协议时,均衡块208可以针对~3500个PLC载波频率中的每个载波频率来单独地对信道进行均衡。当被配置用于Wi-Fi通信协议时,均衡块208可以对~100个不同的载波频率上的信道进行均衡。在一个实施例中,无论正被使用的通信协议如何,块配置器222都通过设置参数并且使用均衡块208的相同组件来配置均衡块208。块配置器222可以通过提供指示用于通信协议的分组的载波的数量和/或频率的配置参数,来对均衡块208进行参数化。

MIMO SVD块210使用极化技术中的一种技术来处理分组。极化技术包括极化分集(PD)、空间分集(SD)或空间极化分集(SPD)。在一个实施例中,MIMO SVD块210可以对载波中的每个载波执行信道反转和/或波束成形处理。MIMO SVD块210可以基于极化技术中的一种极化技术,使用矩阵分解来执行信道反转。当处理不同通信协议的分组时,MIMO SVD块210可以以类似的方式操作。

块配置器222可以针对通信协议中的每种通信协议,以不同的方式来配置MIMO SVD块210。块配置器222可以将MIMO SVD块210配置为:针对通信协议中的每种通信协议,使用不同的矩阵大小来执行信道反转。例如,块配置器222可以针对PLC通信协议使用2x2矩阵大小,或者针对Wi-Fi通信协议使用3x3矩阵大小。另外,块配置器222可以将MIMO SVD块210配置为:根据通信协议来执行针对不同数量的载波的信道反转。

因此,块配置器222可以利用配置参数来对MIMO SVD块210进行参数化,其中配置参数指示要使用的极化技术、哪些载波要被处理、要使用的矩阵的大小等。在一个实施例中,块配置器222还可以通过使用块组件选择来配置MIMO SVD块210。在该实施例中,块配置器222可以启用MIMO SVD块210中的包括与分组的通信协议相关联的功能的组件,以及禁用MIMO SVD块210中的不包括与分组的通信协议相关联的功能的另一个组件。

解码器块212对分组执行纠错解码。纠错解码可以取决于通信协议的类型。例如,块配置器222可以将解码器块212配置为:当处理PLC通信协议的分组时使用turbo码。块配置器222可以将解码器块212配置为:当处理Wi-Fi通信协议的分组时使用低密度奇偶校验(LDPC)码。因此,块配置器222可以针对通信协议中的每种通信协议,使用不同的纠错编码。

块配置器222可以利用指示要使用哪种纠错解码的配置参数来对解码器块212进行参数化。在一个实施例中,块配置器222还可以通过使用块组件选择来配置解码器块212。在该实施例中,块配置器222可以启用解码器块212中的包括与分组的通信协议相关联的功能的组件,以及禁用解码器块212中的不包括与分组的通信协议相关联的功能的组件。

加窗块218对网络设备所接收的模拟信号执行加窗功能。加窗块218可以削减(taper off)分组所包括的数据的开始和结束。分组可以包括多个数据单元(也被称为采样)。分组可以包括针对PLC信号的分组的100个采样、或者针对Wi-Fi信号的分组的1000个采样。在一个例子中,加窗块218可以削减前十个采样,并且还削减最后十个采样。在另一个例子中,分组的数据可以包括1000个采样。在这种情况下,加窗块218可以削减前五十个采样,并且还削减最后五十个采样。加窗块218可以将数据与乘数相乘,以对数据进行缩放。

块配置器222可以通过使用指示缩放系数和/或削减系数的配置参数来对加窗块218进行参数化,从而配置加窗块218。配置参数还可以指示要在分组的开始处和结束处进行处理的采样的数量。

SNR估计块214对网络设备所接收的模拟信号中的噪声进行估计。在使用QAM的任何系统中,SNR估计块214可以例如通过将接收的星座图点(即,如在分组的数据中接收的)与期望的星座图点进行比较,来估计噪声。

块配置器222可以通过对SNR估计块214进行参数化,来将SNR估计块214配置用于处理通信协议中的每种通信协议的分组。块配置器222可以通过指示QAM的类型、SNR估计的类型和/或期望的星座图点的配置参数,来对SNR估计块214进行参数化。块配置器222还可以通过指示要处理哪些载波的参数来对SNR估计块214进行参数化。

干扰减轻块216识别网络设备所接收的模拟信号中的干扰信号的位置和/或频率。干扰减轻块216可以结合加窗块218的操作来使用。块配置器222可以通过在处理一些通信协议的分组时禁用干扰减轻块216的功能中的一些或全部功能,来配置干扰减轻块216。

块配置器222可以通过使用块组件选择,将干扰减轻块216配置用于通信协议中的每种通信协议。在该实施例中,块配置器222可以启用和/或禁用干扰减轻块216的不同组件。例如,如果被配置用于Wi-Fi通信协议,则干扰减轻块216可以处理在具有被局部化至某些频率的高幅度和噪声的Wi-Fi信号上接收的数据。

块配置器222可以针对PLC通信网络,禁用干扰减轻块216的功能中的大部分或全部功能。因此,块配置器222可以禁用干扰减轻块216功能,以使分组经过干扰减轻块216到达接收路径中的下一DSP块。

时间跟踪块220利用数据单元来对网络设备进行同步。时间跟踪块220确定数据单元在分组中的位置。时间跟踪块220可以使用各种技术中的一种技术来确定分组中的数据单元的位置。时间跟踪块220可以通过定位每个分组中的前导码来估计每个数据单元的位置。前导码可以是OFDM符号的重复模式。

块配置器222可以通过使用配置参数来对时间跟踪块220块进行参数化,从而将时间跟踪块220配置用于通信协议中的每种通信协议中的操作。配置参数可以指示一个或多个符号,所述一个或多个符号指示分组中的数据单元的前导码。在Wi-Fi中以及在PLC通信协议中,前导码可以由重复的OFDM符号组成。

图3是示出了用于处理用于传输的分组的数字信号处理器的组件的图。DSP 302可以包括波束成形块304、交织和解析块306、分集复制块308、QAM映射块310、IFT块312和OFDM调制块314。DSP 302还包括块配置器316,其将DSP块304-314配置用于处理要被CCI(例如,CCI 110)发送的分组。DSP 302可以从MAC(未在图3中示出)接收分组。DSP 302还可以包括接收路径322中的DSP块(如参照图2描述的)。在一个实施例中,图2的DSP 202和图3的DSP 302可以是使用相同的DSP来实现的。在另一个实施例中,图2的DSP 202和图3的DSP 302是使用两个单独的DSP来实现的。在一个实施例中,图2的块配置器222和图3的块配置器316可以是使用相同的DSP块来实现的。在另一个实施例中,图2的块配置器222和图3的块配置器316是使用两个单独的DSP块来实现的。

波束成形块304用于对用于传输的模拟信号或数字信号的数据进行成形。波束成形块304可以基于(每个载波上的)所估计的信道来向数据应用预编码系数。在一个实施例中,块配置器316可以在多种通信协议之间(例如,在PLC通信协议和Wi-Fi通信协议之间)类似地配置波束成形块304。

波束成形块304可以针对通信协议中的每种通信协议,使用不同的矩阵大小来执行其预编码操作。例如,对于使用PLC通信协议接收的通信,波束成形块304可以使用2x2预编码矩阵。对于使用Wi-Fi通信协议进行的通信,波束成形块304可以使用2x2矩阵、3x3矩阵或更大的矩阵。波束成形块304可以在如正被使用的通信协议所指定的不同数量的载波上操作。

块配置器316可以使用参数化来配置波束成形块304。在该实施例中,配置参数可以指示要使用的极化技术、哪些载波要被处理、要使用的矩阵的大小等。在一个实施例中,块配置器316可以通过使用块组件选择来配置波束成形块304。在该实施例中,块配置器222可以启用波束成形块304中的包括该功能的组件。块配置器316还可以禁用波束成形块304中的不包括与所确定的通信协议相对应的功能的组件。

交织和解析块306指示要使用不同的载波发送(分组的)数据的哪些比特。例如,交织和解析块306可以选择数据的前两个比特来与第一载波相对应,以及选择数据的后两个比特来与第二载波相对应。块配置器316可以通过提供指示数据的哪些比特与某些载波相对应的配置参数,来对交织和解析块306进行参数化。

分集复制块308增加用于传输的每个分组的数据的冗余。增加冗余,使得接收网络设备可以使用少于所有经调制的载波和/或少于所有经调制的符号来恢复数据。块配置器316可以通过提供指示每个载波的冗余的量和/或类型的配置参数,来对分集复制块308进行参数化。

QAM映射块310用于将数据值映射到用于载波的波形上。QAM映射块310可以根据用于当前符号的星座图(例如,二进制相移键控(BPSK)、正交相移键控(QPSK)、8-QAM、16-QAM星座图),使用数据比特组来处理每个分组的数据。QAM映射块310将那些比特表示的数据值映射到用于当前符号的载波的波形的同相(I)和正交相位(Q)分量上。

块配置器316可以通过提供指示以下各项的配置参数,来对QAM映射块310进行参数化:用于符号的星座图、和/或用于由通信协议使用的载波的频率的数量和类型。在一个实施例中,块配置器316可以通过使用块组件选择来配置QAM映射块310。在该实施例中,块配置器316可以启用QAM映射块310中的包括该功能的组件。块配置器316可以禁用QAM映射块310中的不包括与所选择的通信协议相对应的功能的组件。例如,块配置器316可以启用QAM映射块310中的与16-QAM星座图相关联的组件,但是禁用QAM映射块310中的与BPSK和/或QPSK星座图相关联的组件。

IFT块312执行对用于要被发送的载波的波形的离散傅里叶逆变换。可以使用一种或多种IFT技术来执行IFT块312。可以使用快速傅里叶逆变换(IFFT)算法来实现IFT块312。块配置器316可以通过提供表征IFT操作的配置参数来对IFT块312进行参数化。

OFDM调制块314将波形(即,如从IFT块312接收的)调制到N个载波波形上。块配置器316可以通过提供指示N个载波波形的数量和频率的配置参数,来对OFDM调制块314进行参数化。

图4是示出了示例数字信号处理器块的配置的图。DSP块402可以是上文参照图2和3描述的DSP块(例如,AGC块204、波束成形块304等)中的任何一个DSP块。DSP块可以包括第一DSP块组件404和第二DSP块组件406。DSP块402接收和处理分组408。对于利用参数化的配置,DSP块402还可以接收一个或多个配置参数410。对于利用块组件选择的配置,DSP块402还可以从块配置器(例如,块配置器222、316)接收启用或禁用DSP块402的组件的指令412和414。在一个实施例中,DSP块402还可以包括块组件选择器416。在DSP块402被配置之后,DSP块402处理分组408。随后,DSP块402沿着接收路径或发送路径传播经处理的分组430。

如图4所示,第一DSP块组件404包括第一子组件418和第二子组件420。第二DSP块组件406包括第二子组件420和第三子组件422。因此,在第一DSP块组件404和第二DSP块组件406之间共享第二子组件420。指令412可以启用第一DSP块组件404,而指令414可以禁用第二DSP块组件406。在这种情况下,第一子组件418和第二子组件420被启用,而第三子组件422被禁用。在另一个例子中,指令412可以禁用第一DSP块组件404,而指令414可以启用第二DSP块组件406。在这种情况下,第一子组件418被禁用,而第二子组件420和第三子组件422被启用。

在另一个实施例中,代替接收启用和禁用DSP块组件的指令412和414,DSP块402从块配置器(例如,块配置器222或块配置器316)接收指示424。指示424可以指示DSP块的适当功能、确定的通信协议和/或特定于DSP块402的其它信息。在接收到指示424时,块组件选择器416可以生成第一指令426和第二指令428。第一指令426可以类似于指令412。第二指令428可以类似于指令414。

在一些实施例中,DSP块402是通过启用与相应的子组件418、420和/或422相对应的物理硬件来配置的。物理硬件可以对应于乘法器、加法器、AND门、OR门、和/或其它逻辑门和/或模块。第一DSP块组件404可以与Wi-Fi通信协议相关联,以及第二DSP块组件406可以与PLC通信协议相关联。采用PLC通信协议的DSP块402的实现方式可以使用两个乘法器和一个加法器。采用Wi-Fi通信协议的DSP块402的实现方式可以使用一个乘法器和两个加法器。在一种实现方式中,第一子组件418包括单个乘法器,第二子组件420包括单个乘法器和单个加法器,以及第三子组件422包括单个加法器。

图5是示出了使用数字信号处理器块的示例路径的图。DSP 500包括DSP块504、506、508、510和526(1)-526(n)。通过DSP 500的第一接收路径可以包括DSP块504、508和526。通过DSP 500的第二接收路径可以包括DSP块506、510和526。DSP 500还包括块配置器512。块配置器512可以分别是图2和3的块配置器222和316的实现。块配置器512可以从DSP块选择器(例如,DSP块选择器118)接收指令514。块配置器512可以以下文描述的方式,向DSP块504、506、508、510和/或526发送指令516、518、520、522和/或524(1)-524(n)。

DSP 500可以用于接收路径中的动态调度和/或静态调度。在动态调度中,当分组502被DSP 500接收时,分组502的通信协议对于块配置器512而言是未知的。在动态调度中,DSP块504-510被单独地用于与两种通信协议中的每种通信协议相关联的组件。DSP块526是在两种通信协议之间共享的。

在静态调度中,当分组502被DSP 500接收时,分组502的通信协议对于块配置器512而言是已知的。因此,在静态调度中,块配置器512可以选择与已知的通信协议相对应的DSP块504和508或DSP块506和510。分组502的通信协议可以是例如基于调度而已知的。

图5的以下论述涉及动态调度。当DSP块504和506接收到分组502时,块配置器512尚未确定分组502的通信协议。参照图2,DSP块504和506均可以实现AGC块204。每个DSP块504和506被配置用于不同的通信协议。DSP块504可以实现被配置用于PLC通信协议的AGC块204。DSP块506可以实现被配置用于Wi-Fi协议的AGC块204。在一个实施例中,DSP块504、506、508和510不是可重新配置的,而DSP块526是可重新配置的。

如图5所示,块配置器512可以指示DSP块504-510通过两个接收路径来传播和处理分组502。因此,块配置器512可以指示DSP块504-510通过第一接收路径的DSP块504和508来传播分组502,并且还通过第二接收路径的DSP块506和510来传播分组502。分组502可以被DSP块504和DSP块506并行地处理。一旦块配置器512确定通信网络,块配置器512就将DSP块526(1)-526(n)配置用于所确定的分组502的通信协议。块配置器512可以通过发送指令524(1)-524(n)来配置DSP块526(1)-526(n)。

在DSP块504和506处理分组502之后,DSP块504和506可以与块配置器512进行通信。块配置器512可以在通过DSP块508和510传播分组502之前,尝试确定分组502的通信协议。如果无法确定分组502的通信协议,则块配置器512可以向DSP块508和510发送用于通过DSP块508和510两者来处理分组的指令518和520。

如果块配置器512确定了分组502的通信协议,则块配置器512可以向DSP块508和510发送用于通过DSP块508或510中的一个DSP块来处理分组的指令518和520。块配置器512可以确定单个DSP块508或单个DSP块510与用于所确定的通信协议的接收路径相关联。换句话说,尽管DSP 500可以包括用于通过两个接收路径来传播分组502的冗余硬件,但是块配置器512可以确定要将这些DSP块中的一个DSP块用于这些接收路径中的一个接收路径而不用于另一个接收路径。块配置器512还可以基于所确定的分组502的通信协议来发送用于配置DSP块526的指令524。

图6是示出了网络设备在多个网络中的示例操作的流程图。流程图600是参照图1中描述的系统和组件来描述的(出于说明的目的而不是作为限制)。示例操作可以由网络设备102中的一个或多个组件(例如,网络设备102的DSP块选择器118)来执行。

开始于操作602,DSP从CCI 110接收分组。如上文参照图1描述的,网络设备的CCI 110在链路108中的一个链路上接收模拟信号。随后,CCI对模拟信号进行数字化并且将模拟信号的分组传播给DSP(例如,DSP 112)。

继续进行到操作604,DSP块选择器确定分组的通信协议。DSP块选择器可以基于已知的调度、通过将分组并行地传播通过用于多种通信协议的DSP块、或者通过延迟对分组的处理来确定分组的通信协议,从而确定分组的通信协议。下文参照图7进一步描述了该操作的一个实施例。

继续进行到操作606,DSP块选择器使用块组件选择来配置DSP块。DSP块选择器根据分组的通信协议,来启用DSP块中的一个或多个第一组件并且禁用DSP块中的一个或多个第二组件。下文参照图8描述了该操作的一个实施例。

继续进行到操作608,DSP块选择器根据分组的通信协议来配置下一DSP块。

继续进行到操作610,DSP块选择器通过下一DSP块来传播分组。在框610之后,操作结束。

图7是示出了对用于在多个网络中操作的网络设备的通信协议的示例确定的流程图。流程图700是参照图1来描述的(出于说明的目的而不是作为限制)。示例操作可以由网络设备102中的一个或多个组件(例如,网络设备102的DSP块选择器118)来执行。流程图700可以是图6的流程图600的操作604的实现方式。

以操作702开始,DSP块选择器118确定调度是否指示用于分组的通信协议。如果DSP块选择器118确定调度指示用于分组的通信协议,则流程继续到操作704。如果DSP块选择器118确定调度未指示用于分组的通信协议,或者如果不存在这样的调度,则流程继续到操作706。

在操作704处,DSP块选择器118基于调度来确定用于分组的通信协议。调度可以指示在其中网络设备可用于使用通信协议中的每种通信协议的通信的时间间隔。网络设备可以是每次能够使用通信协议中的一种通信协议来进行通信。因此,DSP块选择器118将分组的通信协议与调度所指示的通信协议进行匹配。下文参照图9和10更加详细描述了调度的生成和使用。流程在操作714处继续。

在操作706处,DSP块选择器118确定处理延迟是否是可接受的。处理延迟是在不通过DSP块传播分组的情况下确定通信协议将花费的时间长度。在一个实施例中,DSP块选择器118可以估计处理延迟。随后,DSP块选择器118可以将处理延迟与延迟门限进行比较。如果处理延迟是可接受的(例如,低于门限),则流程在操作708处继续。如果处理延迟不是可接受的(例如,等于或高于门限),则流程在操作710处继续。

在操作708处,DSP块选择器118在通过DSP块传播分组之前,确定用于分组的通信协议。流程在操作714处继续。

在操作710处,DSP块选择器118通过用于多种通信协议的DSP块来并行地传播分组。参照图5,DSP块选择器(例如,DSP块选择器118)可以指示块配置器512通过DSP块504和通过DSP 506两者来并行地传播分组502。术语“并行”意指分组基本同时地被传播给DSP块504和506。然而,可以由DSP块504和506中的每个DSP块在不同的时间量内处理分组502。流程在操作712处继续。

在操作712处,DSP块选择器118根据用于传播分组的DSP块中的一个或多个DSP块来确定用于分组的通信协议。参照图5,DSP块选择器(例如,DSP块选择器118)可以基于来自块配置器512的信息来确定通信协议。块配置器512可以从DSP块504、506、508和/或510获得信息,并且生成用于DSP块选择器(例如,DSP块选择器118)的信息。流程在操作714处继续。

在操作714处,DSP块选择器118指示用于分组的通信协议。所指示的通信协议可以在操作608中由DSP块选择器118使用。在操作714之后,操作结束。

图8是示出在传播分组时数字信号处理器块的示例配置的流程图。参考图1描述了流程图800(出于说明目的而不是作为限制)。示例操作可以由网络设备102的DSP块选择器118来执行。流程图800可以是图6的流程图600的操作608的实现方式。

开始于操作802,DSP块选择器118确定是否可以通过参数化对下一DSP块进行配置。DSP块选择器118可以基于DSP块的类型和通信协议的类型来进行该确定。上文参照图2和3描述了DSP块的例子。应当注意的是,DSP块可以是基于对先前分组的处理被预先配置的。对于不同的协议,例如,同轴电缆多媒体联盟(MoCa)通信协议和Wi-Fi通信协议,DSP块可以具有类似的配置。例如,可以通过使用块组件选择来启用DSP块的第一组件并且禁用DSP块的第二组件,从而将DSP块配置用于MoCa通信协议。随后,可以简单地通过对DSP块进行参数化来将该DSP块配置用于Wi-Fi协议中的操作。如果下一DSP块能够通过参数化被配置,则流程在操作804处继续。如果下一DSP块无法通过参数化被配置,则流程在操作806处继续。

在操作804处,DSP块选择器118通过确定并且使用一个或多个配置参数来对下一DSP块进行参数化,从而配置下一DSP块。流程在操作808处继续。

在操作806处,DSP块选择器118通过使用块组件选择来启用下一DSP块的第一组件并且禁用该DSP块的第二组件,从而配置该DSP块。上文参照图4描述了启用和禁用DSP块的组件的例子。流程结束。

图9是示出了对在多个通信网络中操作的网络设备的各种调度的图。图9示出了组合调度902、第一通信网络(FCN)调度904和第二通信网络(SCN)调度906(被统称为调度902-906)。图9还示出了冲突间隔映射908。调度902-906中的每一个和冲突间隔映射908可以由存储器(例如,存储器116)来存储。

在一个实施例中,调度902-906可以由网络设备的调度器(例如,调度器126)来生成。在另一个实施例中,调度902-906可以由处理器114来生成。在又一个实施例中,调度902-906可以是由网络设备102经由另一个网络设备来接收的。

网络设备可以被配置为每次可用于在一个通信网络上进行通信。调度902-906指示网络设备何时可用于在通信网络中的每个通信网络上进行通信。由于可以存在多个调度(例如,针对每个不同的通信网络的不同调度),因此,网络设备可能被调度为同时地(即,在相同时间处)可用于在两个(或更多个)通信网络上的通信。由于网络设备每次仅能够在一个通信网络上进行通信,因此这是调度冲突,并且被称为冲突间隔。下文的描述对调度902-906是如何被确定的、以及网络设备在冲突间隔997和998期间的通信行为进行了描述。

组合调度902指示活动时间段,在活动时间段期间,网络设备可用于使用相应的通信协议在通信网络中的每个通信网络上进行的通信。组合调度902还指示非活动时间段,在非活动时间段期间,网络设备不可用于使用通信协议中的每种通信协议进行的通信。

组合调度902指示第一通信网络可用(FCNA)时间段910、912和914,在FCNA时间段910、912和914期间,网络设备可用于在第一通信网络(即,PLC通信网络)上的通信。FCNA时间段910、912和914被称为用于第一通信网络的活动时间段。组合调度902指示第二通信网络可用(SCNA)时间段916、918、920和922,在SCNA时间段916、918、920和922期间,网络设备可用于在第二通信网络(即,Wi-Fi通信网络)上的通信。组合调度902指示两通信网络不可用(BCNU)时间段924、926和928和930,在BCNU时间段924、926和928和930期间,网络设备不可用于两个通信网络上的通信。

FCN调度904指示网络设备可用(NDA)时间段932、934和936,在NDA时间段932、934和936期间,网络设备可用于使用第一通信协议在第一通信网络上的通信。FCN调度904还指示网络设备不可用(NDU)时间段938、940和942,在NDU时间段938、940和942期间,网络设备不可用于第一通信网络上的通信。

FCN调度904指示NDA时间段932在时刻944处开始并且在时刻952处结束。FCN调度904指示NDU时间段938在时刻952处开始并且在时刻946处结束。FCN调度904指示NDA时间段934在时刻946处开始并且在时刻954处结束。FCN调度904指示NDU时间段940在时刻954处开始并且在时刻950处结束。FCN调度904指示NDA时间段936在时刻950处开始并且在时刻956处结束。FCN调度904指示NDU时间段942在时刻956处开始并且在时刻958处结束。

FCN调度904还可以示出第一通信协议的周期性。第一通信协议可以要求通信要与某个时段同步,例如,针对PLC通信网络,基于60Hz电力线信号的33ms的时段,或者基于50Hz交流(AC)电力线信号的40ms的时段。FCN调度904示出了时刻944和时刻946之间的第一时段、时刻946和时刻948之间的第二时段、以及时刻948和时刻958之间的第三时段。

FCN调度904还可以指示针对网络设备在第一通信网络中的睡眠调度。睡眠调度指示网络设备何时不可用于第一通信网络上的通信。FCN调度904可以指示网络设备将在NDU时间段938、940和942期间在第一通信网络中处于睡眠状态。取决于实现方式,FCN调度904还可以指示网络设备在时刻952、954和956处发送对在第一通信网络上的睡眠状态的指示。如组合调度902所示,当网络设备不可用并且因此被调度为在第一通信网络中处于睡眠状态时,网络设备可用于第二通信网络上的通信。调度器可以向第一通信网络上的其它设备传送FCN调度904。

类似地,SCN调度906指示第二通信网络可用(SCNA)时间段960、962、964和966,在SCNA时间段960、962、964和966期间,网络设备可用于使用第二通信协议在第二通信网络上的通信。SCNA时间段960、962、964和966被称为用于第二通信网络的活动时间段。SCN调度906还指示第二通信网络不可用(SCNU)时间段968、970、972、974和976,在这些时间段期间,网络设备不可用于第二通信网络上的通信。

SCN调度906指示SCNU时间段968在时刻978处开始并且在时刻980处结束。SCN调度906指示SCNA时间段960在时刻980处开始并且在时刻990处结束。SCN调度906指示时间段970在时刻990处开始并且在时刻984处结束。SCN调度906指示SCNA时间段962在时刻984处开始并且在时刻992处结束。SCN调度906指示时间段972在时刻992处开始并且在时刻986处结束。SCN调度906指示SCNA时间段964在时刻986处开始并且在时刻994处结束。SCN调度906指示时间段974在时刻994处开始并且在时刻988处结束。SCN调度906指示SCNA时间段966在时刻988处开始并且在时刻995处结束。SCN调度906指示SCNU时间段976在时刻995处开始并且在时刻996处结束。

SCN调度906还可以示出第二通信协议的周期性。第二通信协议也可以要求通信要与某个时段同步。在一个例子中,第一通信协议是PLC通信协议,而第二通信协议不是PLC通信协议。因此,与PLC通信协议的周期性约束相比,第二通信协议的周期性约束可以更加宽松。

SCN调度906示出了时刻978和时刻984之间的第一时段、时刻984和时刻986之间的第二时段、以及时刻986和时刻996之间的第三时段。要注意的是,第二通信协议的第三时段包括两个SCNA时间段964和966。SCN调度906还可以指示对网络设备在第二通信网络中的睡眠调度。睡眠调度指示网络设备何时不可用于第二通信网络上的通信。SCN调度906可以指示网络设备将在SCNU时间段968、970、972、974和976期间在第二通信网络中处于睡眠状态。取决于实现方式,SCN调度906还可以指示网络设备在时刻978、990、992、994和995处发送对睡眠状态的指示。如组合调度902所示,当网络设备不可用并且因此被调度为在第二通信网络中处于睡眠状态时,网络设备可用于第一通信网络上的通信。

图9还示出了冲突间隔映射908,冲突间隔映射908示出了冲突间隔997和998。在冲突间隔997和998中的每一个冲突间隔期间,网络设备表现为可用于第一通信网络和第二通信网络两者上的通信。图10描述了调度器如何确定网络设备在冲突间隔997和998中的每一个冲突间隔期间的通信行为。组合调度902可以包括指示网络设备要如何在冲突间隔期间进行通信的通信行为。

图10是示出了对用于在多个通信网络中操作的网络设备的组合调度的示例生成的流程图。流程图1000是参照图1来描述的(出于说明的目的而不是作为限制)。示例操作可以由网络设备102中的一个或多个组件(例如,由调度器126和/或处理器114)来执行。尽管以下描述指的是调度器126执行流程图1000的操作,但是要理解的是,处理器114可以执行这些操作中的一些或全部操作。在一些实施例中,流程图1000的操作是跨越一个或多个处理器来执行的。例如,网络设备的处理器可以确定组合调度。

开始于操作1002,调度器生成指示网络设备何时可用于在两个或更多个通信网络上进行通信的组合调度。例如,调度器生成指示网络设备何时可用于在第一通信网络上和在第二通信网络上进行通信的组合调度902。在一个实施例中,网络设备每次可以在这些通信网络中的一个通信网络上进行通信。

当确定组合调度时,调度器可以使用通信网络中的每个通信网络的周期性。例如,参照图9,FCN调度904示出了第一通信协议的三个时段。这些时段如下:时刻944和时刻946之间的第一时段,时刻946和时刻948之间的第二时段,以及时刻944和时刻958之间的第三时段。如果第一通信网络是PLC通信网络,则这些时段中的每个时段可以对应于如PLC通信协议所定义的信标时段。例如,第一通信网络的周期性可以要求网络设备每300ms苏醒达5ms。类似地,Wi-Fi通信网络的周期性可以要求网络设备每50ms苏醒达2ms。因此,调度器基于周期性约束以及下文描述的其它约束来生成组合调度。

调度器可以监测通信网络中的每个通信网络上的业务。基于所监测的业务,调度器可以确定各种通信统计结果,例如,在通信网络中的每个通信网络上传送的网络负载的比率。例如,调度器可以确定指示大部分通信是经由第一通信网络被发送的通信统计结果。调度器可以基于通信网络中的每个通信网络的所监测的业务来生成组合调度。例如,调度器可以确定指示以下内容的组合调度:网络设备花费80%的时间可用于第一通信网络上的通信并且花费20%的时间可用于第二通信网络上的通信。除此之外,调度器还可以基于其它约束(例如,通信网络中的每个通信网络的优先级、通信网络中的每个通信网络上的通信的可靠性)来确定组合调度。

调度器可以使用这些和其它约束来生成组合调度。然而,由于这些约束,因此一些冲突可能是不可避免的。在冲突间隔期间,网络设备被调度为可用于在多个通信网络上同时进行通信。调度器可以确定减少冲突间隔的数量的组合调度。此外,调度器可以基于通信网络中的每个通信网络上的网络负载的变化比率来调整组合调度。如果流程从操作1012继续进行到操作1002,则调度器可以动态地调整组合调度。因此,调度器可以生成如下的组合调度,该组合调度对具有更高业务的通信网络有利并且满足大多数或全部约束。

调度器可以生成减少或消除多个通信网络之间的冲突间隔的组合调度。如果网络设备在冲突间隔期间在两个通信网络上接收通信,则可能在冲突间隔期间发生冲突。如果网络设备在冲突间隔期间在该网络设备在其上实际上没有进行通信的通信网络上接收通信,则也可能发生冲突。

关于图9,如果网络设备在冲突间隔997期间在第一通信网络上并且在第二通信网络上接收通信,则发生冲突。然而,冲突间隔997并不暗示冲突已经发生。换句话说,在冲突间隔期间,可以在网络设备在其上实际上正在通信的通信网络上接收通信。在这种情况下,不存在冲突。

网络设备可以根据组合调度来在通信网络之间进行切换。例如,如组合调度所指示的,网络设备可以花费几毫秒可用于第一通信网络上的通信,同时在第二通信网络中表现为睡眠。如组合调度所指示的,网络设备随后可以切换为在第二通信网络上是可用的,而在第一通信网络中表现为睡眠。通过使用组合调度以及在操作模式之间进行切换,网络设备可以表现为同时在两个通信网络中操作。

由于多个通信网络中的每个通信网络彼此独立,因此网络设备可以创建组合调度,该组合调度指示网络设备在其期间可用于在通信网络中的每个通信网络上进行通信的时间。网络设备可以根据正被使用的通信网络来在通信网络之间切换硬件模块(包括DSP块)。流程在操作1004处继续。

在操作1004处,调度器确定通信网络之间的冲突间隔。参照图9,调度器可以确定冲突间隔997和998的时间(time)和持续时间(duration)。流程在操作1006处继续。

在操作1006处,调度器确定网络设备的用于在冲突间隔期间在通信网络上进行通信的通信行为。调度器可以优化网络设备在冲突间隔期间的通信行为。优化可以减少网络设备在其期间没有对来自通信网络(网络设备在其中表现为活动的)中的每个通信网络的通信进行响应的时间。通信行为指示网络设备要如何在冲突间隔期间在通信网络中的每个通信网络上进行通信。调度器可以将通信行为存储成调度的一部分,例如,组合调度902的一部分。网络设备可以例如通过DSP块选择器基于调度来确定通信协议,从而实现网络设备在每个冲突间隔期间的通信行为。

调度器可以通过确定网络设备要在第一冲突间隔中在第一通信网络上和在第二通信网络上进行通信所花费的时间的比率,来确定通信行为。调度器可以确定该比率,使得在第一通信网络上进行通信的时间与在第二通信网络上进行通信的时间相似或相同。关于图9,调度器可以将该比率确定为将网络设备在冲突间隔中在通信网络中的每个通信网络中花费的总体时间均匀地分割。调度器可以将网络设备调度为在冲突间隔997的前半部分中在第一通信网络上是可用的,以及将网络设备调度为在冲突间隔997的后半部分中在第二通信网络上是可用的。注意的是,调度904和906可以分别在SCNA时间段932和960内不改变。

调度器可以通过将网络设备调度为在第一冲突间隔(例如,冲突间隔997)期间可用于在第一通信网络上进行通信,从而确定通信行为。随后,调度器可以将网络设备调度为在第二冲突间隔(例如,冲突间隔998)期间可用于在第二通信网络上进行通信。因此,调度器可以通过在每个后续冲突间隔中在通信网络之间进行交替,来调度网络设备的实际可用性。

调度器可以通过基于所监测的业务(例如,基于通信统计结果)来确定网络设备在通信网络中的每个通信网络中花费的时间,来确定通信行为。因此,调度器可以将网络设备调度为将较大部分的冲突间隔时间花费在向网络设备传送更多数据的通信网络中。

调度器可以通过禁用网络设备在冲突间隔期间对数据的传输,来确定通信行为。因此,调度器可以将网络设备调度为在冲突间隔期间接收通信。随后,流程继续进行到操作1008和1010。

在操作1008处,调度器向第一通信网络传送网络设备在第一通信网络中的可用性。在操作1010处,调度器向第二通信网络传送网络设备在第二通信网络中的可用性。调度器可以传送组合调度的部分,例如,在通信网络中的每个通信网络上网络设备的可用性或网络设备的睡眠调度。

调度器可以在通信网络中的每个通信网络上传送组合调度的不同部分。组合调度的每个部分可以指示网络设备在其期间可用于给定通信网络上的通信的时间。参照图9,调度器可以在第一通信网络上传送FCN调度904并且在第二通信网络上传送SCN调度906。例如,调度可以包括PLC调度和Wi-Fi调度。PLC调度指示网络设备在其期间可用于在PLC通信网络上进行通信的时间。Wi-Fi调度指示网络设备在其期间可用于在Wi-Fi通信网络上进行通信的时间。

在一个实施例中,调度器可以在通信网络中的每个通信网络上传送相应的睡眠调度。调度器可以在第一通信网络上传送网络设备将在其处进入睡眠状态的时间,例如,FCN调度904的时刻952、954和956。调度器还可以将每个NDU时间段938、940和942的持续时间作为睡眠间隔来传送。替代地或除此之外,调度器可以分别传送睡眠间隔中的每个睡眠间隔在其处结束的时刻946、950和958。调度器126可以向第二通信网络传送网络设备将在其处进入睡眠状态的时间,例如,SCN调度906的时刻978、990、992、994和995。调度器还可以将每个SCNU时间段968、970、972、974和976的持续时间作为睡眠间隔来传送。替代地或除此之外,调度器可以分别传送睡眠间隔中的每个睡眠间隔在其处结束的时刻980、984、986、988和996。在一个实施例中,调度器可以在每个睡眠间隔的开始处(即,在第一网络上的FCN调度904的时刻952、954和956处,以及在第二网络上的SCN调度906的时刻978、990、992、994和995处)传送对睡眠间隔中的每个睡眠间隔的单独指示。在操作1008和1010两者之后,流程在操作1012处继续。

在操作1012处,调度器确定是否要调整组合调度。如果调度器确定要调整组合调度,则流程继续进行到操作1002。如果调度器确定不调整组合调度,则流程继续进行到操作1014。调度器可以基于多种因素(例如基于所监测的业务的变化、例如基于通信统计结果)来确定要调整组合调度。调度器可以将组合调度调整为有利于具有更高业务的通信网络。例如,调度器可以将组合调度调整为满足具有更高业务的通信网络的约束。例如,参照图9,调度器可以调整组合调度902,使得网络设备在较长的时间间隔内可用于第二通信网络上的通信。

调度器还可以将组合调度902调整为减少冲突间隔998的持续时间(与冲突间隔997的持续时间相比)。调度器还可以调整组合调度902,使得在FCNA时间段914和SCNA时间段922期间不存在冲突间隔。然而,要注意的是,由于各种约束(包括网络业务和通信网络的周期性),因此后续的冲突间隔可能是不可避免的。在一些实例中,即使所监测的业务已经改变,调度器也可以确定要调整冲突间隔,而不是调整组合调度。例如,调度器可以确定由于约束,组合调度不应当被改变,而是替代地改变网络设备在冲突间隔期间的通信行为。

在操作1014处,调度器确定是否要调整网络设备在冲突间隔期间的通信行为。如果调度器确定要调整网络设备在冲突间隔期间的通信行为,则流程继续进行到操作1004。如果调度器确定不调整网络设备在冲突间隔期间的通信行为,则流程结束。调度器可以基于各种因素(例如基于冲突间隔中的每个冲突间隔期间的冲突的数量)来进行该确定。例如,如果由于网络设备在冲突间隔中的一个冲突间隔期间没有进行响应而将该网络设备从第二通信网络断开,则调度器可以确定在第二通信网络中发生了大量的冲突。调度器还可以将通信统计结果考虑进来。例如,调度器可以将冲突间隔调整为有利于具有更高业务的通信网络。

如根据本公开内容将明白的,可以修改图6-8和10的流程图,以便推导本公开内容的替代方面。此外,本公开内容的这一方面中的一些操作是以先后次序来示出的。然而,某些操作可以以与所示出的次序不同的次序发生,可以并发地执行某些操作,可以将某些操作与其它操作组合,以及在本公开内容的另一个方面中可以不存在某些操作。

如本领域技术人员将明白的,本公开内容的各方面可以被体现成系统、方法或计算机程序产品。因此,本公开内容的各方面可以采用硬件实施例、软件实施例(其包括固件、驻留软件、微代码等等)、或者组合软件和硬件方面的实施例的形式,这些在本文中通常都可以被称为“电路”、“模块”、“单元”或“系统”。此外,本公开内容的各方面可以采用体现在一个或多个非暂时性计算机可读介质中的计算机程序产品的形式,其中一个或多个非暂时性计算机可读介质具有体现在其上的计算机可读程序代码。

所描述的实施例可以被提供成可以包括其上存储有指令的非暂时性机器可读介质的计算机程序产品或软件,所述指令可以用于对计算机系统(或其它电子设备)进行编程,以执行根据无论是当前描述的还是没有描述的实施例(这是因为本文没有列举每一种可想到的变型)的过程。非暂时性机器可读介质包括用于存储或发送具有机器(例如,计算机)可读的形式(例如,软件、处理应用)的信息的任何机制。非暂时性机器可读介质可以包括但不限于:磁存储介质(例如,软盘);光存储介质(例如,CD-ROM);磁光存储介质;只读存储器(ROM);随机存取存储器(RAM);可擦除可编程存储器(例如,EPROM和EEPROM);闪存;或适于存储电子指令的其它类型的介质。另外,实施例可以体现在电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)、或有线、无线或其它通信介质中。

用于执行实施例的操作的计算机程序代码可以用一种或多种编程语言的任意组合来编写,其包括诸如Java、Smalltalk、C++之类的面向对象编程语言、以及诸如“C”编程语言或类似编程语言之类的过程编程语言。程序代码可以完全地在用户的计算机上执行,作为独立的软件包部分地在用户的计算机上执行,部分地在用户的计算机上执行并且部分地在远程计算机上执行,或者完全地在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络(包括局域网(LAN)、个域网(PAN)、或广域网(WAN))连接到用户的计算机,或可以建立到外部计算机的连接(例如,通过使用互联网服务提供商的互联网)。

参照根据本公开内容的实施例的方法、装置(系统)和计算机程序产品的流程图说明和/或图描述了本公开内容的各方面。应当理解的是,流程图说明和/或框图中的每一个操作以及流程图说明和/或图中的操作的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供给通用计算机的处理器、专用计算机或其它可编程数据处理装置以产生机器,使得经由计算机的处理器或其它可编程数据处理装置执行的指令创建用于实现在流程图和/或图的操作中所指定的功能/动作的单元。

这些计算机程序指令还可以被存储在可以指导计算机、其它可编程数据处理装置或其它设备以特定的方式运行的非暂时性计算机可读介质中,使得存储在非暂时性计算机可读介质中的指令产生包括指令的制品,所述指令实现在流程图和/或框图的一个或多个框中所指定的功能/动作。

计算机程序指令还可以被加载到计算机、其它可编程数据处理装置或者其它设备上,以使得一系列操作步骤在计算机、其它可编程装置或其它设备上执行,从而产生计算机实现的过程,使得在计算机或其它可编程装置上执行的指令提供用于实现在流程图和/或框图的一个或多个框中所指定的功能/动作的过程。

图11是包括用于网络通信的接口的电子设备的实施例的图。网络设备1100可以实现功能并且执行上文在图1-10中描述的操作。网络设备1100包括处理器1102(包括多个处理器、多个核、多个节点和/或实现多线程等等)。计算机系统包括存储器1106。存储器1106可以是系统存储器(例如,高速缓存、SRAM、DRAM、零电容RAM、双晶体管RAM、eDRAM、EDORAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM等中的一个或多个),或者是上面已经描述的非暂时性机器可读介质的可能实现中的任何一种或多种。网络设备1100还包括总线1110(例如,PCI、ISA、PCI-Express、NuBus等)。网络设备1100还包括网络接口1104,网络接口1104包括以下各项中的至少一项:无线网络接口(例如,无线局域网(WLAN)接口、接口、WiMAX接口、接口、无线通用串行总线(USB)接口等)以及有线网络接口(例如,PLC接口、以太网接口等)。网络接口可以包括组合通信接口(CCI)1114、DSP块选择器1116和调度器1118。在一些实施例中,网络接口1104、处理器1102和存储器1106可以实现上文在图1-10中描述的功能。例如,网络接口1104、处理器1102和存储器1106可以实现DSP块选择器1116和/或调度器1118的功能。

存储器1106可以体现用于实现上文描述的实施例的功能。存储器1106可以包括促进多个通信网络上的通信的一个或多个功能。还要注意的是,这些功能中的任何一个功能可以部分地(或者完全地)利用硬件和/或在处理器1102上实现。例如,该功能可以使用专用集成电路来实现、在处理器1102中实现的逻辑单元中实现、在外围设备或卡上的协处理器中实现等。此外,实现可以包括更少的组件或者图11中没有示出的额外组件(例如,视频卡、音频卡、额外的网络接口、外围设备等)。处理器1102、存储器1106和网络接口1104耦合到总线1110。虽然被示为耦合到总线1110,但是存储器1106可以耦合到处理器1102。

虽然参照各种实现和利用方式来描述了实施例,但是应当理解的是,这些实施例是说明性的,并且所要求保护的主题的范围并不限于这些实施例。通常,如本文所描述的用于促进多个通信网络上的通信的技术可以利用硬件系统的设施来实现。多种变型、修改、添加和改进都是可能的。

针对本文描述成单个实例的组件、操作或者结构,可以提供多个实例。最后,各个组件、操作和数据存储之间的边界在一定程度上是任意的,并且在特定的说明性配置的上下文中示出了特定的操作。对功能的其它分配是可设想的,并且可以落入所要求保护的主题的范围之内。通常,在示例性配置中呈现为分开的组件的结构和功能可以实现成组合的结构或组件。类似地,呈现为单个组件的结构和功能可以实现成分开的组件。这些以及其它变型、修改、添加和改进可以落入所要求保护的主题的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1