用于在时间认知设备之间传达时间信息的方法和装置制造方法

文档序号:7791524阅读:188来源:国知局
用于在时间认知设备之间传达时间信息的方法和装置制造方法
【专利摘要】根据一个实施例,一种装置包括根据第一时钟操作的第一处理单元、根据从第一时钟分离地运行的第二时钟操作的第二处理单元以及耦合到第一通信单元和第二通信单元的同步控制器。同步控制器被配置为(i)使第一通信单元根据第一时钟生成第一处理单元向第二处理单元发送信号的第一时间指示、(ii)使第二处理单元根据第二时钟生成第二处理单元接收信号的第二时间指示以及(iii)基于第一时间指示和第二时间指示确定在第一时钟和第二时钟之间的偏移。
【专利说明】用于在时间认知设备之间传达时间信息的方法和装置
[0001] 有关申请的夺叉引用
[0002] 本公开内容要求名称均为"Wireless AVB Requirements"、提交于2012年1月 4日的第61/582,953号美国临时专利申请和提交于2012年10月2日的第61/708,866号 美国临时专利申请的权益。

【技术领域】
[0003] 本公开内容总体上涉及通信设备,并且更具体地涉及同步通信设备或者通信设备 的部件。

【背景技术】
[0004] 这里提供的【背景技术】描述是为了一般地呈现公开内容的情境。当前名义的发明人 的工作在这一【背景技术】章节中描述该工作的程度上以及该描述的可以未另外限定为在提 交时的现有技术的方面既未明确地、也未暗示地被承认为相对于本公开内容的现有技术。
[0005] 在通信设备通过有线或者无线通信信道交换数据时,数据传播经过的介质以及在 中间或者端点通信设备的处理向数据交换引入各种传播延迟。例如,连接一对通信设备的 以太网链路通常将通信帧延迟若干微秒,并且传播延迟一般依赖于以太网链路的长度。在 另一方面,接收帧、处理接收的帧并且进一步发送帧的网络路由器可能引入通常以毫秒为 单位测量的长得多的延迟。
[0006] -些通信协议指定用于发送用于数据单元的时间戳信息的技术。然而,发送设备 和接收设备可能具有在不同时间启动和以不同速率运行的时钟。因而,已经开发出标准以 允许通信设备交换定时和同步信息。具体而言,电气和电子工程师协会(IEEE)802. 1AS标 准指定用于同步局域网(LAN)的协议和过程。如今,以太网端口使用IEEE 802. 1AS标准 和IEEE 802. 3af( "通过以太网的功率")标准来同步。作为另一示例,无线端口使用IEEE 802. 1AS标准和IEEE 802. llv标准来同步,该标准指定用于连接到无线网络的客户端设备 的配置技术。


【发明内容】

