首页> 中国专利> 用于在网络锁定条件发生之后同步多个网络节点的通信系统和方法

用于在网络锁定条件发生之后同步多个网络节点的通信系统和方法

摘要

本文提供一种用于在网络中网络锁定条件发生之后同步多个网络节点的通信系统和方法。根据一个实施例,该方法可以通过补偿归因于多个网络节点中的每个节点的唯一的相位延迟,在多个网络节点中的每个节点处同时生成本地触发信号。如本文所述,本地触发信号可用于同步诸如多媒体设备之类的可被耦合到网络节点的设备。更具体地说,本地触发信号可用于同步发生在被耦合到网络的不同节点处的设备内的事件。

著录项

  • 公开/公告号CN104396164A

    专利类型发明专利

  • 公开/公告日2015-03-04

    原文格式PDF

  • 申请/专利权人 微芯片技术股份有限公司;

    申请/专利号CN201380029954.9

  • 发明设计人 S·I·阿克哈尔;R·穆勒;

    申请日2013-06-12

  • 分类号H04J3/06;H04N21/43;

  • 代理机构上海专利商标事务所有限公司;

  • 代理人毛力

  • 地址 美国亚利桑那州

  • 入库时间 2023-12-17 04:57:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-11-07

    授权

    授权

  • 2015-06-17

    实质审查的生效 IPC(主分类):H04J3/06 申请日:20130612

    实质审查的生效

  • 2015-03-04

    公开

    公开

说明书

发明背景

1.发明领域

本发明涉及通信系统,更具体地,本发明涉及用于在网络锁定条件发 生之后同步多个网络节点的通信系统和方法。

2.相关领域描述

下列描述和示例仅作为背景给出。

通信系统通常为人们熟知是包含通过传输线互连的至少两个节点的。 每根传输线不仅能够容纳数字数据,而且能够容纳以源自计算机域的语音 数据、音频数据、视频数据,或数据突发(bursts of data)的形式到达的数 据。因此,最佳的传输线是能够接收来自多媒体设备的信息的传输线,本 文将多媒体设备定义为能够在网络上以任何形式传输信息的任何硬件和/或 软件模块。传输线可以是铜线、光纤或无线传输介质。

有许多类型的多媒体设备。例如,多媒体设备可以包括电话机、紧致 盘(CD)播放器、数字视频盘(DVD)播放器、计算机、放大器、扬声器, 或能够跨越网络的传输线发送和接收不同类型数据的任何设备。

由多媒体设备所发送或接收的流行的数据类型包括流数据和分组数 据。流数据是具有产生于源端口去往网络上的样本之间的时域关系的数据。 必须保持该关系以防止可察觉的误差,如:在目的地端口处的间隔或被改 变的频率。分组数据不需要保持数据的采样率或时域关系,替代地可以跨 越传输线作为脱节的突发(disjointed bursts)被发送。

取决于源端口(或目的地端口)的本地时钟和网络帧传输率(或跨越 传输线传输数据帧的速率)之间的频率差异,可以跨越网络同步或等时地 发送流数据。如果节点的本地采样率(有时被标记成“fs”)与传输线的网 络帧传输率(或帧同步速率“FSR”)频率相同,则可以跨越网络同步地发 送流数据。在许多实例中,FSR可以与位于节点内的多媒体设备的本地采 样率fs不同。因此,必须改变(或转换)本地采样率,或者必须跨越网络 等时地发送流数据,其中使用等时传输协议适应频率差异以防止可察觉的 间隔、误差、抖动或回波。

无论怎样跨越传输线发送数据,该数据必须参考时钟。位于一个节点 内(有时被认为是主节点)的时钟(有时被称为主时钟)跨越传输线同步 来自该节点的传输。网络的余下节点(有时被称为从节点)通常通过利用 某种形式的时钟恢复电路(如:锁相环“PLL”、数字信号处理器“DSP” 或相位比较器)以锁定到主时钟总信号的频率,尝试使剩余节点的本地时 钟与主时钟信号同步。一旦网络的所有节点被锁定到主时钟信号,网络锁 定条件便发生。在网络上上电、重置或失去锁定(如:解锁条件)之后, 通常执行将本地时钟信号锁定或同步到主时钟信号的进程。

一旦网络锁定条件发生,从节点所接收的数据将具有正确的频率,但 会相对于主节点所发送的数据产生相移。该相移是由于:归因于每个活跃 节点的延迟(delay)和由于活跃节点之内的相位锁定中的容差而产生的附加 的累积延迟。每当上电、重置、或解锁到锁定事件发生时,来自每个活跃 节点的延迟可能在某个范围内变化。这些延迟也可以在网络上的不同节点 之间变化。因此,每当网络锁定条件发生时,网络上的每个节点会具有不 同固定的但不可预测的延迟量的属性。在许多网络应用中,此类不可预测 的延迟是不利的。

对用于在网络锁定条件发生之后同步多个网络节点的通信系统和方法 存在需求。尤其是,需要通信系统和方法以补偿每次网络锁定条件发生时, 在网络节点处产生的不可预测的相位延迟。在本文中,通过在网络的一个 或多个节点处同时生成同步触发信号来满足此类需求。

发明概述

下述对通信系统和方法的各种实施例的描述不应当以任何方式被解释 为限制所附权利要求的主题。

根据一个实施例,本文提供一种用于在网络内网络锁定条件发生之后 同步多个网络节点的方法。该方法可以通过补偿归因于多个网络节点中的 每个节点的唯一的相位延迟,同时在多个网络节点处生成本地触发信号。 一旦生成了本地触发信号,可将其用于同步被耦合到多个网络节点中的每 个节点的一个或多个设备,或更具体地说,可将其用于同步发生在被耦合 到节点的设备处的事件。如下文更详细描述的那样,本文描述的方法通常 可以包括延迟估计阶段、触发同步阶段和事件同步阶段。

在延迟估计阶段,该方法可以计算在多个网络节点中的每个节点处的 唯一的相位延迟。在大多数情况下,一旦网络锁定条件发生(如:在网络 中的上电、重置或失去锁定之后),可以计算该唯一的相位延迟。如本文 中所使用的那样,“唯一的相位延迟”可以由数据帧在网络节点的接收引 脚和相同的网络节点的发送引脚之间经过所需的相位延迟量组成。一旦为 一个或多个网络节点确定了唯一的相位延迟,该方法可以将累积的相位延 迟存储于多个网络节点中的每个节点内。一般而言,通过合并归因于配置 在网络的源节点和特定网络节点之间的所有网络节点的唯一的相位延迟, 可以计算存储在特定网络节点内的累积的相位延迟。然而,计算累积的相 位延迟的方法可以变化。

在一个实施例中,通过将在多个网络节点中的每个节点处计算出的唯 一的相位延迟发送到所有其他的网络节点,可以计算累积的相位延迟。这 使单个网络节点能够通过合并归因于配置在其自身和源节点之间的所有网 络节点的唯一的相位延迟来计算该单个网络节点的累积的相位延迟。在另 一个实施例中,单个网络节点可以将其自身唯一的相位延迟与从上游网络 节点处所接收的累积的相位延迟合并,以生成该单个网络节点的累积的相 位延迟。一旦生成了累积的相位延迟,可以将其发送到下一个下游节点, 用于生成那个节点的累积的延迟。无论使用什么方法,一旦累积的相位延 迟被存储于每个网络节点内,延迟估计阶段可以结束。

