专利名称:借助信号编码的时间传送技术的制作方法
技术领域:
本发明通常涉及电信系统,更具体地讲,涉及借助信号编码的时间传送技术。
背景技术:
时间和/或频率分配是包交换网络的基本要求。包交换联网技术在取代传统的时分复用(TDM)系统时在核心网和接入网两方面都面临的最大障碍之一是准确时序信息(时间和/或频率)的传输。遗留TDM网络被设计为在其各自的网络上都携带精确的频率同步。但是诸如无线基站和多业务接入节点(MSAN)的接入系统越来越需要通过网络回程连接(backhaul connection)传递的同步来实现到最终用户应用的基本连通性并保证高质量服务。电信网络中向以太网回程线路的演变关键依赖于通过以太网将载波级(时间和/或频率)同步输送至远程无线基站和接入平台的能力。在电信网络中,具有各自的嵌入式基准振荡器的远程接入TDM网络元件通常从 TDM回程连接恢复同步。只要TDM传输网络可追踪主基准时钟(PRC),远程接入元件就可采用相对简单的锁相环(PLL)来将其振荡器锁定到PRC可追踪回程馈送。然而,当回程连接变为以太网时会发生问题,从而将远程接入元件与其同步源隔离。尽管已经证明以太网是实现连接的有用、便宜且普遍的技术,但是其并不太适用于需要精确同步的应用。其本质上是异步的,这为要求同步的实时或时间敏感型应用创造了困难。两个主要的定时误差来源必须被消除以提供高质量(亚微秒级)的时钟同步。第一个来源是由本地振荡器的不稳定和漂移引入的定时误差,第二个来源是发射机时钟与接收机时钟之间的路径延迟的波动(通常称为延迟变化)。振荡器稳定性主要是系统设计者的元件选择问题。采用高稳定性振荡器可减少测量噪声,并改善接收机时钟同步机制以滤除网络损伤所引起的传输漂移和抖动的能力。延迟变化的主要来源是由于第二层和更高层的损伤,例如网络装置中的队列延迟、介质连接延迟、软件协议堆栈处理延迟、操作系统和其他软件任务延迟等。延迟变化使时钟同步显著变差,因为它给定时协议消息的传输时间带来了变化。在第二层和更高层,无论网络负载轻还是重,消息短还是长,或者网络设备是否使用优先队列,协议消息经历延迟变化的可能性仍然存在。除了使用鲁棒的时钟同步算法之外,时间戳滤波和末端节点处消息的最小延迟筛选可在某种程度上帮助减轻此问题, 但是这取决于沿着消息通信路径的通信负载水平。端节点处消息的最小延迟筛选的原理在于第2层和更高层(2+层)处的通信路径上的延迟变化将是有“底线”或固有最小值的概率分布函数。底线是给定网络路径上包 (或定时协议消息)可经历的最小延迟。此底线可被视作在传输特定包时,沿着发射机与接收机之间的网络路径的所有队列接近其最小值的条件。在网络路径的正常非拥塞负载条件下,包总数的一小部分将以此底线或接近此底线穿过网络,尽管一些包可能经历显著增长的延迟。在这些非拥塞条件下,高速装置中的存储转发操作有效地成为以最小延迟转发包的转发努力。另外,延迟变化分布变得更集中于此底线附近,使得全部包的相对大的一部分经历此“最小”或“接近最小”的延迟。然而,此方法的主要局限在于在较高负载下,端节点处消息的最小延迟筛选将仅产生差的时钟质量,这是因为非常小的一部分定时消息将经历网络路径的最小“固有”传播延迟。鉴于以上分析,可理解的是,目前的时钟同步技术可能存在显著的问题和缺陷。
发明内容
公开了借助信号编码的时间传送技术。在一个具体的示例性实施方式中,所述技术可被实现为一种借助信号编码的时间传送方法,包括生成时间业务有序集(Time Service Ordered-Set)以包含在物理层装置的物理编码子层帧中;生成时间业务数据以包含在物理层装置的物理编码子层帧中;以及发送物理编码子层帧。根据此具体示例性实施方式的其他方面,该方法还可包括生成发送时间戳以包含在时间业务数据中。根据此具体示例性实施方式的其他方面,所述时间业务有序集可以是选自未使用的特殊码组的单个特殊码组。根据此具体示例性实施方式的其他方面,所述时间业务有序集可以是码组序列, 该码组序列包括选自未使用的特殊码组的初始特殊码组以及随后的选自未使用的特殊码组的至少一个附加特殊码组。根据此具体示例性实施方式的其他方面,所述时间业务有序集可以是码组序列, 该码组序列包括选自未使用的特殊码组的初始特殊码组以及随后的至少一个附加数据码组。根据此具体示例性实施方式的其他方面,至少一个附加数据码组可具有以下性质中的一种或多种高比特转变密度、一致性控制、和编码距离。根据此具体示例性实施方式的其他方面,时间业务有序集可指示时间业务数据的类型。根据此具体示例性实施方式的其他方面,所述方法还可包括接收所述物理编码子层帧;以及从接收的物理编码子层帧提取所述时间业务数据。根据此具体示例性实施方式的其他方面,所述方法还可包括生成接收时间戳以确定所述时间业务数据的接收时间。在另一具体示例性实施方式中,所述技术可被实现为用于存储计算机指令程序的至少一种处理器可读介质,所述计算机指令程序被配置为能够被至少一个处理器读取以命令所述至少一个处理器执行用于执行上述方法的计算机进程。在另一具体示例性实施方式中,所述技术可被实现为一种借助信号编码的时间传送设备,包括编码器部件,其生成时间业务有序集以包含在物理层装置的物理编码子层帧中;时间传送单元,其生成时间业务数据以包含在物理层装置的物理编码子层帧中;以及发射机,其发送物理编码子层帧。
在另一特定示例性实施方式中,所述技术可被实现为一种借助信号编码的时间传送设备,包括用于生成时间业务有序集以包含在物理层装置的物理编码子层帧中的装置; 用于生成时间业务数据以包含在物理层装置的物理编码子层帧中的装置;以及用于发送物理编码子层帧的装置。现在将参照如附图所示的本发明的示例性实施方式更详细地说明本发明。尽管下面参照示例性实施方式说明本发明,但是应该理解,本发明不限于此。能够获知本文所述技术的本领域普通技术人员将认识到其他实现方式、改进和实施例以及其他应用领域,其均落入本文所述的本发明的范围内,并且本发明对其可具有显著实用性。
为了有利于更充分地理解本发明,现在参照附图,在附图中相同的元件用相同的附图标记指代。这些附图不应被理解为限制本发明,而是意在仅为示例性的。图1示出根据本发明实施例的与开放系统互连(0SI)7层模型有关的吉比特以太网的分层模型。图2示出根据本发明实施例的吉比特以太网的物理层的主要子层的功能框图。图3示出根据本发明实施例的PCS子层中的发送部件的功能框图。图4示出根据本发明实施例的PCS发送部件中的有序集发送的简化状态图。图5示出根据本发明实施例的PCS子层中的接收部件的功能框图。图6示出根据本发明实施例的PCS接收部件中的有序集接收的简化状态图。图7示出根据本发明实施例的用于8B/10B编码方案的编码器,其将数据字节分成 3比特(3B)和5比特(5B)部分。图8示出根据本发明实施例的用于吉比特以太网的示例数据⑶码和特殊⑷码。图9示出根据本发明实施例的用于吉比特以太网的特殊码组。图10示出根据本发明实施例的用于吉比特以太网的已定义的有序集。图11示出根据本发明实施例的MAC帧的PCS封装。图12示出根据本发明实施例的指示“包首定界符”6tart_0f_PaCket Delimiter, SPD)有序集(/S/)何时可发送的表。图13示出根据本发明实施例的指示“包尾定界符”(End_0f_PaCket Delimiter, EPD)何时可与/T/R/K28. 5/码组发送的表。图14示出根据本发明实施例的指示“包尾定界符”(EPD)何时可与/T/R/R/码组发送的表。图15示出根据本发明实施例的时间业务有序集(TS0Q和时间业务数据封装。图16示出根据本发明实施例的当编码器不忙时,时间业务有序集(TSOS)和时间业务数据(TSD)的封装。图17示出根据本发明实施例的当编码器忙时,时间业务有序集(TSOS)和时间业务数据(TSD)的封装。
具体实施方式
本发明涉及吉比特以太网的物理层的增强,其能够实现时间和频率的准确分配。 根据本发明,网络从装置可利用消息传送协议来同步于主基准时间源(或服务器)。消息传送协议可以是一种测距技术,通过该技术,从装置(或客户机)可估计它们相对于主时间基准的时间偏移。从装置可通过在物理层与中央时间服务器交换一系列加时间戳的消息来实现这一功能。吉比特以太网的物理层的物理编码子层(PCS)可利用8B/10B块编码方案将吉比特介质无关接口(GMII)信号映射成10比特码组,反之亦然。PCS可经由GMII从协调子层接收包,并在将其传递给物理介质连接(PMA)子层之前对包进行编码。PCS还可对从PMA子层接收的比特流进行解码,并经由GMII和协调子层将其传递给介质访问控制(MAC)子层。8B/10B块编码方案的一些特殊码组可包括独特的且容易识别的位形(bit patterns),这可使得接收机能够提取直接嵌入时间服务器(主机)所发送的PCS帧中的时间业务数据(TSD)。与数据相反,吉比特以太网中的控制和管理信息可通过有序集的传输来通信。有序集可为柔性构造块,其可用于带内或带外协议功能。有序集的长度可为一个、两个或四个码组,并可以以来自吉比特以太网特殊码组的码开始。有序集可以是单个特殊码组,或者是包括初始特殊码组以及随后的附加特殊或数据码组的码组序列。吉比特以太网标准定义了十二种特殊码组,其中仅六种可以以有序集的形式用在正常操作中。剩余未使用的特殊码组可用于定义时间业务有序集(TS0Q,TSOS可用于标记PCS帧中TSD的存在。 TSD可包括在发射机和接收机之间交换的定时消息,该定时消息可使得接收机能够将其时日(time-of-day)(壁钟,wall-clock)和/或频率同步于发射机。以这样的方式嵌入TSD 可提供极其准确的时间测量,因为它基于直接在物理层测量的定时消息的实际发送和接收时间。参照图1,示出了根据本发明实施例的与开放系统互连(0SI)7层模型有关的吉比特以太网的分层模型100。如图所示,吉比特以太网主要实现在OSI 7层模型的数据链路层和物理层。物理层提供手段以将数据链路层所提供的数据字节转换为适于在介质上传输的信号。同样,物理层在将从介质接收的信号传递给数据链路层之前将其转换为适当的数据字节。物理层可包括若干子层,包括介质相关接口(MDI)子层、物理介质相关(PMD)子层、物理介质连接(PMA)子层、物理编码子系统(PCS)子层、吉比特介质无关接口(GMII)子层和协调子层。MDI子层定义了 PMD子层与介质之间的连接器。介质可包括例如长波长(LX)光纤连接线、短波长(SX)光纤连接线和/或铜线(CX)。PMD子层负责向介质发送各个比特以及从介质接收各个比特。PMD子层获得由PMA 子层提供的串行比特流,并根据介质(光纤或铜线)将其转换为光信号或电信号或从光信号或电信号转换。PMD子层的职责包括比特定时、线路信号编码(非归零,NRZ)、以及与介质(光纤或铜线)连接。PMA子层向PCS子层提供介质无关接口以用于连接到多种串行介质。具体地讲, PMA子层执行符号串行化和反串行化(SERDES)。更具体地讲,PMA子层在发送之前将10比特符号的编码流串行化,并在接收之后将编码流10比特符号反串行化。PMA子层还负责在将10比特符号传递给PCS子层之前对准到来的串行比特流。
PCS子层针对数据链路层执行数据符号编码和解码、同步和速率匹配业务,其通常与所使用的物理介质无关。更具体地讲,PCS子层负责将从GMII子层传递下来的各字节编码为10比特码组。PCS子层还负责将从PMA子层传递上来的10比特码组解码为字节以便于更上层使用。PCS子层还提供载波检测信号和冲突检测信号,并包括用于自动链路配置的机制,称作自动协商(Auto-Negotiation)。自动协商是一种以太网程序,通过该程序,两个连接的装置选择共同的传输参数,例如流控制和双工模式。在此过程中,两个连接的装置首先共享它们关于这些参数的性能,然后选择两个连接的装置共享的可能的最佳工作模式。GMII子层是数据链路层和PCS子层之间的接口。PCS子层和GMII子层经由8比特并行数据线和若干控制线来彼此通信。GMII子层通常提供易于实现的、完全定义的接口, 该接口允许数据链路层和物理层子层之间、以及物理层子层和网络管理实体之间的清晰分离。该接口定义了高达lOOOMbit/s的速度,其利用以125MHz计时的八比特数据接口实现, 并且与介质无关接口(MII)规范向后兼容。它还可依据MII规范以10/100 Mbit/s的后退速度运行。逻辑上,PCS子层和PMA子层组合以获得字节宽的GMII数据并将其转换为编码的串行比特流(反之亦然)。协调子层提供物理层信令(PLS)原语与GMII子层中的逻辑信号之间的映射。这通常仅是一种架构抽象,在实际产品中没有具体或需要的物理或软件实现。实践中,协调子层通常不提供实际的功能,可被实现为数据链路层的整函数。吉比特以太网的数据链路层可包括若干子层,包括介质访问控制(MAC)子层。MAC 子层可提供寻址和信道访问控制机制,所述机制使得若干终端或网络节点能够在多点网络 (通常为局域网(LAN)或城域网(MAN))内通信。MAC子层可担当数据链路层的逻辑链路控制(LLC)子层与物理层之间的接口。参照图2,示出了据本发明实施例的吉比特以太网的物理层的主要子层的功能框图200。更具体地讲,图2示出了 MDI子层202、PMD子层204、PMA子层206、PCS子层208 和GMII子层210。MDI子层202从PMD子层204接收串行发送信号(“发送信号”),并向PMD子层 204发送串行接收信号(“接收信号”)。PMD子层204从PMA子层206接收串行发送信号(Tx_bit),并向MDI子层202发送串行发送信号(“发送信号”)。PMD子层204还接收来自MDI子层202的串行接收信号 (“接收信号”),并向PMA子层206发送串行接收信号(Rx_bit)。PMD子层204还发送信号电平检测信号(SIGNAL_DETECT),该信号指示串行接收信号(“接收信号”)的信号电平。PMA子层206包括发送部件220、接收部件222、码组对准部件2M和回环部件226。发送部件220从PCS子层208接收10比特并行编码信号(tx_C0de-gr0up<9 0 , 并向PMD子层204发送串行发送信号(Tx_bit)。发送部件220将从PCS子层208接收的 10比特并行编码信号(tx_code-group<9:0>)转换为发送给PMD子层204的串行发送信号 (Tx_bit)。接收部件222从PMD子层204接收串行接收信号(Rx_bit),并向PCS子层208 发送10比特并行编码信号(rX_COde-grOup<9:0>)。接收部件222将从PMD子层204接收的串行接收信号(Rx_bit)转换为发送给PCS子层208的10比特并行编码信号(rx_ code-group<9:0 0接收部件222还从码组对准部件2 接收对准控制信号(对准)以及向码组对准部件2 发送所述信号,以确保10比特并行编码信号(rX_COde-grOUp<9:0>) 的正确对准。码组对准部件2M从接收部件222接收对准控制信号(“对准”)以及向接收部件 222发送所述信号,以确保10比特并行编码信号(rX_COde-grOup<9:0>)的正确对准。回环部件2 用于禁止从发送部件220向PMD子层204发送串行发送信号(Tx_ bit),并提供从发送部件220到接收部件222的用于串行发送信号(Tx_bit)的回环路径。 此功能允许物理层的自检。PCS子层208包括发送部件230、接收部件232、同步部件234、载波感测部件236 和自动协商部件238。发送部件230从GMII子层210接收8比特并行发送数据信号(Τ Κ7 0>)、发送使能信号(ΤΧ_ΕΝ)、发送错误信号(TX_ER)和GMII发送时钟信号(GTX_CLK)。发送部件230还接收来自接收部件232的接收指示信号(“接收”)以及来自自动协商部件238的发送标志信号(xmit),以确保物理层的正确配置,如后详述。发送部件230向PMA子层206发送10比特并行编码信号(tx_code-group<9:0>),并将发送指示信号(发送)发送给载波感测部件 236。因此,发送部件230将从GMII子层210接收的8比特并行发送数据信号(Τ Κ7:0>) 编码为发送给PMA子层206的10比特并行编码信号(tX_COde-grOup<9:0>)。接收部件232从同步部件234接收10比特并行编码信号(rx_C0de-gr0up<9 0>)。 接收部件232还从自动协商部件238接收配置控制信号(“配置”)以及向自动协商部件 238发送所述信号,以确保物理层的正确配置,如后详述。接收部件232将8比特并行接收数据信号(RXD<7:0>)、接收数据有效信号(RX_DV)、接收错误信号(RX_ER)和接收时钟信号 (RX.CLK)发送给GMII子层210。接收部件232还将接收指示信号(“接收”)发送给发送部件230和载波感测部件236。因此,接收部件232将从同步部件234接收的10比特并行编码信号(rx_code-group<9:0>)解码为发送给GMII子层210的8比特并行接收数据信号 (RXD<7:0>)。吉比特以太网采用块编码方案,通过此方案,一组数据比特被编码为更大空间的码比特。在处理块码时,常常提及“数据空间”(即,未编码的比特)和“码空间”(即,编码的比特)。另外,一组码比特可被称作码字、码组或符号。在8比特/10比特(8B/10B)编码方案(吉比特以太网所采用的编码方案)的情况下,数据空间为28 = 2568比特字,码空间为21° = 102410比特字。这样的编码方案为吉比特以太网提供了许多重要特性。首先,8B/10B编码方案确保了接收机处用于时钟恢复的充足的信号转变。其次,8B/10B编码方案允许控制信号被编码在数据流中。第三,8B/10B编码方案允许特定码映射,这能显著增加检测由于码违例的单比特和多比特错误的可能性。第四,8B/10B编码方案允许一些编码(用于控制信号)包含独特的、容易识别的码位形(称作逗号(comma)),它是一种特殊的7比特序列,可以帮助快速同步和接收机对准。8B/10B编码方案的码空间被分割成两组码“D”组用于对数据字节进行编码,“K” 组用于对特殊控制字符进行编码。8B/10B编码方案的一种可能的实现方式是在帧发送期间将数据字节编码为8B/10B码组,在帧接收期间将8B/10B码组解码回数据字节。8B/10B编码方案的另一种可能的实现方式是将数据字节分成3比特(3B)和5比特(5B),然后以协同方式对其进行编码/解码,从而导致8B/10B编码/解码。
参照图3,示出了根据本发明实施例的PCS子层208中的发送部件230的功能框图。发送部件230可包括PCS发送部件302、发送时钟部件304和发送时间传送单元306。 PCS发送部件302可包括8B10B编码器部件308、发送标志生成部件310和冲突监测和指示部件312。8B10B编码器308可包括编码器控制部件314、数据编码部件316和有序集生成部件318。编码器控制部件314可包括自动协商xmit标志监测部件320。8B10B编码器部件308可将从GMII子层210接收的8比特并行发送数据信号 (TXD<7:0>)编码为发送给PMA子层206的10比特并行编码信号(tx_code-group<9 0>)。 8B10B编码器部件308还可生成其他预定义的特殊非数据码组(称作特殊码组)。这些特殊码组的集合(有时与数据码组组合)可用于构造控制信号(例如包定界符)或交换用于链路配置的非包数据。这些特殊码组的集合称作有序集。8B10B编码器部件308及其相关部件可在需要时或适当时生成这些有序集。由8B/10B编码方案的扩展码空间提供的附加比特增加了传输开销,但是由于存在比8比特数据字更多的10比特码组,所以它们提供一定程度的传输冗余。这种冗余可用于分离用于数据和控制的码组,提供用于时钟恢复的足够的转变密度,允许简单的码组同步(“对准”),使错误检测更高效,以及防止差的传输信道特性。要传输的包数据可由GMII子层210利用字节宽T K7 0>路径给出,并通过ΤΧ_ΕΝ 和TX_ER信号形成帧。8B10B编码器部件308可连续地生成10位码组并将其传递给PMA子层206。以下更加详细地说明8B/10B编码方案的示例性实施方式。编码器控制部件314可监测来自自动协商部件238的发送标志信号(xmit)(例如,经由自动协商xmit标志监测部件320)以及来自GMII子层210的TX_EN信号和TX_ER 信号。基于这些信号,编码器控制部件314可命令数据编码部件316将随后的码组或有序集传递给PMA子层206。传递给PMA子层206的码组可提供若干指示中的一种。首先,当GMII子层210没有给出包数据(即,TX_EN信号和TX_ER信号无效)时, 例如在帧之间,可发出“空闲”(Idle) (/I/)码组指示。“空闲”有序集的传输可保持包之间接收电子装置和光装置“存活”。“空闲”有序集可用作链路的时钟恢复电子装置和电光装置的“保持存活(keepalive)”信号。如果在包间间隙(IPG)(有时称作帧间间隙(IFG))期间没有光被发射,则光发射机可能未正确工作。另外,如果包之间没有光被发射,则信号电平检测信号(SIGNAL_DETECT)可指示链接失败,从而触发同步部件234和自动协商部件238。其次,当GMII子层210指示帧首条件时(即,当TX_EN信号刚被断言或是有效,而 TX_ER信号无效时),8B10B编码器部件308可生成“包首定界符”(SPD) (/S/)码组。第三,当GMII子层210指示包尾条件(即,TX_EN信号的解除断言)时,8B10B编码器部件308可生成“包尾”(End_0f_Packet) (/T/)码组。第四,由GMII子层210在T K7 0>信号上提供的包数据(即,当TX_EN信号有效, 而TX_ER信号无效时)可直接被8B10B编码器部件308编码为“数据”(/D/)码组(即,tx_ code-group<9 0 ,并被传递给PMA子层206,除非前导(preamble)的第一字节可用SPD码组代替。当未用于区分或传送已定义的有序集的信息时,数据码组可传达GMII子层210和 8B10B编码器部件308之间的一个字节的任意数据。数据码组序列可以是任意的,其中任何数据码组之后可跟随任何其他数据码组。数据码组可被编码和解码,但是不被8B10B编码器部件308解释。数据码组的成功解码取决于“包首定界符”(SPD) (/S/)码组的正确接收。第五,当GMII子层210提供载波扩展指示时(即,当TX_EN信号无效,而TX_ER信号有效,并且Τ Κ7:0>信号=OFF时),8B10B编码器部件308可针对指示存在的各GTX_ CLK周期生成“载波扩展”(Carrier_EXtend) (/R/)码组。可允许两码组延迟,以给予8B10B 编码器部件308时间来完成“包尾”(/T/)码组。在半双工模式下,“载波扩展”(/R/)码组可用于扩展最小尺寸包并可用于在帧突发期间确保载波连续。第六,当GMII子层210指示发送错误条件时(即,当TX_EN信号有效,TX_ER信号也有效时),8B10B编码器部件308可针对帧传输期间的一个或多个GTX_CLK周期生成“错误传播”(Error_Propagation) (/V/)码组。”错误传播”(/V/)码组可由以半双工模式运行的重发器使用,以通知其所有端口已检测到错误。最后,8B10B编码器部件308可对自动协商部件238所提供的16比特配置寄存器或下页发送寄存器进行编码,以便将其自身以及对应的链接伙伴配置为可兼容工作模式。 该已编码的配置寄存器或下页发送寄存器可作为“配置”(Configuration) (/C/)码组发出。上述所有码组(除了包数据的那些之外)实际上可以是按照特定顺序的10比特码组的集合(即,有序集)。以下将更为详细地说明这些有序集。如果冲突监测和指示部件312检测到同时的发送和接收包活动,则其可为GMII子层210生成冲突检测信号(COL)。然而,应该注意的是,由于在不存在包活动的情况下也可能总是发送“空闲”或“配置”码组,所以介质上可能总是存在同时的物理信令活动。仅同时的包-数据活动可构成冲突。冲突监测和指示部件312还可监测来自接收部件232的接收指示信号(“接收”)。如果发生冲突,则冲突监测和指示部件312可将冲突检测信号(COL) 设定为有效。每当PCS发送部件302发出数据包时,发送标志生成部件310就可为载波感测部件236生成发送指示信号(“发送”)。如上所述,接收部件232每当接收包时就可生成接收指示信号(“接收”)。冲突监测和指示部件312因此可检查PCS发送部件302是否在同时发送和接收数据。如果是(即,“接收” =1,且“发送” =1),则冲突监测和指示部件312 可向GMII子层206发送冲突检测信号(COL)。如上所述,自动协商xmit标志监测部件320可监测来自自动协商部件238的发送标志信号Umit),以确定是否允许包数据传输或者链路是否需要(重新)配置。在重新配置期间,PCS发送部件302可忽略由GMII子层210在Τ Κ7:0>信号上提供的包数据,而是根据自动协商部件238的引导发送“配置”(/C/)有序集。参照图4,示出了根据本发明实施例的PCS发送部件302中的有序集发送的简化状态图。PCS发送部件302可处于三种状态中的一种发送“配置”(/C/)、发送“空闲”(/I/)、 或者发送“数据”(/D/)。当处于发送“数据”状态时,可根据图4的“数据”状态图部分发送包。半双工模式的状态之间的正常路径(不存在错误)可由粗体转变路径指示。发送VOID 状态可能是重发器的正常状态,因为其可能需要重新发送所有接收的帧,包括错误。这样, 每当接收到无效码组时,就可将“空”(void)码组(/V/)插入到输出帧中。再参照图3,发送时间传送单元306可与PCS发送部件302中的8B10B编码器部件308连接,以协调传递给PMA子层206的tx_C0de-gr0up<9 0>信号中的时间业务有序集 (TSOS)和时间业务数据(TSD)码组的传输。时间业务有序集(TS0Q和时间业务数据(TSD)
11码组可在PCS发送部件302处于发送“数据”(/D/)状态时发送,如图4所示。发送时间传送单元306可生成时间业务数据(TSD)消息,捕捉时间戳,与8B10B编码器部件308协调时间业务有序集(TS0Q和时间业务数据(TSD)码组的传输,并与发送时钟部件304和提供时间业务数据的主处理器(未示出)连接。发送时钟部件304可向发送时间传送单元306提供发送时间戳信号以及发送时间戳读取指示信号。再参照图2,载波感测部件236可监测发送和接收包数据活动,并根据监测到的活动以及PCS子层208是实现在重发器中还是终端站应用中来向GMII子层210断言(assert) 载波感测信号(CRS)。如果PCS子层208实现在重发器中,则可仅针对接收包活动来断言载波感测信号(CRS)。重发器可利用这样的事实多个端口表现出载波感测信号(CRS)的活动可指示冲突。如果PCS子层208实现在终端站中,则可针对发送或接收包活动来断言载波感测信号(CRS),以保证在MAC子层观察到正确的协议。因此,载波感测部件236可在接收指示信号(“接收”)或发送指示信号(“发送”)=1时断言载波感测信号(CRS),并且可在接收指示信号(接收)和发送指示信号(“发送”)=0时对载波感测信号(CRS)解除断言(deassert)。对于重发器而言,载波感测信号(CRS)可在接收指示信号(“接收”)= TRUE状态时被断言,而在接收指示信号(“接收”)=FALSE状态时被解除断言。同步部件234用于确保对码组边界的锁定,并将接收的码组传递给接收部件232。 即,同步部件234可检查PMA子层206正在将正确对准的码组传递给PCS子层208。由于可经由介质以特定速率(例如,1250Mbaud)在连续的比特流中发送码组,所以同步部件234 可通过检测此连续流内码比特和码组的边界来确定PMA子层206是否可靠地发挥作用。同步部件234可向自动协商部件238发送同步状态信号(SynC_StatuS),并且一旦确认码组边界正确,它就还可将码组传递给接收部件232。同步部件234可能需要接收一系列的包含三个连续的“逗号”的码组,且它们之间没有无效的码组,以便于实现接收机/发射机同步。每个逗号之后可跟随奇数个有效数据码组,如将在后详细说明的。这可确保码组和有序集被正确地检测并传递给接收部件232。同步部件234可连续地从PMA子层206接收码组,并将接收的码组传送给接收部件232。同步部件234可向自动协商部件238发送同步状态信号(sync_status),以指示 PMA子层206是否可靠地起作用。一旦获得同步,同步部件234就可开始对接收的无线码组的数量进行计数。每当接收到的码组无效或者在奇数码组位置包含逗号,该计数可递增。每当接收到四个连续的有效码组,该计数可递减(在偶数码组位置中接收到的逗号被认为是有效的)。该计数可永不会小于零,并且当其到达4时,同步状态信号(SynC_StatUS)可被设定为指示失败。在继续检测到好的码组的同时,可保持同步。同步部件234可提供迟滞功能,使得在检测到无效码组的情况下,其可获得一连串无效码组以引起同步丢失。同步部件234可容忍接收的码组流中的少许错误。这可确保仅影响较少数量的码组的短错误突发(例如, 介质上的噪声事件损坏数据)不会引起同步损失。然而,较长的错误突发指示显著的错误状况或者接收信号的完全损失,因此可引起同步损失,并且码组内容不再被认为是可靠的。 长错误突发可使得同步部件234停止将码组传递给接收部件232并重新校验码组边界。在启动时,以及在PCS子层208已经不同步达预定时间段(例如,IOms或更长)的任何时间,自动协商部件238可触发链路重新配置。自动协商和手动配置的装置可能无法解释接收的码组,直到获得同步。一旦获得同步,PCS子层208就能够接收并解释到来的码组。自动协商部件238可控制在获得同步(即,发送“配置”(/C/)状态,如上面图4所示)之后发送部件230发送什么。然后,自动协商部件238可执行自动协商处理。一旦此自动协商处理完成,自动协商部件238就可针对发送部件230激活发送标志信号(xmit)。 然后,发送部件230可发送由GMII子层210在Τ Κ7:0>信号上提供的包数据。因此,自动协商部件238可设定发送标志信号(xmit),以命令发送部件230或者发送穿插有从GMII子层210接收的数据包的正常“空闲”码组,或者重新配置链路。在自动协商处理期间,自动协商部件238可执行以下功能。首先,自动协商部件238可协商链路是在半双工模式还是在全双工模式下工作。 当然,链路伙伴必须能够在相同模式(无论是半双工还是全双工)下工作。第二,自动协商部件238可协商是否使用以及如何使用流控制。半双工链路可不允许流控制。如果需要非对称流控制,则应该就允许哪一链路伙伴发起暂停请求达成一致。因此,自动协商部件238可测试链路准备好工作,协商链路是在半双工还是全双工模式下工作,并且协商是否以及如何使用流控制。如果这些协商失败,则链路伙伴可能是不兼容的,可能不允许通信。自动协商处理应该在链路用于发送帧之前完成。为了确保“配置”(/C/)码组不被错误地解释为“数据”(/D/)码组,8B/10B码的两个有序集(即,“配置”码组/Cl/和/C2/,如下面图10所示出的)可被专门保留用于发送自动协商配置消息。每个有序集可以是4字节序列一个字节用于/以8. 5/特殊码,一个字节用于/D21.5/或/D2. 2/码组,两个字节用于16比特“自动协商配置寄存器”(/Config_ Reg[15:0]/)。本地装置性能(例如,其可支持的工作模式)可被编码在16比特“配置寄存器”中,称作基本页。16比特“配置寄存器”可包括足以指定物理层的能力的比特以及 Ack (确认)比特。两个“配置”码组(/Cl/和/C2/)可被定义为使编码器能够牢牢地控制码组流的运行不一致(running disparity,RD),如将在下面更详细描述的。两个链路伙伴均可向彼此发送它们的配置基本页寄存器作为在/Cl/和/C2/有序集序列之间交替的连续码组流。 /Cl/和/C2/均和包含逗号序列,所述逗号序列可由PMA子层206中的逗号检测处理使用。“配置寄存器”数据比特可被编码为“配置”有序集的第三和第四字符。自动协商消息可作为如下一系列发送:"/K28. 5/D21. 5/Config_Reg[7:0]/K28. 5/D21. 5/Config_ Reg[15:8]/K28. 5/D2. 2/Config_Reg[7:0]/K28. 5/D2. 2/Config_Reg [15:8]/· · ·. ”,直到自动协商处理完成,每个链路伙伴了解并确认对方的能力并适当地设置配置(或检测错误状况)。注意,“配置寄存器”数据的传输顺序可以是编码的比特d0:d7,随后是编码的比特d8:dl5。发送的比特流与“配置寄存器”的顺序没有相似性。自动协商处理可涉及以下行为1)发送本地装置的“配置寄存器”;2)接收远程链路伙伴的“配置寄存器”;幻确认链路伙伴的能力的检测;4)检测来自链路伙伴的确认;5) 决定工作模式(即,半双工还是全双工);以及6)通过决定暂停控制模式来决定流控制操作。自动协商装置可以以发送“配置”(/C/)状态开始,如上面的图4所示。在数据传输可开始之前,自动协商装置应该接收三个连续的、一致的/C/有序集。一致的/C/有序集应该在每一/C/有序集的最后两个码组内包含相同的码组(忽略ACK(确认)比特)。一旦已接收到三个连续的、一致的/C/有序集,自动协商处理就可寻找具有设定为1的ACK比特的三个连续的、一致的/C/有序集。在一段时间之后,自动协商装置可转变为发送“空闲”(/ I/)状态,如上面的图4所示。此时,自动协商装置可开始发送/I/有序集。再过一段时间之后,自动协商装置可转变为发送“数据”(/D/)状态,如上面的图4所示。此时,假定伙伴装置也已经接收到三个连续的、一致的/C/有序集,然后接收到ACK比特被设定为1的三个连续的、一致的/C/有序集,自动协商装置能够发送和接收数据。手动配置装置可跳过发送 /C/有序集的处理,以发送“数据”(/D/)状态开始,如上面的图4所示。参照图5,示出了根据本发明实施例的PCS子层208中的接收部件232的功能框图。接收部件232可包括PCS接收部件502、接收时钟部件504和接收时间传送单元506。 PCS接收部件502可包括8B10B解码器部件508、控制器部件510、“配置”检测部件512、时钟电路514、SPD/EPD检测部件516、载波检测部件518和“空闲”检测部件520。8B10B解码器508可包括码组解码器部件522。8B10B解码器508可将从同步部件2;34接收的10比特并行编码信号(rx_ code-group<9:0>)解码为发送给GMII子层210的8比特并行接收数据信号(RXD<7:0>),或者解码为发送给接收时间传送单元506的时间业务数据(TSD),如将在下面更详细描述的。 即,当链路正确运行,自动协商处理完成时,解码的8比特并行接收数据信号(RXD<7:0>) 可被发送给GMII子层210,或者解码的时间业务数据(TSD)可被发送给接收时间传送单元 506,如将在下面更详细描述的。在这种情况下,解码处理可基本上是发送部件230中的编码处理的反处理。“配置”码组或“空闲”码组可不被传递给GMII子层210或接收时间传送单元506,而是被传送给自动协商部件238。当链路正确运行,自动协商处理完成时,接收部件232可从同步部件234连续地接受码组。接收部件232可监测这些码组,并为GMII子层210生成8比特并行接收数据信号 (RXD<7:0>)、RX_DV信号和RX_ER信号,或者为接收时间传送单元506生成解码的时间业务数据(TSD),如将在下面更详细说明的。接收部件232还可为载波感测部件236和发送部件 230生成接收指示信号(接收)。当自动协商部件238设置发送标志信号(xmit)以指示“配置”或“空闲”状态时, 接收部件232可将“配置”有序集、“空闲”有序集和接收“配置寄存器”的内容传送给自动协商部件238。所有这些有序集可仅发送给自动协商部件238,而不发送给GMII子层210。 如上所述,在自动协商处理期间,发送部件230可不接受来自GMII子层210的输入,而是可根据自动协商部件238的引导发送“配置”有序集。参照图6,示出了根据本发明实施例的PCS接收部件502中的有序集接收的简化状态图。PCS接收部件502可针对下列条件监测发送标志信号(xmit)以及正在接收的码组 自动协商发送标志信号(xmit)检测(经由控制器部件510),载波检测(经由载波检测部件518),“载波扩展”(/R/)码组检测(经由控制器部件510),码组检测(有效解码)(经由控制器部件510),“包首定界符” (SPD) (/S/)码组检测(经由SPD/EPD检测部件516),“包尾”(/T/)码组检测(经由SPD/EPD检测部件5化),“错误传播”(/V/)码组检测(经由控制器部件510),“空闲”(/I/)码组检测(经由“空闲”检测部件520),以及“配置”(/C/)码组检测(经由“配置”检测部件512)。PCS接收部件502还可生成用于GMII子层210的RX_ DV信号和RX_ER信号以指示数据和/或包定界符序列何时有效或出错。载波检测部件518 可生成接收指示信号(“接收”)并将其传递给发送部件230和载波感测部件236 二者。时钟电路514生成RX_CLK信号,其同步用于GMII子层210的RXD<7:0>信号。在自动协商处理期间,PCS接收部件502可进入“配置”状态(参见图6),在此状态下其可检测、解码和传递“配置”码以及接收“配置寄存器”的内容给自动协商部件238, 直到链路被配置。从“载波检测”状态向“接收特殊字符”状态的转变可由错误载波检测引起。当此情况发生时,PCS接收部件502可在RXD<7:0>信号上输出值00001110,并将RX_ ER信号设定为TRUE状态。再参照图5,接收时间传送单元506可与PCS接收部件502中的8B10B解码器部件508连接,以协调从同步部件234接收的rX_COde-grOup<9:0>信号中的时间业务有序集 (TSOS)和时间业务数据(TSD)码组的接收。码组解码器部件522可分析到来的PCS帧并基于帧中的时间业务有序集(TS0Q检测时间业务数据(TSD)。所有的时间业务数据(TSD)可被转发给接收时间传送单元506。对于这些定时帧,准确的到达时间和时间业务数据(TSD) 可被接收时间传送单元506捕获。因此,8B10B解码器508可将从同步部件234接收的10比特并行编码信号(rx_ code-group<9:0>)解码为发送GMII给子层210的8比特并行接收数据信号(RXD<7:0>), 或者解码为发送给接收时间传送单元506的时间业务数据(TSD)。即,当链路正确运行,并且自动协商处理完成时,解码的8比特并行接收数据信号(RXD<7:0>)可被发送给GMII子层210,或者解码的时间业务数据(TSD)可被发送给接收时间传送单元506。如上所述,解码处理可基本上是发送部件230中的编码处理的反处理。“配置”码组或“空闲”码组可不传递给GMII子层210或接收时间传送单元506,而是被传送给自动协商部件238。接收时钟部件504可提供接收时间戳信号给接收时间传送单元506,以用于确定时间业务数据(TSD)的准确到达时间。参照图7,示出了根据本发明实施例的用于8B/10B编码方案的编码器700,其将数据字节分成3比特(3B)和5比特(5B)部分。编码器700包括用于对数据字节部分进行编码的3B/4B编码器702和用于对5B数据字节部分进行编码的5B/6B编码器704。图7 示出了从输入数据字节比特(Τ Κ7:0>)向输入字节比特标记、向输出码组比特标记、向输出码组比特(tX_COde-grOup<9:0>)的转换。对每一码组,码组比特0(最低有效位(Isb)) 是首先被发送的比特,码组比特9(最高有效位(msb))是最后被发送的比特。在图7的编码器700中,8B/10B码可由5B/6B和;3B/4B码构造。用于5B/6B和 3B/4B码的编码表的组合大小通常远小于用于8B/10B码的单个编码表。另外,可使用组合逻辑来进一步简化编码表。因此,基于将数据字节分成3比特(3B)和5比特(5B)部分的实现方式可非常有效率。如图7所示,数据字节的8比特被指定为A、B、C、D、E、F、G和H(lsb至msb)。编码器700将数据字节的8比特转换为10比特码,指定为a、b、C、d、e、i、f、g、h和j。码组被当作两个子群,一个包含6码比特(a、b、C、d、e和i),一个包含4码比特(f、g、h*j)。 给定的码被简略表达为/Dx. y/ (对于数据码)或/Kx. y/ (对于特殊码),其中χ是EDCBA (Ε 是字符串的msb)的十进制值并且在0-31范围内,y是HGF(H是字符串的msb)的十进制值,
15在0-7范围内。编码的IOB码组按照abcdeifghj的顺序串行发送(和接收)。图8示出了数据(D)码和特殊(K)码的一些实例。如图7所示,8比特未编码值被有效地分成两个子块。由输入字节的比特AD⑶E表示的5比特子块被编码为由比特abcdei表示的6比特子块。由输入字节的比特FGH表示的 3比特子块被编码为由比特fghj表示的4比特子块。如将在下面更详细描述的,每一子块具有与其关联的“不一致”值。“不一致”表示编码的字(即,码组)中0或1的数量之差。 可定义若干不一致状况。首先,中性不一致指示0和1的数量相等。第二,正不一致指示1 比0多。第三,负不一致指示0比1多。编码器700优选地被设计为保持中性平均不一致。平均不一致很重要,因为其决定了串行线路的DC分量。为了确保在无失真或不使用带宽增大码的情况下,IOB-编码信号可AC-耦合到介质上(例如,通过变压器或电容器),对于任意数据传输而言,编码流中1 和0的数量应该随时间相等。另外,连续的1或0的最大数量应该被最小化(即使长期平均是相等的),以避免任何短期DC偏移。这可称作码的行程长度的最小化。每一个10比特码组(数据和控制码二者)应该适合下列可能之一,其帮助限制任何两个码组之间的连续的一和零的数量5个一和5个零,6个一和4个零,或4个一和6个零。可能的IOM个码中的一些可被排除,仅留下行程长度为5个连续相等的比特的码组, 零和一的数量之差可不超过2。因此,可从21°= IOM个可能的码组中仔细地选出可用的码组。用于数据码的码组不应该产生超过4个连续的一或零,或者不应该具有大于一的不平衡性。具有许多连续的一或零或者非常不平衡的码不应该用于数据(一些用于特殊码,如下面将更详细说明的)。这是使用大的码空间的一个优点存在用于256个可能的数据值的IOM个可用的码,因此那些具有不需要的性质的码可被简单地丢弃。除了仅选择最平衡的码之外,可为每一个8B群定义两个IOB编码。如果针对给定值选择的IOB编码具有相同数量的一和零(各五个),则两个IOB编码可相同。这将是不需要补偿的完美平衡的码点。图8中的/D3. 1/的码(即,8B比特[HGF EDCBA] =
和 IOB 比特[abcdei fghj ] = [110001 1001])是平衡码点的实例。如果IOB编码的一多于零(或零多于一),则替代编码可使用发生不平衡的子群 [abcdei]或[fghj](或二者)内的比特的反码。特殊码组中的情况可能例外,其中无论是否平衡,第二编码总是第一编码的反码。因此,图8中的/拟3.2/([HGF EDCBA] =
)具有两个不同的有效编码[abcdei fghj] = [111010 0101]和[abcdei fghj]=
。由于[abcdei]子群的一多于零,所以第二编码可使用此子群的反码(其零多于一)。长行程的一或零可使得接收机更难以实现时钟同步(即使是平衡的码中也如此),因此为了防止长行程的一或零,用于确定给定码点的替代编码的规则还可分别反转 [abcdei]和[fghj]子群中的[111000]和[1100](以及它们的反码)的图形。发射机可逐码组地对发送的一多于零还是零多于一进行行程记录。由于码组可包括(至多)仅一个额外的一或零的不平衡性,所以对于行程记录仅需要单比特的信息。这可称为运行不一致(RD)。RD可为图形是朝着过多的一“倾斜”(RD+或正一致)还是朝着过多的零倾斜 (RD-或负不一致)的度量。因此,RD可以是每一个编码的字累积的不一致的记录,并且可由编码器700跟踪。可基于当前运行不一致值对8比特码组进行编码。为确保中性平均不一致,正RD 之后应该跟随中性或负不一致,负RD之后应该跟随中性或正不一致。编码器700可根据当前运行不一致是正还是负来为发送的每一字节选择两个可能的码之一,如图8所示。即,如果当前RD为负,则编码的值可来自“当前RD(-)”列。“当前RD(-) ”列包含这样的码组,其所包含的零不多于一。这是因为,在不存在错误的情况下, 当前负RD值表明已经发送的零多于一,因此在发送零多于一的另一码组之前,应该发送一多于零的码组。另外,如果当前RD为正,则编码的值可来自“当前RD(+)”列。出于与上述原因相反的原因,“当前RD(+)”列不包含一多于零的码组。应该注意的是,对于10比特码组而言,给定码组(例如,/D21. 5/)的两列可能相同。由于给定码组被发送的结果,运行不一致可反转(“翻转”)或保持相同。因此,在整个发送的码组序列上可保持非常牢固的DC平衡。另外,接收机可通过校验接收的码字的不一致来检测许多错误。由于发射机应该从不尝试以任何方式在码组之间移动DC平衡超过1比特,因此这样接收的码组可被假定为错误。代表8比特值的256个码组中的许多码组的不一致可为中性。即,6比特和4比特子块均可具有相同数量的零和一。每个码组结尾的RD可在发射机中被连续地保持为正或负,而在接收机处被校验。可利用每个子块的不一致以及先前子块的RD值来计算RD的值。 每个4比特或5比特子块可允许在子块内具+2、0或-2的不一致,而在每个子块的开始和结尾具有+1或-1的不一致(分别为正或负)。与图8类似,5B/6B和!3B/4B码表可具有用于6B和4B子块的两个编码的比特列, 称作“当前RD(+) ”和“当前RD(-) ”,其中“当前RD”可表示最后子块的结尾处的RD的状态。 8B/10B码组可利用几个规则由这些分割的码表构造。首先,码组的RD可基于子块计算,其中前面的6比特(abcdei)形成一个子块,后面的4比特(fghj)形成另一子块。即,6比特子块的开始处的RD为最后码组的结尾处的 RD。另外,4比特子块的开始处的RD为6比特子块的结尾处的RD。另外,码组结尾处的RD 为4比特子块结尾处的RD。其次,子块的RD也可基于子块计算。即,如果任何子块包含的一多于零,则子块的结尾处的RD为正。如果6比特子块为000111,则任何子块的结尾处的RD在6比特子块的结尾处也为正,如果4比特子块为0011,则任何子块的结尾处的RD在4比特子块的结尾处进一步为正。另外,如果子块包含的零多于一,则任何子块的结尾处的RD为负。如果6比特子块为111000,则任何子块的结尾处的RD在6比特子块的结尾处也为负,如果4比特子块为1100,则任何子块的结尾处的RD在4比特子块的结尾处也为负。另外,如果上述情况均不适用,则子块的结尾处的RD与子块开始处的RD相同。第三,具有相等数量的零和一的所有子块的不一致为中性。为了限制子块之间零或一的行程长度,适用以下规则。首先,仅在子块的开始处的RD为正时才生成编码为 000111或0011的子块。因此,这些子块的结尾处的RD也为正。同样,仅在子块的开始处的 RD为负时才生成包含111000或1100的子块。因此,这些子块的结尾处的RD也为负。其次,码组 DIl. 7、D13. 7、D14. 7、D17. 7、D18. 7 和 D20. 7 必须使用替代 4B 编码。发射机可在接通电源(启动)或退出测试模式之后假定初始RD为负值。其可基于发送的每个码组来为RD计算新的值。不一致为中性的码组可不改变RD的值(例如,图8 中的 D5. 6,其具有 8B 比特[HGF EDCBA] = [110 00101], IOB 比特“当前 RD(-)”= [abcdei fghj] = [101001 0110], IOB 比特“当前 RD(+)”= [abcdei fghj] = [101001 0110])。非中性不一致码组可翻转RD的值。另外,可使用8B/10B编码表来确定下一数据字节的正确编码。例如,假定当前RD为正,并且待发送的下一字节为图8所示的D2.2(即,8B比特[HGF EDCBA] =
,IOB 比特“当前 RD (-),,= [abcdei fghj] = [101101 0101],IOB 比特“当前 RD (+),,= [abcdei fghj] =
)。D2. 2 的编码应该从“当前 RD ⑴” 列进行。在接通电源或退出测试模式之后,接收机可假定初始RD为正或负值。在接收到码组时,其可基于接收的码组确定码组的有效性并计算新的RD值。RD值可在接收机处用作附加错误校验,因为发送的值可被定义以确保RD可保持正或负(即,非零或大于+1或小于-1)。从接收机的角度来看,如果根据当前RD,接收的码组处于8B/10B编码表的正确列中,则该码组可被认为有效并可被解码,并且可根据其内容采取适当的行为。对于数据码组,相关的数据字节可被确定(解码)。如果接收的码组处于8B/10B编码表的不正确的列中,则该码组可被认为无效。如果检测到足够的无效码组,则这些无效码组可导致同步丢失。然而,无论码组的有效性如何,其均可用于为接收机计算新的RD值。无效码组的检测并不一定指示检测出无效码组的码组出错。无效码组可源于早前的错误,该错误改变了比特流的RD,但是没有在发生错误的码组中引起可检测到的错误。检测到的无效码组的数量可与链路的误码率(BE 成比例。可通过对无效码组进行计数来执行链路监测。与数据相反,控制和管理信息可通过特殊可识别位形(本文中称作有序集)的传输来通信。有序集的长度可为1、2或4码组,并且可以以来自特殊码组的码开始。图9包括特殊码组的列表。在接通电源或复位之后的第一码组可被认为是偶数,第一码组之后的码组可在奇数和偶数之间交替。10比特码组可分类为数据(/Dx. y/)、特殊(/Kx. y/)和无效码组。IEEE 标准802. 3包含数据比特OO-FF的所有有效编码的表。无效码组可以是IEEE标准有效编码表中未定义10比特码组、以及那些以不正确的RD接收或发送的码组。控制⑷码组中的仅12个码组被定义为吉比特以太网的有效控制码组。特殊码的使用使得有序集容易地与数据区分。这种区别使得数据和控制信息均能够在相同通信信道上明确地传递。有序集可提供“带外”信令方法。在图9所示的12个特殊码组中,仅6个可用于构造吉比特以太网的有序集。吉比特以太网定义并使用八个这样的有序集,如图10所示。这八个有序集可分类为“配置”有序集、“空闲”有序集和“封装”有序集。“配置”有序集可用于链路特性的自动协商。具体地讲,有序集/Cl/和/C2/可用于传达16比特配置寄存器的内容/Cl/ = /K28. 5/D21. 5/Config_Reg[70]/Config_Reg[158]//C2/ = /K28. 5/D2. 2/Config_Reg[70]/Config_Reg[158]//K28. 5/码组可用作第一码组,因为其包含逗号(如上所述的独特数据图形)。数据包期间不会发生此码组的接收,除非发生数据错误。这使其非常适用于诸如配置和空闲的非常特定的有序集。由于其高比特转变密度而选择码组/D21. 5/和/D2. 2/(参见图8)。 与有序集/C2/交替的有序集/Cl/的连续重复可用于传达16比特配置寄存器的内容。有序集/Cl/可在码组/D21. 5/的传输之后翻转当前RD。这是因为码组/K28. 5/ 可翻转RD,码组/D21. 5/可保持当前RD。有序集/C2/可在码组/D2. 2/的传输之后维持当前RD。这是因为码组/以8. 5/和码组/D2. 2/均可翻转当前RD。对于配置寄存器的相同值,/Cl/有序集可将发送的/Cl/有序集的结尾处的RD改变为与开始处的RD相反。/C2/有序集可将发送的/Cl/有序集的结尾处的RD保持为与开始处的RD相同。可在传输之间使用“空闲”有序集(/I/)。每当没有来自GMII子层的发送活动(例如,TX_EN和TX_ER均无效)时就可连续反复地发送“空闲”有序集(/I/)。有序集/11/和 /12/可被发送以提供连续填充图形,以建立和保持时钟同步并为包数据定界。需要周期性转变以保持接收时钟的同步。/I/有序集可具有高转变密度,以在高频“空闲”有序集序列期间将接收机保持在最佳同步。可通过“空闲”有序集来分隔明显的载波事件。当接收机看到“空闲”有序集时,其可丢弃载波。/11/有序集可包括负不一致/K28. 5/码组(10比特0x^:3),/D5. 6/码组跟随其后。/D5.6/码组(参见图8)对于正和负不一致版本具有相同的值10比特0xlA5,并且具有平衡的10比特码。/11/有序集应该仅在发送/11/有序集之前RD为正时才发送一次。/ 11/有序集可将发送的/11/有序集的结尾处的RD改变为与开始处的RD相反。/12/有序集可包括正不一致/K28. 5/码组(10比特0xl7C),负不一致/D16. 2/码组(10比特0U89)跟随其后。如果在开始“空闲”有序集序列之前RD为负,则/12/有序集可开始“空闲”有序集序列。否则,/12/有序集可跟随/11/有序集并被连续地发送,保持负的RD直到发送的码组序列的结尾为止。/D5. 6/码组和/D16. 2/码组由于其高比特转变密度而被选择(参见图8)。/I/有序集可被发送以确保RD为负。/11/有序集和/12/有序集可用于控制码比特流的RD。/11/有序集可改变RD,而/12/有序集可保持RD。如果在“空闲”有序集之前 RD为正,则可选择/11/有序集。如果在“空闲”有序集之前RD为负,则可选择/12/有序集。跟随包或“配置”有序集的第一个“空闲”有序集可将当前正或负RD恢复为负值。为此目的可仅需要一个“空闲”有序集。所有后续的“空闲”有序集可为/12/有序集以确保以负结尾的RD。因此,/11/和/12/有序集的使用可产生下列行为。/11/有序集的结尾处的RD可与/11/有序集的开始处的RD相反。然而,/12/有序集的结尾处的RD可与/12/有序集的开始处(即,恰好在发送/12/有序集之前)的RD相同。/12/有序集可将发送的/11/有序集的结尾处的RD保持为与开始处相同的RD。这确保了在“空闲”有序集的结尾处的负RD。“封装”有序集可包括“包首”或“包首定界符”(SPD)有序集(/S/)、“包尾”(End_ of_Packet)有序集(/Τ/)、“载波扩展”有序集(/R/)和“错误传播”有序集(/V/)。“包首”或“包首定界符”(SPD)有序集(/S/)可用于指示数据传输序列的开始。可用前导的第一字节使ΤΧ_ΕΝ信号有效,并且ΤΧ_ΕΝ信号可对整个MAC帧(参见图11)保持
19有效。当TX_EN信号激活时,MAC前导的当前(第一)字节可被/S/有序集代替。在接收机开始数据接收时,/S/有序集可被MAC前导的第一字节代替。对于单个包或包突发的第一包,/S/有序集跟随/I/有序集。对于包突发的第二包和随后的包,/S/有序集跟随/R/ 有序集。吉比特以太网包的MAC前导包括交替1和0比特的56比特(7_字节)图形(其中最后一个比特为零),其允许连接的网络装置能够容易地检测新到来的帧。MAC前导允许物理层检测载波并在接收到实际的帧首定界符(SFD)之前达到与到来的帧的稳态同步。“包尾”有序集(/T/)可用于指示数据传输序列的结束。其通常是指示数据传输序列的结束的第一有序集。/T/有序集可被装置使用以帮助使载波指示快速无效。如图11所示,TX_EN信号可在正被发送的MAC帧的帧校验序列(FCS)的结尾处被无效,然后/T/有序集可被发送。“包尾定界符,,(EPD)可包括/T/R/R/码组或/T/R/K28. 5/码组。/K28. 5/码组通常作为/I/有序集的第一码组出现。EPD可跟随TX_EN信号的每一无效发送,所述无效可跟随MAC包的FCS的最后数据字节。接收机可认为在EPD之后在发送第一 /I/有序集之前,MAC包间间隙(IPG)已经开始两个字节(参见图11)。例如,当包以EPD结尾时,EPD的/T/R/码组部分可占被认为是MAC IPG的区域的一部分。“载波扩展”有序集(/R/)可用于多个目的。首先,/R/有序集可用于指示包突发期间的载波扩展。其次,/R/有序集可用于分隔包突发内的包。第三,/R/有序集可用于形成EPD/T/R/I/或/T/R/R/I/有序集序列中跟随/T/有序集的第一 /R/有序集。如果/T/有序集作为偶数字符被发送,并且不存在载波扩展,则在/T/有序集之后可准确地发送一个/ R/有序集。第四,/R/有序集可用于形成EPD/T/R/R/I/有序集序列中跟随/T/有序集的第二/R/有序集。如果需要,可使用此/R/有序集来填充包突发的仅有或最后包,以使随后的 /I/有序集可在偶数码组边界上对准(即,确保包传输之后的第一“空闲”有序集的正确码组对准)。“错误传播”有序集(/V/)可用于指示冲突或错误状况。终端站并非有意将无效码组发送到介质上。无效码组的检测可指示接收机脱离同步。当检测到下列状况之一时,接收机识别出无效码组1)码组内检测到码违例;幻检测到特殊码组对准错误(例如,/K28. 5/ 码组作为奇数码组被接收,非/K28. 5/特殊码组紧随/以8. 5/码组之后,检测到不支持的特殊字符,等等);幻接收到具有不正确的起始RD的有序集。“错误传播”有序集(/V/)可用于指示错误或无效码向其他连接的网络装置的传输。/V/有序集可在TX_EN和TX_ER信号变得有效时,或者在TX_ER信号变得有效,TX_EN 信号变得无效,而Τ Κ7:0>信号不等于OF时发送。/V/有序集或无效码组的接收(冲突或错误状况的结果)可通过使RX_ER信号有效并将RXD<7:0>信号设定为适当的值来指示。/K28. 5/特殊码组的8B/10B编码(参见图8和图9)包括abcdeif 7比特位形 0011111(逗号+),或作为其反码的abcdeif 7比特位形1100000 (逗号-)。这些逗号位形中的每一个均是独特的,因为其包含五个连续的一或零。在不存在传输错误的情况下,这些逗号位形中的每一个不会出现在发送的码组内,并且不会横跨两个相邻码组的边界出现。/K28. 5/特殊码组包括跟随有0和1的交替序列的逗号位形(即,00111110101 ‘或1100000101'),并被有意识地选择用于“配置”和“空闲”有序集。该总位形可提供容易的方式来在链路起始处以及帧之间实现到来的比特流的对准和同步。逗号位形可由PMA子层206用来对准到来的串行流。即,其可用于容易地寻找和验证接收的比特流的字符和字边界。逗号位形还可由PCS子层208用来获取并保持同步。/K28.5/特殊码组的比特ghj 呈现出最大数量的转变,简化了比特同步的接收机获取。如上所述,吉比特以太网使用8B/10B编码方案,其确保了除非发生错误,否则逗号位形对于/K28. 5/特殊码组而言是唯一的。/K28. 5/特殊码组是包括吉比特以太网的正常工作中所使用的逗号位形的仅有码组。逗号位形不会横跨任何两个相邻码组的边界出现,除非发生错误。尽管/K28. 7/特殊码组也包括逗号位形,但是其是为诊断用途预留的。 另外,/K28. 7/特殊码组应该小心使用,因为此码组与一些其他码组(/K28. x/、/D3. χ/、/ Dll. x/、/D12. x/、/D19. x/、/D20. χ/或/D28. χ/码组,其中χ为0至7的值)的组合可产生非码组对准的逗号位形(即,导致产生横跨两个码组的边界的逗号位形)。当/Κ28. 7/特殊码组之后跟随有 /Κ28. x/、/D3. χ/、/Dll. x/、/D12. x/、/D19. x/、/D20. χ/ 或 /D28. χ/ 码组 (其中χ是0至7的值)时,可使用10比特/Κ28. 5/特殊码组来防止横跨边界检测到7比特逗号位形。另一特殊码组/以8. 1/也包括逗号位形,但是吉比特以太网中不使用此特殊码组。在装置启动之后,PCS子层208的主要功能是将MAC帧封装成码组流以便于PMA子层206和PMD子层204传输。PCS子层208可从MAC子层(通过协调子层和GMII子层210) 接受包,并将其封装成码组流。PCS子层208可将从PMA子层206接收的码组流解码,从其提取包,并将包传递给MAC子层(通过协调子层和GMII子层210)。图11示出了 MAC帧的封装处理。PCS子层208的接收和解封装处理基本上是封装和发送处理的反处理。TX_EN、TX_ER、RX_DV和RX_ER信号可在MAC帧的封装和解封装中扮演重要角色。 这些信号与Τ Κ7:0>和RXD<7:0>信号一起可用于指示MAC子层的状态(例如,MAC子层在发送正常数据帧还是控制信号)。如上所述,/S/和/T/有序集可分别用作指示PCS发送帧的开始和结束的定界符。 /S/和/T/有序集可在物理层封装中划定数据比特流的边界,指出空闲有序集或帧间间隙的结束以及前导的开始(参见图11)。这可与数据链路层所使用的指示前导的结束和目的地地址的开始的帧首定界符(SFD)不同。帧首定界符(SFD)可以是标记吉比特以太网帧的前导的结束的8比特(1-字节) 值。目的地MAC地址可紧随SFD之后。目的地MAC地址可具有继续前导的交替位形的值 10101011 (最后两比特位置中的两个1可标识前导序列的结束)。SFD可被设计为打破此图形,而指示实际帧的开始。与/S/有序集可使用的“带外”信令相反,SFD可“带内”传输。 IEEE标准802. 3针对/S/有序集使用术语“包首定界符”而非“帧首”来指示此区别。数据包根据下列要求发送。首先,/I/有序集应该在偶数码组位置发送。其次,对于包突发的第一个包或非包突发的仅有包,/I/有序集应该在/S/有序集之前。这意味着 /S/有序集如果跟随在/I/有序集之后,则其可在偶数码组位置发送。第三,对于包突发内的第二个包和随后的包,/R/有序集应该在/S/有序集之前。第四,当/S/有序集跟随在/ R/有序集之后时,其可在偶数或奇数码位置上发送。参照图12,示出了根据本发明实施例的指示“包首定界符”(SPD)有序集(/S/)何时可发送的表。如图12所示,当/S/有序集跟随在/I/有序集之后时,/S/有序集应该在偶数码组位置发送。参照图13,示出了根据本发明实施例的指示“包尾定界符”(EPD)何时可与/T/R/ K28. 5/码组发送的表。如图13所示,EPD序列应该在/T/码组落在偶数码组位置时发送。 在这种情况下,/I/有序集也可落在偶数码组位置。参照图14,示出了根据本发明实施例的指示“包尾定界符”(EPD)何时可与/T/R/ R/码组发送的表。如图14所示,当/T/码组落在奇数码组位置时,/T/R/K28.5/EPD不满足条件,因为这将使得/I/有序集落在奇数码组位置。再参照图2,PCS子层208可解释TX_EN、TX_ER和Τ Κ7:0>信号并基于此发送有序集。如表1所示,每当包正被发送时就使ΤΧ_ΕΝ信号有效。如果GMII子层210在数据传输期间识别出错误,则其将使TX_ER信号有效,并提醒PCS子层208发送/V/码组。除了发送载波扩展时之外,TX_ER信号用于指示传输错误。当FCS字段已经被发送时使TX_EN信号无效。当TX_EN信号和TX_ER信号均翻转时,载波扩展可在包之后发送,以使得TX_EN信号=0,TX_ER信号=1,并且Τ Κ7:0>信号不等于0F,然后PCS子层208可将其认作错误并发送/V/有序集。如果TX_EN信号=0且TX_ER信号=0,则PCS子层208可发送/I/有序集。
权利要求
1.一种借助信号编码的时间传送方法,包括生成时间业务有序集以包含在物理层装置的物理编码子层帧中;生成时间业务数据以包含在所述物理层装置的所述物理编码子层帧中;以及发送所述物理编码子层帧。
2.根据权利要求1所述的方法,还包括生成发送时间戳以包含在所述时间业务数据中。
3.根据权利要求1所述的方法,其中所述时间业务有序集是选自未使用的特殊码组的单个特殊码组。
4.根据权利要求1所述的方法,其中所述时间业务有序集是码组序列,该码组序列包括选自未使用的特殊码组的初始特殊码组以及随后的选自所述未使用的特殊码组的至少一个附加特殊码组。
5.根据权利要求1所述的方法,其中所述时间业务有序集是码组序列,该码组序列包括选自未使用的特殊码组的初始特殊码组以及随后的至少一个附加数据码组。
6.根据权利要求5所述的方法,其中所述至少一个附加数据码组具有以下性质中的一种或多种高比特转变密度、一致性控制、和编码距离。
7.根据权利要求1所述的方法,其中所述时间业务有序集指示所述时间业务数据的类型。
8.根据权利要求1所述的方法,还包括接收所述物理编码子层帧;以及从接收的物理编码子层帧提取所述时间业务数据。
9.根据权利要求8所述的方法,还包括生成接收时间戳以确定所述时间业务数据的接收时间。
10.用于存储计算机指令程序的至少一种处理器可读介质,所述计算机指令程序被配置为能够被至少一个处理器读取以命令所述至少一个处理器运行计算机进程,从而执行根据权利要求1所述的方法。
11.一种借助信号编码的时间传送设备,包括编码器部件,其生成时间业务有序集以包含在物理层装置的物理编码子层帧中;时间传送单元,其生成时间业务数据以包含在所述物理层装置的所述物理编码子层帧中;以及发射机,其发送所述物理编码子层帧。
12.根据权利要求11所述的设备,还包括发送时钟部件,其生成发送时间戳以包含在所述时间业务数据中。
13.根据权利要求11所述的设备,其中所述时间业务有序集是选自未使用的特殊码组的单个特殊码组。
14.根据权利要求11所述的设备,其中所述时间业务有序集是码组序列,该码组序列包括选自未使用的特殊码组的初始特殊码组以及随后的选自所述未使用的特殊码组的至少一个附加特殊码组。
15.根据权利要求11所述的设备,其中所述时间业务有序集是码组序列,该码组序列包括选自未使用的特殊码组的初始特殊码组以及随后的至少一个附加数据码组。
16.根据权利要求15所述的设备,其中所述至少一个附加数据码组具有以下性质中的一种或多种高比特转变密度、一致性控制、和编码距离。
17.根据权利要求11所述的设备,其中所述时间业务有序集指示所述时间业务数据的类型。
18.根据权利要求11所述的设备,还包括解码器部件,其接收所述物理编码子层帧,并从接收的物理编码子层帧提取所述时间业务数据。
19.根据权利要求18所述的设备,还包括接收时钟部件,其生成接收时间戳以确定所述时间业务数据的接收时间。
20.一种借助信号编码的时间传送设备,包括用于生成时间业务有序集以包含在物理层装置的物理编码子层帧中的装置; 用于生成时间业务数据以包含在所述物理层装置的所述物理编码子层帧中的装置;以及用于发送所述物理编码子层帧的装置。
全文摘要
本发明公开了借助信号编码的时间传送技术。在一个具体的示例性实施方式中,所述技术可被实现为一种借助信号编码的时间传送方法,包括生成时间业务有序集以包含在物理层装置的物理编码子层帧中;生成时间业务数据以包含在物理层装置的物理编码子层帧中;以及发送所述物理编码子层帧。
文档编号H04L12/56GK102224702SQ200980146216
公开日2011年10月19日 申请日期2009年10月1日 优先权日2008年10月1日
发明者J·奥亚, M·乌利特 申请人:北电网络有限公司