用于多个并行数据通信线路的校准的通信接口和方法

文档序号:7742458阅读:213来源:国知局
专利名称:用于多个并行数据通信线路的校准的通信接口和方法
技术领域
本发明涉及数字数据处理,并且具体涉及用于在数字数据设备之间通信的通信电路接口的设计和操作。
背景技术
在二十世纪后半叶,开始出现称为信息革命的现象。尽管信息革命是范围比任一事件或者机器更广的历史发展,但是没有一个设备比数字电子计算机更能代表信息革命。 计算机系统的发展已被确信是一场革命。计算机系统逐年变得更快、存储更多的数据并且向它们的用户提供更多的应用。现代计算机系统通常包括一个或者多个中央处理单元(CPU)以及为了存储、获取和传送信息而必需的支持硬件(例如通信总线和存储器)。该现代计算机系统还包括为了与外界通信而必需的硬件(例如输入/输出控制器或者存储控制器)和附接到该硬件的设备(例如键盘、监视器、带驱动、盘驱动、耦合到网络的通信链路等)。CPU(也称为处理器) 能够执行有限的一组很简单的操作,但是每个操作被很快地执行。数据在处理器与存储器之间和输入/输出设备与处理器或者存储器之间移动。在多个级别的精细软件指引计算机执行大量这些简单操作,从而使计算机能够执行复杂任务,并且在更高级别提供计算机正在执行某些精细操作这样的幻觉。对计算机系统的继续改进可以采取多种形式,但是在数据处理领域中的实质进步因素在于增加的吞吐量,即每个单位时间执行更多这些简单操作。计算机是一种顺序化的状态机,其中信号经过与一个或者多个时钟同步的状态存储元件传播。在概念上,最简单的可能吞吐量提高是增加这些时钟的操作速度,从而使所有动作被相对更快地执行。数据必须经常跨越在不同系统部件之间的边界进行传送。例如可能需要从一个集成电路芯片向另一集成电路芯片传送数据。在无数的实例中,部件将要执行的操作直至数据从某一其他部件收到才能完成。用于传送数据的容量因此可能是对计算机系统的总吞吐量的重要限制。随着计算机系统的各种部件已经变得更快并且操纵更大量数据,已有必要相应地增加各种通信路径的数据传送能力(“带宽”)。通常,用于将数据从一个集成电路芯片向另一集成电路芯片传送的通信介质或者 “总线”包括以与总线时钟信号对应的频率携带可以由发送芯片、接收芯片或者某个第三部件生成的数据的多个并行线路。所述多个并行线路每个携带逻辑数据单位的相应部分。例如,如果八个线路并行携带数据,则第一线路可以携带每个相继8位数据字节的第一位,第二线路携带第二位,以此类推。因此,孤立的来自单个线路的信号是无意义的,而必须以某种方式与其他线路中的那些信号组合以产生连贯数据。处理器和其他数字数据部件的增加的时钟频率已经促使设计者增加总线时钟的速度以防发送总线变成性能瓶颈。这已经引起对总线本身的各种设计改变。例如,高速总线通常实施为包含多个并行线路(每个将数据从单个发送芯片向单个接收芯片携带)的点对点链路,以便支持在更高总线时钟速度的操作。集成电路芯片以及安装它们的电路卡或者其他平台的几何形状、设计约束和制造容差使得不可能确保单个链路的所有线路相同。例如,链路有时有必要转弯,这表示在拐角的外沿上的线路将在物理上比在内沿上的线路更长。电路卡上的电路经常分层布置;某些线路可以位于与在邻近层中的不同电路结构相邻的位置,这可能影响线路中的杂散电容。 在制造期间的诸多变化中的任何变化可能使某些线路比其他线路更窄、与相邻电路层更近等。这些以及其他变化影响信号从发送芯片向接收芯片传播所需要的时间,从而在某些线路上携带的某些数据信号将在其他信号之前到达接收芯片(称为数据扭斜的现象)。另外, 在发送芯片中的发送器驱动电路或者在接收芯片中的接收电路的制造变化可能影响数据信号的质量。当总线时钟速度相对缓慢时,数据扭斜无需重点考虑。但是随着时钟速度的增加, 扭斜变得相对更加明显。最终,时钟速度变成如此之快以至于在一个线路上发送的序列的第一位与在相同链路的另一线路上发送的相同序列的后继位同时到达。换言之,发送时间差足以等于在相继位之间的时间。现代总线时钟可以有望达到扭斜能够与用于发送10个或者20个相继位的时间相等的点。另外,扭斜并非恒定。接收信号的扭斜和其他变化可能依赖于操作温度、电源电压和其他动态因素。理想情况下,通信电路容许所有这些静态和动态变化。鉴于影响在发送链路上发送的数据信号的所有这些因素,期望校准个别线路电路以补偿变化,并且具体地,由于关键参数随时间改变,因此期望在数字数据系统操作时(即在链路可用于发送功能数据时)动态地校准个别线路电路。一种用于动态校准的已知技术涉及将某些接收器电路的副本组用于多个并行线路中的每个线路。具体地,可以针对每条线路副本可调节模拟电路、例如可变增益放大器、 偏移加法器和比较器。向两组接收器电路提供输入模拟信号,从而允许一组用于处理传入功能数据信号并且向记录数据的寄存器或者缓冲器传递数据,而另一组正在被校准。尽管这一方式支持动态校准,但是它需要完全副本大量模拟电路,因此明显增加了设备的功耗和复杂性。在kssions的美国专利6,606, 576中和在Kizer的美国专利7,072, 355中公开的一种备选技术是使用单个附加冗余并行线路和相关联的接收器电路。一组开关一次选择一个线路用于校准而其他线路用来发送功能数据。这一技术具有在它操纵大量数据扭斜并且具体为超出单个位时间(为了通过线路发送单个位而需要的时间)的扭斜上具有未必认识到的某些限制。当让开关启用一个线路用于发送功能数据而禁用另一线路从而可以校准它时,期望这样做而不需要暂停链路。然而,如果在切换的两条线路之间存在大量数据扭斜, 则在开关的输出可能有不连续。常规并行接口设计者无法充分解决大量数据扭斜或者其他变化,或者充分解决了大量数据扭斜或者其他变化但是以明显电路复杂性为代价,该复杂性可能增加成本和/或在接口的功耗,或者需要对跨链路的数据流的某一中断。为了支持通信总线速度的持续增力口,需要改进的通信电路,该通信电路容许更大数据扭斜而没有不适当的电路复杂性或者功能中断。

发明内容
一种用于在两个设备之间传送数字数据的通信装置包括其中至少一个线路为冗余的多个并行线路。一组开关允许启用任意物理线路用于携带功能数据或者禁用任意物理线路。与每个线路相关联的相应电路通过禁用该线路来进行校准,每个依次被选择以用于校准。开关位于对准装置的下游,使得对向开关输入的数据针对数据扭斜而被补偿。在第一发明方面中,相应接收器同步电路从每个线路接收相应传入信号。每个传入信号被同步到与对应线路关联的相应时钟域。每个接收器同步电路接收与对应线路关联的相应时钟域中的输入信号,并且产生与共同时钟域同步的输出。接收器内启用或者禁用线路的开关选择这一共同时钟域中的输出。校准装置在共同时钟域中操作并且控制开关。 校准装置接收根据所述同步电路的输出而导出的共同时钟域中的数据,以校准所述同步电路。在第二发明方面中,相应采样器/解串行器电路从每个线路接收相应传入信号并且产生相应解串行输出。与每个采样器解串行器电路对应的相应对准电路根据解串行输出来产生相应经对准数据。接收器内启用或者禁用线路的开关选择根据对准电路的经对准数据输出而导出的数据。校准装置控制开关。校准装置接收根据对准电路的经对准数据输出而导出的数据以校准采样器/解串行器电路。在第三发明方面中,相应接收器同步电路从每个线路接收相应传入信号。每个接收器同步电路包含多个解扭斜锁存器,用于提供与可变数目的时钟周期对应的可调节延迟,以相对于彼此对准接收器同步电路的输出,每个所述接收器同步电路的可调节延迟被独立校准。校准装置控制开关,并且接收根据接收器同步电路的输出而导出的数据以校准接收器同步电路。根据优选实施方式的通信接口可以被动态校准而无不会存在任何功能中断,并且可以适应不同线路之间的大量数据扭斜而又节省输入电路(尤其是高功率模拟器件)的范围和功耗。优选使用一组FIFO解扭斜缓冲器来实现用于在不同线路之间对准数据的线路延迟,其中可以通过一系列锁存器将数据延迟数目可变的时钟周期。启用和禁用接收器电路输出的开关在主控时钟域中优选处于这一 FIFO解扭斜缓冲器下游,从而提供开关与在接收器输入的静态和动态时序不同的隔离,并且在向开关输入之前对准大量数据扭斜。最后,校准电路优选地使用FIFO解扭斜缓冲器下游的电路输出(即先前对准的数字数据)以便在主控时钟域中操作。FIFO解扭斜缓冲器、开关和校准电路在主控时钟域中优选地为相对低功率数字逻辑器件。优选实施方式的通信接口因此明显减少支持个别数据线路连续时间、动态校准的接口中的功耗。参照以下附图可以最好地理解本发明在其结构和操作上的细节,其中相似标号指代相似部分。