在触发同步阶段,该方法可以测量在源节点所接收(或在源节点内生 成)的源触发信号和网络的主节点所生成的数据帧的预定字节之间的偏移 值。在确定该偏移值后,该方法可以跨越网络将该偏移值发送到多个网络 节点中的每个节点。在一些实施例中,该方法可以将在源节点处计算出的 抖动值与偏移值相加,并且跨越网络将所合并的抖动值和偏移值传输到多 个网络节点中的每个节点。在一些实施例中,可以将在数据帧的预定字节 之内的偏移值(或所合并的偏移值和抖动值)发送到多个网络节点中的每 个节点。在本发明的一些实施例中,预定的字节可以是MOST数据帧的触 发字节,尽管当然不限于此类情况。

在事件同步阶段期间,该方法可以接收多个网络节点中的每个节点处 的主节点所发送的数据帧。如果特定的网络节点检测到在所接收的数据帧 的预定字节内的偏移值,则该特定网络节点所执行的该方法可以包括若干 附加步骤。例如,该方法可以从预定值开始启动倒数计时器,并且一旦倒 数计时器的计数值等于预定值减去该偏移值(或所合并的偏移值和抖动值) 和存储于特定网络节点内的累积的相位延迟的所合并的延迟时,生成本地 触发信号。一旦生成了本地触发信号,该方法可以使特定网络节点处的事 件与该本地触发信号同步。

在一个实施例中,可以使用本文描述的方法,将发生在多个网络节点 中的每个节点处的事件同步到公共时间标记。这些事件可以包括,但当然 不限于:时钟信号生成、输入/输出信号生成和数据采样。在一些情况下, 事件可以发生在耦合到多个网络节点的一个或多个多媒体设备内。例如, 可以通过本文描述的方法来同步提供给多显示屏系统的音频/视频信号,以 协调耦合到不同网络节点的显示屏上的信号再现。同样地,当多扬声器系 统的左、右扬声器被耦合到不同的网络节点时,通过本文描述的方法,可 以同步提供给左、右扬声器的音频信号,以保持高保真。此外,可以通过 本文描述的方法来同步耦合到不同网络节点的多个相机,使得多个相机可 以同时捕捉图像,并且这些图像被并入单一图像。在另一些实施例中,可 以使用事件同步,以跨越多个网络节点协调数据采样,或在一个或多个节 点处执行时钟同步。

根据另一个实施例,本文提供包括在网络内互连的多个网络节点的通 信系统。一般而言,通信系统可以包括源节点和通过传输线网络被耦合到 该源节点的多个网络节点。在一个实施例中,该通信系统可以包括MOST 网络。然而,本文描述的通信系统不限于MOST网络,并且大体上可以包 括大体具有任何网络拓扑的任何同步网络。

在一个实施例中,源节点可以配置成用于计算在源节点所接收的(或 在源节点内生成的)源触发信号和源节点所接收的数据帧的预定字节之间 的偏移值,以及用于跨越网络将该偏移值发送到多个网络节点。例如,源 节点可以包括偏移计算电路,该偏移计算电路包括用于计算偏移值的计数 器和用于在跨越网络发送偏移值之前存储该偏移值的缓冲器。在一个实施 例中,可以跨越网络,发送在数据帧的预定字节之内的偏移值。

在一个实施例中,多个网络节点中的每个节点可以配置成:接收源节 点所传输的数据帧;检测在所接收的一个数据帧的预定字节之内的偏移值; 和生成用于同步耦合到多个网络节点的设备的本地触发信号。如上文所述, 可以通过补偿归因于多个网络节点中的每个节点的唯一的相位延迟,在多 个网络节点中的每个节点处生成本地触发信号。

在一些实施例中,多个网络节点和源节点可以每个节点包括用于确定 和存储归因于那个节点的唯一的相位延迟的延迟计算电路。在一个实施例 中,该延迟计算电路可以包括计数器、第一存储设备和第二存储设备。特 定节点内的计数器可以被耦合,用于紧跟着网络锁定条件立即确定归因于 该节点的唯一的相位延迟。特定节点内的第一存储设备可以被耦合,用于 存储归因于该节点的唯一的相位延迟。特定节点内的第二存储设备可以被 耦合,用于接收来自第一存储设备的唯一的相位延迟,和用于存储归因于 该节点的累积的相位延迟。如上文所述,可以以若干方式计算在第二存储 设备内的累积的相位延迟。这样,第二存储设备可以被附加地耦合,用于 跨越网络接收:(a)来自其他所有网络节点的唯一的相位延迟,或(b) 来自之前上游节点的累积的相位延迟。

在一些实施例中,源节点可以包括用于测量和补偿网络抖动的抖动补 偿电路。为了补偿网络抖动,抖动补偿电路可以配置成接收来自被包括在 源节点内的第一存储设备的多个唯一的相位延迟。尤其是,抖动补偿电路 可以配置成接收先前在网络锁定条件之后所计算的唯一的相位延迟和在接 收/生成源触发信号时源节点所测量的另一个唯一的相位延迟。为了计算抖 动值,抖动补偿电路可以确定先前和当前所测量的唯一的相位延迟之间的 差异。在计算出抖动值后,源节点可以在跨越网络在数据帧的预定字节内 发送所合并的偏移值和抖动值之前,将抖动值与偏移值相加。

在一些实施例中,多个网络节点可以各自包括附加组件,例如:触发 检测电路、倒数计时器、触发信号生成器电路和同步电路。触发检测电路 通常可以配置成用于检测跨越网络所传输的在数据帧的预定字节内的偏移 值。在一个实施例中,触发检测电路可以包括配置成用于检测预定字节内 的有效数据位的逻辑门。在一些情况下,该有效数据位可以对应偏移值。 在另一些情况下,该有效数据位可以对应所合并的偏移值和抖动值。

倒数计时器通常可以配置成用于一旦触发检测电路检测到偏移值(或 所合并的偏移值和抖动值)就从预定值开始倒数。在一些实施例中,该预 定值可以大体上等于源节点所传输的数据帧的帧尺寸的两倍。然而,该预 定值不限于此类值,可以替代地包括任何被视为合适的其它值。

触发信号生成器电路通常可以配置成用于一旦倒数计时器的计数值等 于诸如加法器/减法器所提供的计算结果,就生成本地触发信号。例如,可 以使用加法器/减法器从预定值中减去该偏移值(或所合并的偏移值和抖动 值)和存储于第二存储设备内的累积的相位延迟的所合并的延迟,以生成 计算结果。然后,一旦来自倒数计时器的计数值等于由加法器/减法器提供 的计算结果时,触发信号生成器电路可以生成本地触发信号。在一个实施 例中,触发信号生成器电路可以包括:数字比较器,用于将计数值与计算 结果进行比较并响应于该比较生成逻辑值;和选择设备(如:触发器或复 用器),用于响应于逻辑值生成本地触发信号。

同步电路通常可以配置成用于将可以被耦合到每个网络节点的一个或 多个设备同步到本地生成的触发信号。在一个实施例中,一个或多个设备 可以包括一个或多个多媒体设备,例如但不限于:扬声器、话筒、相机、 显示屏等。在一些实施例中,同步电路可以配置成同步发生在被耦合到网 络节点的一个或多个设备之内的事件。此类事件可以包括,但当然不限于: 时钟信号生成、输入/输出信号生成和数据采样。在一个实施例中,同步电 路可以包括逻辑,用于在接收到本地生成的触发信号时同步此类事件。

在一些实施例中,延迟计算电路、触发检测电路、倒数计时器和触发 信号生成器电路可以每个都被具体化在包括网络接口控制器(NIC)的单一 单片基板上。在一些实施例中,同步电路也可以被具体化在包括NIC的单 一单片基板上。在另一些实施例中,同步电路可以被具体化在被包括在每 个多媒体设备内的分离的单片基板上。

附图说明

一旦阅读了以下详细说明并参考附图,本发明的其它目的和优点就将 变得显而易见,在附图中:

图1是框图,示出包括在网络内互连的多个节点的通信系统的一个实 施例;

