用于串行通信链路中的功率感知均衡的方法和装置
技术领域
本公开一般地涉及数据处理,或者更具体而言,涉及用于在包括发射器和接收器的串行通信链路中的功率感知均衡的方法、装置和产品。
背景技术
现代计算系统可以包括由发射器和接收器使用以交换表示数字值的模拟信号的通信链路。随着传输频率增加,许多变量可以影响信号的完整性。例如,传输线缺陷、阻抗不匹配、终结(termination)方案、接地方案以及其他因素可能导致信号变得失真。发射器的物理特性、PCB迹线、连接器和电缆还可以引入干扰,该干扰将使信号在其幅度和定时上恶化。另外,符号间干扰也可以使信号的质量恶化。这样,现代计算系统通常会包括对信号进行均衡的组件。然而,这种组件的操作可能需要来自电源的显著的功率量。
发明内容
用于在包括发射器和接收器的串行通信链路中的功率感知均衡的方法、装置和产品,包括:由功率感知均衡模块确定用于由接收器接收到的信号的所需的信号眼宽和所需的信号眼高;由功率感知均衡模块识别用于在串行通信链路上传输的信号的一个或多个信号均衡器;由功率感知均衡模块识别对在串行通信链路上传输的信号进行均衡以符合用于由接收器接收到的信号的所需信号眼宽和所需信号眼高的一个或多个累积均衡器设置;由功率感知均衡模块确定与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值;以及由功率感知均衡模块将所述一个或多个信号均衡器设置到依赖于与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值的配置设置。
根据以下对附图中示出的示例实施例的更详细的描述,上述以及在此描述的其他目的、特征和优点将是明晰的,在附图中相同的附图标记通常表示示例实施例的相同部件。
附图说明
图1给出了根据此处所描述的实施例的自动化计算机器的框图,包括用于在包括发射器和接收器的串行通信链路中的功率感知均衡的示例计算机。
图2给出了示出根据此处所描述的实施例的用于在包括发射器和接收器的串行通信链路中的功率感知均衡的示例方法的流程图。
图3给出了示出根据此处所描述的实施例的用于在包括发射器和接收器的串行通信链路中的功率感知均衡的附加示例方法的流程图。
图4给出了示出根据此处所描述的实施例的用于在包括发射器和接收器的串行通信链路中的功率感知均衡的附加示例方法的流程图。
具体实施方式
根据此处所描述的实施例的用于在包括发射器和接收器的串行通信链路中的功率感知均衡的示例方法、装置和产品参照从图1开始的附图。图1给出了根据此处所描述的实施例的自动化计算机器的框图,包括用于在包括发射器和接收器的串行通信链路中的功率感知均衡的示例计算机(152)。图1的计算机(152)包括至少一个计算机处理器(156)或“CPU”以及随机存取存储器(168)(“RAM”),其通过高速存储器总线(166)和总线适配器(158)连接到处理器(156)和计算机(152)的其他组件。
存储在RAM(168)中的是功率感知均衡模块(202)——根据此处所描述的实施例的用于在包括发射器和接收器的串行通信链路中的功率感知均衡的计算机程序指令的模块。图1的功率感知均衡模块(202)可以被配置为通过以下操作来执行在包括发射器和接收器的串行通信链路中的功率感知均衡:确定用于由接收器接收到的信号的所需信号眼宽和所需信号眼高;识别用于在串行通信链路上传输的信号的一个或多个信号均衡器;识别对在串行通信链路上传输的信号进行均衡以符合用于由接收器接收到的信号的所需信号眼宽和所需信号眼高的一个或多个累积均衡器设置;确定与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值;以及将所述一个或多个信号均衡器设置到依赖于与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值的配置设置。
存储在RAM(168)中的还有操作系统(154)。用于根据此处所描述的实施例的在包括发射器和接收器的串行通信链路中的功率感知均衡的操作系统包括UNIXTM、LinuxTM、Microsoft XPTM、AIXTM、IBM的i5/OSTM,以及本领域技术人员会想到的其他操作系统。图1的示例中的操作系统(154)和功率感知均衡模块(202)被示出为在RAM(168)中,但是这种软件的许多组件通常也存储在非易失性存储器中,诸如例如在盘驱动器(170)上。
图1的计算机(152)包括盘驱动器适配器(172),其通过扩展总线(160)和总线适配器(158)耦合到处理器(156)和计算机(152)的其他组件。盘驱动器适配器(172)将非易失性数据存储装置以盘驱动器(170)的形式连接到计算机(152)。在用于根据此处所描述的实施例的串行通信链路(其包括发射器和接收器)中的功率感知均衡的计算机中使用的盘驱动器适配器包括集成驱动电子设备(“IDE”)适配器、小型计算机系统接口(“SCSI”)适配器、以及本领域技术人员会想到的其他适配器。非易失性计算机存储器还可以实现为光盘驱动器、电可擦除可编程只读存储器(所谓的“EEPROM”或“闪速”存储器)、RAM驱动器等,如本领域技术人员会想到的那些。
图1的示例计算机(152)包括一个或多个输入/输出(“I/O”)适配器(178)。I/O适配器通过例如用于对到诸如计算机显示屏的显示设备的输出以及来自诸如键盘和鼠标的用户输入设备(181)的用户输入进行控制的软件驱动程序和计算机硬件来实现面向用户的输入/输出。图1的示例计算机(152)包括视频适配器(209),它是专门设计用于到显示设备(180)(诸如显示屏或计算机监视器)的图形输出的I/O适配器的示例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)和前端总线(162)(其也是高速总线)连接到处理器(156)。
图1的示例计算机(152)包括通信适配器(167),其用于与其他计算机(182)的数据通信并用于与数据通信网络(100)的数据通信。这种数据通信可以通过RS-232连接、通过外部总线(诸如通用串行总线(“USB”))、通过数据通信网络(诸如IP数据通信网络)以及本领域技术人员会想到的其他方式来串行执行。通信适配器实现硬件级的数据通信,通过硬件级的数据通信,一个计算机直接或通过数据通信网络将数据通信发送到另一个计算机。用于根据此处所描述的实施例的在包括发射器和接收器的串行通信链路中的功率感知均衡的通信适配器的示例包括用于有线拨号通信的调制解调器、用于有线数据通信网络通信的以太网(IEEE802.3)适配器、和用于无线数据通信网络通信的802.11适配器。
为了进一步解释,图2给出了示出根据此处所描述的实施例的用于在包括发射器(214)和接收器(216)的串行通信链路(222)中的功率感知均衡的示例方法的流程图。图2的示例方法至少部分地由功率感知均衡模块(202)执行。在图2的示例方法中,功率感知均衡模块(202)可以具体实现为计算机电路系统的模块,其作为状态机操作并存在于包括发射器(214)、接收器(216)和串行通信链路(222)的芯片上。在另选的实施例中,功率感知均衡模块(202)可以具体实现为在计算机硬件上执行的计算机程序指令的模块,其被配置用于与控制发射器(214)和接收器(216)的操作的计算机器进行数据通信。读者将会理解,功率感知均衡模块(202)因而可以被具体实现为计算机硬件、计算机软件、或它们的任何组合。
图2的示例方法包括由功率感知均衡模块(202)确定(204)用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高。在图2的示例方法中,眼宽和眼高可以被描绘为眼图的分量。之所以称作眼图是因为,对于几种类型的编码,图看起来像一对轨道(rail)之间的一个或多个眼睛。眼睛开口具有垂直高度和水平宽度,其可以用于导出多个通信信道性能测量结果。通常,开眼图案对应于沿通信信道最小化的信号失真,眼睛图案的闭合对应于通信信道中的符号间干扰和噪声。具体地,随着眼睛开口的垂直高度减小,信号中存在的加性噪声增加,并且随着眼睛开口的宽度减小,信号中存在的抖动增加。在图2的示例方法中,当由接收器(216)接收到的信号符合所需的信号眼宽和所需的信号眼高时可以可靠地确定模拟信号的二进制值。
图2的示例方法还包括由功率感知均衡模块(202)识别(206)用于在串行通信链路(222)上传输的信号的一个或多个信号均衡器(218、220)。在图2的示例方法中,所述一个或多个信号均衡器(218、220)中的每一个可以被具体实现为计算机电路系统,其用于对在串行通信链路(222)上传输的信号进行均衡。例如,所述一个或多个信号均衡器(218、220)中的每一个可以具体实现为用于去除符号间干扰(“ISI”)的作用的计算机电路系统,在ISI中,一个信号的传输与后续传输的信号干扰。所述一个或多个信号均衡器(218、220)中的每一个可以具体实现为用于去除随机噪声、串音或其他形式的信号失真的计算机电路系统。读者将会理解,所述一个或多个信号均衡器(218、220)可以具体实现为用于去除任何形式的信号失真的作用的计算机电路系统,使得当在接收器(216)处给出失真的信号时接收器(216)可以辨别出原始信号(即,从发射器出来的信号)。以这种方式,信号可以在串行通信链路(222)上更可靠地传输。
在图2的示例方法中,所述一个或多个信号均衡器(218、220)可以存在于发射器(214)内、接收器(216)内、发射器(214)和接收器(216)之间、或它们的任何组合。此外,所述一个或多个信号均衡器(218、220)可以具体实现为不同类型的均衡器。例如,所述一个或多个信号均衡器(218、220)可以包括发射器侧前馈均衡器(“FFE”)、接收器侧判决反馈均衡器(“DFE”)、接收器侧连续时间线性均衡器(“CTLE”)等。读者将会理解,鉴于所述一个或多个信号均衡器(218、220)中的每一个可以具体实现为存在于不同位置中的不同类型的均衡器的事实,对于所述一个或多个信号均衡器(218、220)中的每一个,对总系统功率消耗的作用可以是不同的。例如,利用第一信号均衡器(218)对信号进行均衡比利用第二信号均衡器(220)对信号进行均衡可能需要来自电源的更多的功率。同样,所述一个或多个信号均衡器(218、220)可以不以相等水平的有效性去除信号失真。
图2的示例方法还包括由功率感知均衡模块(202)识别(208)对在串行通信链路(222)上传输的信号进行均衡以符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高的一个或多个累积均衡器设置。在图2的示例方法中,所述一个或多个累积均衡器设置可以表示所述一个或多个信号均衡器(218、220)中的每一个上的设置的组合。例如,第一累积均衡器设置可以表示一组设置,使得第一均衡器(218)不执行均衡操作并且第二均衡器(220)是仅使用前四个抽头来执行信号均衡的8抽头DFE。同样地,第二累积均衡器设置可以表示一组设置,使得第一均衡器(218)不执行均衡操作并且第二均衡器(220)是仅使用前六个抽头来执行信号均衡的8抽头DFE。以这种方式,每个累积均衡器设置表示在步骤206中识别的信号均衡器(218、220)中的每一个的设置的不同组合。
在图2的示例方法中,一个或多个累积均衡器设置被识别(208),它们对在串行通信链路(222)上传输的信号进行均衡以符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高。读者将会理解,各种累积均衡器设置可以被测试或者被仿真用于测试。在图2的示例方法中,只有对在串行通信链路(222)上传输的信号进行均衡以符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高的那些累积均衡器设置才将被识别(208)。不对在串行通信链路(222)上传输的信号进行均衡以符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高的累积均衡器设置将在进一步考虑中舍弃。
图2的示例方法还包括由功率感知均衡模块(202)确定(210)与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值。在图2的示例方法中,特定均衡器(218)的每个特定的设置可以与这样的值关联,该值指示以该特定的设置操作该特定的均衡器(218)所需的功率量。在这样的示例中,以该特定的设置操作该特定的均衡器(218)所需的功率量可以被确定,例如在制造和测试特定的均衡器(218)期间。在这样的示例中,确定(210)与特定的累积均衡器设置关联的功率消耗值可以通过对于特定的累积均衡器设置对以每个均衡器(218、220)相应的设置来对其操作所需的功率量进行求和而执行。通过确定(210)与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值,功率感知均衡模块(202)可以因此识别以每个累积设置来操作均衡器(218、220)所需的功率量,所述每个累积设置对在串行通信链路(222)上传输的信号进行均衡以符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高。
图2的示例方法还包括由功率感知均衡模块(202)将所述一个或多个信号均衡器(218、220)设置(212)到依赖于与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值的配置设置。在图2的示例方法中,将所述一个或多个信号均衡器(218、220)中的每一个设置(212)到特定的配置设置可以通过以下进行:将包括信号均衡器(218、220)在操作时应当使用的特定配置设置的消息发送到信号均衡器(218、220)中的所述每一个。在图2的示例方法中,所述一个或多个信号均衡器(218、220)被设置(212)到依赖于与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值的配置设置。例如,所述一个或多个信号均衡器(218、220)可以(212)被设置到与所识别(208)的累积均衡器设置的最低功率使用对应的配置设置,所识别(208)的累积均衡器设置对在串行通信链路(222)上传输的信号进行均衡以符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高。
为了进一步解释,图3给出了示出根据此处所描述的实施例的用于在包括发射器(214)和接收器(216)的串行通信链路(222)中的功率感知均衡的附加示例方法的流程图。图3的示例方法类似于图2的示例方法,因为它也包括确定(204)用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高,识别(206)用于在串行通信链路(222)上传输的信号的一个或多个信号均衡器(218、220),识别(208)对在串行通信链路(222)上传输的信号进行均衡以符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高的一个或多个累积均衡器设置,确定(210)与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值,以及将所述一个或多个信号均衡器(218、220)设置(212)到依赖于与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值的配置设置。
在图3的示例方法中,识别(208)对在串行通信链路(222)上传输的信号进行均衡以符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高的一个或多个累积均衡器设置可以包括对于一个或多个累积均衡器设置,用眼监视器来测量(302)由接收器(216)接收到的信号的作为结果的眼宽和作为结果的眼高。在图3的示例方法中,眼监视器可以具体实现为示波器、虚拟示波器或用于观察电信号随时间的变化的其他工具,以使得电压和时间描述一波形,该波形针对校准的比例连续地绘出。
在图3的示例方法中,将所述一个或多个信号均衡器(218、220)设置(212)到依赖于与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值的配置设置可以包括将所述一个或多个信号均衡器设置(304)到与消耗最少功率量的累积均衡器设置关联的配置设置。在图3的示例方法中,累积均衡器设置中的每一个已被识别(208)为对在串行通信链路(222)上传输的信号进行均衡以符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高的设置。以这种方式,已经被识别(208)的累积均衡器设置中的每一个可以产生可接受格式的信号传输,因为累积均衡器设置产生在串行通信链路(222)上传输的符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高的信号。鉴于所识别(208)的累积均衡器设置中的每一个产生可接受的信号传输的事实,功率感知均衡模块(202)可以利用消耗最少功率量的累积均衡器设置,以便最小化计算系统中的总功率消耗。
为了进一步解释,图4给出了示出根据此处所描述的实施例的用于在包括发射器(214)和接收器(216)的串行通信链路(222)中的功率感知均衡的附加示例方法的流程图。图4的示例方法类似于图2的示例方法,因为它也包括确定(204)用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高,识别(206)用于在串行通信链路(222)上传输的信号的一个或多个信号均衡器(218、220),识别(208)对在串行通信链路(222)上传输的信号进行均衡以符合用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高的一个或多个累积均衡器设置,确定(210)与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值,以及将所述一个或多个信号均衡器(218、220)设置(212)到依赖于与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值的配置设置。
图4的示例方法还可以包括由功率感知均衡模块(202)调整(406)用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高。在图4的示例方法中,调整用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高可以响应于用户、系统管理员或其他请求这种改变的实体来执行。这种改变可能是必要的,例如如果用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高不再产生可以可靠地读取的信号的话。在图4的示例方法中,调整(406)用于由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高可以通过功率感知均衡模块(202)接收用户输入、来自系统管理员的消息等来执行。
在图4的示例方法中,所述一个或多个累积均衡器设置可以只包括这样的设置,其使得接收器(216)中的连续时间线性均衡器(408)执行均衡操作并且所有其他信号均衡器(218)不执行均衡操作(402)。在图4的示例方法中,接收器(216)中的连续时间线性均衡器(408)可以被配置为通过比任何其他信号均衡器(218)消耗较少的功率来执行均衡操作。这样,功率感知均衡模块(202)可以先于使用消耗较大功率量的其他信号均衡器(218)而试图利用接收器(216)中的连续时间线性均衡器(408)来执行均衡操作。以这种方式,当通过唯独使用接收器(216)中的连续时间线性均衡器(408)、从发射器(214)传输到接收器(216)的信号可以符合用于由接收器(216)接收的信号的所需信号眼宽和所需信号眼高时,与通过使用消耗较大功率量的其他信号均衡器(218)来执行均衡操作对照,系统中的总功率消耗可以减小。
在图4的示例方法中,确定(210)与所述一个或多个累积均衡器设置中的每一个关联的功率消耗值可以包括搜索(404)功率查找表。在图4的示例方法中,每个信号均衡器(218、408)可以在制造期间被测试以确定每个信号均衡器(218、408)在每个可能的配置设置下所使用的功率量。以这种方式,每个信号均衡器(218、408)在各可能的配置设置下所使用的功率量可以是已知的并且针对所述一个或多个累积均衡器设置中的每一个进行求和。这种信息可以存储在功率查找表或其他数据结构中,使得功率感知均衡模块(202)可以确定对于累积均衡器设置中的每一个的总功率使用,所述累积均衡器设置已被识别(208)为产生了与由接收器(216)接收到的信号的所需信号眼宽和所需信号眼高符合的信号的传输。在图4的示例方法中,功率查找表可以位于功率感知均衡模块(202)的存储器内或者功率感知均衡模块(202)可访问的另一计算设备的存储器内。
所属技术领域的技术人员将知道,此处描述的实施例的各个方面可以实现为系统、方法或计算机程序产品。因此,此处描述的实施例的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、驻留软件、微代码等)、或硬件和软件方面结合的实施例,这些可以都称为“电路”、“模块”或“系统”。此外,本公开的各个方面还可以具体实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中实现有计算机可读程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或设备,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何可以包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者设备使用或者与其结合使用。
计算机可读信号介质可以包括例如在基带中或者作为载波一部分传播的数字信号,其中承载了计算机可读的程序代码。这种传播的信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或设备使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开中描述的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如Java、Smalltalk和C++等,还包括常规的过程式程序设计语言——诸如“C”程序设计语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上参照根据此处描述的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个框以及流程图和/或框图中各框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生用于实现流程图和/或框图中的一个或多个框中所规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其他可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个框中所规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令也可以加载到计算机、其他可编程数据处理装置或其他设备上,以引起一系列操作步骤在该计算机、其他可编程装置或其他设备上被执行以产生计算机实施的处理,从而在该计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个框中所指定的功能/动作的处理。
附图中的流程图和框图显示了根据此处描述的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的框实际上可以基本并行地执行,或者它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
从上文的描述将会理解,可以在各种实施例中进行修改和变型而不会脱离其真实的精神。本说明书中的描述仅用于解释的目的,而不应以限制的意义来解释。本公开的范围仅由权利要求的语言限定。