图1是根据优选实施方式的示例性计算机系统的主要硬件部件的高级框图,该计算机系统具有多个集成电路芯片和在集成电路芯片之间提供通信路径的一个或者多个高速总线。图2是更具体示出了根据优选实施方式的图1的计算机系统的代表性部分的某些硬件封装元件的广义表示。图3是示出了根据优选实施方式的并行线路的单个点对点链路的单向半部的基本结构的示图。图4是更具体示出了根据优选实施方式的并行线路的点对点链路的代表性接收器同步电路和关联校准电路的示图。图5是更具体示出了根据优选实施方式的图4中所示接收器同步电路的某些部分的示图,这些部分包括采样锁存器。图6是更具体示出了根据优选实施方式的图4中所示接收器同步电路的某些部分的示图,这些部分包括FIFO解扭斜缓冲器。图7是示出了通过根据优选实施方式的图4的接收器同步电路的某些部分的数据信号传播的时序图。图8是在高级别示出了根据优选实施方式的并行线路的点对点链路的单向半部的动态校准过程的流程图。图9是更具体示出了根据优选实施方式的校准并行线路的点对点链路的单个线路的过程的流程图。图10是示出了根据优选实施方式的在采样锁存输入的时间与典型电压响应的示例性“眼”图。图IlA和图11B(这里统称为图11)是示出了根据优选实施方式的交换控制信息和用于动态校准并行链路的线路对的功能的时间复用的过程的流程图。图12是示出了根据优选实施方式的交换控制信息和将功能数据从待校准的线路向近来校准的线路切换的过程的流程图。
具体实施例方式通信介质术语如这里所述,数字通信介质包含共同地从发送器向接收器发送数据逻辑单位的多个并行线路。如这里所用,“线路”是每次从发送器向一个或者多个接收器传送单个数字数据位的通信介质。通常,线路是发送电压的单个导电接线,该电压相对于参考(例如接地)的值表明数据位的值。然而如这里所用“线路”还可以表示每个发送相应电压的导线对,两个电压的相对值表明数据位的值。线路可以是双向的(在任一端具有发送和接收电路)或者可以是单向的(在一端仅有发送电路而在另一端仅有接收电路)。如这里所用,“并行线路”或者“并行总线”指代一组如上文说明的多个线路,其中该组线路共同用来传送连贯数据。该组的每个线路仅传送数据的某一部分,该部分本身在它与来自其他线路的位组合和交织以产生连贯数据之前仅为无意义的位流。在某些并行总线实施方式中,数据逻辑单位的位在接收器同时呈现于共同时钟信号上。例如,如果8线并行总线一次携带一个字节的数据,则可以同时将该字节的所有位钟控到接收器电路中。然而,难以或者不可能维持这一限制,因为总线时钟速度由于数据扭斜的相对数量而增加。因而在现代高速并行总线中,每个线路可以在不同相位在接收器呈现数据并且由它们的相应接收器电路独立采样。该后一种形式的并行总线有时称为“条带串行总线”以使其有别于按照共同时钟采样的更缓慢的总线。除非另有限定,如这里所用“并行总线”或者“并行线路”并非暗指任何特定时钟布置,并且可以是共同时钟相位型或者独立时钟相位型。在这里描述的优选实施方式中,高速并行总线是点对点链路,其中仅在成对设备之间(即从一个发射器向一个接收器)传送数据。然而,本发明并不限于在点对点链路中使用,并且除非这里另有限定,术语“并行总线”或者“并行线路”不应理解为要求总线或者线路为点对点链路。例如,并行总线可以是单点到多点介质(其中有单个发送设备和多个接收设备)或者是具有多个可能发送设备的介质(这通常需要某种形式的判优)。这里描述的通信介质的特征之一在于有能力在传送功能数据时校准特定的电路。 如这里所用,功能数据表示由接收芯片或者由其随后传送到的某一其他系统部件用来执行其既定功能的数据(而非用来测试或者校准通信链路本身的测试或者校准数据,或者用来控制或者协调通信链路并且具体为它的校准活动的控制信息)。在传送功能数据时,校准特定通信电路的能力成为连续时间、动态校准。硬件概述在优选实施方式中,数字数据系统的多个集成电路芯片被耦合,以用于通过一个或多个高速点对点数据链路或总线进行芯片间通信,每个数据链路或总线包含多个并行的数据线路。参照附图,其中相似标号在若干幅图中通篇表示相似部分,图1是根据优选实施方式的示例性通用计算机系统的主要硬件部件的高级框图,该计算机系统具有多个集成电路芯片和在集成电路芯片之间提供通信路径的一个或者多个高速总线。在功能级,在图 1中示出了用虚线勾勒的系统100的主要部件;这些部件包括所有经由一个或者多个总线 105耦合用于部件间通信的一个或者多个中央处理单元(CPU) 101、主存储器102、用于I/O 设备的接口(例如终端接口 106、存储接口 107、混合I/O设备接口 108和通信/网络接口 109)。CPU 101是执行存储于存储器102中的指令的一个或者多个通用可编程处理器; 系统100可以包含单个CPU或者多个CPU (任一备选在图1中共同地由特征CPU 101代表), 并且可以包括一级或者多级板上高速缓存(未示出)。存储器102是用于存储数据和程序的随机访问半导体存储器。存储器102在概念上为单个单片实体,理解经常按高速缓存和其他存储器设备的层级布置存储器。此外,如在各种所谓非均勻存储器访问(NUMA)计算机系统架构中的任何架构中那样,存储器102可以被划分成与特定CPU或者多组CPU和特定总线关联的部分。终端接口 106提供用于附接一个或者多个用户终端121A_C(通称为121)的连接, 并且可以用多种方式来实施。诸多大型服务器计算机系统(主机)支持通常在一个或者多个电子电路卡上通过终端接口 I/O处理器直接附接多个终端。备选地,接口 106可以向与终端121附接到的局域网提供连接。各种其他备选是可能的。数据存储接口 107向一个或者多个数据存储设备122A-C(通称为12 提供接口,尽管可以使用其他类型的数据存储设备,但是这些数据存储设备122通常为轮转磁硬盘驱动单元。混合I/O设备接口 108向这些或者任何各种其他输入/输出设备或者其他类型的设备提供接口。在图1的示例性实施方式中示出了三个这样的设备(终端121D、打印机123和传真机124),应理解可以存在不同类型的多个其他此类设备。通信接口 109提供从系统100到其他数字设备和计算机系统的一个或者多个通信路径;这样的路径可以例如包括一个或者多个网络126(例如因特网、局域网或者其他网络)或者可以包括远程设备通信线路、无线连接等。在I/O设备接口 106-109与设备或者网络之间伸展的通信路径可以是专用通信链路或者共享链路(例如, 多分接总线),并且可以通称为I/O总线(无论是单个还是多个设备附接到这些总线)。总线105提供各种系统部件之间的通信路径。虽然在图1中表示了单个概念总线实体105,但是应当理解典型计算机系统可以具有经常在复杂拓扑结构中布置的多个总线, 例如在层级式、星型或者网状配置中的点对点链路、多层级式总线、并行和冗余链路等,并且可以存在用于传送某些信息(如地址或者状态信息)的单独总线。在物理上,主要功能单元通常实现在一个或者多个集成电路芯片中。这样的芯片一般装配于电子电路卡组件上,多个芯片经常装配于单个电路卡上。在图1中,CPU 101表示为包含四个集成电路芯片111A-D,每个集成电路芯片可以包含一个或多个处理器,或者可以仅执行单个处理器的部分功能;存储器102表示为包含六个芯片112A-112F,总线105 表示为包含三个总线接口芯片115A-C,终端接口 106表示为包含三个芯片116A-116C,存储接口 107表示为包含两个芯片117A-B,I/O和混合I/O设备接口 108表示为包含三个芯片 118A-C,而通信接口 109表示为包含两个芯片119A-B。然而这样的芯片的实际数目可以变化,并且不同设备以及耦合多个设备的总线可以集成于单个芯片上。在图1中以高抽象级表示了连接系统100的各种部件的通信路径,以及将任何各种I/O设备与CPU 101或者存储器102连接的特定路径。事实上,这样的路径通常远远更为复杂,并且通常按层级来布置。图2是更具体示出了根据优选实施方式的图1的计算机系统100的代表性的部分(CPU 101、存储器102以及用于耦合CPU和存储器的总线105)的某些硬件封装元件的广义表示。参照图2,多个集成电路芯片每一个都装配于在图2中表示的两个相应电路卡 202A、202B(这里通称为特征20 上,应当理解电路卡的数目可以变化,并且对于大型计算机系统而言该数目通常要大得多。例如在图2的示例性系统部分中,电路卡202A包含处理器芯片111A、111B、存储器芯片112A-H、用于访问存储器芯片112A-H的存储器控制器芯片203A和总线接口芯片115A。电路卡202B类似地包含处理器芯片111C-D、存储器芯片 112I-P、用于访问存储器芯片112I-P的存储器控制器芯片2(X3B和总线接口芯片115B。系统100还包含多个点对点通信链路201A-201G (这里通称为特征201),每个耦合有相应的集成电路芯片对。在逻辑上,这些链路在两个方向上传送数据,但是在物理上, 它们经常被构造为两组独立的并行线路,每个组在与另一组的单个方向相反的单个方向上传送数据。这些链路中的某些链路耦合装配于相同电路卡上的多对集成电路芯片,而其他链路耦合装配于不同卡上的多对芯片。例如,如图2中所示,链路201A、201B将处理器芯片 111A、111B分别耦合到总线接口芯片115A;链路201C将存储器芯片112A耦合到存储器芯片112B ;链路201D将存储器芯片112D耦合到存储器控制器芯片203A ;以及链路201E将存储器控制器芯片203A耦合到总线接口 115A,所有这些芯片装配于共同电路卡202A上。因此存在在卡202A上的任何两个芯片之间的通信路径,尽管它可能必须穿越一个或者多个中间芯片。此外,将总线接口芯片115A与总线接口芯片115B连接的链路201F和将总线接口芯片115B与另一模块(未示出)连接的链路201G耦合装配于不同电路卡上的设备。链路201G可以将芯片115B与服务于附加处理器和存储器芯片的类似总线接口芯片耦合,或者它可以将芯片115与某一其他设备(例如用于连接到一个或者多个I/O总线的I/O控制器芯片)耦合。虽然所有链路201A-G在逻辑上为点对点链路,但是它们未必具有相同性质; 它们可以以不同的时钟速度操作;它们可以具有不同的宽度(即不同数目的并行线路); 它们可以以不同的电压操作;某些链路可以包含单向线路而其他链路包含单独多组单向线路;和/或任何各种附加参数可以是不同的。应当理解,图1和图2旨在以高级别描绘系统100的代表性主要部件;个别部件可以具有比图1和图2中所示更大的复杂性;可以存在与图1和图2中所示部件不同或者除此之外的其他部件;这样的部件的数目、类型和配置可以变化;以及大型计算机系统将通常具有比图1和图2中所示更多的部件。这里公开了这种附加复杂性或者附加变化的若干特定示例,应当理解这些仅为举例而未必为仅有这样的变化。虽然系统100被描绘为具有多个终端的多用户系统,但是系统100可以备选地是通常仅包含单个用户显示器和键盘输入的单用户系统,或者可以是具有很少或者无直接用户接口而是从其他计算机系统(客户机)接收请求的服务器或者类似设备。尽管大型系统通常包含多个CPU和多个I/O总线,但是本发明并不限于在任何特定大小的系统中使用,并且将可以构造仅有单个CPU和/或单个I/O总线的系统。另外,本发明并不限于在通用计算机系统中使用,而是可以在具有相互通信的多个集成电路芯片的任何数字数据系统(无论是否称为计算机系统)中使用。举例而言并且并非限制,这样的数字数据系统可以包括用于机器、娱乐系统、安全和监视系统、医疗系统、网络路由装置、电话和蜂窝通信设备、个人数字设备等的控制系统。尽管图2表示如下系统,在该系统中,如非一致存储器访问(NUMA)或者节点计算机系统的典型情况那样,每个卡包含某些处理器和某些存储器,但是所有存储器可以备选地放置于处理器一致访问的一个或者多个专用卡上。图2还表示以来自控制器的链路的菊链配置的存储器芯片,但是诸多备选芯片配置是可能的。也应当理解,可以存在并非点对点链路的其他通信链路;例如,I/O总线(图2中未示出)经常以更缓慢速度操作并且可以体现为多分接总线。尽管已经以高级别描述并示出了各种系统部件,但是应当理解典型的计算机系统包含未示出的对于理解本发明而言无实质性的诸多其他部件。通信电路描述图3是示出了根据优选实施方式的并行线路201的单个点对点链路的单向半部 301的基本结构的示图。在这一实施方式中,每个个体线路都是单向的,并且双向链路因此包括在一个方向上传送数据的一组单向线路和在相反方向上传送数据的另一组单向线路。 图3仅代表这些组中的一组以及在发送和接收芯片中的关联电路,应当理解,完整双向链路包括用于在相反方向上发送数据的类似一组线路和关联电路。这些组可以每个包含具有相同参数的相同数目的线路,或者线路数目和/或其他参数可以不同。另外,尽管优选使用单独多组单向线路,但是备选地,可以采用单组双向线路,从而在每个端具有接收器和发送器电路。参照图3,并行链路的单向半部301包含与N线路宽数据发送能力对应的N个并行线路和M个附加(冗余)并行线路。这些线路表示为特征302A-E,并且这里通称为特征 302。在优选实施方式中,链路包含两个冗余并行线路(M = 2),使得并行线路总数为N+2。 预计M将少于N并且通常较小;M可以仅为1。在任何给定的时刻,仅有N个并行线路302用于发送功能数据。如这里进一步说明的那样,M个冗余线路用于动态校准和/或作为备用。由于一次仅有N个线路发送功能数据,因此可以认为链路包含N个逻辑线路。单向链路半部301还包含发送芯片中与每个并行线路302对应发送的相应发送器驱动电路303A-E (这里通称为特征303);接收芯片中与每个并行线路302对应的相应接收器同步电路304A-E(这里通称为特征304);发送芯片中与每个并行线路302对应发送的相应发送器选择器开关305A-E (这里通称为特征305);发送芯片中与每个并行线路302对应的的相应次级输入选择器开关316A-E (这里通称为特征316);以及接收芯片中的一组N 个接收器选择器开关306A-E (这里通称为特征306),开关306的数目与链路中的线路数目对应。在发送芯片上,用于跨链路发送的数据被置于发送缓冲器308中。缓冲器并行输出N组位,每组包含Ptx个位,使得缓冲器并行输出共计N*PTX个位。每组Ptx个位旨在通过单个线路302发送。一组可以仅包含单个位(Ptx= 1),或者可以包含多个位。使用多个位来使得发送缓冲器(并且延伸为在发送芯片中供应发送缓冲器的逻辑)能够以比链路的线路302更低的频率进行操作。在优选实施方式中,Ptx = 4,应对理解这一数目可以变化。向发送器选择器开关305馈送发送缓冲器308的输出。每个发送器选择器开关 305对应于单个相应发送器驱动电路303和线路302,在所示的优选实施方式中存在N+2个发送器选择器开关。每个发送器选择器开关305还与向对应发送器选择器开关提供输入之一的相应次级输入选择器开关316配对。每个发送器选择器开关接收每个均作为输入的多个Ptx个位的组,并且根据从校准逻辑和控制307接收的控制信号来选择这些组中的单个组作为向对应发送器驱动电路303的输出。向每个选择器输入的组数依赖于选择器开关的位置和链路半部301中的冗余线路数目,并且最大为M+2。因此,在M = 2的优选实施方式中, 用于线路1和用于线路(N+2)的发送器选择器开关305每个具有由位组1和来自对应次级输入选择器开关316A的输入(在线路1的情况下),或者位组N和来自对应次级输入选择器开关316E的输入(在线路(N+2)的情况下)构成的两个输入组;用于线路2和用于线路 (N+1)的选择器开关每个具有由位组1、位组2和来自对应次级输入选择器开关316B的输入(在线路2的情况下)或者位组(N-I)、位组N和来自对应次级输入选择器开关316D的输入(在线路(N+1)的情况下)构成的三个输入组;以及用于所有其他线路的选择器开关每个具有四组输入,其中用于第i个线路(其中3 < = i < = N)的开关接收来自对应次级输入选择器开关316A的第四输入、位组(i-2)、位组(i-Ι)和位组(i)作为输入。开关305使得可以选择N+2个线路中的任意N个线路用于跨链路发送在发送缓冲器308中的数据。或者换言之,可以禁用或者使用N个线路中的任意两个线路用于测试或者校准目的(通过选择对应的次级输入选择器开关输入),而其余线路足以发送在发送缓冲器308中的功能数据。每个次级输入选择器开关316从这里更具体说明的空输入、测试模式或者称为SLS命令的控制信号中选择。测试模式和SLS命令由校准逻辑和控制电路307 生成,该电路还控制次级输入选择器开关316对信号的选择。在优选实施方式中,一次选择线路1至(N+1)中的每个线路用于校准,而其余线路可用于发送功能数据。第二冗余线路 (线路(N+2))在任何线路或者与它关联的发送或者接收电路出现故障的情况下(例如由于即使在校准之后仍然不能发送和接收可靠数据)可用作真正备用。与线路N+2关联的发送和接收器电路通常被断电,并且未被连续校准以减少功耗。仅在需要备用的情况下才向线路N+2供电。在这里对所有线路执行的某些操作的描述中,应当理解除非向线路N+2供电以替换未恰当工作的某一其他线路则不在线路N+2上执行这些操作。校准逻辑和控制电路307也产生用于所有发送器驱动电路303的PRBS23信号 315。PRBS23信号是(2#2;3)_1位或者8,388,607位的伪随机位序列,应当理解可以备选地使用其他位序列。这一信号在每个发送器驱动电路中与来自校准逻辑和控制电路307的相应使能信号(未示出)相与(AND),并且结果与相应开关305的输出异或O(OR)。通过向对应AND门驱动逻辑‘0’来禁用PRBS23使开关305的输出无更改发送;通过向该与(AND) 门驱动逻辑‘1,来启用PRBS23使开关305的输出由PRBS23位模式“加扰”(继而在接收器电路304中解扰)。当通过开关305提供空输入时,跨对应线路发送纯PRBS23信号用于在另一端校准接收器同步电路时使用。优选实施方式的发送器驱动电路因此可以用来通过启用PRBS23来加扰跨链路发送的功能数据,或者通过禁用PRBS23来无更改地发送功能数据。另外,可以选择性地或者未独立地加扰每个线路,从而使得可以无加扰地发送功能数据而加扰校准数据或者命令,反之亦然。在接收芯片中,每个接收器同步电路304从对应发送器驱动电路303接收跨其对应线路302而被发送的数据信号,并且并行输出一组Pkx位。在优选实施方式中,Pkx = Ptx =4。然而Pkx可以是1或者某一其他数目;另外,Pkx无需与Ptx相同。每个接收器同步电路从校准逻辑和控制电路309接收PRBS23信号,该PRBS23信号以与发送器驱动电路类似的方式选择性地启用或者禁用并且与接收的数据异或O(OR),以用于选择性地解扰接收的数据或者无更改地将其输出。每个接收器选择器开关306接收多组M+1个接收器同步电路的输出作为输入;在 M = 2的优选实施方式中,每个接收器选择器开关接收多组3个接收器同步电路的输出。即, 第i个接收器选择器开关接收与线路i、线路(i+Ι)和线路(i+2)对应的接收器电路的输出。每个接收器选择器开关306根据从接收器校准逻辑和控制309接收的控制信号来选择这些输出之一用于向接收器缓冲器311输出。接收器缓冲器存储选择器开关306的输出直至数据被获取供接收芯片内的内部逻辑使用。接收器选择器开关306共同执行与发送器选择器开关305的功能互补的功能。即, 接收器选择器开关能够选择任意N个接收器同步电路304的输出用于在接收器缓冲器311 中存储。或者换言之,接收器选择器开关306可以阻止任意两个接收器同步电路的输出进入缓冲器311。因此当校准线路时,该线路的输出未被接收器选择器开关选择用于在接收器缓冲器311中存储。以这一方式,可以一次选择一个线路用于校准,阻止其输出到达接收器缓冲器311,同时其余N个线路被用来发送功能数据,被选择用于校准的线路进行轮转,直至(N+1)个线路的所有线路都被校准为止。用于校准或者其他目的的线路的切换和轮转以简明方式实现,而无复杂的时序问题,这是因为所有控制和向开关的输入在相同时钟域中同步和操作。接收器电路的这一优选实施方式也产生低功率和高效设计。接收器校准逻辑和控制电路309控制接收器同步电路304在加电时的校准,以及这些电路在操作期间(即,在链路发送功能数据时)的动态校准。电路309控制一组N+2 个接收器系数寄存器310,每个接收器系数寄存器与相应接收器同步电路304对应并且保持用于对应接收器同步电路的单独校准的系数。如这里更具体描述的那样,为了支持校准, 接收器校准和逻辑控制电路309接收每个接收器同步电路304的PRX位输出,并且调节对应寄存器310中的系数以产生最佳的稳定输出。接口时钟312向发送驱动电路303A和接收器同步电路304A提供时钟信号。在优选实施方式中,在发送芯片中生成接口时钟。向每个发送驱动电路303A本地驱动接口时钟,这可能需要一个或者多个本地时钟信号驱动器(未示出)以实现必要的扇出,并且跨芯片边界向接收模块中的时钟线路313到时钟接收器314上的接收芯片驱动接口时钟。时钟线路313在物理上与并行数据线路302并行伸展。时钟接收器314优选为锁相环,其具有的驱动器与为了向N+2个接收器同步电路304发出时钟信号而必需的驱动器一样多。在优选实施方式中,时钟接收器实际生成用于发出的每个频率相同并且彼此相位相差90度的四个时钟信号。虽然如图3所示,接口时钟是在发送芯片中生成的,但是可以备选地在接收芯片中生成,或者可以在发送芯片和接收芯片以外的某一模块中生成。接口时钟提供用于发送器驱动电路303操作的参考时钟频率,并且保证线路302 上的所有数据信号与这一参考频率对应。类似地,接收器同步电路304中对传入数据信号执行采样的选择电路根据这一参考时钟频率进行操作。在优选实施方式中,按参考时钟频率每周期四位的速率在每个线路上发送数据,应当理解参照时钟频率的这一数据速率可以变化。虽然存在用于发送器驱动电路和接收器同步电路的共同参考时钟频率,但是并不是在接收器中按共同时钟信号执行采样。由于数据线路302的物理长度变化、杂散电容和其他因素,因此到达每个接收器同步电路的数据信号以相对于参考时钟的相应相移到达。 这些相移在硬件并未使它们与共同相位同步这一意义上而言是相互独立的,并且所有相移可以不同。因此,每个线路302上的传入信号被同步到相应的独立时钟域,具有与接口时钟 312同步的频率,并且具有相对于接口时钟312的相应独立相移。与每个接收器同步电路关联的相应独立相位轮转器向同步电路提供相应相移时钟信号,以供其中至少某些电路元件使用,尤其以供采样锁存器使用。这允许接收器同步电路对不同线路上处于不同相移的传入数据进行恰当采样。接收器同步电路304的输出被提供给开关306,并且被将其钟控到共同接收器缓冲器311。这一输出被同步到共同时钟域,即所有电路304提供与相同时钟同步的输出。在这一共同时钟域中将数据钟控到接收器缓冲器311中,并且校准逻辑和控制电路309在这一共同时钟域中进行操作。在优选实施方式中,这一共同时钟域是接收芯片中用于内部逻辑的时钟域,使得所有下游逻辑使用这一相同时钟而无需进一步时钟域转换。为描述简洁, 这里将接收芯片的内部逻辑的时钟域称为接收器主控时钟域。然而,应当理解,用于同步电路输出的共同时钟域无需与接收芯片中用于内部逻辑的时钟域相同;该共同时钟域可以备选地是根据接口时钟信号312导出的时钟域或者某一其他时钟域。这一共同时钟域无需与接口时钟具有相同的频率。图4是更具体示出了根据优选实施方式的并行线路的点对点链路的单向的半部 301的代表性接收器同步电路304及其与某些其他元件的关联的示图。所描绘的电路用于 (N+2)个线路302中的代表性的第i个线路。存在用于(N+2)个线路中的每个线路的相同接收器同步电路304,存在个N+2接收器同步电路。参照图4,根据优选实施方式的接收器同步电路304包括接收器放大器401、采样器402、解串行器403、FIFO解扭斜缓冲器404、解扰器405和相位轮转器406。接收器放大器401是放大线路i上的传入数据信号和/或向该信号提供电压偏移的模拟电路。由接收器放大器产生的放大/偏移信号被输入至采样器402。采样器402包含一个或者多个(例如,优选为4个)采样锁存器,该采样锁存器在同步电路304本地时钟域的由相位轮转器406产生的相应相位对输入进行采样。采样器提供与每个采样锁存器对应的一个输出线路。解串行器403在适当时间选择采样器的输出,并且按从相位轮转器 406导出的共同半频时钟信号(这里称为解串行器时钟,或者R4时钟)将其存储到锁存器组中。解串行器按这一解串行器时钟信号并行产生Pkx位(优选为4)作为从锁存器组的输出οFIFO解扭斜缓冲器404包含向解串行器403的Pkx个位输出添加可调节延迟的多个锁存器组。FIFO解扭斜缓冲器优选地在可调节延迟之后并行输出Pkx个位(即4位),所述数据与解串行器403的数据输出相同。FIFO解扭斜缓冲器中的锁存器组按解串行器时钟信号将数据时钟输入。按Pkx个位时间的递增调节FIFO解扭斜缓冲器404的延迟以补偿在链路的单向的半部301的不同线路302之间的数据扭斜变化,使得FIFO解扭斜缓冲器的输出被同步到对应于其他线路的FIFO解扭斜缓冲器的输出。不同于解串行器,链路的单向的半部301中的FIFO解扭斜缓冲器404的输出被同步到接收器主控时钟域。FIFO解扭斜缓冲器404的Pkx位输出被提供至解扰器405。解扰器405对经过加扰的数据进行解扰,以将该数据恢复成其原始形式。例如,在优选实施方式中,伪随机位模式与发送电路303跨接口发送的数据混合。将数据与伪随机位模式混合可以具有若干优点 其“白化”或者展开数据流的频谱内容,从而消除原本降低接收器性能的任何反复模式;这阻止原始数据中的长串“0”或者“ 1”作为全“0”或者全“ 1,,跨线路来发送;以及可以减少电磁干扰。由于加扰数据并非对数据流中的位数进行扩展的编码,所以其并未确保具有任何最小频率的逻辑跃迁;该数据简单地使得长串零或者一不太可能。解扰器405使用加扰数据的逆变换以将该数据恢复成其原始的形式。每个解扰器从校准逻辑和控制309接收相应的使能信号和共同PRBS23信号。两个信号在解扰器中相与(AND),并且结果与数据异或 (XOR)。使能信号用来根据当前是否加扰跨对应线路发送的数据,在每个接收器同步电路中选择性地开启或者关闭解扰。每个解扰器因此并行输出与接收器主控时钟域同步的Pkx位。优选实施方式的发送器驱动电路和接收器同步电路的优点包括可以选择性地接通或者关断对数据(尤其是功能数据)的加扰和解扰。可以使用PRBS23或者确保任何所需特性的其他适当测试模式在特定线路中执行校准,同时可以加扰或者无加扰地独立发送功能数据。上文说明了加扰功能数据的某些优点,但是功能数据的加扰也消耗大量功率。如果功能数据的加扰对于实现接口的所需性能而言并非必需,则可以通过关断加扰来节约功率。电路设计者可能预先未知数据加扰将在集成电路芯片设计的每一个应用中是否必需, 因而提供选择性地在性能需要时加扰数据,或者在性能不需要时不加扰功能数据以减少功耗这样的能力,该能力向设计者提供了增添的灵活性。甚至可以在给定数字数据系统内通过监视各种校准的系数在校准间隔之间的漂移数量来动态对是否加扰功能数据进行决策。 例如,当校准的系数改变很少时,可以认为加扰可以是不必要的;当观察到系数值大量改变时,可能需要加扰以使漂移保持于可管理水平。这样的监视也可以用来变化校准间隔。每个解扰器405的Pkx位并行输出被提供给一个或者多个相应开关306以及接收器校准逻辑和控制电路309。每个开关接收(M+1)个解扰器电路的输出(其中M为冗余线路的数目);在优选实施方式中,每个开关接收三个解扰器电路的输出。在这一实施方式中, 除了前两个和后两个之外的每个解扰器向三个相应开关提供其输出;第一个解扰器和最后一个解扰器每个仅向一个开关提供输出,而第二个解扰器和倒数第二个解扰器每个向两个开关提供输出。每个开关306选择这些输出中的单个输出用于向接收器缓冲器311输入。 接收器缓冲器311将开关306的输出与接收器主控时钟域同步地时钟输入。相位轮转器406从时钟接收器314接收重新驱动的接口时钟信号,该重新驱动的接口时钟信号是用于所有相位轮转器的相同输入。优选地,时钟接收器生成频率与其通过时钟线路接收的信号相同并且相位彼此相继偏移90度的四个时钟信号。相位轮转器提供这一重新驱动的接口时钟信号的可调节相移以产生相位彼此相差180度并且频率为原始接口时钟信号两倍的一对相移信号(这里表示为R2+和R2-),以供接收器同步电路304的某些元件使用。具体地,该对相移信号用来钟控采样器402和解串行器403的采样锁存器。解串行器减半相移信号的频率(即变成原始接口时钟信号频率),以供解串行器403和 FIFO解扭斜缓冲器404使用。由于相移量在每个相位轮转器中是单独可调节的,所以输出时钟信号是独立时钟域,该时钟域为使用它的对应接收器同步电路所特有。每个同步电路包含其自己的相位轮转器406,该相位轮转器将输入接口时钟信号轮转独立可调节量,以产生对应独立时钟域以对传入数据信号的任意相位最优采样,该相位由于数据扭斜效应而为任意的。校准逻辑和控制电路309接收Pkx位解扰器输出(即,在主控时钟域中),该输出用来执行如这里进一步描述的对接收器同步电路304的校准以及对切换和其他校准动作的协调。在优选实施方式中,用于协调校准动作的控制信息在被选择用于校准的线路上在 "SLS命令”中与测试模式数据一起被携带。校准逻辑和控制电路包括用于检测接收的SLS 命令的静态模式检测器407,以及用于对命令进行解码并且采取适当动作的SLS命令解码器 408。在校准期间,校准逻辑和控制电路309确定用于接收器同步电路的校准系数,并且将其存储在一组接收器系数寄存器310中的对应接收器系数寄存器中,从而存在一个这样的寄存器用于每个接收器同步电路304。校准逻辑和控制电路还将多个FIFO解扭斜缓冲器404的输出彼此对准。校准逻辑和控制电路309以及接收器系数寄存器310均在接收器主控时钟域中。接收器系数寄存器中的校准系数包括相位轮转器406将要执行的相位轮转量;用于接收器放大器401的增益和偏移系数;以及采样器402的个别采样锁存器偏移。图5是更具体示出了根据优选实施方式的图4中所示接收器同步电路的某些部分的示图。参照图5,传入数据依次通过均位于接收器放大器电路401内的偏移加法器501、 可变增益放大器502和连续时间线性均衡滤波器503。偏移加法器501向传入数据信号添加校准的偏移。此偏移的值在校准期间确定,被存储在相应的接收器系数寄存器310中,并被提供给数模转换器(DAC) 514,以生成与用于偏移加法器501的偏移系数值对应的模拟偏移信号。可变增益放大器(VGA) 502根据存储于接收器系数寄存器中并且向DAC 515提供的校准增益系数来提供可变增益,以生成用于VGA 502的模拟增益信号。连续时间线性均衡滤波器(CTLE) 503是如下线性放大器,该放大器提供可调节极点和零点以创建增强的高频响应(峰值)以补偿有损传输介质。在接收器系数寄存器310中存储并且向DAC 516提供校准的峰值幅度以生成用于CTLE 503的峰值幅度信号。由接收器放大器电路401产生的作为结果的经调整和放大的信号被同时驱动给四个比较器504A-D (这里通称为特征504),每个比较器向相应锁存器505A-D (这里通称为特征50 提供输入。一对锁存器505A、505B用于对偶数数据位进行采样,而另一对锁存器 505C、505D用于对奇数数据位进行采样。相应的选择器506A、506B (这里通称为特征506)选择每个对中的一个锁存器的输出用于向相应次级锁存器507A、507B(这里通称为特征507) 输入。向解串行器403输入次级锁存器507的输出。针对每个偶数位和奇数位而提供一对采样锁存器505,使得可以根据紧邻的在前位而使用不同锁存器,从而允许不同值用于采样比较。即,由于线路的固有阻抗,继逻辑跃迁(从‘0’到‘1’或者反之)之后的电压值有些不同于在没有从前一位的跃迁时(相继两个‘1’或者两个‘0’ )用于相同逻辑值的电压值。在正常操作期间,将信号SPen设置成 ‘1’,从而允许先前采样的位的值通过开关508A、508B并控制开关506,这些开关选择采样锁存器505。在某些校准操作期间,SPen使开关508A、508B替换用于控制开关506的由校准逻辑和控制电路309生成的信号SPsel。解串行器403包括用于捕获和延迟两个偶数位和一个奇数位的延迟锁存器 511A-D;用于并行输出4位的半字节(nibble)的解串行器输出寄存器512 ;以及用于生成供解串行器403和FIFO解扭斜缓冲器404的某些元件使用的本地时钟信号的解串行时钟生成器513。延迟锁存器511A-D使所有四个数据位能够同时钟控至解串行器输出寄存器 512中,使得四个位从寄存器512并行输出。接收器放大器部分401还包含与空输入值关联的次级偏移放大器517和开关518, 该开关518可以备选地使输入能够从线路302经过偏移放大器501、可变增益放大器502和 CTLE 504或者来自空输入经过次级偏移放大器517的输入。在正常操作期间,开关518是输入能够从线路302经过元件501、502和503。如这里进一步描述的那样,经过次级偏移放大器517的空输入仅用于某些校准操作。如上文所述,相位轮转器生成相位彼此相差180度并且频率为原始接口时钟信号两倍的相移信号对。由于相位轮转器生成双倍频率的信号,所以在所得相移信号的每个周期,在线路上接收两个位。该相移时钟信号对因此表示为R2+和R2-。偶数锁存器对505A、 505B按R2+时钟信号采样,而奇数锁存器对505C、505D按R2-时钟信号采样。次级锁存器 507反转这一定向,使得数据在由锁存器505捕获之后的半个周期被钟控到次级锁存器中。 解串行器时钟生成器513在R2+、R2-的频率的一半根据相移信号R2+、R2-导出解串行器时钟信号对。由于在这一半频周期期间接收四位,所以解串行器时钟生成器513生成的时钟信号表示为R4+、R4-。延迟锁存器511A按R4+时钟将其信号时钟输入,而延迟锁存器 5IlB-D按R4-时钟将其相应信号时钟输入。将所有信号按R4+时钟钟控至解串行器输出寄存器512中。图6是更具体示出了根据优选实施方式的图4中所示接收器同步电路的某些部分的示图,这些部分包括FIFO解扭斜缓冲器404。FIFO解扭斜缓冲器包括多个延迟寄存器对,每个对包含相应初级延迟寄存器601A-H (这里通称为特征601)和相应次级延迟寄存器 602A-H(这里通称为特征60 ,尽管延迟寄存器数目可以变化,但是这一数目优选为八个。 每个初级延迟寄存器601和每个次级延迟寄存器是四个锁存器的相应组(每个锁存器用于并行数据中的每个相应位)。如图6中所示,初级延迟寄存器601使用R4-时钟(在解串行器寄存器512之后的半部周期),而次级延迟寄存器使用R4+时钟(在初级寄存器之后的半部周期)。相应反馈开关603A-H(这里通称为特征603)与每个对延迟寄存器关联。反馈开关选择解串行器寄存器512的输出或者对应次级寄存器602的输出,用于向对应初级寄存器601的输入。由R4时钟同步的轮循控制604依次选择每个开关603,以从解串行器寄存器512接收输入。在开关603未被轮循控制选择的周期期间,开关向初级寄存器反馈次级延迟寄存器的输出。因此,每个对延迟寄存器中的数据在R4时钟的每八个周期被新到达的数据替换。每个次级延迟寄存器602的输出连接到对准开关605,该对准开关605选择这些输出之一用于向FIFO解扭斜输出寄存器606的输入。FIFO解扭斜输出寄存器是由接收器主控时钟(称为H4)钟控的四个锁存器的组(每个锁存器用于每个相应并行位)。这一时钟优选为与接口时钟和R4时钟相同的频率,但是为参照另外两个的中间相位。对准开关605在轮转器控制逻辑607的控制之下以轮循方式轮流选择次级延迟寄存器602的每个输出。轮转器控制逻辑也由接收器主控时钟进行钟控,但是并非一定与 FIFO扭斜输出寄存器606在相同的时钟相位上。通常,轮转器控制逻辑607独立操作,而无需除时钟信号之外的任何外部输入。然而,在加电校准期间,校准逻辑和控制电路309可以递增推进当前所选初级延迟寄存器输出,以便相互对准所有FIFO解扭斜输出寄存器606的输出。通过选择性地调节轮转器控制607选择的输出,可以调节数据在钟控到输出寄存器606中之前在初级和次级延迟寄存器中等待的时间长度。由于所有解扭斜输出寄存器 606使用相同接收器主控时钟信号,因此所有寄存器与共同时钟域同步。通过调节延迟寄存器中的延迟时间,可以相互对准所有输出寄存器606。重要的是解扭斜延迟包括经过多个相继锁存器(即将数据值保持时钟循环的至少某一部分的存储器元件)的延迟。因此,解扭斜延迟并不限于经过某一数目的门或者模拟电路元件的延迟,并且容易补偿相对大的扭斜。如上文所言,在R4时钟的每八个周期(总计为与为了在单个线路上发送32个相继位而需要的时间段等效的时间段)替换延迟寄存器中的数据。因此,32位时间窗由FIFO解扭斜缓冲器建立,由此落入该窗内的任何扭斜量由解扭斜缓冲器自动适应。因而,根据优选实施方式的接收器同步电路的输出与在输入的甚至大量动态和静态数据扭斜有效隔离。图7是示出了经过根据优选实施方式的图4的接收器同步电路的某些部分的数据信号传播的时序图。该图的左部图示了选择信号在操作期间的代表性相对时序。该图的右部是上文描述并且在图4、5和6中图示的某一电路的简化表示,该简化表示被示为用于在标识对应时钟或者数据信号的位置时使用的视觉辅助。参照图7,信号701表示接口时钟信号,即跨线路313而被发送的信号。信号702 代表通过线路302接收并且经过接收器放大器401传播的数据信号的时序。将观察到对于接口时钟信号701的每个周期而言在信号702中有四个串行数据位;这些位无需具有参照接口时钟信号的任何相位同步。虽然存在与经过接收器放大器401的传播关联的较小延迟,但是这一延迟归因于模拟电路的固有延迟,而与时钟信号时序无关。信号703表示相位轮转器406生成的相移时钟信号之一。如果假设锁存器在下降
18沿上采样,则信号703为R2-信号(但是如果锁存器在上升沿上采样,则其可以备选地表示 R2+信号)。信号704表示在按R2+时钟采样的偶数采样锁存器505A、505B中的捕获位,而信号705表示在按R2-时钟采样的奇数采样锁存器505C、505D中的捕获位。信号中的多个上升和下降线条用来说明一对两个锁存器(例如锁存器505A和505B)未接收精确相同信号,因为每个使用其对应比较器504中的不同偏移系数。如图所示,在采样锁存器505A、 505B中在信号703的上升沿上捕获偶数位,而在采样锁存器505C、505D中在信号703的下降沿上捕获奇数位,即相位与来自偶数位捕获的R2信号相差180度捕获奇数位。如上文说明,选择器506根据先前数据位选择每个对中的一个锁存器,所选输出被钟控到次级锁存器507中。信号707、707分别示出了分别在次级锁存器507A和507B中捕获的偶数数据和奇数数据。将观察到这一数据相对于采样锁存器505中的数据的周期延迟半个周期。即,偶数次级锁存器507A使用R2-时钟相位,而奇数采样锁存器使用R2+时钟相位。信号708表示解串行器时钟生成器513生成的R4时钟信号。信号708可以表示 R4-信号(假设在下降沿上采样)或者R4+信号(假设在前导沿上采样),应当理解,互补信号相位相差180度。R4信号为R2信号的频率的一半并且根据R2信号而导出。信号709-711分别表示锁存器511A、51IB和51IC的内容。在锁存器51IA中按R4+ 时钟从锁存器507A的内容捕获每个半字节的第一位(表示为d0),并且在半个周期以后在 R4-时钟上被钟控到锁存器511D中。在d0位被钟控到锁存器511A之后(R2时钟的完整周期之后),分别按R4-时钟(即,R4时钟的半个周期)在锁存器511B、511C中从507A、507B 捕获第二位和第三位(dl,d2)。按下一 R4+时钟分别从锁存器511D、511B和511C获得位d0、dl和d2。位d3从锁存器507B直接可获得。继而将所有四个位钟控到寄存器521中,整个半字节现在可用作寄存器512的并行输出。信号712表示寄存器512的内容。向FIFO解扭斜缓冲器404提供R4时钟。FIFO解扭斜缓冲器优选包含按R4-时钟钟控的八个初级延迟寄存器601,其每一个被依次选择。一旦被钟控,数据在初级延迟寄存器601中保留R4时钟的八个周期,总计为32位时间(跨链路发送32个串行位所需要的时间)。虽然数据在每个初级延迟寄存器601和次级延迟寄存器602中保留相应固定长度的时间,但是可以在数据在FIFO解扭斜输出寄存器606中期间的任何时间将其从该寄存器向对应次级寄存器602输出。信号713表示初级延迟寄存器601的内容,而信号714表示相对于初级延迟寄存器(延迟R4时钟的半个周期)的次级延迟寄存器602的内容。FIFO解扭斜缓冲器404中的输出寄存器606按照接收器主控时钟信号(表示为信号71 对数据进行钟控。解扭斜输出寄存器中的数据被表示为信号716。虽然图示了相对于初级延迟寄存器601的特定延迟,但是这一延迟事实上可变,并且可以更长或者更短。例如,在图7的图示中,位d0. . . d3事实上可用于提前主控时钟的一个周期钟控到寄存器606 中,在这一例子中添加这一延迟以将这些位与其他接收器同步电路的输出对准。位d0. . . d2 可以备选地已经在该例中所示周期之后的六个主控时钟周期中的任一主控时钟周期中钟控到寄存器606中。因此,解扭斜输出寄存器中的数据由于FIFO解扭斜缓冲器404中的可变延迟而与参照在其他线路上接收的数据来对准,并且与接收器主控时钟信号同步。这里已经描述并且在图4、图5、图6和图7中图示具有某些部件以及具体可调节参数和时序特性的接收器同步电路304作为一个优选实施方式。然而应当理解,接收器同步电路可以具有任何电路组合,该电路组合通过线路302接收在某一允许设计范围内具有任意扭斜的输入信号,并且产生与其他线路的其他接收器同步电路的数据同步的数据。许多变化在实施接收器同步电路时是可能的。这里示出和描述的某些电路元件可以不存在, 并且可以存在未示出的其他元件,可以组合某些元件,并且可以使用不同可调节参数。举例说明某些变化而并非限制,采样锁存器数目可以变化;可以存在或者可以不存在用于偶数 /奇数数据的不同锁存器或者锁存器对;可以存在或者可以不存在用于相同数据的备选锁存器和用于选择一个锁存器的输出的选择装置;输入放大器和偏移的布置可以不同并且使用不同元件,例如CTLE提供的峰值调节可以存在或者可以不存在并且可以与其他元件组合;可以选择不同装置用于引入延迟以便对准数据;用于执行各种功能的时钟周期的数目和相位可以变化;等等。作为一种特定变化,虽然在优选实施方式中将解扰器405表示为用于保证发送数据的跃迁密度的数据变换设备形式,但是可以存在用于保证跃迁密度的数据变换设备备选形式或者没有这样的数据变换设备。用于保证变换密度的数据变换设备备选形式可以例如是将编码数据从如下编码(例如,根据8/10位编码)恢复成其原始形式的解码器,该编码扩展数据流中的位数以保证逻辑跃迁以某一最小频率出现,理解在这样的情况下互补编码器将取代加扰器存在于发送器驱动电路303中。用于保证跃迁密度的解码器或者其他数据变换设备旨在于展开信号的频谱内容,并且避免发送“0”或者“1”的长序列。如果接收器充分降级或者发送的数据的相位参照接收器时钟充分漂移,则这可能使数据变得不可靠。 然而如果以充分频率校准接收器电路,则可能可以在破坏数据之前检测和纠正任何这样的趋势,并且在这样的情况可可能其他情况下,将不必对数据执行加扰或者其他变换以保证跃迁密度。去除加扰器和解扰器将减少接口中的电路数量并且减少功耗。作为另一变化, 解扰器或者其他数据变换设备无需如图所示位于接收器同步电路304内而可以备选地位于FIFO解扭斜缓冲器上游或者开关306或者接收器缓冲器311下游(因为虽然尚未解扰 FIFO解扭斜缓冲器的输出,但是在接收器主控时钟域中同步数据)。作为另一特定变化,解串行器可以不存在或者可以存在于解扭斜锁存器下游,从而经过解扭斜锁存器传播而不是多个并行位。接收器校准在优选实施方式中,接收器同步电路304的各种系数被校准并且被存储在寄存器 310中。在数字设备初始加电时并且随后在操作期间定期执行校准。在操作期间的校准(这里称为“连续时间动态校准”或者简称为“动态校准”)要求接口能够在校准期间传送功能数据。因此,将使用冗余线路之一每次校准一个线路,从而在轮流校准每个线路之时足够线路可用于操纵功能数据。图8是在高级别示出了根据优选实施方式的链路的单向半部301的动态校准过程的流程图。如为了维持用于电路的适当校准系数所需要的,在数字数据系统操作期间定期调用动态校准过程。在优选实施方式中,连续调用动态校准、即一旦已经校准所有线路就调用新一轮校准以重新校准它们。备选地,可以按如下预定时间间隔调用校准,这些时间间隔被判断频繁到足以应对校准系数的任何可能漂移。作为一种附加备选,可以在出现一个或者多个预定义事件(例如内部系统温度从上次校准起有变)时调用校准。校准触发条件可以涉及到这样的因素的组合。在这里的描述中假设,作为校准起点,线路(1)至线路(N)发送功能数据,而线路 (N+1)加电并且可用(虽然未用于功能数据)并且线路(N+2)断电(因此与线路(N+1)和线路(N+2)的接收器同步电路304的输出由开关306禁用)。参照图8,将线路索引变量i初始化为(N+1)(块801)。继而校准线路(i)(这一动作在图8中表示为块802并且在图9和11中更具体加以示出)。当完成校准线路(i)时递增线路索引i(块803)。如果线路索引大于0,则从块804采用‘否’分支。此时,在线路(i)上发送功能数据而线路(i+Ι)由开关306禁用(线路(i+Ι)是刚才校准的线路)。发送器开关305使在线路(i)上发送的功能数据的拷贝也在线路(i+Ι)上发送(块805),即在线路(i)和线路 (i+Ι)上发送相同数据。在已经经过足够的时间使此功能数据始终通过接收设备中的对应接收器同步电路304传播之后,接收器开关306同时启用线路(i+Ι)并且禁用线路(i)(块 806)。即,切换与在线路(i)和线路(i+Ι) 二者上发送的逻辑半字节相对应的单个接收器开关306,以选择线路(i+Ι)的输出而不是线路(i)的输出。如这里所述,发送器继而可以中断在线路(i)上发送功能数据并且线路(i)可用于发送校准测试模式或者其他控制数据。 该过程因此返回到块802以校准线路(i)。如果线路索引i在块804等于零,则已经校准所有线路,并且采用‘是’分支。在这一情况下,线路将恢复成它们的初始启用/禁用状态,而线路(1)至线路(N)用来发送功能数据。因而,递增线路索引i(块807)。此时,线路(i)被禁用并且是用于发送测试模式或者命令的线路。发送器开关305使在线路(i+Ι)上发送的功能数据的拷贝也在线路(i) 上发送(块808)。在已经经过足够的时间使此功能数据始终通过接收设备中的对应接收器同步电路304传播之后,接收器开关306同时启用线路(i)并且禁用线路(i+1)(块809)。 如果线路索引i < N,则从块810采用‘否’支路、再次在块807递增线路索引并且再次将数据移位。如果在块810有线路索引i = N,则线路已经恢复成它们的初始条件、校准完成。在优选实施方式中有两个冗余线路,其中一个(线路(N+1))用于动态校准而第二个(线路(N+2))用作真正的备用。在任何线路(例如线路(k))或其关联发送器或者接收器电路出现故障情况下,对于每个线路(i)(其中i >k),开关305、306使线路⑴承担线路(i_l)通常执行的功能,并且禁用线路(k)的任何输出。这没有反映在图8中。当然可以有附加备用或者可以仅有单个冗余线路(用于校准)而无附加备用。在优选实施方式中,并行数据链路为双向的,并且动态校准链路的两半部分,针对该两半部分反复上述过程。尽管可以串行完成这一点,但是在优选实施方式中同时执行它。 具体地,在与在块802校准线路(i)近似相同的时间,以实质上相同方式校准0线路(j)(相同链路的在与线路(i)的方向相反的方向上发送数据的线路)。与在803的索引i相同的方式递减索引j。以相同方式并且在与在块805在线路(i)和线路(i+Ι)上发送功能数据近似相同的时间在0线路(j)和0线路(j+Ι)上发送功能数据。用于0线路的接收器开关以相同方式并且在与在块806对线路(i)和线路(i+Ι)执行类似动作近似相同的时间同时启用0线路(j+Ι)而禁用0线路(j)。当索引j达到零时,0线路以与上文参照块807-810 描述的方式类似的方式恢复成其初始状态。尽管链路的每一半中的线路数目可以相同,但是情况通常不是这样的,因此链路的两半部分将未必同时完成校准所有线路(即索引j不会在与索引i相同的时间达到零)。 可以让链路的一半简单地等待直至另一半的所有线路完成,但是在优选实施方式中,每一半连续校准它的线路并且因而一旦它完成就会再次开始校准。这表示并未针对链路的每一半在相同时间执行块807-810。由于为了执行块807-810而需要的时间与为了执行块802 而需要的时间相比相对短,所以当链路的一半如块807-810中所示重置它的线路(称为“解掩蔽”)时,另一半将简单地等待直至它完成,从而二者在基本上相同的时间开始校准下一线路(块802)。如这里所述对用于执行校准或者发送功能数据的不同线路的切换需要在链路相对端的相互通信的两个设备之间的某种程度的协调。在优选实施方式中,如这里更具体描述和在图11-13中图示的那样,通过时间复用用于校准的冗余线路来交换用于协调两个设备的活动的控制数据。在优选实施方式中,共同校准逻辑和控制电路309接收每个接收器同步电路的经对准数据输出作为输入并且将这些输出用于校准。这是数字逻辑数据而非模拟电压电平。 优选实施方式的一个重要特征在于,用共同校准电路并且仅用接收器电路的经对准数据输出来执行接口的所有校准。这一实施方式避免了模拟测量以及静态和动态操控高速锁存器进入和离开来自每个线路的路径,从而保证和维持了共同校准电路的正确同步。通过避免模拟测量和校准电路而使用共同校准电路来减少与校准过程关联的大量复杂性和功率。图9是更具体示出了根据优选实施方式的校准与并行线路的点对点链路的单个线路302关联的接收器电路304的过程的流程图。图9旨在于表示在加电时的校准和在操作期间的动态校准,如下文所言在二者之间有某些差异。加电校准始于块901-904,而动态校准始于块905 ;块906-918为两个模式所共用。在加电校准的情况下,线路未用来发送功能数据,因此可以同时执行某些操作或者某些操作可以在对任何线路执行其他操作之前针对所有线路执行。在动态校准的情况下,如上文参照图8说明的那样,一次仅校准一个线路。参照图9,在加电重置时的校准始于将所有校准系数初始化成相应初始或者默认值,例如零(块901)。继而针对与采样锁存器505关联的每个比较器504确定相应偏移 (“本地偏移”)(块90 ,这意在对比较器中的任何输入偏移进行补偿。向比较器的偏移表示为如下数字数据值,该数字数据值在操作期间存储于寄存器310中并且由对应DAC 510 转换成对应模拟电压偏移以供比较器504使用。在这一阶段仅确定偏移的DC部分(称为 “0”系数)。在操作期间,在向DAC 510提供值之前将向后续确定的另一系数(“ΗΓ’系数) 添加这一 “0”系数。此外如这里所述,“A”系数用于某些校准操作。在这里的讨论中应当理解,在优选实施方式中,线路302在物理上是提供差分值的接线对。逻辑‘1’表示线路之一具有参照另一线路的正电压,而逻辑‘0’表示相同线路具有参照另一线路的负电压。因此,零或者空差分电压输入表示恰好在逻辑‘1’与逻辑‘0’ 之间的值。为了确定“0”系数值,在接收器中根据偏移模式源517生成由开关518取代线路输入的输入信号。偏移模式源产生与“差分零”或者“空”电压执行时间交织的数字方波。 仅在偏移模式的“空”部分期间取得用于校准“0”系数的样本。模式的方波部分用来消除原本破坏偏移测量的DC模式偏置或者“浮体效应”。
22
每次确定一个用于每个比较器504的“0”系数,从而使校准电路309中的共同逻辑能够在所有比较器504之间以及在所有其他路线之间共享。在初始校准时,如下文所述,使用二元查寻算法来校准每个“0 ”系数。“0”系数偏移的中间范围值应用于对应于DAC 510, 并且允许充分时间让DAC稳定。设置向开关508的SPen和SI^sel输入以选择校准的锁存器505的输出。所选锁存器将填充解串行器寄存器512的仅一半内容(偶数或者奇数),并且这些位经过FIFO解扭斜缓冲器404和解扰器405传播而解扰被禁用。收集解扰器的输出的数目充分(优选大于128)的样本;在这一阶段仅收集与所选偶数或者奇数锁存器对应的偶数位或者奇数位。如果样本主要包含‘1’,则比较器电路中固有的实际偏移大于应用的“0”系数偏移,因而有必要增加应用的“0”偏移以补偿她。如果样本主要包含‘0’,则电路中固有的实际偏移少于应用的“0”偏移,因而有必要通过减少应用的“0 ”偏移来补偿。 在任一情况下,将“0”系数调节成在DAC的其余值范围中间的值。再次允许DAC稳定,再次收集样本,并且根据样本中以‘0’或者‘1’为主将“0 ”系数上调或者下调至其余范围的中间。该过程迭代以收敛“0”系数。在校准比较器504的DC系数(“0”系数)之后执行相位轮转器的初始校准(块 903)。这可以视为用于执行这里其他校准的“粗略”校准;稍后进行相位选择器的最终调解。为了执行相位轮转器的初始校准,开关518禁用空输入而启用来自线路302的输入。发送器驱动电路发送模式‘110011001100...,持续限定时间,在测试线路输入上从发送器中的校准逻辑和控制电路307向次级输入选择器开关316供应这一模式,这使发送器选择器开关305选择对应次级输入选择器开关316的输出,同时禁用发送器驱动电路中的加扰,从而使无更改的测试模式得以发送。注意,接收的接口时钟最初是相对于传入数据的未知相位对准,另外,在完成某些其他系数的校准之前,传入随机数据的恢复将不可靠。为了解决这些问题,首先发送简单模式‘11001100... ’。该模式无需对接收器电路的完全校准即是可检测的,这是因为它更少受抖动、码间干扰影响并且是比全位速率更低的频率。校准逻辑和控制电路309调节由相位轮转器406产生的时钟相位,同时监视输出(即其中解扰被禁用的解扰器405的输出)以产生每隔一个样本的‘1’和‘0’样本的50/50平衡。这一境况仅可能在时钟沿与输入模式的改变沿重合时发生。在定位该相位位置之后,继而将相位轮转器调节推迟全速位时间的一半从而将它定位于数据窗的名义中心从而实现这一输入数据模式的可靠捕获。与单向链路半部301中的多个线路对应的FIFO解扭斜缓冲器404继而相对于彼此而被对准(块904)。为了实现FIFO解扭斜缓冲器的对准,先前描述的‘11001100..,模式还包含周期性的‘11110000’段,其相对于总线上的预期扭斜间隔很远。由于信道码间干扰(ISI),因此不期望完全识别出这些模式段,但是应当可靠地检测这一段中的第3个‘1’。
因此,仅基于这一单个位,针对单个间隔的从‘1100......’到‘1111000’的周期性变化提
供了用于对准目的的清晰可识别的索引标记。校准逻辑和控制309识别解扰器405 (其中解扰被禁用)为所有线路输出的最新到来‘1111’模式并且按照需要向选择FIFO解扭斜缓冲器404添加整数个时钟单位(优选主控时钟的周期)的延迟,以便将所有FIFO解扭斜缓冲器的输出与最新到来线路的FIFO解扭斜缓冲器输出相位对准。仅在加电时执行如块903和904代表的对相位轮转器的初始对准和对FIFO解扭斜缓冲器输出的对准。在动态校准期间,使用相对于前文参照块902描述的过程有些简化的过程来再次校准比较器504的“0”系数。在动态校准期间,采样锁存器处的本地偏移(“0”系数)递增地被更新(表示为块90 。如先前参照块902所述,输入信号由偏移模式生成器517在接收器中生成,开关 518被设置以启用来自该源的输入。然而,未使用二元查寻从暂存器校准“0”系数。现有 “0”偏移系数(在数学上去除Hl和A系数)单独被应用于DAC 510。如先前所述,设置向开关508的SPen和SI^sel输入以选择校准的锁存器505的输出。在等待短暂时间使DAC 稳定之后,在解扰器(其中解扰被禁用)的输出收集目标锁存器输出的一组样本(优选多于1 个)(偶数或者奇数),并且确定观察到更多1还是0。继而基于这一确定来上调或者下调“0 ”偏移系数,即如果更多‘1’出现于样本中则递增该值,或者如果更多‘0’出现于样本中则递减该值。为了符合接口架构的时间约束,可以将这些动态校准更新分解成可在允许的时间内完成其任务的较小子操作。可以在后续动态校准间隔中处理附加子操作。在“0 ”系数的初始校准、初始相位轮转器校准和初始FIFO解扭斜缓冲器对准之后(在加电校准的情况下)或者在更新“0”系数之后(在动态校准的情况下),校准逻辑和控制电路307使发送器驱动电路303跨线路反复发送PRBS23模式,这一模式在后续校准动作期间被重复(块906)。当接收随机数据时实现最优校准系数值,这是为何使用PRBS23 伪随机测试序列的原因。具有冗余的线路以用于校准的益处包括容易地提供由设计确保为伪随机的数据,从而无需原本需要的精细“数据随机性”检测和滤波功能。在块907-916中执行接收器放大器401 (即偏移加法器501、VGA502和CTLE 503) 的迭代校准,并且向“0”系数添加“ΗΓ’系数,以提供用于比较器504的偏移。校准过程的这一部分称为决策反馈均衡(DFE)。DFE的基本概念在于,基于接收的输入数据的近来历史来动态调节前端采样锁存器处的二元决策阈值幅度。可以包括任何数目的历史位和关联反馈系数(抽头),但是实际实施方式将寻求将这一数目最小化至可接受的性能水平。系统根据应用要求可以范围从1个抽头到15个或者更多抽头。DFE训练系统的主要功能在于测量传入信号波形的特性、将这些特性与适用数据历史进行相关以及计算/向动态阈值电路应用反馈系数以便优化测量结果。这一实施方式是在充分“训练时间”之后,使系数收敛成最好可能值的闭环反馈系统。DFE过程始于确定与“A”向量关联的称为Ap、An和Amin的值,其中Ap表示在向采样锁存比较器504的输入的逻辑‘1’的平均幅度,An表示在向采样锁存比较器的输入的逻辑‘0’的平均幅度,而Amin表示逻辑‘1’在大量样本规模(例如1000个样本)内的最小幅度(块907)。Ap和An值针对每个采样锁存器505而单独测量,同时接收PRBS23数据模式。由于这一模式为接收器所知,所以接收器的校准电路可以比较已知的PRBS23模式与解扰器405(其中解扰被禁用)的数据输出,以标识数据的任何特定位是否被采样锁存器正确感测。如这里进一步描述的那样,起初将“ΗΓ’向量设置成零,并且在后续迭代中校准该向量。Ap、An和Amin在概念上可以表示为“眼”图。图10是示出了在采样锁存器输出的随时间的典型电压响应的示例“眼”图。参照图10,表示在单个时钟闸(strobe) 102上叠加多个数据样本的电压曲线1003A-J。在某些情况下,电压曲线旨在于代表在时钟闸的逻辑 ‘1’(高电压),而在其他曲线中,曲线代表逻辑‘0’(低电压)。将观察到在时钟闸1002的电压值针对相同逻辑值明显变化;例如每个曲线1003A-1003F代表在时钟闸的逻辑‘1’,但是值明显不同。具体地,电压值受先前接收的数据位的值影响。如果先前接收的数据位也为逻辑‘1’,则当前逻辑‘1’ 一般具有比它如果前一位为逻辑‘0’则具有的电压读数更高的电压读数。中心区1003称为“眼”。理想情况下,时钟如图所示与在该“眼”中间的样本同步, 校准感测电子器件,使得“眼”尽可能大。如图10中所示,Ap表示逻辑‘1’的平均电压,并且在最高电压逻辑‘1’(即电压范围的最高处)与最低电压逻辑‘1’(即眼的最高处)之间的中间范围中通过时钟闸线。 另一方面,Amin近似为最低逻辑电压‘1’,即近似为眼的最高处。可能的情况是,对于所有偶数数据或者奇数数据,通过设置向开关508的SPen和 SPsel的输入以选择所需锁存器的输出,而在特定采样锁存器处测量Ap或者An。“Α”向量被递增调节,并且被添加到所选锁存器的先前确定的“0 ”向量,以作为向对应DAC 510的输入。随着“A”向量被增大,数目越来越多的逻辑‘1’将由于越来越大的偏移而在采样锁存器中被感测为逻辑‘0’。类似地,随着“A”向量被减小,数目越来越大的逻辑‘0’将感测为逻辑‘1’。将Ap确定为“A”向量在半数逻辑‘1’感测为‘0’时的值,而将An确定为“A” 向量在半数逻辑‘0’感测为逻辑‘1’时的值。通过从Ap递减“A”向量的值直至每1000个采样仅有一个错误(即对于1000个逻辑‘1’,仅一个感测为逻辑‘0’)来类似地确定Amin。获得Ap和An的四个独立值(在每个采样锁存器上测量一个值)。对于用来校准偏移加法器501和可变增益放大器502的后续计算,Ap是这四个单独测量的值中的最大值, An是最小值(即An具有最大绝对值、An为负)。仅在具有最大Ap值的锁存器测量Amin。 如先前所述,Hl起初为0并且如这里所述在后续迭代中加以调节。理想情况下,Ap与An量值相等而符号相反。如果Ap的量值不等于An的量值(从块908的‘否’分支),则调节DAC 511中供偏移加法器501使用的偏移值,使得向采样锁存器的输入以零为中心,即偏移=(Ap+An)/2(步骤909)。计算出的值Amax是在向采样锁存器的输入经历的电压值范围的表示。如果值 Amax在目标范围以外(从块910的‘否’分支),则递增调节作为VGA 502的向DAC 515的输入的增益系数以将Amax带入目标范围内或者更接近目标范围(块911)。这一增益系数影响Ap、An和Amin,因而校准逻辑返回到块907以重复测量。增益系数起初为0以便保证感测电子器件在它们的线性范围中操作并且被递增上调直至Amax在目标范围中。可能需要若干次迭代。在块910,如果Amax在目标范围内,则采用‘是’分支并且调节作为向DAC 516 的输入的、CTLE 503的峰值系数。CTLE是一种线性放大器,提供可调节极点和零点从而创建经过强调的高频响应(峰值)以补偿有损传输介质。当针对信道损耗而优化地补偿放大器的响应时,来自码间干扰(ISI)的抖动得以最小化。如下文所述,使用“迫零沿 (zero-force-edge) ”算法来训练峰值幅度系数。通过添加峰值,沿在时间上较早地移动。 通过减少峰值,沿在时间上较晚地移动。当然,过多峰值可能导致信号失真和采样问题,因为重要的是发现最优峰值水平。向DAC 516提供峰值系数以生成向CTLE 503的模拟输入。为了校准CTLE峰值系数,对PRBS23测试模式的相继位进行异或,以定位数据跃迁 (沿)。跃迁位被视为“h0,,位,紧邻跃迁之前的位被视为“hi”位,紧邻“hi”位之前的位被视为用于相关的“h2”位。对于CTLE校准,对采样锁存比较器504的“A”向量和“HI”向量输入二者都被归零(仅留下“0”向量分量)。调节相位轮转器以便将时钟的采样沿设置于数据的已知平均沿位置处,其中沿位置这样来确定推进时钟位置,直至在感测的沿样本中出现足够比例的错误,错误被定义为与已知PRBS模式中的对应h0位不同的沿样本。在这样调节本地采样时钟时,将错误感测到的沿样本与其在PRBS23模式中的对应h2位进行相关。由于PRBS23模式为伪随机的,所以情况下,半数h2位与PRBS23模式中的对应h0位相同而半数不同。在错误样本中以与h0位相同的h2位为主(hi位必然不同于h2和h0)表明在h2 向hi跃迁时的切换从而使h2向hi的跃迁延迟到来(即过量峰值)。在错误样本中以与其对应h0位不同的h2位为主(hi位与h2相同)表明hi向h0的跃迁过慢出现、即不充分的峰值。因而如果h2和h0位未匹配,则递减峰值系数,而如果它们匹配,则递增峰值系数直至实现收敛。如果未设置DFE标志(未设置表示DFE标志的初始值),则从块913采用‘否,分支,并且校准过程返回到块907以重新测量Ap、An和Amin。在这一新迭代中,由于DFE标志现在被设置,因此“ΗΓ’系数将被确定。如图10中用图形描绘的那样,“ΗΓ’系数表示在采样到的位是一个跃迁(“hi”位不同于“h0”位)处的采样锁存器输入(Ap或者An)的平均电压电平与在采样到的位不是跃迁(“hi”位与“h0”位相同)时的平均电压电平之差的近似一半。在操作(即接收功能数据)期间,向在“hi”位的‘1’值之后被选择的采样锁存器的电压阈值添加“ΗΓ’值,并且将在“hi”位的‘0’值之后被选择的采样锁存器的电压阈值减去“HI”值。“ΗΓ’系数这样来训练测量输入信号的平均‘1,和‘0,幅度(分别为Ap和An), 将离散测量错误与先前位值进行相关,继而按照需要调节Hl幅度以最小化离散错误幅度。 这是这样执行的如先前所述,对于每个采样路径,在变化“A”系数之时获得足够大的数据样本。如先前所述,针对给定路径将Ap和An确定为在分别错检半数逻辑‘1’或者半数逻辑 ‘0,时的A值。对于经过锁存器505A和505C (分别用来检测偶数或者奇数位,其中PRBS23 模式中的紧接前一位为逻辑‘1’ )的路径,确定相应正H 1系数(+Hl);对于经过锁存器 505B和505D的路径(其中紧邻的前一位是逻辑‘0’),确定相应负H 1系数(-H1)。通过仅考虑“合格”样本(即,其中紧邻的前一位对于锁存器505A、505C而言是逻辑‘1’,或者对于锁存器505B、505D而言是逻辑‘0,),并且确定Ap+Hl (对于其中PRBS位为逻辑‘1’的样本)和An+Hl (对于其中PRBS位为逻辑‘0’的样本)在错检半数合格样本时的值来确定Hl 系数。不存在对DAC 510的独立Hl输入,但是由于先前确定了 Ap和An (以及“0”系数), 所以它们可以在代数上被移除以确定HI。对于每次测量,必须取得多个读数并对其进行平均以过滤噪声。在块913,如果DFE标志已被设置,则校准例程已经校准“HI”系数,并且从块913 采用‘是’支路。继而执行相位轮转器的进一步调节,其被称为Hi/An对准(块91 。虽然先前调节了相位轮转器,但是在块907-914中采取的各种校准动作的效果在于增加眼1001 的尺寸,特别地,在时间上较早地偏移眼的前导沿。这效果是改变眼中心,它当然是时钟的采样沿所希望的时刻。这一相移与Hi/An近似成比例,因此将Hi/An乘以适当常数将得到对所需相位轮转器调节的近似。在块915,按照这一数量相应调节相位轮转器。虽然不像通过搜寻眼的沿来对准时钟(如在下文描述的块917中所执行的)那样准确,但是使用这一近似提供了更迅速的相位轮转器调节。继而测试Hl系数的收敛(块916)。每当在块916测试收敛时,校准逻辑保存Hl 系数的值,并且将当前Hl系数与最后一次收敛测试时保存的Hl系数进行比较。如果二者之差大于一个预定值,则Hl系数尚未收敛,从块916采用‘否’分支,并且校准返回到块907 以重新测量Ap、An和Amin并且确定HI。Hl系数之差小于预定值指示收敛。在无收敛时, 设置迭代次数的限制以免过长的校准例程。如果Hl系数已经收敛,则从块916采用‘是’分支,并且执行相位选择器的附加 (细微)调节,以使时钟居中于数据“眼”的中部(块917)。这称为“动态数据中心化”(DDC)。 DDC功能使用相位轮转器和采样路径来执行眼扫描,以对眼的左沿和右沿进行定位。它继而计算将采样时钟放置于的中心位置以实现在接收的数据眼内的最优放置。执行眼扫描,同时接收PRBS23模式并且将其与模式的预先同步的本地拷贝进行比较。通过比较采样数据与参考模式以及调节时钟相位位置,匹配区和未匹配区被映射。这样的未匹配表明当前时钟位置在眼的沿上。由于DDC的目的在于将数据采样点的中心调节至眼中心,所以重要的是维持左扫描操作与右扫描操作之间的对称和平衡,以避免引入计算中心位置的人为偏移。这是这样实现的从标称中心位置开始左扫描和右扫描,继而基于相同置信度水平的无错间隔缓慢地整合每侧的扫描位置。DDC功能以低置信度模式(例如,每1000个样本1个错误)开始,以快速定位眼的左沿和右沿。将眼中心定义为由低置信度标准定义的左手沿与右手沿之间的中点。一旦在两个扫描侧上均观察到此低置信度水平处的位错误,就增加置信度水平(例如,增加至百万分之一)以提高准确性。在这一改变之后重复该过程。左位置/右位置被扫描,并且通常移动更靠近中心,因为眼不像在更高置信度水平时那样宽。扫描位置的推进要求整个样本间隔(由置信度水平定义)是无错,而错误的检测将致使扫描位置向中心收缩从而使扫描位置偏移。示例是1/1000和1/1,000, 000误码率标准,并且这些比率可以变化。继而将相位轮转器设置成最终校准的中心位置。DDC对准的完成使单个线路的校准完成。针对链路的每个线路重复这一过程。应当注意,对于在加电时的初始校准,首先针对所有线路执行块901-903,以便在块904对准 FIFO解扭斜缓冲器输出。此后,优选地每次一个线路执行其余块,当然,操作的顺序可以备选地在多个线路之间交织。对于动态校准,优选地每次校准一个线路,因为其他线路用来发送功能数据。对校准过程的上文描述旨在于说明用于与这里描述的电路元件一起使用的示例校准过程作为一个优选实施方式。优选实施方式的校准过程的一个重要特征在于向校准电路输入的所有数据是已经通过接收器同步电路并且由它输出的数据。无需特殊模拟感测电路用于向校准电路提供输入。然而这里描述的校准过程并不一定可以用来仅使用输出数据来校准接收器接口或者可以与本发明一致地校准接收器接口的仅有方法。如先前说明的那样,不同电路元件可以存在于接收器同步电路中,这可能适当需要不同校准过程。另外甚至对于优选实施方式的电路元件,这里描述的校准过程和所用参数未必是校准公开的电路单元件的独有手段。值得注意的是,这里作为一个优选实施方式描述的接收器电路和用于校准接收器电路的技术实现仅使用主控时钟域中的接收器电路设计对接收器的基于反馈的校准。因而
27在低功率时钟域中完全用数字逻辑实施接收器校准电路309本身以及用于选择性地启用接收器电路的输出的开关306、即它们不含任何模拟器件。这样实施的接收器电路赋予明显功率减少。备用线路信令协议如上所述,切换不同线路用于动态校准或者发送功能数据涉及对链路相对端的两个设备进行协调。优选地,用于协调这些活动的控制信息相同的冗余线路上交换,这些冗余线路还被用于动态校准。这是这样实现的使用称为“备用路线信令”(SLS)在执行校准活动与交换控制信息之间进行分时复用。在这里描述的SLS协议中,动态校准过程也称为“重新校准”,这是因为动态校准的线路已经经历过至少一次校准(在加电重置时)以及可能的多次先前迭代的动态校准。下文参照图11到图12更具体描述这些过程。通过以下方式在单个线路上传输控制信息重复SLS命令,直至某一事件出现,例如超时或者从既定接收方设备接收到确认。每个SLS命令包含线路的8个连续的串行传输的位(“节拍”),其被对准到半字节边界上。SLS命令具有格式‘1,cO cl c2 ‘0’ c3 c4 c5,其中第一节拍中的‘1’使SLS命令的前四个节拍有别于后四个节拍。因此,六位可用于传输命令数据,允许64个可能的不同命令类型。虽然这里讨论了若干不同命令类型,但是应当理解,可以使用不同和/或附加的命令类型以例如传送更具体的状态信息、恢复错误, 等等。虽然称为“SLS命令”,但是它未必是用于采取某一动作的命令,并且可以包括任一类控制信息(包括确认、状态信息或者简单地空操作(No-op))。被选择用于校准的线路上的数据在经过相应接收器同步电路304的处理之后被馈送到校准逻辑和控制电路309中,在此该数据在静态模式检测器407中被捕获。静态模式检测器407将检测所接收的SLS命令是否已被重复某个最小次数,在满足该最小次数之后触发接收器中的响应。由于在一段时间中在线路上简单地重复8位SLS命令,所以发送器和接收器的在先信令或者松耦合是不必要的,只要接收器在SLS命令被发送的对应间隔中的某个时间查看它即可。该协议允许用于校准的备用路线也支持控制信息的低带宽交换而无需附加控制线路。图IlA和图11B(这里统称为图11)是示出了根据优选实施方式的交换控制信息和用于动态校准并行链路的线路对(该对的两个线路在相反方向上传送数据)的功能的时间复用的过程的流程图。即,图11更具体图示了控制信息交换和在执行图8的块802时涉及到的功能的时间复用。参照图11,由链路耦合的两个设备之一称为“主设备”,而另一个称为“从设备”。 在图11中的中心划分线的左侧上图示了主设备执行的动作,而在右侧上图示了从设备执行的动作。在校准开始时,从主设备到从设备的冗余线路为线路(i),而从从设备到主设备的冗余线路为0线路(j),即,这些是接下来要校准的线路,而其他线路传输功能数据。主设备已经完成先前校准的线路的任何切换(图8的块805和806)并且处于静默状态。在这一状态下,主设备在线路(i)上向从设备重复发送SLS无操作(SLS_N0P)命令,并且在0线路(j)上接收来自从设备的SLS_N0P命令,它指示从设备有可能完成任何线路切换并且准备好校准(块1101)。主设备继而通过在线路(i)上向从设备重复发送SLS重新校准请求(SLS_Recal_ Req)来发起校准(块1102)。SLS重新校准请求由校准电路中的静态模式检测器检测(块1103)。如果从设备准备好开始校准(从块1104的‘是’分支),则它停止SLS_N0P,并且在线路(j)上向主设备重复发送SLS重新校准确认(SLS_Recal_Ack)(块1105)。如果从设备没有准备好开始校准(从块1104的‘否’分支),则它停止发送SLS_N0P并且在0线路(j) 上重复发送备选SLS命令(块1106)。例如,如果从设备仍在执行线路切换(如图8的块 805-806或者块807-810中所示),则从设备将发送切换线路序列中的下一适当命令。主设备在0线路(j)上从从设备接收SLS_Recal_Ack或者备选命令(块1107)。 如果该命令是除SLS_Recal_Ack之外的任何命令(从块1108的‘否,分支),则主设备停止发送SLS_ReCal_Req并且适当地对备选命令做出响应(块1109)。如果从从设备接收的命令为SLS_Recal_Ack(从块1108的‘是’分支),则主设备初始化一组计时器(块1110)。 在近似相同的时间,从设备初始化对应的一组计时器(块1111)。校准以及对SLS命令的分时复用优选地由三个计时器管控,所述计时器可以使用可选的值。通常为微秒级的重新校准超时(Trto)用来在一个或者两个路线无法在合理时间内恰当校准的情况下放弃校准。通常为微秒级的重新校准间隔(Tri)用来限定用于发送 PRBS23位模式以及在接收器处执行校准操作的时间长度。通常为亚微秒级的状态报告间隔 Tsr用于限定重新校准间隔中的哪部分被用于通过SLS命令发送和接收状态。并非必须将主设备和从设备中的计时器同步到为恰好在同一时刻开始,相反,SLS协议的特性适应计时器的小差异,该差异不可避免地由于传播和检测SLS命令所需的时间而产生。响应于在块1110、1111初始化Trto和Tri计时器时,主设备在线路(i)上重复发送PRBS23测试模式(块1112)并且从设备在0线路(j)上重复发送PRBS23测试模式(块 1113),直至主设备和从设备中的Tri计时器期满。在此间隔期间,主设备和从设备分别执行上文针对用于0线路(j)的接收器同步电路和用于线路(i)的接收器同步电路而描述和在图9中示出的校准动作(块1114和1115)。响应于Tri计时器期满时,在主设备和从设备中挂起校准动作。在主设备(块 1116)和从设备(块1117)中重置Tri和Tsr计时器。主设备继而在线路(i)上向从设备重复发送其状态(作为适当的SLS命令)(块1118),同时从设备初始地在0线路(j)上向主设备发送SLS NOP,直至检测到主设备的状态(块1119)。当从设备在线路(i)上检测到主设备的状态时,从设备继而停止发送SLS NOP,并且在0线路(j)上重复发送其自己的状态(块1120)。响应于在0线路(j)上检测到从设备的状态(块1121),主设备将其认为是来自从设备的确认,表明从设备已经成功检测到主设备的状态,并且通过在线路(i)上发送SLS NOP (块1122)来做出响应。响应于检测到来自主设备的SLS NOP (块1123),从设备停止发送状态,并且在0线路(j)上发送SLS NOP (块11M)。主设备和从设备继续在其各自的线路上发送SLS Ν0Ρ,直至相应的Tsr计时器期满。由于不一定完成了重新校准,所以为了恰当接收状态数据,将接收器同步电路的校准系数恢复到其开始动态重新校准之前的各自状态,同时在Tsr间隔期间进行接收。响应于Tsr计时器期满,主设备和从设备二者都应具有彼此的当前状态。(在Tsr 计时器在主设备或者从设备检测到另一设备的状态之前期满的这种不太可能的情况下,未检测到状态的设备简单地认为另一设备尚未完成校准并且相应地继续)。如果主设备和从设备均未完成重新校准(从块1125和1127的‘否’分支以及从块11 和1130的‘否’分支),则主设备和从设备分别返回到块1112、1114和1113、1115,以再次分别在线路(i)和0线路(j)上发送PRBS23测试模式,并且分别在0线路(j)和线路(i)中恢复接收器同步电路的校准直至Tri再次期满。如果主设备已经完成用于0线路(j)的接收器同步电路的重新校准但是从设备尚未完成用于线路(i)的接收器同步电路的重新校准(在主设备中从块1125的‘否’分支和从块1127的‘是’分支,以及在从设备中从块11 的‘是’分支和从块11 的‘否’分支), 则主设备在线路(i)上发送PRBS23模式同时在0线路(j)上监听状态(块1131)。从设备在0线路(j)上发送SLS NOP同时继续校准用于线路(i)的接收器同步电路(块1133)。 当从设备完成线路(i)的重新校准时,它在0线路(j)上发送适当SLS_ReCal_D0ne状态命令(块1136)。响应于检测到状态命令,主设备终止发送PRBS23并且在线路(i)上发送SLS NOP (块1137)。响应于在线路(i)上检测到SLS NOP (块1134),从设备终止发送状态并且在0线路(j)上发送SLS NOP (块1142)。如果从设备已经完成用于线路(i)的接收器同步电路的重新校准但是主设备尚未完成用于0线路(j)的接收器同步电路的重新校准(在主设备中从块1125的‘是’分支和从块11 的‘否’分支以及在从设备中从块11 的‘否’分支和从块1130的‘是’分支),则遵循类似过程。从设备在0线路(j)上发送PRBS23模式同时在线路(i)上监听状态(块1134)。主设备在线路(i)上发送SLS NOP同时继续校准用于0线路(j)的接收器同步电路(块1132)。当主设备完成0线路(j)的重新校准时,主设备在线路(i)上发送适当的SLS_ReCal_D0ne命令(块1135)。响应于检测到状态命令,从设备终止发送PRBS23 并且在0线路(i)上发送SLS NOP (块1140)。响应于在0线路(j)上检测到SLS NOP (块 1133),主设备终止发送状态并且在线路(i)上发送SLS NOP (块1141)。如果主设备和从设备二者都已经完成其相应同步电路的重新校准(在主设备中从块1125和11 的‘是’分支以及在从设备中从块11 和11 的‘是’分支),则主设备和从设备分别在线路⑴和0线路(j)上发送SLS_N0P (块1141、1142)。在块1112至1139的整个执行过程中,Trto计时器在主设备和从设备中运行。如果这些计时器超时(表示为块1143、1144),则立即放弃进一步校准处理,并且采取适当恢复动作(表示为块1145、1146)。由此,Trto计时器防止了校准在已经经过了用于执行校准的足够时间之后无尽地继续。恢复动作将依赖于境况。例如,当不能校准单个线路时,则可能将该线路掉电并且将备用线路(例如线路(N+2))加电以提供替换。某些问题可能要求挂起功能数据发送和/或重新初始化整个链路,但是预计这只会很少出现。图12是示出了根据优选实施方式的紧邻校准线路(i+Ι)之后的交换控制信息以及将功能数据从线路(i)向线路(i+Ι)切换的过程的流程图。即,图12更具体图示了在执行图8的块805-806(称为“掩蔽”的过程)中涉及的控制信息的交换。图12示出了切换从设备校准的线路的过程;主设备校准的线路的切换与上文所述类似,但具有下文所述的某些不同。在已经校准所有线路之后,在相反方向上的线路切换(即图8的块808-809)称为“解掩蔽”。参照图12,在图12中的中心划分线的左侧示了主设备执行的动作,而在右侧示了从设备执行的动作。在校准开始时,从主设备到从设备的冗余线路为线路(i+Ι),线路(i) 刚刚已被校准。从设备处于静默状态,并且在冗余线路(i+Ι)上接收SLS_N0P (块1201)。从设备通过在当前冗余的线路0线路上重复发送SLS掩蔽请求(SLS_a!ad0W_Req)来发起该过程(块120 。主设备检测SLS_aiad0W_Req (块120 。如果主设备已经向从设备发出它自己的掩蔽请求(或者解掩蔽请求)(从块1204的‘是’分支),则主设备将继续在线路(i)上发送SLS_aiadow_Req (或者在可能的情况下是SLS_Unshadow_Req),并且忽略从设备的掩蔽/解掩蔽请求,等待从设备确认主设备的请求(块120 。如果主设备尚未发出掩蔽或者解掩蔽请求(从块1204的‘否’分支),则主设备开始在线路(i+Ι)上发送功能数据,同时它继续在线路(i)上发送相同的功能数据(块1206)。在发出SLS_aiad0W_Req之后,从设备在线路(i+Ι)上监听除SLS_N0P之外的信息。如果从设备检测到来自主设备的SLS_a!ad0W_Req (块1207),则从设备停止发送它自己的SLSJihadow—Req,并且开始在0线路(j)和0线路(j+Ι)上发送功能数据的相同拷贝。 艮口,从设备服从主设备,允许主设备的请求继续。如果从设备备选地在线路(i+Ι)上检测到功能数据(块1209),则从设备操作适当开关306以启用来自线路(i+Ι)的输出并且禁用来自线路⑴的输出(块1210)。将会看到,在切换之前,线路⑴和线路(i+Ι) 二者在接收相同的数据,并且来自与线路(i)和线路(i+Ι)关联的相应接收器同步电路输出的数据相对于彼此被同步到相同的时钟上。因此,从线路(i)向线路(i+Ι)的切换对于从设备内的下游功能逻辑而言是不可见的。在切换线路之后,从设备在冗余0线路上向主设备发送SLS_Shad0W_d0ne (块 1211)。主设备检测SLS_Shad0W_d0ne (块1212)。主设备继而停止在线路(i)上发送功能数据,并且开始在线路(i)上发送SLS_N0P,以指示线路(i)现在将被用作用于SLS命令和校准的冗余线路(块1213)。从设备在线路(i)上检测SLS_N0P (块1214),并且如下响应 在断开冗余0线路上的SLS_Shad0W_d0ne,并且代之以在冗余0线路上发送SLS_N0P (块 1215)。主设备或者从设备可以按照任何顺序发出SLS_a!ad0W_Req。然而,不能并发地执行两个请求,因为握手协议要求冗余线路在两个方向上均可用于操纵单个请求。一个设备将执行它的接收器的掩蔽(或者解掩蔽),而另一设备将随后执行掩蔽(或者解掩蔽)。为了解决主设备和从设备将都同时发出SLS_a!ad0W_Req请求这种可能性,为主设备的请求赋予优先级。因此,主设备发出的请求将图12中所示过程以两侧反转的方式对调,不同在于块1204、1205、1207和1208是不必要的。S卩,块1204和1205是不必要的,因为主设备的解掩蔽请求将假设有优先级,因而如果从设备如在块1203那样检测来自主设备的请求,则将如在块1206那样在两个线路上简单地发送数据的相同拷贝,而不考虑该设备是否也已经发出了 SLSJihadow—Req。在这一情况下,发送数据的相同拷贝具有取消来自从设备的任何SLSJihadow—Req的效果,因为冗余线路(曾用来发送从设备的请求)现在用来发送功能数据的第二拷贝。类似地,块1207和1208在主设备中是不必要的,因为主设备如果它已经发出它自己的请求,则忽略来自从设备的任何请求。随后是类似的过程,用以在已经校准所有线路之后在将线路(i+Ι)和线路⑴恢复到其初始状态时(即,在执行图8的步骤808-809的称为“解掩蔽”的过程时)将功能数据从线路(i+Ι)切换至线路(i)。在这一情况下,冗余线路起初为线路(i)。在块1202发出SLS解掩蔽请求(SLS_Unshadow_Req)而不是SLS_aiadow_Req。解掩蔽请求告知接收设备在与掩蔽请求的方向相反的方向上将要切换线路。接收设备如下响应在线路(i)上发送功能数据的拷贝,其与线路(i+Ι)上当前发送的功能数据相同,如块1206。请求设备随后
31启用线路⑴并且禁用线路(i+Ι),如块1210。
其他变体 在上述优选实施方式中,用于校准的线路每次移上和移下总线一个。备选地,可以提供单个专用线路用于校准,并且在校准功能线路时将功能数据从每个功能线路移至该专用线路。尽管这一方式可以有某些优点,但是这将需要发送器中的大型复用器以允许在专用校准线路上发送任何线路的功能数据(这可能涉及到关键定时和布线问题),因此认为上述方式优选用于多数应用。在上述优选实施方式中,在接收器同步电路内执行所有校准调节并且具体为本地时钟相位的调节。优选调节接收器电路以适应个别线路的变化,因为分析接收器同步电路输出的校准逻辑位于相同设备中。然而应当理解,可以备选地完全或者部分通过在发送器电路中执行的调节来补偿个别线路及其关联电路的参数变化。具体地,将可以个别调节用于每个发送器电路的本地时钟,从而接收器同步电路产生的输出在共同时钟域中。也可以在发送器内调节其他参数、例如可变增益或者偏移。在上述优选实施方式中,双向并行数据链路包含每个具有至少一个冗余线路的单独单向部分,并且冗余线路用来在如这里所述校准期间发送控制信号。这一方式具有的优点在于,将现有冗余线路用于交换控制信息,无需用于该目的的附加控制线路。然而,备选地,可以通过其他手段(具体通过使用一个或者多个附加控制线路或者通过中断功能数据以在功能数据线路上发送控制信息)提供用于协调校准这一目的的控制信息。此外,尽管优选点对点链路为双向,但是链路可以备选地是单向的(即如图3中所示一组单向线路 301)可以独立存在而无用于在相反方向上发送数据的任何线路。在这一情况下,应当有用于在相反方向上发送控制信号以便协调上述校准动作的备选手段。虽然已经将本发明的具体实施方式
与某些备选一起公开,但是本领域技术人员将认识到可以在所附权利要求的范围内进行形式和细节上的附加变化。
权利要求
1.一种用于数字数据设备的通信接口,包括(N+M)个端口,每个端口用于通过相应通信线路接收相应的串行数据信号;(N+M)个接收器/解串行器电路,每个接收器/解串行器电路对应于所述(N+M)个端口中的相应端口,用于从对应的端口接收所述相应的串行数据信号以及产生相应的解串行输出;(N+M)个对准电路,每个对准电路对应于相应的接收器/解串行器电路,用于根据对应的接收器/解串行器电路的所述解串行输出而产生相应的经对准数据,N个开关,每个开关接收根据由所述(N+M)个对准电路的相应子集产生的经对准数据而导出的输入,每个子集包括所述(N+M)个对准电路中多于一个但少于全部的对准电路, 并且选择根据由所述(N+M)个对准电路的所述相应子集的所述对准电路中的相应一个对准电路产生的经对准数据而导出的所述输入作为相应开关的输出以供所述数字设备使用, 其中N大于1,并且其中M至少是1 ;以及控制所述开关的校准装置,所述校准装置接收根据所述对准电路的输出而导出的数据,以校准所述接收器/解串行器电路。
2.根据权利要求1所述的通信接口,其中每个所述对准电路在相应的P个并行位线路上产生所述相应的经对准数据。
3.根据权利要求1所述的通信接口,还包括(N+M)个数据变换电路,用于保证所传输数据的跃迁密度,每个数据变换电路对应于相应的对准电路,并且接收根据由对应的对准电路产生的经对准数据而导出的数据作为输入,以及产生经变换数据作为输出;其中所述开关接收由所述数据变换电路产生的经变换数据。
4.根据权利要求3所述的通信接口,其中所述校准电路接收由所述数据变换电路产生的输出,以校准所述采样器/解串行器电路。
5.根据权利要求1所述的通信接口,其中M= 1并且每个开关接收根据由所述(N+M) 个对准电路中的相应对准电路对产生的对准数据而导出的输入。
6.根据权利要求1所述的通信接口,其中每个所述接收器/解串行器电路包括相应的接收器放大器,其执行以下至少一个(a)放大对应线路上的传入数据信号;以及(b)向对应线路上的传入数据信号提供电压偏移,每个所述接收器放大器具有由所述校准装置建立的至少一个相应可变参数。
7.根据权利要求1所述的通信接口,还包括(N+M)个本地时钟电路,每个本地时钟电路对应于所述(N+M)个端口中的相应端口,每个本地时钟电路接收共同时钟信号,并且据此产生相应的经相位调节的本地时钟信号,以供对应的接收器/解串行器电路和对应的对准电路的至少一个使用,每个经相位调节的本地时钟信号的相位独立可调节,所述动态校准装置独立地调节每个所述经相位调节的本地时钟信号的相应相位。
8.根据权利要求1所述的通信接口,其中在所述接收器同步电路中未被校准的N个接收器同步电路的输出被启用以提供功能数据的同时,所述开关阻止与第一接收器/解串行器电路对应的第一对准电路的输出在至少一个校准操作期间被用作功能数据。
9.一种用于数字数据设备的通信接口,包括(N+M)个接收器同步电路,每个接收器同步电路从(N+M)个通信线路中的对应外部通信线路接收相应通信信号,并且产生相应同步电路输出,每个所述外部通信线路与对应的通信线路时钟域关联,每个所述同步电路输出被同步到所述数字数据设备的共同时钟域, 其中所述接收器同步电路中的M个是冗余的,其中N大于1,并且其中M至少是1 ;在所述共同时钟域中操作的切换装置,用于选择性地启用和禁用所述接收器同步电路的选择性输出;校准装置,在所述共同时钟域中操作并且控制所述切换装置,所述校准装置接收根据所述同步电路的输出而导出的数据以校准所述同步电路,其中在针对每个所述接收器同步电路的至少一个校准操作期间,所述切换装置禁用正在被校准的第一同步电路的输出。
10.根据权利要求9所述的通信接口,其中每个所述接收器同步电路在相应的P个并行位线路上产生相应的经对准数据。
11.根据权利要求9所述的通信接口,其中每个所述接收器同步电路包括相应的数据变换设备,用于保证所传输数据的跃迁密度,每个数据变换设备被独立地选择性地启用以便对通过对应的通信线路传送的数据执行变换操作,或者不被启用以执行所述变换操作。
12.根据权利要求9所述的通信接口,其中每个所述接收器同步电路包括相应的本地时钟电路,每个本地时钟电路接收共同时钟信号,并且据此产生相应的经相位调节的本地时钟信号,每个经相位调节的本地时钟信号的相位独立可调节,所述校准装置独立地调节每个所述经相位调节的本地时钟信号的相应相位。
13.根据权利要求9所述的通信接口,其中每个所述接收器同步电路包括相应的接收器放大器,其执行以下至少一个(a)放大对应线路上的传入数据信号;以及(b)向对应线路上的传入数据信号提供电压偏移,每个所述接收器放大器具有由所述校准装置建立的至少一个相应可变参数。
14.根据权利要求9所述的通信接口,其中每个所述接收器同步电路包括相应的多个解扭斜锁存器,用于提供与所述共同时钟域的可变数目的周期对应的相应可调节延迟,每个所述接收器同步电路的所述可调节延迟由所述校准装置独立校准。
15.根据权利要求9所述的通信接口,其中所述切换装置包括在所述共同时钟域中操作的N个开关,每个开关接收根据所述(N+M)个接收器同步电路的相应子集的每个接收器同步电路的输出而导出的输入,并且选择根据所述相应子集的所述同步电路中的一个相应同步电路而导出的输入作为所述相应开关的输出以供所述数字数据设备使用,每个所述子集包含所述(N+M)个接收器同步电路中的至少两个但少于全部接收器同步电路。
16.一种用于数字数据设备的通信接口,包括多个接收器同步电路,每个接收器同步电路对应于多个并行线路中的相应线路,并且用于从所述相应线路接收相应的传入串行数据信号,所述多个并行线路包括至少一个冗余线路,每个所述接收器同步电路具有相应的多个解扭斜锁存器,用于提供与时钟的相应可变数目的周期对应的相应可调节延迟,每个所述接收器同步电路的所述可调节延迟被独立校准,所述接收器同步电路的输出由所述解扭斜锁存器相对于彼此而对准;多个开关,用于启用和禁用所述接收器同步电路的选择性输出;控制所述开关的校准装置,所述校准装置接收根据所述接收器同步电路的输出而导出的数据以校准所述接收器同步电路,其中在针对每个所述接收器同步电路的至少一个校准操作期间,正在被校准的所述接收器同步电路的输出被所述多个开关禁用。
17.根据权利要求16所述的通信接口,其中每个所述接收器同步电路在相应的多个并行位线路上产生相应的经对准数据。
18.根据权利要求16所述的通信接口,其中每个所述接收器同步电路包括相应的接收器放大器,其执行以下至少一个(a)放大对应线路上的传入数据信号;以及(b)向对应线路上的传入数据信号提供电压偏移,每个所述接收器放大器具有由所述校准装置建立的至少一个相应可变参数。
19.根据权利要求16所述的通信接口,其中每个所述接收器同步电路包括相应的本地时钟电路,每个本地时钟电路接收共同时钟信号,并且据此产生相应的经相位调节的本地时钟信号以供对应的接收器同步电路使用,每个经相位调节的本地时钟信号的相位独立可调节,所述校准装置独立地调节每个所述经相位调节的本地时钟信号的相应相位。
20.根据权利要求16所述的通信接口,其中每个所述接收器同步电路包括相应的数据变换设备,用于保证所传输数据的跃迁密度,每个数据变换设备被独立地选择性地启用以对通过对应的通信线路传送的数据执行变换操作,或者不被启用以执行所述变换操作。
21.—种校准数字数据设备的并行数据链路的方法,所述并行数据链路具有包括至少一个冗余线路在内的多个并行线路,每个线路上的数据具有相应的独立扭斜时间,每个线路具有发送设备中的对应发送器电路和接收设备中的对应接收器电路,每个接收器电路提供共同时钟域中的数据输出,所述方法包括(a)禁用与所述多个并行线路中的第一线路对应的第一接收器电路的所述共同时钟域中的数据输出,同时启用除所述第一接收器电路之外的接收器电路的数据输出以用于提供功能数据;(b)在禁用所述第一接收器电路的同时并且在启用除所述第一接收器电路之外的接收器电路的输出以用于提供功能数据的同时,使用所述共同时钟域中的所述第一接收器电路的所述数据输出来校准与所述第一线路关联的独立本地时钟相位调节;以及针对所述多个并行线路中的每个线路重复所述(a)和(b),直至所述多个线路中的每个线路的每个独立本地时钟相位调节被校准。
22.根据权利要求21所述的方法,其中使用所述共同时钟域中的所述第一接收器电路的所述数据输出来校准独立本地时钟相位调节包括校准位于所述接收设备中的独立本地时钟相位调节装置。
23.根据权利要求21所述的方法,其中所述接收器电路包括接收器放大器,其执行以下至少一个(a)放大对应线路上的传入数据信号;以及(b)向对应线路上的传入数据信号提供电压偏移,所述方法还包括(c)使用所述共同时钟域中的所述第一接收器电路的所述数据输出来校准所述接收器放大器的至少一个可变参数;以及针对所述多个并行线路中的每个线路重复所述(c),直至每个接收器放大器被校准。
全文摘要
本发明的实施方式总体上涉及用于多个并行数据通信线路的校准的通信接口和方法。具体地,一种并行数据链路包括冗余线路。一组开关允许启用或者禁用链路的任意线路用于携带功能数据,每个线路通过禁用该线路而允许其他线路携带功能数据来轮流独立校准。开关位于对准装置下游,从而补偿向开关输入的数据的数据扭斜。优选地,每个线路中的接收器同步电路在相应独立时钟域中操作,而开关和校准装置在共同时钟域中操作。优选地,接收器同步电路提供与数目可变的时钟周期对应的可调节延迟以参照彼此对准接收器同步电路的输出,这可以适应高度数据扭斜。
文档编号H04L7/00GK102457285SQ20111022196
公开日2012年5月16日 申请日期2011年7月29日 优先权日2010年10月27日
发明者F·D·费莱奥洛, J·F·布尔扎彻利, M·B·斯佩尔, R·J·瑞塞, T·O·迪克森 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1