图2是框图,示出源触发信号在源网络的源节点处的到达和在多个网 络节点处本地触发信号的生成,其中,通过补偿归因于每个节点的唯一的 相位延迟(如:RX-TX延迟)在每个网络节点处同时生成本地触发信号;

图3A是流程图,示出可用于估计归因于每个网络节点的唯一的相位延 迟的方法的一个实施例;

图3B是流程图,示出可用于测量源触发信号和源节点所接收的数据帧 的预定字节之间的(如:在数据帧的预定字节内的)偏移值,并且跨越网 络发送该偏移值的方法的一个实施例;

图4是流程图,示出可用于检测在所接收的数据帧的预定字节之内的 偏移值,并在一个或多个网络节点处生成触发信号,以同步在网络节点和/ 或耦合到网络节点的设备处发生的事件的方法的一个实施例;

图5是时序图,示出一系列数据流,该数据流包括:(a)当没有接 受到源触发信号时,在每个数据帧的预定字节内仅有的非有效数据,(b) 当在相同的数据帧的预定字节前接收到源触发信号时,在数据帧的预定字 节内的有效值(如:Dts偏移值)和(c)当在在前的数据帧的预定字节之 后接受到源触发信号时,在数据帧的预定字节内的有效数据(如:Dts偏移 值);

图6和图7是时序图,提供了如何利用图3A、图3B和图4所示的方 法在多个网络节点处同时生成本地触发信号的两个不同示例;

图8是框图,示出可以被包括在所有网络节点内以用于确定归因于特 定网络节点的唯一的相位延迟的示范性硬件组件;

图9是示出示范性硬件组件的框图,该示范性硬件组件可被包括在源 节点内以用于测量在源触发信号和源节点所接收的数据帧的预定字节之间 的偏移值,并且可选地用于补偿网络抖动;以及

图10是示出示范性硬件组件的框图,该示范性硬件组件可以被包括在 所有网络节点内(除了源节点),以用于检测在所接收的数据帧的预定字 节内的偏移值,生成本地触发信号,以及将事件或耦合到网络节点的设备 同步到所生成的触发信号。

虽然本发明容易得出多种修改和替代形式,但通过附图中示例的方式 示出本发明的特定实施例,并在本文中进行详细描述。然而,应当理解的 是,附图和对其的详细描述不旨在将本发明限制为所公开的特定形式,相 反,本发明旨在涵盖落在所附权利要求所限定的本发明的精神和范围内的 所有修改、等效物以及替代物。

具体实施方式

现在转到附图,图1示出网络或网络10的通信系统的一个示例。通信 系统10包括多个互连的网络节点12。为简洁起见,只示出四个节点。然而, 应当理解,系统10可以包括多于四个节点,也可以包括多个互连的网络。 图1所示的网络被实现成环状(ring)或环路(loop)拓扑。然而,也应当理解, 网络主干(backbone)也可以实现成总线、星型或其他任何网络可用的拓扑。 对应的传输线14被耦合在在节点12之间。传输线14可以是光学、声学或 电学的(有线或无线的)。

每个节点12优选地被本地化到特定区域。每个节点内至少有一个多媒 体设备。如节点12d中所示,节点可以具有多于一个的多媒体设备16。如 果存在多于一个的本地化设备16,则可以如替代的虚线17所示以环路或总 线拓扑在多媒体设备16之间使用本地传输线或本地总线。

网络接口控制器(NIC)20被连接在设备16和节点12的网络之间。 如果多个设备16被本地化到节点12,则网络接口控制器20被设置在本地 总线17和网络传输线14之间。接口20通常包括通信端口(如:双向发送 和接收端口),用于在配置在节点12内的设备16之间发送通信。也可以 在多媒体设备16中的每个设备中发现该通信端口,取决于所述每个设备的 配置,端口可以包括时钟引脚、一个或两个信号引脚和至少一个数据引脚 或数据引脚对。

如在本文中所能理解的,可以将网络接口功能置于一个或多个多媒体 设备16中,或者可以将网络接口功能与多媒体设备分离。可以在单一单片 基板上发现多媒体设备16,也可以在单一单片基板上发现网络接口。这样, 可以在诸如网络接口控制器20的单片基板上,或在可能包含或不包含网络 接口控制器的多媒体设备16的单片基板上发现通信端口。

在一些实施例中,取决于用作跨越网络发送数据的方法,网络接口控 制器20可以包括锁相环(“PLL”)、数字信号处理器(“DSP”)或仅 仅是相位比较器。替代地,相位比较器可以被包括在网络接口控制器20之 内或之外,并且仅仅形成通信节点的部分。此外,例如,网络接口控制器 20可以在多媒体设备16自身之内。

在节点内发现的一个或多个多媒体设备16是能够发送和/或接收多媒 体信号的任何设备。此类信号包括语音、音频、视频、数据文件或可执行 数据程序。此类设备的示例包括:电话、传感器、CD播放器、DVD播放 器、视频相机、扬声器、监视器、计算机、个人数字助理(PDA)、经调 频的立体声、导航系统等。在一些情况下,一个或多个多媒体设备16可以 以传输线14的帧传输率(FSR)采样数据。例如,多媒体设备可以是在大 约48KHz频率处采样数据的DVD播放器。但是,应当承认,一个或多个 多媒体设备16能够以比传输线14的帧传输率(FSR)更高或更低的采样率 (fs)采样数据。例如,多媒体设备16可以是在大约44.1KHz频率处采样数 据的CD播放器。

根据一个实施例,多媒体设备16可以位于汽车内,可以在该汽车内采 用通信系统10,用于将多媒体设备彼此连接,或将多媒体设备连接到相同 汽车的其他节点内的多媒体设备,或将多媒体设备连接到其他汽车、卫星 或固定基站。取决于数据是否在多媒体设备16处被加密或编码,通信系统 10可以允许将此类信息作为流数据(同步的或等时的)、异步数据(分组 的)或控制数据传输到目的地。此外,通信系统10可以允许所有四种类型 的数据跨越建立在传输线14内的一个或多个通道或跨越本地总线17传输。 因此,通信系统10容纳不同类型的数据,以向各种类型可使用的多媒体设 备16增加通用性(versatility)。无论如何跨越传输线14发送数据,该数 据必须参考时钟。

在优选实施例中,图1所示的通信系统10实现成互连节点的同步网络。 在同步网络中,通信系统10的一个节点(如:节点12a)被指定为主节点, 具有本地主时钟,该本地主时钟来源于内部或外部晶体振荡器18。在来自 节点12a的数据以帧传输率(“FSR”)被传输到传输线14上之前,使数 据与主时钟信号同步。各种方法可用作使从节点12b-12d所接收的数据与 所传输的数据流同步。

在一些实施例中,时钟恢复电路可以被包括在各从节点12b-12d中的 每个从节点内,以恢复主时钟信号并且使所接收的数据与所传输的数据流 同步。在一个示例中,从节点内的时钟恢复电路可以包括PLL(未示出), 用于生成经恢复的时钟(如:被锁定到主时钟的本地采样时钟),该经恢 复的时钟可用于同步诸如多媒体设备16之类的数字子系统。时钟恢复电路, 更具体地说,每个从节点中的PLL可以通过简单地重构主时钟或替代地将 主时钟率转换为所需要的采样率,来生成本地采样时钟。时钟恢复电路可 以包括在网络接口控制器20内或从节点12b-12d的多媒体设备16内。然 而,应当注意,诸如上文所描述的时钟恢复电路不会在所有实施例中都被 包括在从节点中。

