可配置的多模式介质独立接口

申请号 CN201280071550.1 申请日 2012-03-23 公开(公告)号 CN104221290B 公开(公告)日 2017-11-07
申请人 高通股份有限公司; 发明人 郁宏春;
摘要 集成 电路 设备中的可配置介质独立 接口 包括第一多个信道和第二多个信道,其中,第一多个信道和第二多个信道中的每一个信道包括发送路径。接口还包括第一串行器和第二串行器,所述第一串行器可配置为在第一模式中将针对第一多个信道和第二多个信道的发送数据串行化以及在第二模式中将针对第一多个信道的发送数据串行化,而所述第二串行器可配置为在第一模式中被禁用以及在第二模式中将针对第二多个信道的数据串行化。
权利要求

1.一种集成电路设备中的可配置介质独立接口,包括:
第一多个信道,其中,所述第一多个信道中的每一个信道包括发送路径;
第二多个信道,其中,所述第二多个信道中的每一个信道包括发送路径;
第一串行器,其可配置为在第一模式中将针对所述第一多个信道和所述第二多个信道的发送数据串行化以及在第二模式中将针对所述第一多个信道的发送数据串行化;以及第二串行器,其可配置为在所述第一模式中被禁用以及在所述第二模式中将针对所述第二多个信道的发送数据串行化,其中,所述第一模式对应于第一协议,所述第二模式对应于第二协议。
2.根据权利要求1所述的介质独立接口,其中,所述第一多个信道和所述第二多个信道中的每一个信道还包括接收路径,以及所述介质独立接口还包括:
第一解串行器,其可配置为在所述第一模式中将针对所述第一多个信道和所述第二多个信道的接收数据解串行化以及在所述第二模式中将针对所述第一多个信道的接收数据解串行化;以及
第二解串行器,其可配置为在所述第一模式中被禁用以及在所述第二模式中将针对所述第二多个信道的接收数据解串行化。
3.根据权利要求1所述的介质独立接口,还包括第三多个信道,所述第三多个信道可配置为在所述第一模式中发送空闲符号以及在所述第二模式中被禁用。
4.根据权利要求1所述的介质独立接口,其中:
所述第一串行器可配置为在第三模式中将针对所述第一多个信道中的相应信道的数据串行化,其中,所述第三模式对应于第三协议;以及
所述介质独立接口还包括额外的串行器,所述额外的串行器可配置为在所述第三模式中将所述第一多个信道中的额外的相应信道串行化以及在所述第一模式和所述第二模式中被禁用。
5.根据权利要求4所述的介质独立接口,其中:
所述第二串行器可配置为在所述第三模式中将针对所述第二多个信道中的相应信道的数据串行化;以及
所述介质独立接口还包括额外的串行器,所述额外的串行器可配置为在所述第三模式中将所述第二多个信道中的额外的相应信道串行化以及在所述第一模式和所述第二模式中被禁用。
6.根据权利要求4所述的介质独立接口,其中:
所述第一多个信道和所述第二多个信道中的每一个信道还包括接收路径;以及所述介质独立接口还包括第一解串行器,所述第一解串行器可配置为:在所述第一模式中将针对所述第一多个信道和所述第二多个信道的接收数据解串行化;在所述第二模式中将针对所述第一多个信道的接收数据解串行化;以及在所述第三模式中将针对所述第一多个信道中的相应信道的接收数据解串行化。
7.根据权利要求6所述的介质独立接口,还包括第二解串行器,所述第二解串行器可配置为:在所述第一模式中被禁用;在所述第二模式中将针对所述第二多个信道的接收数据解串行化;以及在所述第三模式中将针对所述第二多个信道中的相应信道的接收数据解串行化。
8.根据权利要求4所述的介质独立接口,还包括第三多个信道,所述第三多个信道可配置为在所述第一模式中发送空闲符号以及在所述第二模式中和所述第三模式中被禁用。
9.根据权利要求1所述的介质独立接口,还包括编码解码器,所述编码解码器耦合到所述第一串行器和所述第二串行器,以编码针对所述第一多个信道和所述第二多个信道的所述发送数据。
10.根据权利要求9所述的介质独立接口,还包括复用/解复用电路,所述复用/解复用电路耦合在所述编码解码器和所述第一串行器和所述第二串行器之间以复用和解复用在所述编码解码器与所述第一串行器和所述第二串行器之间传送的数据,其中:
在所述第一模式中,在所述编码解码器和所述复用/解复用电路之间传送的数据具有第一宽度而在所述编码解码器和所述第一串行器之间传送的数据具有第二宽度,所述第二宽度是所述第一宽度的一部分;以及
在所述第二模式中,在所述编码解码器和所述复用/解复用电路之间传送的数据具有第三宽度而在所述编码解码器与所述第一串行器和所述第二串行器之间传送的数据具有第四宽度,所述第四宽度是所述第三宽度的一部分。
11.根据权利要求10所述的介质独立接口,其中,所述复用/解复用电路包括:
第一复用器/解复用器,其耦合到所述编码解码器;
第二复用器/解复用器,其耦合到所述编码解码器;以及
第三复用器/解复用器,其在所述第一模式中将所述第一复用器/解复用器耦合到所述第一串行器以及在所述第二模式中将所述第二复用器/解复用器耦合到所述第一串行器。
12.根据权利要求9所述的介质独立接口,其中,所述编码解码器可配置为:
在所述第一模式中,根据针对所述第一多个信道和所述第二多个信道的运行差别来编码针对所述第一多个信道和所述第二多个信道的所述发送数据;以及
在所述第二模式中,根据针对所述第一多个信道的运行差别来编码针对所述第一多个信道的所述发送数据以及根据针对所述第二多个信道的运行差别来编码针对所述第二多个信道的所述发送数据。
13.根据权利要求12所述的介质独立接口,其中,所述编码解码器可配置为在第三模式中独立地编码针对所述第一多个信道和所述第二多个信道中的相应信道的所述发送数据,其中,所述第三模式对应于第三协议。
14.一种操作集成电路设备中的可配置介质独立接口的方法,所述方法包括在多个模式中的一个模式中对所述介质独立接口进行配置,所述多个模式包括第一模式和第二模式,其中:
在所述第一模式中,将针对第一多个信道和第二多个信道的发送数据复用在一起并且将其串行化为串行化输出;以及
在所述第二模式中,将针对所述第一多个信道的发送数据复用在一起并且将其串行化为第一串行化输出,以及将针对所述第二多个信道的发送数据复用在一起并且将其串行化为第二串行化输出,其中,所述第一模式对应于第一协议,所述第二模式对应于第二协议。
15.根据权利要求14所述的方法,其中:
在所述第一模式中,将串行化输入解串行化并且解复用为针对所述第一多个信道和所述第二多个信道的接收数据;以及
在所述第二模式中,将第一串行化输入解串行化并且解复用为针对所述第一多个信道的接收数据,以及将第二串行化输入解串行化并且解复用为针对所述第二多个信道的接收数据。
16.根据权利要求15所述的方法,其中:
所述多个模式还包括第三模式,其中,所述第三模式对应于第三协议;以及在所述第三模式中,将针对所述第一多个信道和所述第二多个信道中的相应信道的发送数据串行化为相应的串行化输出,以及将相应的串行化输入解串行化为针对所述第一多个信道和所述第二多个信道中的相应信道的接收数据。
17.根据权利要求14所述的方法,其中:
在所述第一模式中,将针对第三多个信道的空闲符号与针对所述第一多个信道和所述第二多个信道的所述发送数据复用在一起并且将其串行化为所述串行化输出;以及在所述第二模式中,所述第三多个信道被禁用。
18.根据权利要求14所述的方法,其中:
在所述第一模式中,根据针对所述第一多个信道和所述第二多个信道的运行差别来编码针对所述第一多个信道和所述第二多个信道的所述发送数据;以及
在所述第二模式中,根据针对所述第一多个信道的运行差别来编码针对所述第一多个信道的所述发送数据,以及根据针对所述第二多个信道的运行差别来编码针对所述第二多个信道的所述发送数据。
19.根据权利要求18所述的方法,其中:
所述多个模式还包括第三模式,其中,所述第三模式对应于第三协议;以及在所述第三模式中,独立地编码针对所述第一多个信道和所述第二多个信道中的相应信道的发送数据。
20.一种集成电路设备中的可配置介质独立接口,包括:
用于在第一模式中将针对第一多个信道和第二多个信道的发送数据复用在一起,以及用于在第二模式中分别地复用针对所述第一多个信道的发送数据和复用针对所述第二多个信道的发送数据的单元;以及
用于在所述第一模式中将针对所述第一多个信道和所述第二多个信道的所复用的发送数据串行化为串行化输出,用于在所述第二模式中将针对所述第一多个信道的所复用的发送数据串行化为第一串行化输出,以及用于在所述第二模式中将所复用的发送数据串行化为第二串行化输出的单元,其中,所述第一模式对应于第一协议,所述第二模式对应于第二协议。