[0007] 在一个实施例中,一种装置包括根据第一时钟操作的第一处理单元、根据从第一 时钟分离地运行的第二时钟操作的第二处理单元以及耦合到第一通信单元和第二通信单 元的同步控制器。同步控制器被配置为(i)使第一通信单元根据第一时钟生成第一处理单 元向第二处理单元发送信号的第一时间指示、(ii)使第二处理单元根据第二时钟生成第二 处理单元接收信号的第二时间指示以及(iii)基于第一时间指示和第二时间指示确定在 第一时钟和第二时钟之间的偏移。
[0008] 在各种实现方式中,可以包括以下特征中的一个或者多个特征。该装置可以包括 通用接口,第一通信单元经由该通用接口向第二通信单元发送信号。通用接口可以包括(i) 通用输入/输出(GPI0)管脚、(ii)外围部件互连快速(PCIE)端口或者(iii)安全数字输 入输出(SDIS)槽中的一项或者多项。信号可以是脉冲。同步控制器可以被配置为周期地 重复操作(i)和(ii)以确定在第一时钟和第二时钟之间的频率差值。第一处理单元可以 是(i)被配置为经由有线通信链路接收和发送数据的有线通信单元以及(ii)被配置为经 由无线通信链路接收和发送数据的无线通信单元中的一个通信单元,并且第二处理单元可 以是有线通信单元和无线通信单元中的另一通信单元,并且该装置可以被配置为在有线通 信单元和无线通信单元之间转发数据。有线通信链路可以是以太网链路。该装置可以包括 耦合到第一处理单元和同步控制器以存储第一时间指示的第一硬件寄存器,以及耦合到第 二处理单元和同步控制器以存储第二时间指示的第二硬件寄存器。
[0009] 另一实施例是一种在设备中的同步方法,该设备包括(i)根据第一时钟操作的第 一处理单元和(ii)根据从第一时钟分离地运行的第二时钟操作的第二处理单元。该方法 包括使第一处理单元根据第一时钟生成第一处理单元向第二处理单元发送信号的第一时 间指示。另外,该方法包括使第二处理单元根据第二时钟生成第二处理单元接收信号的第 二时间指示。更进一步,该方法包括基于第一时间指示和第二时间指示确定在第一时钟和 第二时钟之间的偏移。
[0010] 在各种实现方式中,可以包括以下特征中的一个或者多个特征。该方法可以包括 使第一处理单元经由(i)通用输入/输出(GPI0)管脚、(ii)外围部件互连快速(PCIE)端 口或者(iii)安全数字输入输出(SDIS)槽之一发送信号。该方法可以包括使第一处理单 元以脉冲的形式发送信号。该信号可以与在第一处理单元和第二处理单元之间发送的命令 关联,其中该命令符合为在第一处理单元和第二处理单元之间交换控制信息而定义的消息 发送协议。该方法可以包括:使第一处理单元生成信号作为多个信号之一;使用多个信号 来生成第一时间指示和第二时间指示的多个版本;并且基于第一时间指示和第二时间指示 的多个版本确定在第一时钟和第二时钟之间的频率差值。第一处理单元可以是第一通信单 元并且第二处理单元可以是第二通信单元,并且该方法可以包括:经由第一通信单元的端 口接收数据分组;使用确定的偏移和确定的频率差值来确定与该设备关联的传播延迟;并 且经由第二通信单元的端口发送数据分组,包括提供传播延迟的指示。第一通信单元可以 是有线通信单元和无线通信单元中的一个通信单元,并且第二通信单元是可以有线通信单 元和无线通信单元中的另一通信单元。
[0011] 在又一实施例中,一种处理单元被配置为在设备中操作,该设备包括作为第一处 理单元的该处理单元、第二处理单元以及耦合到第一处理单元和第二处理单元的同步控制 器。该处理单元包括:时钟,第一处理单元根据该时钟操作,其中第二处理单元根据分离时 钟操作;以及接口,第一处理单元经由该接口耦合到第二处理单元。该处理单元被配置为 (i)经由接口向第二处理单元发送周期信号并且(ii)根据第一时钟生成第一处理单元向 第二处理单元发送周期信号的第一时间指示。同步控制器被配置为(i)使第二处理单元根 据第二时钟生成第二处理单元接收周期信号的第二时间指示并且(ii)基于第一时间指示 和第二时间指示生成同步参数。
[0012] 在各种实现方式中,可以包括以下特征中的一个或者多个特征。接口可以包括(i) 通用输入/输出(GPI0)管脚、(ii)外围部件互连快速(PCIE)端口或者(iii)安全数字输 入输出(SDIS)槽之一。周期信号可以是脉冲。同步参数可以包括(i)在第一处理单元的 时钟和第二处理单元的时钟之间的偏移以及(ii)在第一处理单元的时钟和第二处理单元 的时钟之间的频率差值中的至少一项。第一处理单元可以是(i)被配置为经由有线通信链 路接收和发送数据的有线通信单元以及(ii)被配置为经由无线通信链路接收和发送数据 的无线通信单元中的一个通信单元,并且第二处理单元可以是有线通信单元和无线通信单 元中的另一通信单元。

【专利附图】

【附图说明】
[0013] 图1是根据一个实施例的示例通信系统的框图,在该通信系统中,一个或者多个 设备实施本公开内容的一种或者多种同步技术;
[0014] 图2是图示根据一个实施例的经由若干设备的数据单元的示例传播的示图,所述 若干设备包括可以在图1的通信系统中操作的设备;
[0015] 图3是根据一个实施例的示例设备的框图,该设备包括使用本公开内容的一种或 者多种同步技术来同步的多个通信单元;
[0016] 图4是根据一个实施例的用于确定在相同设备中操作的两个处理单元的时钟之 间的差值的示例方法的流程图;
[0017] 图5是根据一个实施例的用于确定在相同设备中操作的两个处理单元的时钟之 间的计数频率差值的示例方法的流程图;
[0018] 图6A是根据一个实施例的用于确定在数据单元经由有线端口到达包括有线通信 单元和无线通信单元的设备时经过该设备的传播延迟的示例方法的流程图;以及
[0019] 图6B是根据一个实施例的用于确定在数据单元经由无线端口到达包括有线通信 单元和无线通信单元的设备时经过该设备的传播延迟的示例方法的流程图。