在另一些实施例中,可以在从节点12b-12d内使用帧同步方法,以使 本地时钟与跨越网络传输的主时钟频率同步。例如,从节点可以以大体上 等于主时钟频率的帧传输率(“FSR”)接收跨越网络被同步传输的数据帧。 每个数据帧可以包括多个管理字节(包括例如:前置码、一个或多个标志、 描述符和/或控制数据字节),之后跟随的是若干数据字节。可以由主节点 生成数据帧,并且使所发送的位流与主节点内部或外部的计时源(如:晶 体振荡器18)同步。在一些情况下,从节点可以利用所接收的数据帧的前 置码用于时钟再现成和同步数据。

面向媒体的系统传输(MOST)网络是同步网络的一个示例,该同步 网络使用所接收的数据帧的前置码用于时钟再现成和数据同步。MOST网 络是高速多媒体网络技术,该技术使用同步数据通信,以通过塑料光纤或 电导体物理层输送音频、视频、语音和数据信号。尽管也可以使用其他网 络拓扑,但MOST网络可以由以环状配置安排的多达64个节点组成。节点 之一被指定为计时主,并且运行以向环提供MOST帧。可以以44.1kHz或 48kHz的帧传输率跨越网络发送MOST帧。每个帧由三部分组成:用于流 数据的同步通道、用于分组数据的异步通道和用于控制及低速数据的控制 通道。

当前有三种类型的MOST网络。被称为MOST25的第一类型使用512 位的帧长度,并且为流数据(同步的)和分组数据(异步的)在光物理层 上的传输提供约25兆位/秒(Mbit/s)的带宽。除帧控制位和校验位之外, MOST25帧通常包括前置码、边界描述符、同步数据区、异步数据区和控 制通道区。边界描述符指明数据帧中同步和异步数据区之间的边界。

MOST50系统的带宽是MOST25系统带宽的两倍(达到约50Mb/s) 并且将帧长度增加到1024位。MOST150进一步将帧长度增加到多达3072 位,约是MOST25系统带宽的六倍。除了所提供的三种所建立的通道之外, 也将具有可调节带宽的以太网通道结合进其他MOST系统。虽然三种所建 立的通道(同步通道、异步通道和控制通道)保持相同,但是在MOST50 和MOST150帧中,控制通道的长度和同步及异步通道之间的边界是灵活 的。

MOST帧结构被设计成通过利用用于指定网络锁定条件的数据帧的前 置码,允许容易实现再同步和时钟及数据恢复。例如,在重置、上电或失 去锁定发生后的正确时间接收有效前置码集合的第一次接收可以向从节点 指示网络锁定已发生。一旦网络被锁定,从节点可以提取和使用来自经编 码的数据流的数据。

一旦实现网络锁定,从节点内的本地时钟会被锁定到主时钟信号的频 率。但是,从节点所接收的数据相对于主节点所发送的数据会产生相移。 该相移是由于:归因于每个活跃的节点的延迟和归因于节点内相位锁定的 容差的附加的累积延迟。虽然同步网络的节点间的固定时序关系产生每个 活跃节点的固定相位延迟量,但是该延迟量是不可预测的,并且在网络的 不同节点间可能变化。此外,每当上电、重置或解锁到锁定事件发生时, 延迟量可能在某个范围内变化。这样,每当网络锁定条件发生时,网络上 的每个节点可以贡献不同固定但不可预测的相位延迟量。在许多网络应用 中,此类相位延迟是不利的。

让我们考虑这样一种情况,其中,多媒体设备16如图1的示范性网络 中所示,被耦合到网络节点。如上文所讨论的那样,这些多媒体设备可以 包括扬声器、话筒、DVD播放器、CD播放器、相机或大量本领域内已知 的多媒体设备中的其他任何设备。在许多多媒体应用中,同步发生在附连 到不同网络节点的多媒体设备内发生的某些事件通常是重要的(即使不是 必要的)。这些事件可以包括,但当然不限于:时钟信号生成、输入/输出 信号生成和数据采样。

例如,可能想要同步被耦合到网络节点12a-16b中的一个或多个节点 的一个或多个多媒体设备16的本地时钟。例如,可能需要时钟同步以同步 多媒体设备16所使用的低频本地时钟的边缘。然而,事件同步不限于时钟 同步,一般还可以被应用于向多媒体设备提供的输入信号的同步和/或多媒 体设备所生成的输出信号的同步。虽然下文提供了若干示例应用,但是本 领域技术人员会认识到还存在其他应用,在其中,事件同步可以是有用的 或所需要的。

首先,考虑一种情况,在其中,多扬声器系统的左、右扬声器被耦合 到网络的不同节点。在这种情况下,同步向多扬声器系统的左、右扬声器 提供的音频信号以保持高保真是很重要的。类似的情景也在音频和视频 (A/V)信号被提供到多显示系统时发生,在该显示系统中,该多显示系统 的显示屏被耦合到不同网络节点。在这种情况下,同步提供给不同的网络 节点的A/V信号以跨越多个显示屏协调此类信号的再现是很重要的。在另 一个示例中,可能需要同步耦合到不同网络节点的多个相机,使得图像能 够被多个相机同时捕捉,并且能够被整合到单一图像中。这在诸如可能将 同时捕捉到的图像合并成3D视图的驾驶员辅助应用中尤其有用。最后,可 以使用事件同步以跨越多个网络节点,像例如可能发生在分布式话筒阵列 中那样协调数据采样。如果单个话筒阵列被耦合到不同的网络节点,则可 以同步在分布式阵列的各阵列处所采集的数据以消除噪声或回声。

对于在网络锁定条件发生之后用于同步同步网络的节点的通信系统和 方法存在需求。尤其是,需要通信系统和方法以补偿每当网络锁定条件发 生时,在网络节点处产生的不同固定但不可预测的相位延迟量。如下文所 述,通过在同步网络的一个或多个节点处同时生成本地触发信号来满足此 类需求。虽然下文在MOST网络的环境下进行描述,但是本文阐述的发明 概念基本可应用于大体上具有任何网络拓扑的大体上任何的同步网络。

返回附图,图1中所示的通信系统10优选地实现成同步网络,在一个 特定实施例中,可以实现成MOST网络。如上文所述,同步网络的所有节 点具有与网络计时主节点的固定的时序关系,使得每个节点具有与网络上 的其他所有节点的固定的时序关系。此外,如图2中所示,网络的每个节 点可以贡献在节点的接收(“RX”)侧所接收的数据帧的固定点和在节点 的发送(“TX”)侧所发送的数据帧的相同固定点之间的相位延迟(本文 中称为RX-TX延迟)的固定量。虽然由于同步网络上的节点间的固定的时 序关系,RX-TX延迟是固定的,但是该延迟在上电、重置和解锁/锁定条件 下是不可预测的,并且对于网络上的不同节点可能是不同的。例如,从节 点中的RX-TX延迟可能远小于计时主节点中的RX-TX延迟。此外,RX-TX 延迟在网络的从节点之间可能不同。

为了补偿该延迟,同步触发信号可以由网络的源节点(如:图2所示 的节点0)生成或接收,并且由网络的一个或多个目的地节点(如:图2 所示的节点1-6中的任何节点)跨越MOST网络发送并使用,以同步发生 在目的地节点处的事件。如本文中所使用的那样,“源节点”是生成或接 收源触发信号的网络节点。在一些实施例中,该“源节点”可以是“主节 点”,或在另一些实施例中,该“源节点”可以是“从节点”。“目的地 节点”是网络节点,该网络节点被耦合到源节点,用于接收来自源节点的 数据帧,以及用于使用包含在该数据帧内的信息,将源触发信号重新创建 成本地触发信号。