说明书全文

可配置的多模式介质独立接口

技术领域

[0001] 概括地说,本实施例涉及电子通信,并且具体地说,本实施例涉及以太网通信系统。

背景技术

[0002] 在允许计算机和/或其它网络设备形成局域网(LAN)的技术中,以太网已经成为主导网络技术并且在IEEE 802.3标准族中是标准化的。以太网标准已经随着时间演进,因此现存有以太网协议的不同变形以支持更高的带宽、改进的介质接入控制、不同的物理介质信道和/或其它功能。例如,IEEE 802.3现在具有覆盖从10Mbit/s、100Mbit/s、1Gbit/s到10Gbit/s甚至更高速度(或传输速率)范围的变形,并且具有管理例如同轴电缆、光纤和非屏蔽/屏蔽双绞线电缆等物理信道的变形。
[0003] 在使用以太网协议进行通信的系统和设备中,在介质接入控制(MAC)层和物理层之间存在接口以促进两层之间的信息交换。这个接口被称为介质独立接口(MII)。术语MII除了指整个类别(genus)之外,还指特定类型的介质独立接口。如本文中所使用的,除非另有说明,否则术语“介质接入接口”和“MII”将指的是这种接口的整个类别。MII的例子包括附加单元接口(AUI)、MII、简化MII、千兆MII(GMII)、简化GMII、串行GMII(SGMII)、四倍SGMII(QSGMII)、10GMII、和源同步串行MII(S3MII)。
[0004] 设计介质独立接口呈现出了显著的工程挑战。这些挑战的例子包括降低或最小化电磁干扰(EMI)、功耗、引脚(pin)数量和电路板复杂度。因此,存在对更加有效的MII设计的需要。此外,存在对可配置用于向后兼容现有MII协议的新设计的需要,以简化制造。附图说明
[0005] 通过示例的方式示出本实施例,并且本实施例不旨在受限于附图中的图像。
[0006] 图1是本实施例可以在其中实现的通信系统的框图
[0007] 图2是代表图1的网络设备的开放系统互连(OSI)模型的框图。
[0008] 图3是根据一些实施例的图1的网络设备的框图。
[0009] 图4是根据一些实施例的介质独立接口的框图,所述介质独立接口的框图在8个PHY信道和8个MAC子层之间提供单个串行双数据速率数据路径。
[0010] 图5是根据一些实施例的功能的框图,所述功能块用于图4的介质独立接口中的信道。
[0011] 图6A是根据一些实施例示出了用于在图4的介质独立接口中编码数据的运行差别方案的框图。
[0012] 图6B是根据一些实施例示出了用于在图4的介质独立接口中编码数据的另一个运行差别方案的框图。
[0013] 图7A是根据一些实施例的模式可配置的介质独立接口的框图。
[0014] 图7B和图7C是根据一些实施例的模式可配置的介质独立接口的部分的框图,所述部分包括所述接口的串行器/解串行器(Serdes)。
[0015] 图8是根据一些实施例用于图7A的介质独立接口中的信道的功能块的框图。
[0016] 图9是根据一些实施例示出了用于在图7A的介质独立接口中编码数据的运行差别方案的框图。
[0017] 图10是根据一些实施例示出了操作可配置的介质独立接口的方法的流程图
[0018] 贯穿附图和说明书,相同的附图标记指的是相应的部分。

具体实施方式