【具体实施方式】
[0020] 在以下描述的实施例中,包括具有分离和相互独立的周期定时信号源(简称为分 离"时钟")的多个处理单元的设备使用简单接口来高效地同步处理单元。设备确定一个或 者多个同步参数、比如偏移差值,并且如果必要则确定在时钟之间的频率差值。使用同步参 数,设备例如可以准确地测量经过设备的传播延迟和/或调整"主(grandmaster) "时钟在 处理单元之一的本地值。在一些实施例中,在设备中操作的处理单元中的一些或者所有处 理单元是通信单元、比如网络处理器、无线接收器和发送器等。
[0021] 在分组到达在设备中操作的一个通信单元的端口并且经由在相同设备中操作的 另一通信单元的端口离开时,设备可以在分组中包括用于设备的传播延迟指示或者向接收 和/或发送分组的其它设备通知传播延迟。时间认知设备然后可以使用这一时间指示以恰 当处理分组。例如,时间认知媒体处理器可以使用这一时间指示以在音频/视频桥接(AVB) 应用中同步分别经由显示器和扬声器提供的视频和音频。
[0022] 在一个示例实施例中,设备包括经由相应通信端口接收和/或发送分组的一对通 信单元、处理器和通用接口,这两个通信单元经由该通用接口被连接。通用接口例如可以包 括通用输入输出(GPI0)管脚。通信单元具有分离时钟。为了同步通信单元,(可以在软件 中、在处理器中、在一个或者两个通信单元中或者从处理器和通信单元分离地实施的)同 步控制器使第一通信单元经由通用接口向第二通信单元发送脉冲并且根据第一通信单元 的时钟生成发送脉冲的时间指示。同步控制器也使第二通信单元根据第二通信单元的时钟 生成接收脉冲的时间指示。在两个通信单元之间的距离充分小以便使通用接口的传播延迟 可忽略。例如,这一传播延迟可以仅为若干纳秒长。因而,同步控制器可以使用两个时间指 示来确定在第一通信单元和第二通信单元之间的时间差值。例如,同步控制器可以确定每 个通信单元的当天时间(ToD)并且通过将一个ToD值从另一 ToD值减去来计算在通信单元 之间的"DC偏移"。
[0023] 另外,在一些实施例中,设备多次(例如每秒一次)执行以上描述的过程。使用多 个时间戳,同步控制器计算两个通信单元的计数频率差值。例如,如果两个通信单元使用晶 体振荡器(或者简称为"晶体"),则同步控制器以这一方式计算百万分(PPM)之几差值。根 据一个实施例,设备然后使用PPM差值和DC偏移来计算传播延迟。
[0024] 根据一个实施例,第一通信单元是经由一个或者若干以太网端口接收和/或发送 分组的有线通信单元,并且第二通信单元是经由一个或者若干无线端口接收和/或发送分 组的无线通信单元。在另一实施例中,第一通信单元是无线通信单元,并且第二通信单元是 有线通信单元。更一般而言,通信单元可以是任何类型,并且脉冲可以在设备中从任何通信 单元向任何其它通信单元行进。
[0025] 为了更好地举例说明本公开内容的技术,图1描绘示例通信系统10,在该通信系 统中,接入点(AP) 12在包括客户端站14A和14B的无线局域网(WLAN) 11中操作。AP 12是 包括网络处理器18的AP网桥设备16的部件。使用网络处理器18, AP网桥设备16经由通 信链路22与在通信网络20中操作的设备通信。AP 12和网络处理器18根据不同、相互独 立的时钟操作。在一个实施例中,有线通信链路22是以太网链路。另外,在一个实施例中, WLAN 11根据IEEE 802. 1 In标准操作。
[0026] 客户端站14A在媒体播放器30A中操作。媒体播放器30A例如还包括媒体处理器 32A,媒体播放器30A经由该媒体播放器32A提供媒体输出、比如视频。部件14A和32A可 以设置于相同壳内。客户端站14B在还包括媒体处理器32B的媒体播放器30B中操作。部 件14B和32B也可以设置于相同壳内。媒体播放器30B例如可以使用媒体处理器32B来提 供音频输出。在一个实施例中,无线站14A和媒体处理器32A根据不同、相互独立的时钟操 作。相似地,在一个实施例中,无线站14B和媒体处理器32B根据不同、相互独立的时钟操 作。
[0027] 设备30A、30B和16中的每个设备包括根据本公开内容的技术中的至少一些技术 实施的用于同步对应处理单元的同步控制器40。更具体而言,同步控制器40A在媒体播放 器30A中操作以将无线站14A与媒体处理器32A同步;同步控制器40B在媒体播放器30B 中操作以将无线站14B与媒体处理器32B同步;并且同步控制器40C在AP网桥16中操作 以将网络处理器18与AP 12同步。注意,同步控制器40可以同步在相同设备(例如,AP网 桥16)中操作的一对通信单元以及在相同设备(例如,媒体播放器30A或者30B)中操作的 通信单元和处理单元。更一般而言,同步控制器40可以用来同步任何数目的通信单元和/ 或处理单元。
[0028] 如以下更具体的论述,同步控制器40可以使用硬件、软件、固件或者硬件、软件和 固件的任何适当组合来实施。在一个实施例中,同步控制器40、在对应一对处理单元(例 如,AP 12和网络处理器18)之间的接口、存储时间戳的缓冲器等定义低成本时间应用接口 (TAI),该TAI允许容易和可靠地同步在相同设备中、但是根据不同时钟操作的处理单元。 然而,在具体考虑示例TAI之前,参照图2讨论数据单元的经由若干设备的示例传播,这些 设备包括实施本公开内容的技术中的至少一些技术的设备。
[0029] 图2的示例通信流水线100包括以有线方式耦合到通信单元104的分组源102,该 通信单元转而以有线方式耦合到通信设备106。通信设备106还以无线方式耦合到无线通 信单元108。在一个示例实施例中,无线通信单元108是经由设备104和106从分组源102 发送的数据分组的"消费者"。换而言之,部件102和108定义通信流水线100的端点。
[0030] 与参照图1讨论的AP网桥16相似,通信设备106包括有线通信单元110和经由 接口 114耦合到有线通信单元110的无线通信单元112。在一个实施例中,通信设备106例 如可以作为路由器或者网桥设备操作,并且可以在通信单元110和112之间路由或者转发 数据。通信设备106还包括通信地耦合到有线通信单元110和无线通信单元112的处理器 116。在一个实施例中,通信单元110和112分别包括时钟118A和118B。更一般而言,通 信单元110和112可以从可以作为通信单元110和112的部件或者从通信单元110和112 分离地提供的分离、独立源接收周期定时信号。例如,在一个这样的实施例中,有线通信单 元110不包括其自己的时钟并且根据处理器116的时钟操作,而无线通信单元112根据时 钟118B操作。通信设备106包括在处理器116、有线通信单元110和/或无线通信单元112 中实施为一个分离部件或者若干部件的同步控制器119。
[0031] 在一个实施例中,无线通信单元108作为时间认知设备的部件或者在时间认知应 用模式中操作。分组源102在这一情况下包括与在流水线100中的仅有"正确"时间对应 的"主"时钟120。时钟120可以在不同频率运行并且具有与在流水线110中的其它时钟不 同的开始时间。另外,在流水线100中的设备可以在不同温度操作。例如,分组源102可以 放置于比有线通信单元104更热的地点中。如所知的那样,温度可以影响典型晶体振荡器 的操作。
[0032] 根据一个实施例,在操作中,分组源102生成分组125并且在分组125的报头中包 括使用主时钟120来生成的时间戳128。随着分组125在箭头130大致地指示的方向上朝 着无线通信单元108行进,分组125遇到各种持续时间的延迟。为了恰当处理分组125,无 线通信单元108尝试用尽可能多的精确度确定经由流水线100的传播延迟。为此,应当确 定经由在流水线中的中间链路和设备的不可忽略延迟,比如图2中所示延迟Λ ti_At5。
[0033] 另外,在一些实施例中,部件104、110、112和108中的一些或者所有部件维持主时 钟120的相应版本。在操作期间,这些部件使用延迟At「At 5的最新计算值来连续地或者 周期地调整主时钟120的本地版本。为此,部件102、104、110、112和108向下游(在箭头 130的方向上)、向上游或者在两个方向上传播对应值。
[0034] 一般而言,当在流水线100中操作的部件确定延迟Atl-At5的新值时,部件可以 使用任何适当传播技术向其它部件传达新值。例如,部件可以调整在分组125中的时间戳、 在分组125的报头中传播用于指示延迟的长度的字段、向在流水线100中操作的一个或者 多个部件发送具有延迟的新值的分离消息、使用这些技术的组合等。
[0035] 继续参照图2,分组源102和有线通信单元104经由一般与链路140的长度成比 例的传播延迟Λ &关联的有线链路130耦合。例如,延迟Λ &的值可以是500纳秒或者 更少。在一个实施例中,有线链路140是以太网链路。相似地,有线链路140可以是以太网 链路并且可能引入500纳秒或者更少的延迟Λ t3。在一个实施例中,链路140和142根据 IEEE 802. 3af标准操作。然而,注意由于链路140和142具有不同长度,所以延迟Λ h和 At3的值无需相同。
[0036] 在另一方面,与有线通信单元104关联的延迟Λ t2可以显著地大于延迟Λ tl和 Λ t3 (例如,长达10毫秒)。在一个实施例中,有线通信单元104耦合到处理器144,该处理 器144例如可以是CPU。在各种场景中,数据分组125可以经历在硬件和/或软件级的处 理。例如,有线通信单元104和处理器144可以在网络路由器中操作,该网络路由器在协议 栈的多层分析分组并且将分组125相应地延迟大量时间。
[0037] 在一些实施例中,有线通信单元104包括时钟150。虽然时钟150可以不与主时钟 120同步,但是有线通信单元104可以准确和可靠地确定用于分组125的延迟Λ t3。为此, 有线通信单元104生成在分组125到达有线通信单元104时(例如,在分组125穿越对应 传入端口的入口流水线时)的第一时间戳和恰在经由通信链路142发送分组125之前(例 如,在分组125穿越对应传出端口的出口流水线时)的第二时间戳。时间戳可以简单地是 寄存器的值,该寄存器存储时钟150维持的时钟计数器的当前值。由于有线通信单元104 使用相同时钟150来生成第一时间戳和第二时间戳,所以有线通信单元104可以通过从第 二时间戳减去第一时间戳并且将结果乘以时钟150的频率来准确地确定延迟Λ t2的值。
[0038] 一般而言,在经由以太网链路140和142互连的分组源102、有线通信单元104和 有线通信单元110之间传播定时信息和/或同步可以使用IEEE 802. 1AS和802. 3af标准 来实施。使用这些技术,部件102、104和110可以相互提供延迟信息、调整主时钟120的本 地版本等。
[0039] 关于与通信设备106关联的延迟Λ t4的值,通信单元110和112并且具体为处理 器116可以将分组126延迟显著数量的时间。为了确定延迟Λ t4的值,通信设备106可以 实施本公开内容的同步技术。与包括参照图1讨论的同步控制器40的设备相似,通信设备 106可以实施在通信单元110和112之间传输和捕获周期脉冲或者另一信号。根据该实施 例,同步控制器119使脉冲从有线通信单元110向无线通信单元112或者反之从无线通信 单元112向有线通信单元110行进。以下参照图3更具体讨论用于生成、捕获和使用这些 信号的适合技术。
[0040] IEEE 802. llv标准提供一种用于计算在无线通信单元112和108之间的延迟Λ t5 的值的机制。在一些实现方式中,无线通信单元108也利用这一机制以将其时钟152与通 信单元112的时钟118B同步。更具体而言,通信单元112和108可以交换如802. llv标准 定义的"Ml"和"M2"帧。使用Ml和M2巾贞,通信单元112和108计算延迟Λ t5。通信单元 108可以将Λ t5从其主时钟120的版本减去以匹配主时钟120的在无线通信单元112存储 的版本。
[0041] 使用延迟Λ Λ t5的计算值和/或与主时钟120同步(经由转而与在流水线100 中的其它时钟同步的时钟118B)的时钟152,媒体处理器160可以恰当处理数据分组125。 例如,媒体处理器160可以在如主时钟120测量的正确时间回放在分组125中的音频或者 视频内容。
[0042] 现在参照图3,示例通信设备200包括与在单元202和204的相应本地时间表示一 起使用在单元202与204之间发送的信号来同步有线通信单元202和无线通信单元204的 同步控制器201。在一个实施例中,通信设备106与通信设备200大体上相似。另外,在一 些实施例中,同步控制器201和通信设备200的实施在通信单元202和204之间同步的其 它部件定义与参照图1讨论的TAI 40大体上相似的TAI。更一般而言,可以实施与通信设 备200相似的其中两个或者更多处理单元使用分离时钟来操作的设备以同步处理单元。
[0043] 通信设备200在一个实施例中也包括处理器206,该处理器可以是通用CPU、专用 集成电路(ASIC)、可编程控制器等。处理器206耦合到通信单元202和204中的每个通信 单元。在一个实施例中,处理器206被配置为向通信单元202和204提供命令并且从通信 单元202和204接收状态、控制和其它信息。例如,处理器206可以执行软件指令以执行数 据分组的高级处理(例如,深度检查)。然而在另一实施例中,通信设备200完全不包括处 理器206,并且通信单元202和204直接实施为了恰当耦合通信单元202和204而必需的逻 辑。
[0044] 通信设备200也包括耦合到处理器208的计算机可读存储器208。存储器208可 以是任何适当持久或者瞬态存储器、比如闪存、随机存取存储器(RAM)、只读存储器(ROM) 等。存储器208存储一个或者若干软件应用209。存储器208也可以存储处理器206在操 作期间生成和/或使用的数据。
[0045] 根据一些实施例,同步控制器201和有线通信单元202耦合到时间捕获缓冲器 212,并且同步控制器201和有线通信单元204也耦合到时间捕获缓冲器214。例如,缓冲器 212和206可以被实施为简单硬件寄存器。如下文所述,时间捕获缓冲器212和214分别存 储用于单元202和204的与某些事件(比如发送或者接收信号)对应的本地时间表示。
[0046] 继续参照图3,有线通信单元202包括生成周期定时信号的晶体振动器电路220, 有线通信单元202根据该周期定时信号操作。无线通信单元204包括生成周期定时信号的 晶体振动器电路222,无线通信单元根据该周期定时信号操作。在一个实施例中,晶体振动 器电路220和222在不同频率操作。另外根据一些场景,由于通信单元202和204可以在 不同时间初始化或者复位,所以晶体振荡器电路220和222开始在不同时间计数。在其它 实施例中,通信单元202和204包括其它适当类型的时钟。
[0047] 在一个实施例中,晶体振动器电路220对于每个周期将计数器230递增一。因此, 计数器230存储如晶体振荡器电路220测量的当前时间表示。相似地,晶体振荡器电路222 对于每个周期将计数器232递增一,并且计数器232存储如晶体振荡器电路222测量的当 前时间表示。在满足某个条件时或者响应于来自同步控制器201的命令,通信单元202和 204分别向时间捕获缓冲器212和214传送计数器230和232的当前值。在一些场景中,通 信单元202和204基本上在相同时间用新值填充相应缓冲器212和214。在其它场景中,通 信单元202和204响应于分离相应命令在不同时间填充这些缓冲器。
[0048] 有线通信单元202也包括控制器和输入/输出流水线240。在一个实施例中,部件 220包括用于处理传入数据单元(例如,分组)的入口流水线、实施协议转化、路由、桥接和 /或其它功能的控制器以及用于预备数据单元用于传输的出口流水线。无线通信单元204 包括用于处理经由无线通信链路发送的传入或者传出数据单元的控制器和输入/输出流 水线242。
[0049] 根据一个实施例,有线通信单元202包括用于接收和/或发送数据分组的一个或 者多个以太网端口 250,每个数据分组包括如适当通信协议指定的接触集合。在其它实施例 中,无线通信单元202可以附加地或者备选地包括用于其它类型的有线通信、包括根据专 有标准的通信的端口。无线通信单元204包括无线端口 252的集合,这些无线端口在一些 实施例中可以是映射到相同物理流水线的虚拟端口。以太网端口 250和无线端口 252 -起 定义通信设备200的外部接口。
[0050] 因此,通信设备200可以经由无线端口接收数据分组、如果必要则更改数据分组 (例如,通过改变协议或者用新值更新报头),并且经由以太网端口发送数据分组。在另一 场景中,通信设备200可以经由有线端口接收数据分组并且经由有线端口发送数据分组。
[0051] 根据一个实施例,处理器206定义用于在通信单元202与204之间交换数据的内 部接口。因此,例如在有线通信单元202希望向无线通信单元204转发数据分组时,处理器 206从有线通信单元202接收数据分组并且向无线通信单元204提供数据分组。在另一实 施例中,通信设备200包括在通信单元202和204之间用于交换数据分组的直接接口。
[0052] 在一个实施例中,有线通信单元202和无线通信单元204中的每个通信单元包括 可用通用接口接触、比如GPI0管脚。通信单元202和204可以使用这些通用接口接触以发 送或者接收同步信号。在图3的示例中,有线通信单元202包括耦合到连接器264的管脚 260,并且无线通信单元204包括耦合到连接器264的管脚262。连接器264是提供简单连 接的示例通用接口,通信单元202或者204例如可以经由该简单连接发送脉冲。在其它实施 例中,有线通信单元202和无线通信单元204例如使用外围部件互连快速(PCIE)或者安全 数字输入输出(SDIS)经由总线通信。在任何情况下,连接器264是在通信单元202和204 之间的相对简单、低成本接口。根据一个实施例,部件260、262和264未根据IEEE 802. 1AS 标准支持同步。
[0053] 在操作中,同步控制器201指引通信单元202和204之一经由连接器264向通信 单元202和204中的另一通信单元发送脉冲或者另一同步信号。脉冲一般在通信单元202 和204之间在任一方向上行进。作为一个示例,同步控制器201指明有线通信单元202作 为脉冲的源。同步控制器201在这一情况下使有线通信单元202 (i)经由(耦合到连接器 264的)管脚206向无线通信单元204发送脉冲并且(ii)在时间捕获缓冲器212中记录 计数器230的当前值。同步控制器201还指引无线通信单元204在时间捕获缓冲器214中 记录计数器232的当前值。同步控制器201然后从在时间捕获缓冲器214中存储的值减去 在时间捕获缓冲器212中存储的值以生成在通信单元212和214之间的时间计数器差值指 示、例如DC偏移。
[0054] 在实施例中的至少一些实施例中,连接器264的长度充分小以至于同步控制器 201认为脉冲经由连接器264行进的传播延迟基本上为零。因而,同步控制器201假设脉冲 同时到达无线通信单元204,并且指引通信单元202和204在相同时间在相应时间捕获缓冲 器212和214中记录对应计数器值。
[0055] 在另一实施例中,同步控制器201指引无线通信单元204仅在无线通信单元204 检测到脉冲时在时间捕获缓冲器214中记录计数器232的值。在又一实施例中,同步控制 器201被配置为考虑与连接器264关联的恒定传播延迟。在同步控制器201计算在时间捕 获缓冲器212和214中存储的值的差值时,同步控制器201向差值施加恒定传播延迟作为 校正因子。
[0056] 在一些实施例中,同步控制器201还计算在晶体振荡器220和222之间的PPM差 值。为此,同步控制器201使作为脉冲的源而指明的通信单元周期地、例如在每秒一个脉冲 (PPS)的速率发送脉冲。在一个实施例中,在秒的开始发送脉冲。
[0057] 因此,在示例场景中,同步控制器201使有线通信单元202在上午12 :00:00经由 连接器264向无线通信单元204发送脉冲(例如,根据有线通信单元202或者处理器206 的时钟)。同步控制器201使用在时间捕获缓冲器212和214中存储的对应值来计算DC偏 移。例如,时间捕获缓冲器212可以存储值0x37242817,并且时间捕获缓冲器214可以存储 值0x0000 1278。相应地计算DC偏移值的量值为0x3724 2817-0x0000 1278。
[0058] 同步控制器201然后使通信单元204分别记录用于后续脉冲的发送和接收时间以 确定PPM差值。例如在一秒之后,在时间捕获缓冲器212中的值可以增加与在时间捕获缓冲 器214中的值的两倍一样多。因而,同步控制器201可以确定晶体振荡器220运行与晶体 振荡器222的两倍一样快。在同步控制器201确定DC偏移值和PPM值之后,通信设备200 可以同步通信设备202和204和/或确定经过通信设备200的传播延迟。
[0059] 在其它实施例中,取代使通信单元202或者204经由连接器264或者相似接口发 送脉冲,同步控制器201利用在通信单元202或者204之间发送的消息用于其它非同步目 的。例如,这些消息可以符合用于在通信单元202和204之间交换控制信息的协议,然而该 协议未提供用于同步通信单元202和204的机制。同步控制器201可以使有线通信单元202 在发送消息的第一符号(例如,比特)时在时间捕获缓冲器212中记录计数器230的值,并 且使无线通信单元204在接收消息的第一符号时在时间捕获缓冲器214中记录计数器232 的值。
[0060] 还指出虽然同步控制器201在图3中被描绘为分离部件,但是在其它实施例中的 同步控制器201被实施为通信设备200的另一部件的整体部分或者为在通信设备200的其 它部件内操作的若干部件。例如,在一个这样的实施例中,同步控制器201和处理器206被 实施为单个集成部件。在另一实施例中,同步控制器201是有线通信单元202的部件。在另 一实施例中,同步控制器201是无线通信单元204的部件。另外根据更多另一实施例,同步 控制器201被实施为在存储器208中存储的在处理器206上可执行的软件指令。进而另外 在一个实施例中,同步控制器201以分布式方式被实施为软件指令以及有线通信单元202、 无线通信单元204或者二者的一个或者多个硬件部件。
[0061] 接着考虑可以在以上讨论的设备中的一些设备中实施的若干示例方法。
[0062] 先参照图4,例如可以在图3的同步控制器201中实施用于确定在两个处理单元的 时钟之间的差值的示例方法300,在该情况下,处理单元是通信单元。在块302,方法300使 第一处理单元经由内部接口向第二通信单元发送信号。如上文所述,内部接口可以是例如 实施比如IEEE 802. 1AS这样的标准的通用接口。同样如上文所述,发送的信号可以是简单 脉冲、多符号消息的开始或者任何其它类型的信号。
[0063] 接着在块304,使用第一处理单元的时钟来生成与在发送信号时的时间对应的时 间戳。在块306,使用第二处理单元的时钟来生成与在信号到达第二处理单元时的时间对应 的时间戳。在一个实施例中,假设接收信号是无条件和瞬时的,从而基本上在相同时间执行 块 304 和 306。
[0064] 在块308,使用两个生成的时间戳来确定DC偏移。更具体而言,在块308确定处理 单元的时钟的值的差值。
[0065] 图5是用于确定在相同设备中操作的两个处理单元的时钟之间的计数频率差值 的示例方法350的流程图。与方法300相似,例如可以在同步控制器201中实施方法250。 [0066] 在块352,计算用于一对处理单元的第一 DC偏移值。为此,例如可以使用以上讨论 的方法300。接着在块354,检测时间到期事件,并且在块356确定用于这一对处理设备的 另一 DC偏移值。在块358使用最后计算的一对DC偏移值来确定计数频率差值、比如PPM 值。流程然后返回到块354以等待下一时间到期事件。例如,时间可以被设置为一秒。以 这一方式,方法300即使在设备中操作的一个处理单元被复位而在相同设备中操作的另一 处理单元未被复位时仍然保证DC偏移和PPM值通常是准确的。
[0067] 现在参照图6A,例如可以在图3的通信设备200中实施用于确定经过包括有线通 信单元和无线通信单元的设备的传播延迟的示例方法400。在块402,数据分组经由有线通 信单元的有线端口接收。有线端口例如可以是以太网端口。
[0068] 在块404生成与在接收数据分组时的时间对应的时间戳。例如在一个实施例中, 在数据分组经过有线端口的入口流水线行进时生成时间戳。
[0069] 在块406,根据无线通信单元的时钟生成恰在数据分组经由无线通信单元的无线 端口外出之前的时间戳。由于有线通信单元和无线通信单元根据在比如通信设备200这样 的设备中的不同时钟操作,所以在块408确定DC偏移和PPM差值。作为一个示例,可以使 用以上讨论的方法300和350。
[0070] 接着在块410计算经过设备的传播延迟。然后为数据分组提供传播延迟信息用于 在其它通信设备的后续处理。根据该实施例,可以指定传播延迟作为在分组中的字段、作为 分离消息或者以任何其它适当方式。使用传播延迟信息,分组的后续接收器可以在恰当时 间回放在数据分组中的数据(或者另外处理数据分组)。
[0071] 图6B图示除了在无线通信单元的无线端口接收分组(452)之外与方法400大致 地相似的方法450。相应地,根据无线数据单元的时钟生成与接收数据分组对应的时间戳 (块454),并且根据有线通信单元的时钟生成与数据分组的即将到来的离开对应的时间戳 (块456)。块458和460与以上讨论的块408和410相似。
[0072] 可以利用硬件、执行固件指令的处理器、执行软件指令的处理器或者其任何组合 来实施以上讨论的各种块、操作和技术中的至少一些块、操作和技术。在利用执行软件或者 固件指令的处理器来实施时,软件或者固件指令可以存储于任何有形、非瞬态计算机可读 存储器、比如磁盘、光盘、RAM、ROM、闪存等中。软件或者固件指令可以包括在由处理器执行 时使处理器执行各种动作的机器可读指令。
[0073] 在硬件中实施时,硬件可以包括分立部件、集成电路、ASIC、可编程逻辑器件等中 的一项或者多项。
[0074] 尽管已经参照旨在于仅举例说明而不是限制的具体示例描述各种实施例,但是可 以对公开的实施例进行改变、添加和/或删除而未脱离权利要求的范围。
【权利要求】
1. 一种装置,包括: 根据第一时钟操作的第一处理单元; 根据与所述第一时钟分离地运行的第二时钟操作的第二处理单元;以及 耦合到所述第一通信单元和所述第二通信单元的同步控制器; 其中所述同步控制器被配置为: (i) 使所述第一通信单元根据所述第一时钟生成所述第一处理单元向所述第二处理单 元发送信号的第一时间指示, (ii) 使所述第二处理单元根据所述第二时钟生成所述第二处理单元接收所述信号的 第二时间指示,以及 (iii) 基于所述第一时间指示和所述第二时间指示确定在所述第一时钟和所述第二时 钟之间的偏移。
2. 根据权利要求1所述的装置,还包括通用接口,所述第一通信单元经由所述通用接 口向所述第二通信单元发送所述信号。
3. 根据权利要求2所述的装置,其中所述通用接口包括以下之一 :(i)通用输入/输 出(GPIO)管脚、(ii)外围部件互连快速(PCIE)端口或者(iii)安全数字输入输出(SDIS) 槽。
4. 根据权利要求2所述的装置,其中所述信号是脉冲。
5. 根据权利要求1所述的装置,其中所述同步控制器被配置为周期地重复操作(i)和 (ii)以确定在所述第一时钟和所述第二时钟之间的频率差值。
6. 根据权利要求1所述的装置,其中: 所述第一处理单元是以下之一 :(i)被配置为经由有线通信链路接收和发送数据的有 线通信单元以及(ii)被配置为经由无线通信链路接收和发送数据的无线通信单元,以及 所述第二处理单元是所述有线通信单元和所述无线通信单元中的另一个, 其中所述装置被配置为在所述有线通信单元和所述无线通信单元之间转发数据。
7. 根据权利要求1所述的装置,其中所述有线通信链路是以太网链路。
8. 根据权利要求1所述的装置,还包括: 第一硬件寄存器,耦合到所述第一处理单元和所述同步控制器以存储所述第一时间指 示;以及 第二硬件寄存器,耦合到所述第二处理单元和所述同步控制器以存储所述第二时间指 /_J、1 〇
9. 一种在设备中的同步方法,所述设备包括(i)根据第一时钟操作的第一处理单元和 (ii)根据与所述第一时钟分离地运行的第二时钟操作的第二处理单元,所述方法包括: 使所述第一通信单元根据所述第一时钟生成所述第一处理单元向所述第二处理单元 发送信号的第一时间指示; 使所述第二处理单元根据所述第二时钟生成所述第二处理单元接收所述信号的第二 时间指示;以及 基于所述第一时间指示和所述第二时间指示确定在所述第一时钟和所述第二时钟之 间的偏移。
10. 根据权利要求9所述的方法,还包括使所述第一处理单元经由以下之一发送所述 信号:⑴通用输入/输出(GPIO)管脚、(ii)外围部件互连快速(PCIE)端口或者(iii)安 全数字输入输出(SDIS)槽。
11. 根据权利要求9所述的方法,还包括使所述第一处理单元以脉冲的形式发送所述 信号。
12. 根据权利要求9所述的方法,其中所述信号与在所述第一处理单元和所述第二处 理单元之间发送的命令关联,其中所述命令符合为在所述第一处理单元和所述第二处理单 元之间交换控制信息而定义的消息发送协议。
13. 根据权利要求9所述的方法,还包括: 使所述第一处理单元生成所述信号作为多个信号之一; 使用所述多个信号来生成所述第一时间指示和所述第二时间指示的多个版本;以及 基于所述第一时间指示和所述第二时间指示的所述多个版本确定在所述第一时钟和 所述第二时钟之间的频率差值。
14. 根据权利要求13所述的方法,其中所述第一处理单元是第一通信单元并且所述第 二处理单元是第二通信单元,所述方法还包括: 经由所述第一通信单元的端口接收数据分组; 使用确定的所述偏移和确定的所述频率差值来确定与所述设备关联的传播延迟;以及 经由所述第二通信单元的端口发送所述数据分组,包括提供所述传播延迟的指示。
15. 根据权利要求14所述的方法,其中所述第一通信单元是有线通信单元和无线通信 单元之一,并且所述第二通信单元是所述有线通信单元和所述无线通信单元中的另一个。
16. -种被配置为在设备中操作的处理单元,所述设备包括作为第一处理单元的所述 处理单元、第二处理单元以及耦合到所述第一处理单元和所述第二处理单元的同步控制 器;所述第一处理单元包括: 时钟,所述第一处理单元根据所述时钟操作,其中所述第二处理单元根据分离的时钟 操作;以及 接口,所述第一处理单元经由所述接口耦合到所述第二处理单元;其中所述处理单元 被配置为(i)经由所述接口向所述第二处理单元发送周期信号,并且(ii)根据所述第一时 钟生成所述第一处理单元向所述第二处理单元发送所述周期信号的第一时间指示, 其中所述同步控制器被配置为(i)使所述第二处理单元根据所述第二时钟生成所述 第二处理单元接收所述周期信号的第二时间指示,并且(ii)基于所述第一时间指示和所 述第二时间指示生成同步参数。
17. 根据权利要求16所述的处理单元,其中所述接口包括以下之一 :(i)通用输入/输 出(GPI0)管脚、(ii)外围部件互连快速(PCIE)端口或者(iii)安全数字输入输出(SDIS) 槽。
18. 根据权利要求16所述的处理单元,其中所述周期信号是脉冲。
19. 根据权利要求16所述的处理单元,其中所述同步参数包括至少以下之一 :(i)在所 述第一处理单元的所述时钟和所述第二处理单元的所述时钟之间的偏移以及(ii)在所述 第一处理单元的所述时钟和所述第二处理单元的所述时钟之间的频率差值。
20. 根据权利要求16所述的处理单元,其中: 所述第一处理单元是以下之一 :(i)被配置为经由有线通信链路接收和发送数据的有 线通信单元以及(ii)被配置为经由无线通信链路接收和发送数据的无线通信单元,并且 所述第二处理单元是所述有线通信单元和所述无线通信单元中的另一个。
【文档编号】H04J3/06GK104115432SQ201380009147
【公开日】2014年10月22日 申请日期:2013年1月4日 优先权日:2012年1月4日
【发明者】R·巴内尔耶, D·潘内尔, K·K·霍, K·扬, 于茂 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1