在一个实施例中,该本地触发信号可用于使目的地节点的本地时钟在 频率和相位上与跨越网络所发送的主时钟信号或帧传输率同步。在另一些 实施例中,该本地触发信号可用于同步提供给目的地节点(或被耦合到该 节点的多媒体设备)的输入信号或目的地节点(或被耦合到该节点的多媒 体设备)所生成的输出信号。在一些情况下,该本地触发信号可用于同步 发生在基本上所有网络节点内的事件。在另一些情况下,该本地触发信号 可以如图2的示范性实施例中所示的那样,仅用于同步在目的地节点(如 节点2、节点3和节点5)的子集内发生的事件。

有许多可以跨越MOST网络生成和发送触发信号的方法。在一些情况 下,可以在网络接口控制器(NIC)20内实现此类方法。然而,应当注意, 本文描述的方法不限于NIC 20,并且在本发明的另一些实施例中,本文描 述的方法可以在被耦合到NIC 20的一个或多个芯片或电路内实现。在这些 实施例中,NIC 20可以将事件同步所需要的所有信息传到附加的芯片/电路 上。

截止撰写本文为止,当前还没有在MOST NIC 20内用于在同步网络 10的各节点处生成同步触发信号的专用逻辑(硬件或软件)。然而,可以 使用和/或修改在许多当前可用的MOST NIC集成电路上(IC)上的现有逻 辑,以在网络节点的本地生成同步触发信号。虽然不用对MOST NIC IC作 硬件改动就可以实现此类方法,但是此类方法所生成的同步触发信号通常 精度有限,这样,同步触发信号可能不是在所有情况下都令人满意。

在一种示范性方法中,可以使用MOST同步通道,以跨越MOST网络 将同步触发信号发送到一个或多个目的地节点。在该方法中,可以将外部 触发信号作为流端口数据输入馈送进源节点,该流端口数据输入随后跨越 MOST网络在同步通道上被发送到目的地节点。一旦目的地节点(如:在 目的地节点的流端口SX引脚处)接收到该数据,目的地节点可以使用该流 数据再现触发信号,用于事件同步。虽然可以通过简单的固件修改在现有 的MOST NIC 20上实现该方法,但是同步通道方法有若干缺点。例如,该 方法消耗MOST网络上的一个同步通道带宽,并在源节点和每个目的地节 点处消耗一个流端口。此外,同步通道方法遭受增加的延时(latency),并且 产生不可预测的延时数目。该方法导致精度非常有限的触发信号。

在另一种示范性方法中,MOST NIC 20之内的锁相环(“PLL”)可 用于生成同步触发信号。在源节点处,可以由PLL监测内部或外部生成的 触发信号(如:源触发信号),并且可以在MOST网络上发送该触发信息。 一旦接受到该触发信息,被包括在目的地节点内的PLL可以使用该触发信 息,以重新创建源触发信号的版本(在与源触发相同的频率、倍频或亚倍 频处),该版本可用于同步目的地节点处的事件。

与先前的方法类似,上文所描述的频率合成PLL方法可以被实现在许 多现有的MOST NIC IC(具有PLL硬件的那些MOST NIC IC)内。然而, 上文所描述的频率合成PLL方法仅对周期性触发信号有用,并且消耗 MOST网络上的一个等时相位通道带宽。此外,该方法在每个目的地节点 处需要一个可用于音频或视频时钟重新创建的频率合成PLL。此外,该方 法生成在源触发信号和在目的地节点处所再现的触发信号之间的不可预测 的延迟量,并且遭受在不同的目的地节点处所生成的本地触发信号之间的 计时差异。这样,与上文所描述的同步通道方法类似,该频率合成PLL方 法不能生成具有可接受精度的触发信号。

虽然上文所描述的方法对于一些应用是可接受的,但是其产生在目的 地节点所生成的触发信号之间的不可预测的延迟量。该不可预测的延迟量 减小了所生成的触发信号的计时精度,并且在多数情况下,妨碍在每个目 的地节点处同时生成触发信号。此外,需要在源节点和每个目的地节点内 的流端口或PLL模块以实现上述方法。为了克服这些缺点,本文提供用于 同步多个网络节点的改进的通信系统和方法,在下文中详细描述。

图3-图4中示出用于同步多个网络节点的改进的方法的一个实施例。 图3A示出该改进的方法的延迟估计阶段,凭借该阶段计算出归因于每个网 络节点的唯一的相位延迟,并且在该阶段存储累积的相位延迟。紧接着图 3A的图3B示出该改进方法的触发同步阶段,凭借该阶段,通过测量在源 触发信号与网络的主节点所生成并且源节点所接收的数据帧的预定字节之 间的偏移,将源节点所生成或所接收的源触发信号与主时钟信号同步。然 后,在触发同步阶段,将源节点所测量的偏移值跨越网络发送到每个目的 地节点。最后,图4示出该改进的方法的事件同步阶段,凭借此方法,在 检测到所接收的数据帧的预定字节之内的偏移值时,在一个或多个网络节 点处生成本地触发信号,用于将网络节点处的事件与本地触发信号同步。 如下文更详细描述的那样,该改进的方法通过补偿归因于单个节点的唯一 的相位延迟(如:RX-TX延迟)使得本地触发信号能够在每个网络节点处 被同时生成。下文将讨论关于延迟估计阶段、触发同步阶段和事件同步阶 段的进一步细节。

如图3A所示,该改进的方法的延迟估计阶段通常可以在检测到网络锁 定条件(在步骤30中)时开始。如本文中所使用的那样,网络锁定条件可 以在网络整体上电或重置之后,或者在被耦合到该网络的网络接口控制器 (NIC)上电或重置之后发生。在一些情况下,网络锁定条件可以在出于若 干原因可能发生的网络解锁条件之后附加或替代地发生。例如,当一个网 络节点掉电或重置时,它会向下游传播解锁条件。发生这种情况时,必须 在网络节点中重建网络锁定。

一旦重建了网络锁定,从节点内的本地时钟会再次被锁定到主节点所 生成的主时钟信号的频率。然而,目的地节点所接收的数据相对于源节点 所传输的数据会产生相移。为了补偿此类相移,每当实现网络锁定时,每 个节点可以计算归因于该节点的RX-TX延迟(在步骤32中)。一旦网络 被锁定,经过每个节点的RX-TX延迟除了网络抖动所产生的相对小的变化, 会保持恒定。

每个节点所计算的RX-TX延迟是归因于该节点的唯一的相位延迟,其 由数据帧在节点的接收(RX)引脚到相同节点的传输(TX)引脚之间经过 所需要的相位延迟量组成。通常,可以计算在节点的RX引脚处所接收的 数据帧的任何固定点到在相同节点的TX引脚所发送的数据帧的相同固定 点之间的RX-TX延迟。该固定点可以大体上是数据帧内的任何固定点,例 如:帧开始(“SOF”)处或数据帧内任何特定字节的开始或结束处。在 一些实施例中,可以向RX-TX延迟增加预定量以代表在一个节点的TX引 脚到下一个下游节点的RX引脚之间的传输介质中的延迟。对于连接两个 相邻节点的每根传输线而言,该预定延迟量通常是固定的。向所测量的 RX-TX延迟增加该预定延迟量,以产生从前一个节点的TX引脚处到当前 节点的TX引脚处的总延迟。

一旦计算出每个节点的RX-TX延迟,就可以以两种方式之一分发信 息。在一个实施例中,可以将在每个节点处计算出的RX-TX延迟分发到网 络上其他所有的节点处(在步骤34中)。例如,可以使用数据通道向所有 下游和上游节点发送每个单独计算出的RX-TX延迟。这使得每个节点能够 通过合并归因于配置在源节点和当前节点之间的所有节点的单个RX-TX延 迟来计算节点的累计的RX-TX延迟(Dacc)(在步骤36中)。