[0019] 公开了用于在物理层设备(PHY)和介质接入控制器(MAC)之间进行通信的方法和装置,所述方法和装置在单个串行数据路径(例如,串行双数据速率数据路径)上发送针对多个信道的信号而无需发送相应的时钟信号。在一些实施例中,针对多个信道的信号是经由第一差分对从PHY向MAC发送的以及经由第二差分对从MAC向PHY发送的。在其它实施例中,类似的方法和装置用于两个MAC之间的直接通信。
[0020] 在下面的描述中,阐述了许多具体细节,例如特定组件、电路、和过程的例子,以提供对本公开内容的透彻理解。另外,在下面的描述中并且出于解释的目的,阐述了特定的术语以提供对本实施例的透彻理解。然而,对本领域的技术人员而言将显而易见的是,可以无需这些特定细节来实践本实施例。在其它情况下,以框图的形式示出公知的电路和设备以避免模糊本公开内容。如本文中所使用的术语“耦合的”意味着直接连接或通过一个或多个中间组件或电路来连接。在本文中描述的各种总线上所提供的信号中的任意信号可以与其它信号时间复用并且在一个或多个公共总线上提供。另外,电路元件或软件块之间的互连可以被示出为总线或单个信号线。每个总线可以可替代地是单个信号线,而每个单个信号线可以可替代地是总线,并且单个线或总线可以代表用于组件之间通信的无数物理机构或逻辑机构中的任意一个或多个。本实施例不是要被解释为受限于本文中所描述的特定例子,而应当包括在它们的范围内的、由所附权利要求所定义的所有实施例。
[0021] 图1是本实施例可以在其中实现的示例性通信系统100的框图。通信系统100被示出为包括经由相应的数据链路120耦合到多个网络设备110(b)和110(c)的网络设备(例如交换机或路由器)110(a)。网络设备110(b)和110(c)可以与交换机/路由器110(a)(并且因此彼此之间)通过相应的数据链路120交换数据。网络设备110(b)和110(c)可以是适当的、能够联网的任何设备,包括例如计算机、交换机、路由器、集线器、网关、接入点等。另外,根据本实施例,网络设备110(b)和110(c)可以包括能够连接到有线网络或无线网络的任何电子设备,包括例如移动电话个人数字助理(PDA)、机顶盒、或游戏控制台。当然,路由器/交换机110(a)、网络设备110(b)和110(c)、以及数据链路120仅仅是网络的示例性组件,因为网络还可以包括任意数量的适当的设备以形成较大的网络,所述较大的网络包括例如局域网(LAN)、广域网(WAN)、无线LAN(WLAN),和/或可以连接到互联网。数据链路120可以是任意适当的物理介质信道,包括例如同轴电缆、光纤、和/或非屏蔽/屏蔽双绞线。
[0022] 网络设备110(a)-110(c)可以使用如在IEEE 802.3标准族中所描述的以太网技术来彼此通信。更具体地说,对于本文中描述的示例性实施例,每个网络设备110(a)-110(c)配备有能够在例如100Mbit/s和/或10Mbit/s的速度发送和接收数据分组的以太网兼容收发机(为了简单起见,没有在图1中示出)。
[0023] 图2是分别代表图1的网络设备110(a)和110(b)或110(c)的开放系统互连(OSI)模型200(a)-200(b)的框图。如在图1中,网络设备110(a)和110(b)或110(c)由已建立的数据链路(或物理信道)120彼此耦合。如图2中所描绘的,OSI模型200被划分成7个逻辑层:(1)应用层221;(2)表示层222;(3)会话层223;(4)传输层224;(5)网络层225;(6)数据链路层226;和(7)物理层227。虽然在本文中出于讨论的目的可以将OSI模型200用于表示网络设备110(a)和110(b)/110(c),但是应当注意的是可以将其它适当的模型用于表示根据本实施例配置的以太网设备。
[0024] OSI层的层级越高,其就越接近终端用户;OSI层的层级越低,其就越接近物理信道。例如,在OSI模型层级的顶部的是应用层221,其直接与终端用户的软件应用(为了简单起见,没有在图2中示出)交互。相反地,在OSI模型层级的底部的是物理层227,其定义了网络设备和物理通信介质之间的关系,例如将双绞线用于以太网数据传输。
[0025] 更具体而言,物理层227提供了针对网络设备110和物理层120之间的交互的电气规范和物理规范,包括像引脚布局和信号电压的细节。数据链路层226提供了针对网络设备110(a)和110(b)/110(c)之间数据传输的功能性和/或程序性细节,例如寻址机制和信道接入控制机制。数据链路层226具有两个子层,其为顶部(在层级方面)的逻辑链路控制(LLC)层和底部的介质接入控制(MAC)层。为了简单起见,本文有时候将数据链路层226在下面的讨论中称为MAC层。虽然为了简单起见没有在图2中示出,但是在MAC层226和物理层227之间存在接口以促进这两层之间的信息交换。这个接口被称为介质独立接口(MII),因为MAC层对用于传输的物理介质来说是不可知的。(如本文所使用的,除非特别声明,否则术语“介质接入接口”和“MII”指的是这种接口的整个类别而不是指相同名称的特定接口。)MII允许网络设备110(a)和/或110(b)/110(c)与不同类型的物理信道120接口,而不必替换它们的MAC设备226。
[0026] 图3是网络设备310的功能框图,所述网络设备310是图1和图2的网络设备110(a)和/或110(b)/110(c)的一个实施例。网络设备310包括处理器320、存储器330和以太网收发机电路340,所述以太网收发机电路340耦合到图2的一个或多个物理信道120。在一些实施例中,收发机电路340包括针对多个信道(例如8个信道)的收发机电路,并且因此包括多个端口(例如8个端口)。虽然以太网收发机340在图3中被示出为包括在PHY 360中,但是对于其它实施例来说,收发机340可以是独立的设备或集成电路。存储器330可以是包括例如EEPROM或闪存的任意适当的存储器元件或设备。处理器320可以是能够执行存储在例如存储器330中的一个或多个软件程序的脚本或指令的任意适当的处理器。虽然为了简单起见没有在图3中示出,但是网络设备310还可以包括存储频繁使用的指令和/或数据的公知的高速缓存存储器。
[0027] 网络设备310包括物理层设备(PHY)360和MAC层设备(或MAC设备)350。PHY 360和MAC设备350每个分别包括用于经由信号路径380的集合在所述两个设备之间发送信号的介质独立接口370-1和370-2。在一些实施例中,信号路径380包括用于从PHY 360向MAC设备350发送信号的信号线的第一差分对(例如,低电压差分信号传输对)和用于从MAC设备350向PHY 360发送信号的信号线的第二差分对(例如,低电压差分信号传输对)。每个差分对提供在PHY 360和MAC设备350之间的1比特数据路径。因此所述信号路径包括从PHY 360到MAC设备350的第一串行路径和从MAC设备350到PHY 360的第二串行路径。在一些实施例中,信号路径380不包括用于在PHY 360和MAC设备350之间发送时钟信号的任何信号线。例如,接口370-1和370-2可以不是源同步的。
[0028] MAC设备350可以是实现MAC层(例如图2的层226)的功能的任意设备或集成电路,并且可以是独立的设备或可以集成到网络设备310中。类似地,PHY 360可以是实现物理层(例如图2的层227)的功能的任意设备或集成电路,并且可以是独立的设备或可以集成到网络设备310中。在一些实施例中,PHY 360和MAC设备350中的每个设备可以在电路板上安装的集成电路中实现,而信号路径380可以实现为电路板上的迹线。
[0029] 在正常的数据传输操作期间,当网络设备310上的终端用户软件应用通过网络(例如向互联网)发送数据时,处理器320根据OSI模型的顶层来处理数据并且随后通过MAC设备350向PHY 360发送数据。然后,PHY360经由收发机340将数据发送到物理信道120上。
[0030] 图4示出了介质独立接口400,所述介质独立接口400是介质独立接口370-1或370-2(图3)的例子。接口400包括8个数据信道(Ch0到Ch7),其中每一个数据信道对应于PHY 360的收发机电路340中的相应端口以及对应于MAC设备350(图3)的相应端口。因此,接口400将
8个端口PHY与8个端口MAC链接。(更具体而言,接口400包括多个信道,在其它例子中,信道的数量可以超过8或少于8。)在一些实施例中,8个信道中的每一个信道可以(在8B/10B编码之前)在10/100Mbps的速率以半双工和全双工来操作。因此,8个信道中的每一个信道可以(再一次地,在8B/10B编码之前)用于10Mbps或100Mbps信号,并且PHY 360因此可以是10/
100Mbps以太网PHY。
[0031] 另外,接口400包括两个额外的信道414(Ch8和Ch9)。从这些信道414发送特殊的空闲指示符(例如针对Ch8的K28.3或K28.7和针对Ch9的D29.1)以在串行化输出中提供对信道号的指示。(更一般地,接口包括一个或多个额外信道414以发送空闲符号。)例如,串行化输出包括依次(例如,以循环的形式)针对信道Ch0-Ch7的数据,其后是Ch8和Ch9的空闲符号。接收接口可以识别这些空闲符号并且将它们用作针对信道对准的标记,以确定串行化输入中的哪个数据对应于哪个信道。(可选地,在其它信道上预定义的符号用于信道对准,例如Ch0或Ch4上的K28.1或K28.5。)在一些实施例中,这两个信道414还可以(在8B/10B编码之前)在100Mbps处进行操作。在一些实施例中,空闲符号是从还没有被保留的或者由设备制造方用于其它目的的已知的符号中选择的。用于信道的符号(例如,无论Ch8发送K28.3还是发送K28.7)可以由寄存器位来指定
[0032] 8个信道Ch0-Ch7中的每一个信道包括发送路径和接收路径。对于Ch0-Ch7中的每一个,发送信道在发送速率适配器404处接收并行(例如8比特宽的)信号,所述并行信号包括数据信号、数据有效信号、和错误信号。这些信号由PCS发送状态机408处理并且由80B/100B编码解码器416编码(例如,编码成10比特宽的信号)。在下文中关于图6A和图6B来描述
80B/100B编码解码器416的操作的例子。将针对每个信道的编码信号以及针对Ch8-Ch9的编码信号由10:1复用器420复用在一起,并且由串行器422串行化,所述串行器将串行化输出驱动到第一串行数据路径(例如,图3的信号路径380的第一差分对)上。因此,在图4的例子中,8个信道的数据的和2个信道的空闲符号被复用并且被串行化。在一些实施例中,以循环的顺序由10:1复用器420(并且因此还由串行器422)来输出针对相应信道的数据和空闲符号,如由4比特0-9计数器418(其输出被提供给复用器420作为控制信号)所确定的:数据被针对Ch0而输出,然后是Ch1,以此类推直到Ch9,之后数据被再次针对Ch0而输出,并且所述过程重复进行。在图4的例子中,10:1复用器420在125MHz处输出10比特而串行器在
1.25Gbps处提供串行化输出。在一些实施例中,串行器422将串行化输出驱动到信号路径
380(图3)的第一差分对上。
[0033] 接收路径接收串行化输入,所述串行化输入被解串行器426解串行化(例如,解串行化为10比特宽的信号),所述解串行器426还执行符号对准。在一些实施例中,解串行器426包括执行时钟和数据恢复的CDR电路。在图4的例子中,解串行器426在1.25GHz处(例如,从图3的信号路径380的第二差分对)接收串行化输入并且在125MHz处输出并行10比特字。
将并行10比特字提供给1:10解复用器(demux)424,所述解复用器424将10比特字解复用到相应的信道(例如以循环的方式解复用到Ch0-Ch9)。还将10比特字提供给数据检测器428,所述数据检测器428检测Ch8和Ch9上的、用于信道识别和对准的特殊符号。响应于Ch8和Ch9上的符号的检测,数据检测器428向4比特0-9计数器430提供信号。从而计数器430将它的输出作为控制信号提供给1:10解复用器424。控制信号控制解复用器424向其提供相应的10比特字节的信道并且从而保证将数据提供给合适的信道。
[0034] Ch0-Ch7中的每一个的发送路径包括发送速率适配器404(例如针Ch0的适配器404-0和针对Ch7的适配器404-7)。如果在少于针对信道的最大可能速率的速率将MII输入提供给所述信道,那么传输速率适配器404通过复制所述帧来将所述帧拉长。在图4的例子中,针对每个信道的最大速率是100Mbps。如果将10Mbps帧提供给信道(例如,信道对应于
10Mbps端口),则速率适配器404将每个帧复制10次,由此产生针对所述信道的100Mbps的速率。类似地,Ch0-Ch7中的每一个的接收路径包括将所述过程反转过来的接收机速率适配器
402(例如针对Ch0的适配器402-0和针对Ch7的适配器402-7),并且因此允许100Mbps信道提供10Mbps输出帧作为其MII输出。
[0035] 因此,在通过了速率适配器后,10Mbps模式的MII数据被复制了10次。分组的开始(SPD)定界符(/S/)每帧仅出现一次。内部READ_EN信号用于在10Mbps模式中每10个数据分段一次地启用对开始于指定的数据分段(例如第一数据分段或另一个数据分段)处的数据的采样
[0036] 在图4的例子中,MII信号在发射机侧是分别以10/100Mbps来接收的并且以2.5/25MHz来定时的。这些信号通过传输速率适配器404,所述传输速率适配器404输出在
12.5MHz时钟域的8比特数据。如图5所示,随后将所述数据发送给PCS发送状态机408以产生具有相应的控制比特的替换的8比特数据用于之后的编码。在一些实施例中,为了保证PCS层的合适的功能,MII帧用至少两个前导符号来开始,前导符号之后是SFD符号。在接收路径中,在12.5MHz时钟域从80B/100B编码解码器416接收8比特数据和相应的码组信息。这个数据和信息由同步块412和PCS接收状态机406处理。同步块412检查码组信息以确定链路伙伴(partner)之间的同步状态,并且如果其检测到失去了同步则重新对准。PCS接收状态机406恢复MII信号并且向接收速率适配器402提供恢复的MII信号,所述接收速率适配器402在10或100Mbps(例如,根据相应端口速度信息)输出所述信号。
[0037] 根据RX_DV的有效和无效,发射机对Start_of_Packet定界符(SPD/S/)和End_of_Packet(EPD/T/)进行编码以用信号表示每个分组的起始和结尾。接收机侧通过检测这两个定界符来恢复RX_DV信号。发射机对Error_Propagation(/V/)有序集进行编码以指示数据传输错误。接收机侧在其检测到这个有序集时使RX_ER信号有效。CRS和COL不是被直接编码的而是在接收机侧使用RX_DV和TX_EN产生的。
[0038] Ch0-Ch7中每一个的发送PCS电路包括将MII分组(包括例如传统MII数据信号、数据有效信号、和错误信号)转换成与8B/10B编码(例如8比特分组数据和相应的控制比特k)相兼容的数据的PCS电路(例如PCS发送状态机408)。将这个数据提供给80B/100B编码解码器416用于编码。同样地,Ch0-Ch7的接收PCS电路包括将来自80B/100B编码解码器416的解码的数据(如由接收同步块412所同步的)转换为MII分组的PCS电路(例如PCS接收状态机406),随后将所述MII分组提供给接收速率适配器402。在一些实施例中,发送和接收数据路径利用(leverage)在IEEE 802.3z规范(条款36)所定义的1000BASE-X PCS。
[0039] 在一些实施例中,为了与QSGMII对准,在信道0和信道4上用K28.1来替换对K28.5的使用。这可以在8个比特上而不是10个比特上完成。使用K28.1还是使用K28.5是由寄存器控制的。接收路径可以被配置为同等地对待K28.1和K28.5。存在不使用K28.1交换器(swapper)的若干选择,根据一些实施例,在所述选择中,接口400不依赖信道指示。例如,两个专用控制比特可以控制是否执行交换。
[0040] 关于编码,通过发送出两个IDIE有序集(称为/I1/和/I2/)中的一个,IEEE 802.3z提供了用于处理运行差别的规则。然而,在接口400中,由于80B/100B编码器416与PCS发送状态机408的功能分离,因此在一些实施例中,仅产生了/I1/有序集。此外,由于80B/100B编码的属性,链路上的比特错误可能导致运行差别错误跨越端口来传播。因此,根据一些实施例,依赖于来自前面的符号运行差别值的差别检查被禁用。
[0041] 在帧拉长之后,Ch0-Ch7中的每一个的数据速率是100Mbps。在编码之后,这个数据速率提高到125Mbps,导致了1Gbps的总数据速率。发送特殊空闲符号作为对信道数量的指示的两个信道414(Ch8和Ch9)使用另一个0.25Gbps(即25%开销),导致了针对所有信道的总的数据速率组合起来为1.25Gbps。因此,在一些实施例中,串行化输出具有1.25Gbps的数据速率。更普遍地,串行化输出具有等于编码之后的所有信道的数据速率(包括发送空闲符号的信道的数据速率)组合在一起的数据速率。
[0042] 可以将接口400配置为PHY模式或MAC模式,这取决于它是位于PHY360还是位于MAC设备350(图3)。自动协商电路410(例如,包括针对Ch0的电路410-0和针对Ch7的410-7)用于指定所述模式。控制信息(例如,如在下表1中指定的)从PHY 360传送到MAC设备350(例如,响应于控制信息的变化)。在一些实施例中,这可以通过利用在802.3z条款37中规定的自动协商机制来实现。在一些实施例中,自动协商机构410内的链路定时器从10ms改变为1.6ms以确保链路状态的及时更新。
[0043] 因此,MAC设备350中的接口400遵循本地PHY 360(例如本地PHY)和远程PHY(例如远程铜PHY)之间的自动协商结果。当链路状态已经改变时,本地PHY 360更新控制信息。如果本地PHY 360检测到链路改变,则它启动其相应的自动协商机构410,将相应的信道从“数据”状态配置为“配置”状态,并且通过向MAC设备350发送配置寄存器tx_config_reg[15:0]的值来发送出更新的控制信息。MAC 350侧的相应信道的接收路径接收以及解码所述控制信息,并且启动所述MAC的自动协商机构410。MAC 350侧通过使tx_config_reg的比特14有效并且经由所述信道的发送路径向本地PHY 360发送tx_config_reg来确认链路状态的更新。在接收到来自MAC 350的确认后,PHY 360完成自动协商过程并且返回到“数据”状态(例如,
[0044] 返回到正常数据发送和接收)。在一些实施例中,链路状态的更新的预计等待时间对应于两个link_timer时间和确认过程时间(例如总共为3.4ms)。
[0045] 在一些实施例中,在控制信息变化时,PHY 360中的自动协商电路410向MAC设备350中的自动协商电路410发送在其tx_config_reg[15:0]中指定的控制信息(例如,获取自铜PHY/MAC配置),如表1所示,而不是执行能公告(ability advertisement)。在接收到更新的信息之后,MAC设备350中的自动协商电路410通过使得如表1中所指定的、其自身的tx_config_reg的比特14有效来执行确认,并且作为响应,向PHY 360发送其tx_config_reg。发送的信息包括链路状态、双工模式和速度。
[0046]
[0047]
[0048] 表1:tx_config_reg[15:0]中的控制信息的定义
[0049] 在一些实施例中,接口400支持PHY 360和MAC设备350之间的IEEE802.3az低功率空闲流,并且从而支持针对PHY 360和MAC设备350的高效能以太网(EEE)低功率模式。例如,发送PCS状态机408应用了针对LPI空闲的特殊码组以支持MAC设备350和PHY 360之间的LPI信号的透明流。
[0050] 通过将所有8个数据信道复用到操作在1.25Gbps的单个串行器/解串行器(例如,串行器422和解串行器426的组合)中,相比于其它的八进制信道MII解决方案,接口400(包括图5的功能块)使用较少的功率并且产生较少的EMI。例如,八进制QSGMII将需要两个串行器/解串行器(包括针对四个信道的组的每组一个串行器/解串行器),每个串行器/解串行器操作在5Gbps。八进制SGMII将需要8个串行器/解串行器,每个信道一个串行器/解串行器。接口400还比其它解决方案使用较少的引脚:相对于用于八进制QSGMII的8个引脚和用于八进制S3MII的20个引脚,它仅使用4个引脚(每个串行数据路径2个)。(本文中使用的术语引脚包括:焊球、焊接区、和用来将半导体封装与电路板电连接的任何其它结构。)与S3MII不同,接口400不是源同步的;它使用CDR技术用于时钟和数据恢复。接口400还允许合理的迹线长度(例如,在一些实施例中,针对数据路径的上至3ns/45cm的迹线)和简单/低成本的电路板设计(例如,在一些实施例中的两层板)。此外,接口400可以容易地扩展用于额外的信道。
[0051] 图5是根据一些实施例用于介质独立接口400中的一个信道的功能块的框图500。图5中示出的电路对应于所示出的在12.5MHz时钟域的电路,并且其在图4中的80B/100B编码解码器之前。
[0052] 图6A是根据一些实施例示出了用于在介质独立接口400中编码数据的运行差别方案600的框图。运行差别方案600被用于80B/100B编码解码器416(图4)的一些实施例中。对于10个信道Ch0-Ch9中的每个信道,将8比特数据(例如,8比特宽的数据字)提供给8B/10B编码器602:将针对Ch0的8比特数据提供给第一编码器602-0,将针对Ch1的8比特数据提供给第二编码器602-1,以此类推。尽管图6A示出了针对每个信道的分别的8B/10B编码器602,但是在一些实施例中,将具有针对每个信道的状态信息的合适存储的、同一个8B/10B编码器602用于所有信道。将针对相应信道的差别提供给下一个信道以用于对下一个信道进行编码,并由此对运行差别进行表示。例如,将针对Ch0的差别提供给Ch1编码器602-1,将针对Ch1的差别提供给Ch2编码器602-2,以此类推,并且将针对Ch9的差别提供给Ch0编码器602-
0(例如,经由触发器604)。因此,将最后一个信道(例如Ch9)的差别提供给针对第一信道(例如Ch0)的编码器。所述差别指示了数据是具有的1比0更多(例如,如由“1”的差别值所指示)还是0比1更多(例如,如由“0”的差别值所指示)。
[0053] 图6B是根据一些实施例示出了用于在介质独立接口400中编码数据的另一个运行差别方案610的框图。运行差别方案610用于编码解码器416(图4)的一些实施例中。对于8个数据信道Ch0-Ch7中的每一个数据信道,将8比特数据(例如,8比特宽的数据字)提供给8B/10B编码器602:将针对Ch0的8比特数据提供给第一编码器602-0,将针对Ch1的8比特数据提供给第二编码器602-1,以此类推。编码器602-0至602-7构成了针对8个数据信道Ch0-Ch7的
64B/80B编码器。尽管图6A示出了针对每个数据信道的分别的8B/10B编码器602,但是在一些实施例中,将具有针对每个信道的状态信息的合适存储的、同一个8B/10B编码器602用于所有信道。将针对相应数据信道的差别提供给下一个数据信道以用于对下一个数据信道进行编码。(在这个例子中的术语数据信道指的是Ch0-Ch7而不是Ch8-Ch9,所述Ch8-Ch9不发送MII数据而是发送用于信道识别和对准的空闲符号。)例如,将针对Ch0的差别提供给Ch1编码器602-1,将针对Ch1的差别提供给Ch2编码器602-2,以此类推,而将针对Ch7的差别提供给Ch0编码器602-0(例如,经由触发器604)。因此,将最后一个数据信道(例如,Ch7)的差别提供给针对第一数据信道(例如,Ch0)的编码器。还将最后一个数据信道(例如,Ch7)的差别提供给针对Ch8和Ch9的复用器612和614。因此,通过根据来自Ch7的运行差别来选择相应的符号而生成针对Ch8和Ch9的数据:复用器612和614选择针对Ch8和Ch9的输出符号来匹配来自Ch7的运行差别。相比于图6A,这降低了沿着运行差别链的传播延迟并且简化了设计,同时保证了当针对所有信道Ch0-Ch9的数据被复用在一起时差别被纠正。在一些实施例中,与Ch8和Ch9中的一个或二者相关联的可用空闲符号可以通过寄存器设置来指定。例如,Ch8在图6B中被示出为发送K28.3,但是其可以被配置(例如通过设置寄存器比特)为发送另一符号(例如K28.7)。选择空闲符号以允许符号边界的正确对准。
[0054] 在一些实施例中,例如接口400(图4)的介质独立接口可配置为操作在对应于例如多个相应协议的多个模式中。例如,MII可被配置为操作在如关于图4至图6B所描述的第一模式中。在第二模式中,同一个MII被配置为按照QSGMII协议来操作。例如,针对第一组四个信道(例如Ch0-Ch3)的串行化数据是在第一串行数据路径上发送和接收的,而针对第二组四个信道(例如Ch4-Ch7)的串行化数据是在第二串行数据路径上发送和接收的。在第三模式中,同一个MII被配置为按照SGMII协议来操作。例如,针对数据信道(例如Ch0-Ch7或其子集)中的每一个数据信道(或其子集)的串行化数据是在相应的串行数据路径上发送和接收的。在一些实施例中,每个串行数据路径包括用于发送数据的第一差分对(例如,低电压差分信号传输对)和用于接收数据的第二差分对(例如,低电压差分信号传输对)。在一些实施例中,使用耦合到接口的配置寄存器(例如,如图7B-图7C中示出的配置寄存器740)中的一个或多个模式比特来设置所述模式。
[0055] 在一些实施例中,接口(例如,以下的图7A中的接口700)在不同模式中可配置作为单接口400(图4)、单QSGMII接口、双QSGMII接口、单QSGMII接口和1-4SGMII接口、以及1-8SGMII接口。
[0056] 图7A是根据一些实施例的模式可配置的介质独立接口700的框图。MII 700包括针对第一组四个数据信道(Ch0-Ch3)的功能块702-1、针对第二组四个数据信道(Ch4-Ch7)的功能块702-2、和针对额外的两个信道(Ch8-Ch9)的功能块704,所述的额外的两个信道用于发送和接收针对信道识别和对准的空闲符号。(可选地,所述额外的两个信道中的一个或两个信道是额外的数据信道)。
[0057] 在对应于接口400(图4)的第一模式中,针对8个信道Ch0-Ch7的发送数据由功能块702-1和702-2提供给对所述数据进行编码的80B/100B编码解码器706。针对Ch8和Ch9的空闲符号由功能块704提供给同样对它们进行编码的80B/100B编码解码器706。将包括针对Ch0-Ch3的40比特、针对Ch4-Ch7的40比特、和针对Ch8-Ch9的20比特的经编码的数据(包括空闲符号)提供给100B/10B复用器/解复用器716,所述复用器/解复用器716对应于复用器
420和解复用器424(图4)的组合。(复用器/解复用器714-1和714-2还接收针对Ch0-Ch3和Ch4-Ch7的相应的经编码的数据,但其在第一模式中被禁用。)复用器/解复用器716被配置为在第一模式中将针对Ch0-Ch9中的每一个的经编码的10比特宽的数据依次转发给模式复用器/解复用器718。根据一些实施例如图7B中所示,模式复用器/解复用器718被配置为在第一模式中将来自100B/10B复用器/解复用器716的数据转发给第一串行器/解串行器730。
第一串行器/解串行器730将所述数据串行化并且将所述数据发送到第一串行数据路径上。
耦合到复用器/解复用器714-1的第二串行器/解串行器732(图7B)在第一模式中被禁用。
[0058] 同样在第一模式中,针对10个信道Ch0-Ch9的串行化接收数据(包括空闲符号)在第一串行器/解串行器730(图7B)处被接收,所述第一串行器/解串行器730将所述数据解串行化并且将解串行化的10比特宽的数据转发给模式复用器/解复用器718。模式复用器/解复用器718被配置为在第一模式中将解串行化的数据转发给100B/10B复用器/解复用器716,所述100B/10B复用器/解复用器716被配置为在第一模式中对解串行化的数据解复用并且转发所述解复用的100比特宽的数据。(出于简单起见,未在图7A中示出数据检测器428和计数器430,数据检测器428和计数器430按照如图4所描述的来工作。)具有耦合到100B/
10B复用器/解复用器716的第一输入的复用器712-1和712-2被配置为在第一模式中将来自
100B/10B复用器/解复用器716的数据转发给编码解码器706。100B/10B复用器/解复用器
716还将针对Ch8和Ch9的经编码的空闲符号转发给编码解码器706。编码解码器706对所述数据进行解码。将经解码的数据和空闲符号提供给功能块702-1、702-2、和704。
[0059] 因此,在第一模式中,在编码解码器706和复用器/解复用器716之间传送的数据具有第一宽度(例如,100比特宽)并且在复用器/解复用器716和第一串行器/解串行器730(图7B)之间传送的数据具有第二宽度(例如,10比特宽)。复用器/解复用器716将第一宽度的数据(例如,100比特宽的数据)复用为第二宽度的数据(例如,10比特宽的数据)并且将第二宽度的数据(例如,10比特宽的数据)解复用为第一宽度的数据(例如,100比特宽的数据)。
[0060] 在一些实施例中,第一串行器/解串行器730(图7B)在第一模式中操作在1.24Gbps;复用器/解复用器718在第一模式中操作在125MHz;而功能块702-1、702-2、和
704,编码解码器706,以及复用器712-1和712-2操作在12.5MHz。耦合到编码解码器706的、复用器/解复用器716的输入和输出操作在12.5MHz,而耦合到模式复用器/解复用器718的、复用器/解复用器716的输入和输出操作在125MHz。在一些实施例中,这些时钟是由可配置时钟产生逻辑单元所提供的。
[0061] 在第二模式(其在一些实施例中对应于QSGMII协议)中,针对八个信道Ch0-Ch7的发送数据由功能块702-1和702-2提供给对所述数据进行编码的编码解码器706。例如,编码解码器706中的第一32B/40B编码解码器710-1对针对Ch0-Ch3的发送数据进行编码而编码解码器706中的第二32B/40B编码解码器710-2对针对Ch4-Ch7的发送数据进行编码。将针对Ch0-Ch3的经编码的数据(例如40比特)提供给40B/20B复用器/解复用器714-1而将针对Ch4-Ch7的经编码的数据(例如40比特)提供给40B/20B复用器/解复用器714-2。(100B/10B复用器/解复用器716还接收针对Ch0-Ch7的经编码的数据,但是其在第二模式中被禁用。)复用器/解复用器714-2被配置为在第二模式中将针对Ch4-Ch7的经编码的数据转发给模式复用器/解复用器718,所述模式复用器/解复用器718被配置为在第二模式中将针对Ch4-Ch7的经编码的数据转发给第一串行器/解串行器730(图7B),所述串行器/解串行器730将所述数据串行化并且将所述数据发送到第一串行数据路径上。复用器/解复用器714-1被配置为在第二模式中将针对Ch0-Ch3的经编码的数据转发给第二串行器/解串行器732(图7B),所述第二串行器/解串行器732将所述数据串行化并且将所述数据发送到第二串行数据路径上。
[0062] 同样在第二模式中,针对Ch4-Ch7的串行化接收数据在第一串行器/解串行器730(图7B)处被接收,所述第一串行器/解串行器730将所述数据解串行化并且将解串行化的数据转发给模式复用器/解复用器718。模式复用器/解复用器718被配置为在第二模式中将解串行化的数据转发给40B/20B复用器/解复用器714-2。因此,模式复用器/解复用器718在第二模式中将复用器/解复用器714-2与第一串行器/解串行器730(图7B)耦合并且在第一模式中将复用器/解复用器716与第一串行器/解串行器730(图7B)耦合。
[0063] 针对Ch0-Ch3的串行化接收数据是在第二串行器/解串行器732(图7B)处接收的,所述第二串行器/解串行器732将所述数据解串行化并且将解串行化的数据转发给40B/20B复用器/解复用器714-1。40B/20B复用器/解复用器714-1和714-2将所述数据转发给复用器712-1和712-2的相应的第二输入。复用器712-1和712-2被配置为在第二模式中将来自40B/
20B复用器/解复用器714-1和714-2的数据转发给编码解码器706。编码解码器706对所述数据进行解码:例如,编码解码器706中的第一32B/40B编码解码器710-1对针对Ch0-Ch3的接收数据进行解码而编码解码器706中的第二32B/40B编码解码器710-2对针对Ch4-Ch7的接收数据进行解码。将经解码的数据提供给功能块702-1和702-2。
[0064] 因此,在第二模式中,在编码解码器706和复用器/解复用器714-1和714-2之间传送的数据具有第三宽度(例如,40比特宽)而在复用器/解复用器714-1和714-2与第一和第二串行器/解串行器730和732(图7B)之间传送的数据具有第四宽度(例如,20比特宽)。复用器/解复用器714-1和714-2将第三宽度的数据(例如,40比特宽的数据)复用为第四宽度的数据(例如,20比特宽的数据)并且将第四宽度的数据(例如,20比特宽的数据)解复用为第三宽度的数据(例如,40比特宽的数据)。
[0065] 在一些实施例中,Ch8和Ch9在第二模式中被禁用。在一些实施例中,每组四个信道中的第一信道(例如Ch0和Ch4)应用K28.1交换器符号(其可以在第一模式中被禁用)。
[0066] 在一些实施例中,某一组四信道(例如Ch0-Ch3或Ch4-Ch7)在第二模式中被禁用。相对应的功能块702-1或702-2和串行器/解串行器(例如,图7B中的第一串行器/解串行器
730或第二串行器/解串行器732),连同将被禁用的功能块与被禁用的串行器/解串行器相耦合的电路被禁用。例如,接口700被配置为充当针对四个信道的单QSGMII接口。
[0067] 在一些实施例中,第一串行器/解串行器730和第二串行器/解串行器732(图7B)在第二模式中操作在5Gbps。因此,第一串行器/解串行器730可配置为操作在多个速度(例如,在第一模式中在1.25Gbps而在第二模式中在5Gbps)。功能块702-1、702-2、和704,编码解码器706,以及复用器712-1和712-2操作在125MHz。耦合到编码解码器706的、复用器/解复用器714-1和714-2的输入和输出操作在125MHz而耦合到第一串行器/解串行器730或第二串行器/解串行器732的、复用器/解复用器714-1和714-2的输入和输出操作在250MHz。因此,根据一些实施例,编码解码器706与复用器/解复用器714-1和714-2之间的通信是40比特宽的而复用器/解复用器714-1和714-2与串行器/解串行器730和732之间的通信是20比特宽但却是2倍时钟速率的。
[0068] 在第三模式(其在一些实施例中对应于SGMII协议)中,针对相应信道的数据是经由相应的串行数据路径来发送和接收的,从而每个串行数据路径对应于具体的信道。针对8个信道Ch0-Ch7的发送数据由功能块702-1和702-2提供给对所述数据进行编码的编码解码器706。例如,编码解码器706中的分别的8B/10B编码解码器(例如,包括编码解码器708-1和708-2)对针对Ch0-Ch7中的每一个的发送数据进行编码。将针对Ch0-Ch3的经编码的数据(例如,40比特)提供给40B/20B复用器/解复用器714-1而将针对Ch4-Ch7的经编码的数据(例如,40比特)提供给40B/20B复用器/解复用器714-2。在第三模式中,复用器/解复用器
714-1和714-2被配置为通过针对每个信道(例如,如在图7A中由符号10B/SGMII*4所指示的,指示针对四个SGMII信道中的每一个的10比特的通过)的10比特数据。根据一些实施例如图7C所示,复用器/解复用器714-1和714-2中的每一个耦合到四个串行器/解串行器并且被配置为令针对相应信道的10比特数据通过给相应的串行器/解串行器。例如,复用器/解复用器714-2耦合到第一串行器/解串行器730和3个其它的串行器/解串行器734,而复用器/解复用器714-1耦合到第二串行器/解串行器732和3个其它的串行器/解串行器734。(第二串行器/解串行器732和所有的串行器/解串行器734在第一模式中被禁用,并且所有的串行器/解串行器734在第二模式中被禁用。)
[0069] 在一些实施例中,100B/10B复用器/解复用器716在第三模式中被禁用。复用器/解复用器714-2经由模式复用器/解复用器718耦合到它的四个串行器/解串行器730和734,所述复用器/解复用器718被配置为在第三模式中将针对Ch4-Ch7的经编码的数据转发给这4个串行器/解串行器。每个串行器/解串行器将针对其相应信道的数据串行化并且将所述数据发送到相应的串行数据路径上。
[0070] 同样在第三模式中,针对相应信道的串行化接收数据是在相应的串行器/解串行器730、732和/或734(图7C)处接收的,所述串行器/解串行器730、732和/或734将所述数据解串行化并且将解串行化的数据转发给复用器/解复用器714-1和714-2。对于复用器/解复用器714-2,解串行化的数据是经由模式复用器/解复用器718转发的,所述模式复用器/解复用器718被配置为在第三模式中将解串行化的数据转发给复用器/解复用器714-2而不是转发给复用器/解复用器716。复用器712-1和712-2被配置为在第三模式中将来自复用器/解复用器714-1和714-2的数据转发给编码解码器706。编码解码器706对所述数据进行解码:例如,编码解码器706中的分别的8B/10B编码解码器(例如,包括编码解码器708-1和708-2)对针对Ch0-Ch7中的每一个的接收数据进行解码。将解码的数据提供给功能块702-1和702-2。
[0071] 在一些实施例中,Ch8和Ch9在第三模式中被禁用。
[0072] 在一些实施例中,第一串行器/解串行器730和第二串行器/解串行器732(图7C)在第三模式中操作在1.25Gbps。因此,第二串行器/解串行器732可配置为操作在多个速度(例如,在第三模式中操作在1.25Gbps而在第二模式中操作在5Gbps)。第一串行器/解串行器730也可配置为操作在多个速度(例如,如上所讨论的)。然而,其它串行器/解串行器734仅用于第三模式,并且因此在一些实施例中不可配置为操作在多个速度(例如,它们仅操作在
1.25Gbps)。功能块702-1、702-2、和704,编码解码器706,复用器712-1和712-2,以及复用器/解复用器714-1和714-2操作在例如125MHz。因此,根据一些实施例,功能块702-1、702-
2、和704以及编码解码器706可配置为操作在多个时钟速率(例如,在第一模式中操作在
12.5MHz而在第二和第三模式中操作在125MHz)。
[0073] 在一些实施例中,接口700可配置为在第四模式中,所述第四模式组合了第二模式和第三模式。四个信道(例如Ch0-Ch3或Ch4-Ch7)被配置在第二模式中,剩余信道的全部或部分被配置在第三模式中。例如,接口700可配置在第四模式中以充当单QSGMII接口和1-4SGMII接口。
[0074] 图8是根据一些实施例用于图7A中的介质独立接口中的信道的功能块800的框图。功能块800的要素按照针对图4和图5的相应元件所描述的来工作,但是其可配置为操作在多个时钟速率。例如,接收速率适配器802、发送速率适配器804、PCS接收状态机806、自动协商电路808、PCS发送状态机810、和同步块812可配置为在第一模式中利用第一工作时钟(例如,12.5MHz)来操作而在第二和/或第三模式中利用第二工作时钟(例如,125MHz)来操作。
在给定模式中,接收速率适配块802和发送速率适配块804针对低于所述模式可容纳的最大速率的信号来执行速率适配。然而,这个最大速率可以从模式到模式而变化。在一个例子中,第一模式中的信道可以容纳10Mbps或100Mbps的信号。发送速率适配器804可以通过复制被提供作为输入信号的10Mbps帧来拉长所述帧,但不会拉长100Mbps帧。然而,在第二和第三模式中,信道可以容纳10Mbps、100Mbps、或1Gbps的信号。发送速率适配器804可以通过复制被提供作为输入信号的10Mbps或100Mbps帧来拉长所述帧,但不会拉长1Gbps帧。因此,给定速率(例如100Mbps)的帧可能在一个模式(例如第二或第三模式)中被拉长而在另一个模式(例如第一模式)中不被拉长。类似地,接收速率适配器802在第一模式中缩短针对
10Mbps输出的输出帧而不缩短针对100Mbps输出的输出帧,并且在第二和第三模式中缩短针对10Mbps或100Mbps输出的输出帧而不缩短针对1Gbps输出的输出帧。因此,给定速率的帧可能在一个模式(例如,第二或第三模式)中被缩短而在另一个模式(例如,第一模式)中不被缩短。
[0075] 图9是根据一些实施例示出了用于在介质独立接口700(图7A)中编码数据的可配置运行差别方案900的框图。运行差别方案700实现在编码解码器706(图7A)中并且包括针对Ch0-Ch7的8B/10B编码器602-0至602-7和针对Ch8-Ch9的复用器612和614,如参照图6B所描述的。为了实现多模式可配置性,复用器902和908耦合在针对Ch7的编码器602-7的差别输出和触发器604的输入之间,所述复用器902和908的输出耦合到针对Ch0的编码器602-0的差别输入。此外,编码器602-7的差别输出耦合到触发器904的输入。触发器904的输出和编码器602-3的差别输出耦合到复用器906的相应输入,所述复用器906的输出耦合到编码器602-4的差别输入。
[0076] 在第一模式中,对复用器902、906、和908进行配置使得差别方案900功能按照差别方案610(图6B)来工作。复用器902和908被配置为将由编码器602-7输出的、来自Ch7的运行差别经由触发器604提供给Ch0编码器602-0。复用器906被配置为将由编码器602-3输出的、来自Ch3的运行差别提供给Ch4编码器602-4。将编码器602-0至602-7以及复用器612和614的10B输出提供给例如100B/10B复用器/解复用器716(图7A)。因此,在这种配置中,根据针对Ch0-Ch7的运行差别来编码针对Ch0-Ch7的发送数据。可以将Ch0-3视为第一多个信道而可以将Ch4-7视为第二多个信道;因此,在这个配置中,根据针对第一和第二多个信道的运行差别来编码针对第一和第二多个信道的发送数据。
[0077] 在第二模式(例如,QSGMII模式)中,复用器902和908被配置为将由编码器602-3输出的、来自Ch3的运行差别经由触发器604提供给Ch0编码器602-0。在这种配置中,编码器602-0至602-3构成了32B/40B编码器(例如,图7A的编码器710-1)。将编码器602-0至602-3的10B输出提供给例如40B/20B复用器/解复用器714-1(图7A)。复用器906被配置为将由编码器602-7输出并且经由触发器904接收的、来自Ch7的运行差别提供给Ch4编码器602-4。因此,编码器602-4至602-7构成了另一个32B/40B编码器(例如,图7A的编码器710-2)。将编码器602-4至602-7的10B输出提供给例如40B/20B复用器/解复用器714-2(图7A)。在一些实施例中,复用器612和614在第二模式中被禁用。因此,在这种配置中,根据针对Ch0-Ch3的运行差别来编码针对Ch0-Ch3的发送数据,而根据针对Ch4-Ch7的运行差别来编码针对Ch4-Ch7的发送数据。可可以将Ch0-3视为第一多个信道而可以将Ch4-7视为第二多个信道;因此,在这种配置中,根据针对第一多个信道的运行差别来编码针对第一多个信道的发送数据,而根据针对第二多个信道的运行差别来编码针对第二多个信道的发送数据。
[0078] 在第三模式(例如,SGMII模式)中,复用器908被配置为将由编码器602-0输出的、针对Ch0的运行差别经由触发器604反馈给编码器602-0。类似地,针对其它信道中的每一个信道的等同复用器和触发器(为了视觉简单,未在图9中示出)将针对它们相应信道的差别反馈给它们相应信道的编码器602。因此,在这种配置中,在针对Ch0-Ch7中的每一个的发送数据被独立编码的情况下,编码器602中的每一个充当独立的8B/10B编码器(例如,图7A的编码器708-1或708-2)。将编码器602-0至602-7的10B输出提供给例如复用器/解复用器714-1,所述复用器/解复用器714-1具有关于图7A所描述的“10B/SGMII*4”通过配置。在一些实施例中,复用器612和614在第三模式中被禁用。
[0079] 因此,差别方案900可配置用于第一、第二、第三和/或第四模式中的任意模式。
[0080] 图10是根据一些实施例示出了操作可配置介质独立接口的方法1000的流程图。在方法1000中,介质独立接口(例如,图7A的接口700)被配置在包括第一模式、第二模式和第三模式(例如,关于图7A-图7C所描述的第一、第二和第三模式)的多个模式的一个模式中(1002)。
[0081] 在第一模式中,根据针对第一多个信道和第二多个信道的运行差别来编码针对第一多个信道(例如,Ch0-Ch3)和第二多个信道(例如,Ch4-Ch7)两者的发送数据(1004)。例如,在复用器906被配置为将来自Ch3的运行差别提供给针对Ch4的编码器602-4,并且复用器902和908被配置为将来自Ch7的运行差别提供给针对Ch0的编码器602-0的情况下,根据差别方案900(图9)来编码针对Ch0-Ch7的发送数据。
[0082] 将针对第一多个信道和第二多个信道的发送数据复用在一起并且将其串行化为串行化输出(1010)。例如,复用器/解复用器716(图7A-图7C)复用针对Ch0-Ch7的经编码的数据而第一串行器/解串行器730(图7B-7C)的串行器将所复用的数据串行化为串行化输出。
[0083] 同样在第一模式中,将串行化输入解串行化并且解复用(1016)为针对第一多个信道和第二多个信道的接收数据。例如,第一串行器/解串行器730(图7B-7C)的解串行器将串行化输入解串行化而复用器/解复用器716(图7A-图7C)将解串行化的输入解复用为针对Ch0-Ch7的经编码的接收数据。
[0084] 在第一模式的一些实施例中,将针对第三多个信道(例如Ch8-9)的空闲符号与针对第一多个信道和第二多个信道的发送数据复用在一起(例如,由图7A-7C中的复用器/解复用器716)并且将其串行化为串行化输出(例如,由图7B-7C中的串行器/解串行器730的串行器)。
[0085] 在第二模式中,根据针对第一多个信道的运行差别来编码针对第一多个信道的发送数据(1006)。根据针对第二多个信道的运行差别来编码针对第二多个信道的发送数据(1006)。例如,在复用器906被配置为将来自Ch7的运行差别提供给针对Ch4的编码器602-4,并且复用器902和908被配置为将来自Ch3的运行差别提供给针对Ch0的编码器602-0的情况下,根据差别方案900(图9)来对编码针对Ch0-Ch7的发送数据。
[0086] 将针对第一多个信道的发送数据复用在一起并且将其串行化(1012)为第一串行化输出。例如,复用器/解复用器714-1复用针对Ch0-Ch3的发送数据而第二串行器/解串行器732的串行器将所复用的发送数据串行化。将针对第二多个信道的发送数据复用在一起并且将其串行化(1012)为第二串行化输出。例如,复用器/解复用器714-2复用针对Ch4-Ch7的发送数据而第一串行器/解串行器730的串行器将所复用的发送数据串行化。
[0087] 同样在第二模式中,将第一串行化输入解串行化并且解复用(1018)为针对第一多个信道的接收数据。例如,第一串行器/解串行器730的解串行器将第一串行化输入解串行化而复用器/解复用器714-2将解串行化的数据解复用。将第二串行化输入解串行化并且解复用(1018)为针对第二多个信道的接收数据。例如,第二串行器/解串行器732的解串行器将第二串行化输入解串行化而复用器/解复用器714-1将解串行化的数据解复用。
[0088] 在第二模式的一些实施例中,第三多个信道(例如,Ch8-Ch9)被禁用。
[0089] 在第三模式中,独立地编码针对第一和第二多个信道的相应信道的发送数据(1008)。例如,在复用器908被配置为将来自Ch0的差别提供回针对Ch0的编码器602-0,并且针对其它信道进行类似操作的情况下,根据差别方案900(图9)来编码针对Ch0-Ch7的发送数据。
[0090] 将针对第一多个信道和第二多个信道的相应信道的发送数据串行化(1014)为相应的串行化输出。例如,串行器/解串行器730、732和734的全部或部分将针对Ch0-7中相应信道的发送数据串行化。
[0091] 同样在第三模式中,将相应的串行化输入解串行化(1020)为针对第一多个信道和第二多个信道中的相应信道的接收数据。例如,串行器/解串行器730、732和734的全部或部分将针对Ch0-7中相应信道的接收数据解串行化。
[0092] 在第三模式的一些实施例中,第三多个信道(例如Ch8-Ch9)被禁用。
[0093] 因此,方法1000允许同一个介质独立接口被配置为根据不同的协议进行操作。尽管方法1000包括呈现为以特定顺序发生的数个操作,但是应当显而易见的是,方法1000可以包括更多或更少的操作,所述操作可以串行或并行执行。两个或多个操作的顺序可以改变,并且两个或多个操作可以组合成单个操作。例如,针对给定模式的操作的全部或部分是在接口的操作期间以正在进行的方式同时执行的。
[0094] 在前述的说明书中,本实施例参照其中的特定示例性实施例进行了描述。然而,在不脱离所附权利要求中阐述的公开内容的更广泛的精神和范围的情况下可以对其做出各种修改和改变将是明显的。因此,应当以说明性的意义而非限制性的意义来看待说明书和附图。
QQ群二维码
意见反馈