如下文所述,源节点是接收或生成源触发信号的节点(如图2中所示 的节点0)。该源节点可以是主节点或从节点之一,通常由某个更高等级的 软件指定。源触发节点下游的第N个节点的累积的RX-TX延迟被指定为 RX-TX延迟_N。从源节点(如:图2中所示的节点0)下游的第一个节点 (如:图2中所示的节点1)开始,网络上每个下游节点的累积的RX-TX 延迟会增加。一旦计算出特定节点的累积的RX-TX延迟,会将归因于该节 点的累积的RX-TX延迟存储于该节点内(如图3A中的步骤38中所示), 供将来使用。

每个节点(从第一个节点开始)可以将其累积的RX-TX延迟传达到网 络上的下一个下游节点(如图3A中的替代步骤37中所示),而不将每个 节点的单个RX-TX延迟分配到其他所有网络节点。每个节点可以通过合并 从上游节点处接受到的累积的RX-TX延迟和其自身唯一的RX-TX延迟来 计算该节点自身累积的RX-TX延迟。例如,节点1(见图2)可以计算其 RX-TX延迟,并将其传达到节点2。在接收到该延迟时,节点2可以通过 合并从节点1接受到的RX-TX延迟(如:节点1的累积的RX-TX延迟) 和其自身唯一的RX-TX延迟来计算累积的RX-TX延迟。然后,来自节点 2的累积的RX-TX延迟可以传达到节点3,以此类推。在每个节点处,可 以将归因于该节点的累积的RX-TX延迟存储于该节点内(在步骤38中), 供将来使用。

一旦在每个节点中存储了累积的RX-TX延迟,该方法可以进入如图 3B所示的触发同步阶段。在示例性实施例中,当源节点生成或接收到源触 发信号(在步骤40中)时,触发同步阶段开始。然后,源节点测量源触发 信号和源节点所发送的数据帧的预定字节的下一次出现之间的时间差(在 步骤42中)。本文中将该时间差异称为“偏移值”,并标记为Dts。

在一个优选实施例中,预定字节可以是MOST数据帧的指定“触发字 节”。例如,如果在MOST网络中实现图1所示的通信系统10,MOST 数据帧的一个字节可以被指定为“触发字节”。在一些情况下,触发字节 可以是MOST帧上被指定的字节,其只在本文所述的方法的触发同步阶段 被启用。在其他时候,该触发字节可用于其常规功能。在一个示例中,可 以将MOST150帧的帧字节10指定为触发字节,因为其当前被指定为MOST  NIC 20固件中的空闲字节。然而,触发字节不限于MOST150帧的第10个 字节,无论是否在MOST网络或其他经同步的网络中发送数据帧,该触发 字节大体上可以占据数据帧的任何预定字节。

在一个实施例中,可以测量在源触发信号和源节点所传输的下一个 MOST触发字节的开始处之间的Dts偏移值。如果在MOST触发字节之前 接收到源触发信号,则源节点可以在相同的MOST触发字节之内将该Dts 偏移值发送到下一个下游节点(在步骤46中)。然而,如果在MOST触发 字节之后接收到源触发信号,则可以将在下一个数据帧的MOST触发字节 之内的Dts值发送到下一个下游节点(在步骤46中),这样会通过少量延 迟Dts值的发送而增加延时。在替代实施例中,可以测量在源触发信号和 MOST触发字节的结束处之间的Dts偏移值,或测量在源触发信号和数据 帧的某个其他预定字节之间的Dts偏移值。然而,通过总是要求发送紧跟 着的触发字节内的Dts值,会进一步增加延时。

为了本公开之用,本文描述的Dts偏移值可以认为是“有效数据值”。 一般而言,包含数据的有效数据值与非数据值是可区别的,非数据值可作 为标识符、译码违例等在数据帧内被发送。在一个实施例中,只有在先前 已经将“有效触发信号”发送到节点之后,才可以将Dts偏移值发送到下 游节点。可以发送在数据帧的MOST触发字节内的有效触发信号,该有效 触发信号可以包含指示下游节点在数据帧内存在有效触发信号的任何信 息。该有效触发信号可以包括任何有效数据字节,例如:非零值。在发送 该有效触发信号之后,可以在下一个MOST触发字节之内将Dts偏移值发 送到下游节点。

在优选实施例中,通过使用在MOST触发字节之内的被发送的Dts偏 移值(如:有效数据值)不仅向下游节点传送该Dts偏移值,而且向下游 节点指示在数据帧内存在有效触发,从而高效地利用网络带宽。例如,在 数据帧内没有待被发送的有效触发信号期间,可以发送在MOST触发字节 内的非有效数据值(如:译码违例或全0串)。在图5所示的数据流60中 示出这种情况。一旦源节点生成或接收到有效触发信号,可以发送在诸如 图5中的数据流62和数据流64中所示的在下一个MOST触发字节内对应 Dts偏移值的有效数据值。MOST触发字节包含有效数据值而不是非有效数 据值的该事实指示下游节点在数据帧内存在触发信号。由于不需要分别传 输Dts偏移值和有效触发的指示,有效减小了网络带宽。在围绕MOST网 络传输之后,触发字节被停止穿过源节点,并且再次重复。如果在源节点 处生成或接收到新的触发信号,会立即发送出在下一个数据帧上的该新触 发信号。

如上文所述,优选地测量在源触发信号和源节点所接收的下一个 MOST触发字节的开始处之间的Dts偏移值,以便可以在下一个MOST触 发字节之内将该Dts偏移值向下游节点发送。然而,如图5所示,对Dts 偏移值的测量通常取决于源触发信号的到来。如图5的数据流62中所示, 如果源触发信号在数据帧的MOST触发字节之前到达源节点,则测量在该 源触发信号和相同数据帧的MOST触发字节之间的Dts偏移值。另一方面, 如图5的数据流64中所示,如果源触发信号在数据帧的MOST触发字节之 后到达源节点,则测量在该源触发信号和下一个数据帧的MOST触发字节 之间的Dts偏移值。在源触发信号在MOST触发字节期间到达的情况下(未 示出),测量在该源触发信号和下一个数据帧的MOST触发字节之间的Dts 偏移值。

回到图4,将源节点所生成的数据帧发送到网络上,并且由目的地节 点接收该数据帧(在步骤48中)。当目的地节点检测到在所接收的数据帧 的MOST触发字节之内的Dts偏移值(如:有效数据值)时,该改进的方 法的事件同步阶段开始(在步骤50中)。发生上述情况时,目的地节点可 以启动倒数计时器,该倒数计时器从预定值开始倒数(在步骤52中)。在 一个实施例中,该预定值可以是MOST数据帧的帧尺寸的两倍(如:位数 目的两倍)。例如,在MOST50系统中,该预定值可以是2*(1024)=2048, 或者在MOST150系统中,该预定值可以是2*(3072)=6144。然而,应当注 意,该预定值大体上可以是任何被视为合适的值。一旦计数值等于预定值 减去Dts偏移值和存储于目的地节点之内的累积的RX-TX延迟的所合并的 延迟时,目的地节点监测到该计数值(在步骤54中),并且在该目的地节 点处生成本地触发信号(在步骤56中)。一旦生成了该本地触发信号,可 以使用在目的地节点本地所生成的该触发信号将被耦合到该目的地节点的 多媒体设备(或更具体地说,将在该多媒体设备之内发生的事件)与本地 所生成的触发信号同步(在步骤58中)。

图3-图4所示的改进的方法通过将源触发信号与主时钟信号(通过Dts 偏移值)同步和在一个或多个目的地节点处同时重新创建本地触发信号, 提供在多个网络节点处的事件同步。可以通过补偿归因于在源节点和目的 地节点之间的每个节点的唯一的RX-TX延迟,在每个目的地节点处同时生 成触发信号。更准确地说,本文所述的方法使目的地节点能够在小的不确 定度时间窗口之内大体相同的时间生成本地触发信号。该时间窗口确定了 所生成的触发信号的精度,并且是两个因素的直接结果——第一是在源节 点和目的地节点间每个节点处,由于在这些节点的RX点和TX点处的不同 的时钟域而产生的RX-TX延迟测量的小的不确定度,第二是归因于网络上 的抖动。

网络抖动是导致触发信号时序中大部分不确定度的原因。这种类型的 抖动是低频抖动,可以被包括在每个网络节点之内的PLL跟踪。这意味着, 在任意给定时刻,在网络上的不同节点处的瞬时抖动大体上是相同的值。 这样,可以通过补偿网络抖动来去除触发信号时序中的大部分不确定度。 一旦去除了网络抖动,剩余的不确定度仅归因于RX-TX延迟测量的精度。 由于RX-TX延迟测量的不确定度很小(例如:在MOST150系统中约6.5ns 每节点),该不确定度在多数情况下可以忽略。

回到图3B,本文描述的方法的替代实施例通过在每次源节点生成或接 收到触发信号时测量在源节点处的RX-TX延迟来补偿网络抖动。这可以意 味着,为源节点所接收的每个数据帧测量RX-TX延迟,但是仅当源触发信 号到达时使用该RX-TX延迟,或者仅当源触发信号到达时测量和使用该 RX-TX延迟。通过确定在延迟估计阶段(如图3A中所示紧跟网络锁定条 件的阶段)所计算的RX-TX延迟和当前所测量的RX-TX延迟的差异来计 算在源节点处的抖动量的估计值。在计算出抖动值之后,源节点在跨越网 络在MOST触发字节中发送所合并的Dts偏移值和抖动值(在步骤46中) 之前,可以将抖动值加到Dts偏移值上(在图3B所示的可选的步骤44中)。 在一些情况下(未示出),可以在下游节点中以相同方式计算抖动值,并 且在将MOST触发字节之内的经更新的Dts+抖动值转发到下一个下游节点 之前可以调节抖动值。

图6和图7是针对如何能利用本文所描述的方法在多个目的地节点处 同时生成本地触发信号提供的两个不同示例。尤其是,图6和图7是时序 图,示出在源节点0处源触发信号的到达,以及在每个目的地节点1-N处 本地触发信号的同步生成。虽然在本发明的一些实施例中,节点1-N可以 包括所有的目的地节点,但是,应当注意,在本发明的另一些实施例中, 可以仅在目的地节点的选择子集处生成本地触发信号。

在图6所示的示范性时序图中,源触发信号在MOST触发字节到达F1 数据帧之前一小段时间到达源节点0处。该源节点0测量在源触发信号和 F1帧内的MOST触发字节的开始处之间的时间延迟(如:Dts偏移),并 且跨越网络在相同的F1帧的MOST触发字节之内发送该Dts偏移值。在目 的地节点1-N中的每个节点处一检测到Dts偏移值时,目的地节点就启动 倒数计时器,并且在一旦该计时器的计数值等于2*帧尺寸(或其他某个预 定值)减去该Dts偏移值和存储于那个目的地节点之内的累积的RX-TX延 迟的所合并的延迟时,生成本地触发信号。

在图6和图7中,将从源触发节点开始的每个下游节点的累积的 RX_TX延迟指定为RX_TX延迟_1、RX_TX延迟_2、……RX_TX延迟_N。 如上文所述,计算在节点的RX引脚处所接收的数据帧的固定点到在相同 节点的TX引脚处所发送的数据帧的相同固定点之间的RX-TX延迟。一旦 在特定节点处(如:节点2)计算出RX-TX延迟,可以通过合并归因于配 置在源节点0和那个节点之间的所有网络节点的唯一的RX-TX延迟来计算 那个节点的累积的RX-TX延迟(如:RX-TX延迟_2)。在一些实施例中, 在计算累积的延迟时,可以将预定的延迟量加到RX-TX延迟中。该预定量 代表在从前一个节点的TX引脚到当前节点的RX引脚之间的物理传输介质 中的延迟量。

图6示出存储于每个目的地节点之内的累积的RX-TX延迟。尤其是, 图6示出了在一个实施例中,如何能够计算特定节点(如:节点2的RX-TX 延迟_2)在源节点0处的F1数据帧的帧开始(“SOF”)处和在特定目的 地节点处的F1数据帧的SOF处之间的累积的RX-TX延迟。然而,应当注 意,在本发明的另一些实施例中,可以以稍微不同的方式计算RX-TX延迟 和累积的RX-TX延迟。

图7是另一个示范性时序图,示出如何能利用本文描述的方法在多个 目的地节点处同时生成本地触发信号。然而,图7所示的时序图与图6所 示的时序图在许多方面不同:(1)在源节点处源触发信号的到达,(2) 在源节点处Dts偏移值的测量和随后的Dts偏移值跨越网络的发送,和(3) 在每个目的地节点处RX-TX延迟值的计算方式。下文将详细描述每一个方 面的区别。

与图6所示的时序图不同,图7所示的时序图中的源触发信号在MOST 触发字节到达F1数据帧中的源节点0处之后的某个时间到达源节点0处。 这使源节点0测量在源触发信号和在下一个数据帧内(如:在F2数据帧内) 的MOST触发字节的开始处之间的时间延迟(如:Dts偏移),并且跨越 网络在数据帧F2的MOST触发字节内传输该Dts偏移值。

除了上文所描述的区别之外,图7所示的时序图利用不同的标记或固 定点来计算与每个目的地节点相关联的累积的RX-TX延迟。在图6中,计 算在源节点0处的F1数据帧的帧开始(“SOF”)处与在目的地节点1-N 中的每个节点处的F1数据帧的SOF处之间的累积的RX-TX延迟。在图7 中,计算在源节点0所接收的特定数据帧(如:数据帧F2)中的MOST触 发字节的开始处和目的地节点1-N所接收的相同的数据帧中的MOST触发 字节的开始处之间的累积的RX-TX延迟。虽然图7可能暗示只使用包含有 效数据值的MOST触发字节(如:包含数据帧F2中的Dts值的MOST触 发字节)计算累积的RX-TX延迟,但是本领域技术人员会理解,如何能够 替代地使用包含非有效数据值的MOST触发字节(如:F1数据帧中的MOST 触发字节)来计算累积的RX-TX延迟。

现在已经参考图2-图7描述了用于在同步网络中在网络锁定条件发生 后同步多个网络节点的方法的优选实施例。一般而言,该方法通过消除在 每个网络节点处不可预测的相位延迟所导致的时序差异,在大体上相同的 时间在一个或多个网络节点处生成本地触发信号。可以使用本地触发信号 同步被耦合到网络的不同节点处的设备,更具体地说,同步发生在被耦合 到不同网络节点的设备之内的事件。当所需要被生成的触发信号的频率不 高于帧传输率时,本文描述的方法通常是适用的。此外,触发信号可以是 异步于帧传输率的,并且不需要是周期性的。

在一些实施例中,可以在硬件、软件或硬件和软件的任何组合(如: 固件)中实现本文描述的方法。然而,在优选实施例中,可以主要在硬件 中实现该方法,以提供最小延迟。图8-图10示出可用于实现本文所描述方 法的示范性硬件组件。然而,应当注意,也可以使用具有大体上相同功能 的其他硬件和/或软件来替代图8-图10所示的示范性组件,而不背离本发 明的范围。

图8示出示范性硬件组件,该示范性硬件组件可以被包括在所有的网 络节点之内,以计算归因于单个网络节点的唯一的相位延迟。尤其是,图8 示出延迟计算电路70的一个实施例,该延迟计算电路70可以被包括在每 个网络节点内,用于在网络锁定条件发生后,确定归因于特定网络节点的 唯一的相位延迟。如上文所述,唯一的相位延迟(本文中被称为RX-TX延 迟)由数据帧的固定点在特定网络节点的接收(RX)引脚到相同网络节点 的传输(TX)引脚之间经过所需的相位延迟量组成。

在图8所示的实施例中,延迟计算电路70包括计数器72,该计数器 72在节点的RX引脚处接收到数据帧的固定点时被启动,当在节点的TX 引脚处接收到相同的数据帧的固定点时被停止。一旦计数器72被停止,被 包含在计数器72内的计数值(该计数值表示通过该节点的RX-TX延迟的 估计)在被转发到第二存储设备76之前,被传输到第一存储设备74(如: 缓冲器或寄存器)。

第二存储设备76存储与节点相关联的累积的相位延迟。如上文所述, 可以用两种方式之一计算累积的相位延迟。在一个实施例中,可以跨越网 络,将来自缓冲器74的RX-TX延迟发送到网络的其他所有节点。然后, 每个节点可以通过给存储于其自身的缓冲器74内的RX-TX延迟加上跨越 网络传输的来自配置在源节点和其自身之间的所有节点的RX-TX延迟,来 计算其自身的累积的延迟。在另一个实施例中,每个节点(从源节点后的 第一个节点开始)可以通过将从上游节点接收到的累积的相位延迟和存储 于缓冲器74之内的其自身的RX-TX延迟合并来计算该节点的累积的相位 延迟。在将累积的相位延迟存储于第二存储设备76之后,该节点可以跨越 网络,将其累积的RX-TX延迟传输到下一个下游节点。

图9示出可以被包含在源节点之内以测量Dts偏移值的示范性硬件组 件。尤其是,图9示出偏移计算电路80的一个实施例,该偏移计算电路80 可以被包括在源节点之内,用于测量在源节点所接收的源触发信号和网络 的主节点所生成和源节点所接收的数据帧的预定字节(如:MOST触发字 节)之间的偏移值。

在图9所示的实施例中,偏移计算电路80包括计数器82,该计数器 82在接收到源触发信号时被启动,并且在接收到数据帧的下一个MOST触 发字节(或其他某个预定字节)的开始处时被停止。一旦计数器82被停止, 被包含在计数器82内的MOST触发字节内的计数值(该值代表了在源触发 信号和以网络的帧传输率所发送的数据字节之间的时间延迟或偏移)在在 被转发到网络上之前,被传输到缓冲器(或寄存器)84。

在一些实施例中,偏移计算电路80可以包括抖动补偿电路86,用于 测量并补偿网络抖动。为了补偿网络抖动,抖动补偿电路86可以配置成用 于接收来自被包括在源节点内的第一存储设备74的多个唯一的相位延迟。 尤其是,抖动补偿电路86可以配置成接收RX-TX延迟,该RX-TX延迟先 前是源节点在网络锁定条件之后计算出的,该源节点在接收到/生成源触发 信号时计算另一个RX-TX延迟。为了计算抖动值,抖动补偿电路86可以 包括加法器或减法器,用于确定先前和当前所测量的RX-TX延迟之间的差 异。一旦计算出抖动值,在跨越网络在MOST触发字节之内发送所合并的 偏移值和抖动值之前,将该抖动值加到偏移值。

图10示出示范性硬件组件,该示范性硬件组件可以被包括在网络节点 内以检测在所接收的数据帧的预定字节之内的偏移值,生成本地触发信号 和将设备和/或事件与本地触发信号同步。如图10所示,触发检测电路90 可以被包括在每个网络节点内,用于接收来自网络的数据帧和检测在所接 收的一个数据帧的预定字节之内的偏移值(如:Dts偏移值)。在一个实施 例中,触发检测电路90可以包括逻辑门,该逻辑门设计成确定预定字节(如: MOST触发字节)是否包含非有效数据(如:全0、标识符或译码违例)或 有效数据(如:Dts偏移值或所合并的Dts偏移和抖动值)。如果触发检测 电路90确定数据帧的预定字节仅包含非有效数据,则该电路可以仅仅继续 接收数据帧,并且监测被包含在那些帧之内的预定字节。

如果触发检测电路90确定数据帧的预定字节包含有效数据,则该触发 检测电路90可以向倒数计时器92提供开始信号,用于从预定值开始倒数。 同时,触发检测电路90可以启用Dts提取电路94,以将来自预定字节的 Dts偏移值(如:有效数据)复制到寄存器中。然后,可以向加法器和/或 减法器96提供该Dts偏移值,用于计算用于在每个网络节点处生成本地触 发信号的公共时间标记。如上文所述和如图10所示,可以通过将Dts偏移 值加给存储于每个节点之内的累积的相位延迟以产生所合并的延迟,再从 预定值中减去所合并的延迟,来计算该公共时间标记。连同来自倒数计数 器92的计数值一起,将来自加法器/减法器96的结果提供给触发信号生成 器电路98。

一旦倒数计时器92的计数值等于加法器/减法器96所提供的计算结 果,触发信号生成器电路98生成本地触发信号。在一个实施例中,触发信 号生成器电路98可以包括:用于将计数值与计算结果进行比较并响应于该 比较结果生成逻辑值的数字比较器,和用于响应于该逻辑值生成本地触发 信号的选择设备(如:触发器或复用器)。例如,比较器可以生成逻辑高 值以指示计数值等于计算结果。在接收到来自比较器的该逻辑高值时,选 择设备可以在网络节点处生成本地触发信号。由于本文所述的方法补偿归 因于每个网络节点的唯一的相位延迟,在每个网络节点处同时生成本地触 发信号。

一旦在特定节点处生成了本地触发信号,可以向事件同步电路100提 供该触发信号,用于将被耦合到该特定网络节点的设备或将发生在该设备 之内的事件与所生成的触发信号同步。在一个实施例中,该设备可以包括 一个或多个多媒体设备,例如但不限于:扬声器、话筒、相机、显示屏等。 在一个实施例中,该事件可以包括,但当然不限于:时钟信号生成、输入/ 输出信号生成和数据采样。在一个实施例中,该同步电路可以包括逻辑, 用于在接收到所生成的触发信号时,同步被耦合到特定网络节点的设备或 发生在该设备之内的事件。

在一些实施例中,图8-图10所示的一个或多个硬件组件可以被具体化 在单一单片基板上。例如,延迟计算电路、触发检测电路、倒数计时器和 触发信号生成器电路可以被包括在被具体化在单一单片基板上的网络接口 控制器(如图1所示的NIC 20)之内。然而,应当注意,图8-10所示的硬 件组件不限于本发明所有实施例中的单一单片基板或网络接口控制器。在 一些实施例中,同步电路也可以被具体化在包括NIC的单一单片基板上。 在另一些实施例中,同步电路可以被具体化在被包括在每个多媒体设备内 的分离的单片基板上。

对具有本公开益处的本领域内的技术人员而言,应当领会,相信本发 明提供了改进的通信系统和方法,用于在网络内发生网络锁定条件之后同 步多个网络节点。更具体地说,本发明提供了用于在多个网络节点中的每 个节点处生成本地触发信号以将被耦合到网络节点的设备(或发生在该设 备之内的事件)与该触发信号同步的装置。使用本文提供的装置,可以通 过补偿源于多个网络节点中的每个节点的唯一的相位延迟,在多个网络节 点中的每个节点处同时生成本地触发信号。这对先前的同步方法的提供了 重大改进,先前的方法在每个网络节点处生成固定但不可预测的相位延迟 量。鉴于本说明书,本发明各个方面的进一步修改和替代实施例对本领域 技术人员而言是显而易见的。因此,所附权利要求旨在被解释为包括所有 这些修改和变化,相应地,应当认为说明书和附图是说明性的而非限制意 义的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号