CN109857692A - 驱动器和数据传输方法 - Google Patents

驱动器和数据传输方法 Download PDF

Info

Publication number
CN109857692A
CN109857692A CN201910060479.0A CN201910060479A CN109857692A CN 109857692 A CN109857692 A CN 109857692A CN 201910060479 A CN201910060479 A CN 201910060479A CN 109857692 A CN109857692 A CN 109857692A
Authority
CN
China
Prior art keywords
clock
circuit
driver
reception
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910060479.0A
Other languages
English (en)
Other versions
CN109857692B (zh
Inventor
李永耀
罗飞
李建康
朱江
曾杰平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910060479.0A priority Critical patent/CN109857692B/zh
Publication of CN109857692A publication Critical patent/CN109857692A/zh
Priority to PCT/CN2020/073470 priority patent/WO2020151698A1/zh
Priority to EP20744674.1A priority patent/EP3885923A4/en
Priority to US17/321,707 priority patent/US11973856B2/en
Application granted granted Critical
Publication of CN109857692B publication Critical patent/CN109857692B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/005Correction by an elastic buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本申请提供了一种驱动器和数据传输方法,能够实现低延时传输。该驱动器包括:CDR电路、弹性缓冲器、接收电路和发送电路。CDR电路用于从接收信号中恢复出接收时钟;接收电路用于使用接收时钟从接收信号中恢复出发送数据;弹性缓冲器用于使用接收时钟移入数据,以及使用接收时钟移出数据;发送电路用于使用接收时钟发送从弹性缓冲器移出的发送数据。

Description

驱动器和数据传输方法
技术领域
本申请涉及通信领域,并且更具体地,涉及一种驱动器和数据传输方法。
背景技术
外围组件快速互连(peripheral component interconnect express,PCIe)总线是计算机系统中处理器连接外围设备的高速总线。由于PCIe总线的独立参考时钟开扩频(separate reference clocks with independent spread spectrum,SRIS)不需要大量的随路时钟信号,可以降低设计难度,节约成本,同时可以降低电磁辐射的影响,因此PCIeSRIS场景应用越来越广泛。同时随着PCIe信号速率提升以及PCIe总线应用的越来越广泛,两个PCIe设备之间使用带有时序恢复功能的驱动器(Retimer)的情况越来越多。而Retimer在SRIS应用时,因需要通过增加或删除SKP序列来补偿发送端和接收端频率差,从而会带来一定的延时。
在SRIS场景,每增加一级Retimer都会增加延时,这会导致系统性能的损失,在某些应用场景这种影响无法接受,比如PCIe的内存应用场景。因此如何降低Retimer SRIS应用场景的延时,是一个需要解决的问题。
发明内容
本申请提供一种驱动器和数据传输方法,能够消除由于在弹性缓冲器中增加或者删除SKP序列而引入的额外延时问题,实现低延时传输。
第一方面,提供了一种驱动器,其特征在于,包括:时钟数据恢复(clock and datarecovery,CDR)电路、弹性缓冲器(elastic buffer)、接收电路和发送电路。CDR电路用于从接收信号中恢复出接收时钟;接收电路用于使用接收时钟从接收信号中恢复出发送数据;弹性缓冲器用于使用接收时钟移入发送数据,以及使用接收时钟移出发送数据;发送电路用于使用接收时钟发送从弹性缓冲器移出的发送数据。
本领域技术人员可以理解,弹性缓冲器用于使用接收时钟移入该发送数据,以及使用接收时钟移出该发送数据具体是指,弹性缓冲器移入发送数据时所使用的时钟以及弹性缓冲器430移出发送数据时所使用的时钟,即弹性缓冲器的读时钟和写时钟,是基于该接收时钟得到的。具体地,弹性缓冲器的读时钟和写时钟等于该接收时钟除以接收电路420输出的一个符号所包含的比特(bit)个数。例如,接收电路420输出的一个符号所包含的比特个数为8时,弹性缓冲器430的读时钟和写时钟的频率等于该接收时钟的频率除以8所得到的值。
可选地,接收电路可以包括接收均衡电路、采样电路、串并转换电路和解扰/解码电路。
接收均衡电路可以包括连续时间线性均衡(continuous time linearequalization,CTLE)/判决反馈均衡(decision feedback equalization,DFE)电路。串并转换电路可以对采样电路输出的串行数据进行串并转换,得到并行数据。该并行数据可以输入至解扰/解码电路,由解扰/解码电路进行解扰/解码后,输出解扰/解码后的并行数据。该解扰/解码后的并行数据可以输入弹性缓冲器中。串并转换电路可以是任何可以实现将串行数据转换为并行数据的电路,如解串器(Deserializer),但本申请实施例对此不作限定。
可选地,该发送电路可以包括扰码/编码电路、并串转换电路和发送均衡电路。扰码/编码电路可以对弹性缓冲器的输出进行加扰/编码,以输出符合协议或者编码结构的数据。并串转换电路可以使用接收时钟将扰码/编码电路输出的并行数据转换为串行数据。并串转换电路例如可以是串行器(Serializer),但本申请实施例对此不作限定。发送均衡电路可以包括前向反馈均衡(feed forward equalization,FFE)电路。
本申请提供的驱动器的接收电路和发送电路使用的是同一时钟域,即,CDR电路恢复出的接收时钟,因此可以完全消除收发端时钟的频率差,不需要链路状态机(linktraining and status state machine,LTSSM)在弹性缓冲器进行增加或者删除SKP序列,从而能够消除SRIS场景收发频率差带来的额外延时,实现低延时传输。
结合第一方面,在第一种可能的实现方式中,驱动器还包括第一时钟转换电路和第二时钟转换电路。第一时钟转换电路用于基于接收时钟生成第一时钟,第一时钟的频率与期望的本地时钟的频率相同。第二时钟转换电路用于基于第一时钟生成发送时钟,并将发送时钟输出至发送电路,发送时钟与接收时钟的频率相同。
进一步地,期望的本地时钟的频率可以是100MHz,即第一时钟的频率为100MHz,但本申请实施例对此不作限定。
应理解,第二时钟转换电路可以通过锁相环(phase clock loop,PLL)电路实现,关于PLL电路的具体作用和实现方式可以参照现有技术。
示例性的,第一PLL电路可以通过电荷泵锁相环(charge pump phase lockedloop,CPPLL)频率合成器实现。该CPPLL频率合成器可以包括鉴频鉴相器(phase frequencydetector,PFD)、电荷泵(charge pump,CP)、环路滤波器(loop filter,LPF)、压控振荡器(voltage controller oscillator,VCO)和分频器(divider,DIV)组成。
PFD比较输入时钟Fin与反馈时钟的频率和相位,产生后级CP充放电电流的开关控制信号。在该控制信号作用下,CP对LPF充放电,使VCO的调谐电压发生相应的变化,进而改变VCO的谐振频率。VCO振荡输出信号FVCO经DIV分频后参与鉴频鉴相,由此构成闭环反馈系统,实现锁相倍频功能。
其中,FVCO的频率是Fin的频率的N倍,Fin为本申请中的接收时钟,FVCO为本申请中的第一时钟。N为分频系数,可以在进行系统设计的时候预先设置。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,第二时钟转换电路还用于基于本地时钟生成第二时钟并输出至发送电路;发送电路还用于使用第二时钟发送数据。
具体来讲,在一些情况下,输入至第二时钟转换电路的时钟可以是本地时钟,第二时钟转换电路基于该本地时钟可以生成第二时钟,发送电路可以基于该第二时钟发送数据。在另一些情况下,输入至第二时钟转换电路的时钟为第一时钟转换电路生成的第一时钟,第二时钟转换电路基于该第一时钟可以生成发送时钟,发送电路可以基于该发送时钟发送数据。比如,在低延时模式下,第二时钟转换电路的输入时钟为第一时钟,在非低延时模式下,第二时钟转换电路的输入时钟为本地时钟。
因此,本申请实施例提供的驱动器能够消除由于在弹性缓冲器中增加或者删除SKP序列而引入的额外延时问题,实现低延时传输。并且,该驱动器具有选择外部时钟和内部时钟的功能,即可以选择接收时钟和本地时钟二者之一作为第二时钟转换电路的输入时钟,可以适应多种场景需求。
结合第一方面,在第三种可能的实现方式中,驱动器还包括信号处理单元,信号处理单元用于对接收时钟进行抖动滤波,生成发送时钟,并将发送时钟输出至发送电路,发送时钟与接收时钟的频率相同。
应理解,信号处理单元的具体形式可以是现有技术中的PLL电路,但本申请实施例对此不作限定。
通过对接收时钟进行抖动滤波,可以提高时钟信号质量,有利于提高驱动器性能。
结合第一方面或第一方面的第一至第四种可能的实现方式中任一种实现方式,在第五种可能的实现方式中,所述驱动器支持多个协议,并且能够选择多个协议中的一个协议工作,所述多个协议包括下述中的至少一种:
外围组件快速互连PCIe协议、加速器内存一致性接口(cache coherentinterconnect for accelerators,CCIX)协议或通用串行总线(universal serial bus,USB)协议。
本申请的驱动器可以支持多种高速总线,应用广泛。并且,在系统设计时,不需要考虑使用多种类别的驱动器,因此能够简化硬件设计复杂度以及后续验证工作量。
可选地,可以通过将该驱动器指定的管脚上下拉实现选择驱动器所使用的协议。或者,通过标准定义的管理接口(比如Smbus),由系统软件上电后配置该驱动器工作在某种协议下。或者,通过特定的协商码流,配置该驱动器所使用的协议。
第二方面,提供了一种数据传输方法,所述方法应用于驱动器,所述驱动器包括:包括:时钟数据恢复CDR电路、弹性缓冲器、接收电路和发送电路。该方法包括:
CDR电路从接收信号中恢复出接收时钟;
接收电路使用接收时钟从接收信号中恢复出发送数据;
弹性缓冲器使用接收时钟移入发送数据,以及使用接收时钟移出发送数据;
发送电路使用接收时钟发送从弹性缓冲器移出的发送数据。
本申请提供的数据传输方法,接收电路和发送电路使用的是同一时钟域,即,CDR电路恢复出的接收时钟,因此可以完全消除收发端时钟的频率差,不需要链路状态机(linktraining and status state machine,LTSSM)在弹性缓冲器进行增加或者删除SKP序列,从而能够消除SRIS场景收发频率差带来的额外延时,实现低延时传输。
结合第二方面,在第一种可能的实现方式中,驱动器还包括第一时钟转换电路和第二时钟转换电路,第一时钟转换电路基于接收时钟生成第一时钟,第一时钟的频率与期望的本地时钟的频率相同;第二时钟转换电路基于第一时钟生成发送时钟,并将发送时钟输出至发送电路,发送时钟与接收时钟的频率相同。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,在低延时模式下,向第二时钟转换电路输入第一时钟;在非低延时模式下,向第二时钟转换电路输入本地时钟。
进一步地,第一时钟的频率为100MHz。
结合第二方面,在第三种可能的实现方式中,驱动器还包括信号处理单元,信号处理单元对接收时钟进行抖动滤波,生成发送时钟,并将发送时钟输出至发送电路,发送时钟与接收时钟的频率相同。
结合第二方面或第二方面的第一种至第三种可能的实现方式中任一种实现方式,在第四种可能的实现方式中,驱动器支持多个协议,并且能够选择多个协议中的一个协议工作,多个协议包括下述中的至少一种:
外围组件快速互连PCIe协议、加速器内存一致性接口CCIX协议或通用串行总线USB协议。
应理解,第二方面中的驱动器可以是第一方面或第一方面任一种可能的实现方式中的驱动器,关于该第二方面的方法,具体可以参照第一方面对驱动器的说明。
第三方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第二方面以及第二方面中任一种可能实现方式中的方法。
第四方面,提供了一种计算机可读介质,计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第二方面以及第二方面中任一种可能实现方式中的方法。
第五方面,提供了一种计算机系统,包括处理器、存储器以及一个或多个前述驱动器。
附图说明
图1是本申请提供的驱动器的一个应用拓扑结构示意图。
图2是本申请提供的驱动器的另一应用拓扑结构示意图。
图3是现有标准驱动器的一个结构示意图。
图4是本申请提供的驱动器的一个示例性框图。
图5是本申请提供的驱动器的一个示例性结构图。
图6是一种CPPLL频率合成器的电路结构图。
图7是本申请提供的驱动器的一种示例性结构图。
图8是本申请提供的驱动器的另一种示例性结构图。
图9是本申请提供的数据传输方法的示意性流程图。
图10是本申请提供的一个系统的示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1示出了带有时序恢复功能的驱动器(以下简称驱动器)的应用拓扑的一个示例,框图。参见图1,主芯片101的一个下行口(downstream port,DSP)可以通过一个驱动器103与从芯片102的一个上行口(upstream port,USP)连接。具体地,主芯片101的第一下行口13和驱动器103的上行口通过链路11连接,驱动器103的下行口和从芯片102的第一上行口14通过链路12连接。
另外,本申请中,主芯片101的第一下行口13也可以通过级联多个驱动器与从芯片102的第一上行口14连接,例如图2示出了级联2个驱动器的情况。
参见图2,主芯片101的第一下行口13和驱动器1031的上行口通过链路21连接,驱动器1031的下行口与驱动器1032的上行口通过链路22连接,驱动器1032的下行口与从芯片102的第一上行口14通过链路23连接。
在图1所示的拓扑结构下,对于驱动器103,主芯片101为上游芯片(或者称上游设备),从芯片102为下游芯片(或者称下游设备)。在图2所示的拓扑结构下,对于驱动器1031,主芯片101为上游芯片,驱动器1032为下游芯片。对于驱动器1032,驱动器1031为上游芯片,从芯片102为下游芯片。应理解,若链路23的两端连接的是驱动器1032的下行口与另一驱动器,比如驱动器1033,那么对于驱动器1032,其上游芯片和下游芯片均为驱动器。
上述主芯片101可以是包括下行口且不为驱动器的芯片,例如主芯片101可以是根组件(root complex,RC)或者交换芯片(Switch)等。上述从芯片102可以是包括上行口且不为驱动器的芯片,例如从芯片102可以是端点设备(Endpoint),或者交换芯片。端点设备可以为显卡、网卡、光通道卡、存储卡或交换芯片等。图1和图2所示的各链路(link),如链路11、链路21等,可以由1个、2个、4个、8个、16个或其他数量的通道(lane)组成,每个通道可以包括一对接收信号(Rx)以及一对发送信号(Tx)。驱动器(如驱动器103、驱动器1031和驱动器1032)遵循链路协议,以实现主芯片101和从芯片102之间的通信。该链路协议例如可以是PCIe、CCIX或者USB等其他协议。
图3示出了现有标准驱动器的一个结构示意图。参见图3,该驱动器主要包括接收(receive,Rx)电路310、弹性缓冲器(elastic buffer)320、发送(transmit,Tx)电路330、时钟数据恢复(clock and data recovery,CDR)电路340、链路状态机(link training andstatus state machine,LTSSM)350和锁相环(phase clock loop,PLL)电路360。其中,弹性缓冲器320可以是先入先出的队列(first in first out,FIFO),其用于缓存数据。
标准Retimer在SRIS场景中,驱动器存在两个时钟域,一个是CDR电路340从接收信号(也可以称为接收数据)中恢复出来的时钟clkA,另一个是本地时钟ref clk。其中,接收电路410和弹性缓冲器320的写时钟使用的是clkA,发送电路330和弹性缓冲器320的读时钟使用的是ref clk。
具体来讲,时钟clkA提供给接收电路310,用于接收电路310对接收信号进行采样得到串行数据,并将串行数据转换为并行数据。基于clkA可以得到弹性缓冲器320的写时钟,通过写时钟可以将接收电路310输入的并行数据写入弹性缓冲器320。PLL电路360通过对输入的ref clk进行倍频得到时钟clkB。基于clkB可以得到弹性缓冲器320的读时钟,通过读时钟可以从弹性缓冲器320中读出数据。同时,clkB提供给发送电路330,用于发送电路将并行数据转换为串行数据并发送。本领域技术人员可以理解,弹性缓冲器320的读时钟的频率等于clkA的频率除以接收电路310输出的一个符号所包含的比特(bit)个数。弹性缓冲器320的写时钟的频率等于clkB的频率除以上述一个符号所包含的比特(bit)个数所得到的值。
按照标准定义,clkA和clkB在SRIS时,最大频率差异为5600百万分之一(partsper million,PPM)。由于弹性缓冲器330用来移入数据的时钟和用于移出数据的时钟最大有5600PPM的偏差,为了补偿该偏差防止弹性缓冲器330溢出,链路状态机370需要在弹性缓冲器330中不定期的增加或者删除SKP序列。而该过程需要额外增加延时,按照标准定义,该过程增加的额外延时约30ns。
为此,本申请提供了一种驱动器,能够通过消除SRIS应用场景收发端的频率差以及由此带来的额外延时。
需要说明的是,下文中具有相同附图标记的模块表示相同的含义,并且可以采用相同或者类似的方式实现,因此仅在一个模块首次出现时进行说明,此后不再一一赘述。
图4示出了本申请提供的驱动器的一个示例性框图。该驱动器可以是图1和图2所示的驱动器中的任一驱动器。
参见图4,该驱动器包括CDR电路410、接收电路420,弹性缓冲器430和发送电路440。
CDR电路410用于从接收信号中恢复出接收时钟。本领域技术人员可以理解,该接收信号可以是发送端所发送的信号或是对发送端发送的信号进行一定处理后的信号,该处理例如可以是均衡处理。举例来说,以该驱动器为图2中所示的驱动器1031为例,该发送端可以是主芯片101或者驱动器1032,即该接收信号可以是主芯片101或者驱动器1032发送的。
接收电路420用于使用接收时钟从接收信号中恢复出发送数据。即,接收电路420用于使用接收时钟从接收信号中恢复出发送端发送的数据。
具体来讲,接收电路420使用该接收时钟对接收信号进行采样得到串行数据,并且可以基于该串行数据得到并行数据,该并行数据即为恢复出的发送数据。该并行数据例如可以是图5所示的解扰/解码电路424的输出,也可以是串并转换电路423的输出。
弹性缓冲器430用于使用接收时钟移入该发送数据,以及使用接收时钟移出该发送数据。
本领域技术人员可以理解,弹性缓冲器430用于使用接收时钟移入该发送数据,以及使用接收时钟移出该发送数据具体是指,弹性缓冲器430移入发送数据时所使用的时钟以及弹性缓冲器430移出发送数据时所使用的时钟,即弹性缓冲器430的读时钟和写时钟,是基于该接收时钟得到的。具体地,弹性缓冲器430的读时钟和写时钟等于该接收时钟除以接收电路420输出的一个符号所包含的比特(bit)个数。
发送电路440用于使用接收时钟发送基于从弹性缓冲器430移出的该发送数据。应理解,发送电路440使用该接收时钟是指,发送电路440直接使用该接收时钟或者使用基于该接收时钟所得到的时钟。
CDR电路410、接收电路420和发送电路440的具体作用以及实现方式可以参照现有驱动器。与现有技术不同的是,现有驱动器的接收电路和发送电路使用的是两个不同的时钟域,为了补偿这两个时钟域的频率偏差防止弹性缓冲器溢出,链路状态机需要在弹性缓冲器330中不定期的增加或者删除SKP序列,而本申请的接收电路和发送电路使用的是同一时钟域,即,CDR恢复出的接收时钟,因此可以完全消除收发端时钟的频率差,不需要链路状态机在弹性缓冲器430中增加或者删除SKP序列,因此能够消除SRIS场景收发频率差带来的额外延时。
综上,本申请提供的驱动器,通过使用CDR电路恢复出的时钟向弹性缓冲器中移入数据以及从弹性缓冲器中移出数据,并使用CDR电路恢复出的时钟发送数据,能够消除收发端时钟的频率差,从而不需要在弹性缓冲器中增加或者删除SKP序列,进而能够消除该增加或者删除SKP序列操作所引入的额外延时问题,实现低延时传输。
图5示出了本申请提供的驱动器的一种示例性的结构图。下面对图5所示的各模块进行说明。
参见图5,接收电路420可以包括接收均衡电路421、采样电路422、串并转换电路423和解扰/解码电路424。发送电路440可以包括扰码/编码电路441、并串转换电路442和发送均衡电路443。此外,图5所示的驱动器还可以包括CDR电路410和弹性缓冲器430。
示例性的,接收均衡电路421可以包括连续时间线性均衡(continuous timelinear equalization,CTLE)/判决反馈均衡(decision feedback equalization,DFE)电路。接收均衡电路421的具体作用和实现方式可以参见现有技术,这里不再赘述。
采样电路422用于使用接收时钟对接收均衡电路421的输出进行采样,从而得到串行数据。应理解,采样电路422可以采用任何可以实现采样功能的电路(包括芯片、物理电路、算法等)实现,具体可以参照现有技术,这里不再赘述。
需要说明的是,接收均衡电路421的输入可以是接收信号,或者,接收均衡电路421的输出可以是接收信号,即采样电路422的输入可以是接收信号。也就是说,该驱动器所接收到的发送端发送的信号可以直接输入CDR电路410,也可以先经过接收均衡电路421后再输入CDR电路410。
串并转换电路423可以对采样电路422输出的串行数据进行串并转换,得到并行数据。该并行数据可以输入解扰/解码电路424,解扰/解码电路424对该并行数据进行并行解扰/解码,得到解扰/解码后的并行数据。该解扰/解码后的并行数据可以输入弹性缓冲器430中。串并转换电路可以是任何可以实现将串行数据转换为并行数据的电路,如解串器(Deserializer),具体可以参照现有技术,这里不再赘述。解扰/解码电路可以是任何可以实现解扰/解码的电路,具体可以参照现有技术,这里不再赘述。
扰码/编码电路441可以对弹性缓冲器430的输出进行加扰/编码,以输出符合协议或者编码结构的数据。
并串转换电路442可以使用接收时钟将扰码/编码电路441输出的并行数据转换为串行数据。并串转换电路442可以采用任何可以实现将并行数据转换为串行数据的电路实现,如串行器(Serializer),具体可以参照现有技术,这里不再赘述。
发送均衡电路443可以包括前向反馈均衡(feed forward equalization,FFE)电路。发送均衡电路443的具体作用和实现方式可以参见现有技术,这里不再赘述。
应理解,图5所示的各模块可以分别由一个元器件或者独立的电路实现,或者多个模块可以由一个元器件或者独立的电路实现,只要保证能够实现其功能即可。还应理解,图5所示的各模块的连接关系仅是示例性说明,各模块的连接关系还可以是其他形式,只要能够实现驱动器的基本功能即可,例如解扰/解码电路424也可以包含于发送电路440中,即,解扰/解码电路424可以包含于接收电路420和发送电路440二者之一。此外,在具体实现时,可以根据实际需要添加图中未列的模块或者将图中一些模块省去。
本申请中,接收时钟可以直接输入发送电路440。此外,也可以通过对接收时钟进行处理后,输入至发送电路440。
示例性的,可以通过时钟转换电路450对接收时钟进行处理后,输入至发送电路440。
具体来讲,本申请提供的驱动器还可以包括时钟处理电路450,其用于基于接收时钟生成发送时钟。该发送时钟的频率与接收时钟的频率相同。
在一种可能的实现方式中,时钟处理电路450包括第一时钟转换电路451和第二时钟转换电路452。
其中,第一时钟转换电路451用于基于接收时钟生成第一时钟,第一时钟的频率与期望的本地时钟的频率相同。期望的本地时钟的频率可以是100MHz,即,第一时钟的频率可以是100MHz,但本申请实施例对此不作限定。
第二时钟转换电路452用于基于第一时钟生成发送时钟,并将发送时钟输出至发送电路440。
第二时钟转换电路452可以通过PLL电路实现,例如通过图3所示的PLL电路360实现,具体可以参照现有技术,这里不再赘述。
示例性地,第一时钟转换电路451可以通过电荷泵锁相环(charge pump phaselocked loop,CPPLL)频率合成器实现。
图6示出了一种CPPLL频率合成器的电路结构图。参见图6,该CPPLL频率合成器包括鉴频鉴相器(phase frequency detector,PFD)610、电荷泵(charge pump,CP)620、环路滤波器(loop filter,LPF)630、压控振荡器(voltage controller oscillator,VCO)640和分频器(divider,DIV)650组成。
PFD 610比较输入时钟Fin与反馈时钟的频率和相位,产生后级CP 620充放电电流的开关控制信号。在该控制信号作用下,CP 620对LPF 630充放电,使VCO 640的调谐电压发生相应的变化,进而改变VCO 640的谐振频率。VCO 640振荡输出信号FVCO经DIV650分频后参与鉴频鉴相,由此构成闭环反馈系统,实现锁相倍频功能。
其中,FVCO的频率是Fin的频率的N倍,Fin为本申请中的接收时钟,FVCO为本申请中的第一时钟。N为分频系数,可以在进行系统设计的时候预先设置。
关于图6所示的电路的具体细节可以参照现有技术,这里不再详述。应理解,第一时钟转换电路451也可以通过其他方式实现,本申请对此不作限定。
进一步地,第二时钟转换电路452还可以用于,基于本地时钟生成第二时钟并输出至发送电路440;发送电路440还用于使用第二时钟发送数据。
具体来讲,在一些情况下,输入至第二时钟转换电路452的时钟可以是本地时钟,第二时钟转换电路452基于该本地时钟可以生成第二时钟,发送电路440可以基于该第二时钟发送数据。在另一些情况下,输入至第二时钟转换电路452的时钟为第一时钟转换电路451生成的第一时钟,第二时钟转换电路452基于该第一时钟可以生成发送时钟,发送电路440可以基于该发送时钟发送数据。
比如,该驱动器可以工作在低延时模式和非低延时模式下,在低延时模式下,将选择第一时钟作为第二时钟转换电路452的输入时钟,在非低延时模式下,将选择本地时钟作为第二时钟转换电路452的输入时钟。该低延时模式可以在对延时要求比较高的场景使用,但本申请对此不作限定。
在另一种可能的实现方式中,时钟处理电路450包括信号处理单元453,信号处理单元453用于对接收时钟进行抖动滤波,生成发送时钟,并将发送时钟输出至发送电路440。其中,发送时钟与接收时钟的频率相同。
信号处理单元453的具体形式可以是PLL电路,例如图3中的PLL电路360,关于PLL电路具体可以参照现有技术,本文不再赘述。应理解,信号处理单元453的具体形式还可以是其他能够实现抖动滤波的电路模块,本申请对信号处理单元453的具体形式不作限定,只要能够实现抖动滤波功能即可。
通过对接收时钟进行抖动滤波,可以提高时钟信号质量,有利于提高驱动器性能。
可选地,作为本申请一个实施例,该驱动器可以支持多种协议,例如可以支持PCIe、CCIX或者USB等高速总线协议,并且能够选择其中一个协议工作。
本申请的驱动器可以支持多种高速总线,应用广泛。并且,因在系统设计时,不需要考虑使用多种类别的驱动器能够简化硬件设计复杂度以及后续验证工作量。
在一种可能的实现方式中,可以通过以下方式实现该驱动器的协议选择:
a、在系统设计的时候,当该驱动器为确定协议场景时,可以通过将该驱动器指定的管脚上下拉实现选择其中一种协议。示例性地,表1示出了一种管脚与协议的对应关系。
表1
PIN_A(上拉1/下拉0) PIN_B(上拉1/下拉0) 支持协议
0 0 PCIe
0 1 CCIX
1 0 USB
…… …… ……
表1中,PIN_A和PIN_B为该驱动器的两个管脚,通过对这两个管脚的上拉/下拉操作,可以实现该驱动器的协议选择。比如,上拉管脚PIN_A,并下拉管脚PIN_B,可使该驱动器支持USB协议。
b、通过标准定义的管理接口(比如Smbus),由系统软件上电后配置该驱动器工作在某种协议下。
c、通过特定的协商码流(例如,记作:第一协商码流),配置该驱动器所使用的协议。换句话说,一种协商码流可以与一种协议对应,通过对应的协商码流,可以配置相应地协议。
为使本领域技术人员更好的理解本申请,以下结合图7和图8给出驱动器的两个具体结构图,应理解,这两个结构图仅是示例性结构图,并不应对本申请构成任何限定。
图7示出了本申请提供的驱动器的一种示例性结构图。参见图7所示的驱动器,该驱动器包括CDR电路410、接收电路420,弹性缓冲器430、发送电路440、第一时钟转换电路451、第二时钟转换电路452、分路器460、多路复用器(MUX)470、第三时钟转换电路480和第四时钟转换电路490。其中,接收电路420包括接收均衡电路421、采样电路422、串并转换电路423和解扰/解码电路424。发送电路440包括扰码/编码电路441、并串转换电路442和发送均衡电路443。
分路器460用于将CDR电路410从接收信号中恢复出的接收时钟clk0分为多路,分别为clk1、clk2、clk3、clk4和clk5。
其中,clk1和clk2分别输出至采样电路422和串并转换电路423,clk1用于采样电路422进行采样,clk2用于串并转换电路423将串行数据转换为并行数据(即,符号)。clk3和clk4分别输出至第三时钟转换电路480和第四时钟转换电路490。第三时钟转换电路480用于基于clk3得到clk9,第四时钟转换电路490用于基于clk4得到clk10。第三时钟转换电路480和第四时钟转换电路490可以是分频器,但本申请实施例对此不作限定。fclk9=fclk3/M,fclk10=fclk4/M,fclk9=fclk10,M为串并转换电路423输出的符号所包含的比特个数,例如,M=10或8,但本申请实施例对此不作限定。fclki表示clki(i=0,1,2,……)的频率。应理解,clk0可以称为位时钟(bit clock),clk9和clk10可以称为符号时钟(symbol clock)。其中,clk9和clk10分别作为弹性缓存器430的读时钟和写时钟,用于弹性缓冲器430移入和移出数据。
第一时钟转换电路451的输入为clk5,第一时钟转换电路451可以基于clk5生成第一时钟,即,clk6。MUX 470选择clk6和本地时钟(即,ref clk)其中之一作为输出,比如,在低延时模式下,选择clk6输出,在非低延时模式下,选择ref clk输出。
MUX 630的输出clk7输入至第二时钟转换电路452,第二时钟转换电路452基于clk7生成用于发送电路440的时钟,即clk8。当MUX 630选择clk6输出时,clk7为clk6,clk8为发送时钟,此时clk8和clk0的频率相同。当MUX 630选择ref clk输出时,clk7为ref clk,clk8为第二时钟。
应理解,本申请对分路器460的实现方式不作限定,只要能够实现将接收时钟分为多路输出即可。
本申请实施例提供的驱动器能够消除由于在弹性缓冲器中增加或者删除SKP序列而引入的额外延时问题,实现低延时传输。并且,该驱动器具有选择外部时钟和内部时钟的功能,即可以选择接收时钟和本地时钟二者之一作为第二时钟转换电路的输入时钟,可以适应多种场景需求。
图8示出了本申请提供的驱动器的另一种示例性结构图。参见图8所示的驱动器,该驱动器包括CDR电路410、接收电路420,弹性缓冲器430、发送电路440、分路器460、信号处理单元453、第三时钟转换电路480和第四时钟转换电路490。其中,接收电路420包括接收均衡电路421、采样电路422、串并转换电路423和解扰/解码电路424。发送电路440包括扰码/编码电路441、并串转换电路442和发送均衡电路443。
图8所示的各模块的功能具体可以参见上文对图7所示的驱动器所作的说明。在图8中,信号处理单元453用于对clk5进行抖动滤波,生成发送时钟(即,clk8),发送电路440可以基于clk8发送数据,clk8和clk0的频率相同。
本申请实施例提供的驱动器通过对CDR输出的时钟(clk5)进行滤波处理,可以提高时钟信号质量。由于发送时钟与接收时钟没有偏差,因此该驱动器能够消除由于在弹性缓冲器中增加或者删除SKP序列而引入的额外延时问题,实现低延时传输。
图9是本申请提供的数据传输方法的示意性流程图。该方法应用于驱动器,该驱动器包括:时钟数据恢复CDR电路、弹性缓冲器、接收电路和发送电路。
该方法包括:
S910,CDR电路从接收信号中恢复出接收时钟;
S920,该接收电路使用该接收时钟从该接收数据中恢复出发送数据;
S930,该弹性缓冲器使用该接收时钟移入该发送数据,并使用该接收时钟移出该发送数据;
S940,该发送电路使用该接收时钟发送从该弹性缓冲器移出的该发送数据。
本申请的数据传输方法,由于接收电路和发送电路使用的是同一时钟域,即,CDR恢复出的接收时钟,因此可以完全消除收发端时钟的频率差,不需要链路状态机在弹性缓冲器进行增加或者删除SKP序列,因此能够消除SRIS场景收发频率差带来的额外延时,实现低延时传输。
应理解,图9所示的方法可以在驱动器使能低延时模式,且连接到下游芯片时执行,但本申请对此不作限定。另外,在执行完图9所示的方法后,该驱动器可以与上游芯片和下游芯片进行链路训练。
可选地,作为本申请一个实施例,该驱动器还包括第一时钟转换电路和第二时钟转换电路,该第一时钟转换电路基于该接收时钟生成第一时钟,该第一时钟的频率与期望的本地时钟的频率相同;该第二时钟转换电路基于该第一时钟生成发送时钟,并将该发送时钟输出至该发送电路,该发送时钟与该接收时钟的频率相同。
可选地,作为本申请一个实施例,在低延时模式下,向该第二时钟转换电路输入该第一时钟;在非低延时模式下,向该第二时钟转换电路输入该本地时钟。
可选地,作为本申请一个实施例,该第一时钟的频率为100MHz。
可选地,作为本申请一个实施例,该驱动器还包括信号处理单元,该信号处理单元对该接收时钟进行抖动滤波,生成发送时钟,并将该发送时钟输出至该发送电路,该发送时钟与该接收时钟的频率相同。
可选地,作为本申请一个实施例,驱动器支持多个协议,并且能够选择多个协议中的一个协议工作,多个协议包括下述中的至少一种:PCIe协议、CCIX协议或USB协议。
关于图9所示的方法的具体细节以及该驱动器的具体实现方式,可以参照上文中对图4至图8所示的驱动器的描述,这里不再赘述。
需要说明的是,本申请提供的驱动器可以支持多个通道。在一种可能的实现方式中,驱动器中的CDR电路可以用于一个通道或多个通道,除CDR电路以外的其他模块可以对应一个通道中的一个方向。在一种可能的实现方式中,驱动器中的CDR电路和时钟处理电路可以用于一个通道或多个通道,除此以外的其他模块可以对应一个通道中的一个方向。在一种可能的实现方式中,驱动器中的CDR电路和第二时钟转换电路可以对应一个通道,也可以对应多个通道。
图10是可以结合本申请提供的技术的一个系统900的示意图。例如,上述技术可以合并到系统1000中的互连或接口中。
参见图10,系统1000包括但不限于台式计算机,笔记本电脑,网络书籍,平板电脑,笔记本电脑,个人数字助理(personal digital assistant,PDA),服务器,工作站,移动电话,移动计算设备,智能电话,因特网设备或任何其他类型的计算设备。
在一种可能的实现方式中,系统1000可以包括一个处理器,例如处理器1010。在另一种可能的实现方式中,系统1000可以包括多个处理器,例如包括处理器1010和1020,其中处理器1020具有与处理器1010的逻辑类似或相同的逻辑,或者处理器1020具有完全独立于处理器1010的逻辑的逻辑。处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在一种可能的实现方式中,系统1000可以包括存储器1030,处理器1010能够访问存储器1030并且具有与存储器1030通信的功能,存储器1030存储将由处理器1010执行的信息和指令。存储器1030包括易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
在一种可能的实现方式中,处理器1010和1020可以与芯片组1040通信。在一种可能的实现方式中,芯片组1040经由点对点(point to point,P-P)接口1042和1012与处理器1010连接。接口1042和1012可以基于任何可能的P-P通信协议进行通信。
在一种可能的实现方式中,芯片组1040可通过接口1044与显示设备1050和其他设备通信,该其他设备如图中所示总线桥1062、智能TV1064、I/O设备1066、键盘/鼠标1072和网络接口1074。显示设备1050包括但不限于液晶显示器(LCD),等离子体,阴极射线管(CRT)。
在一种可能的实现方式中,芯片组1040可以通过一个或多个总线1060和1070连接到该其他设备通信。在一种可能的实现方式中,总线1060和1070可以通过总线桥1062互连在一起。
在一种可能的实现方式中,网络接口1074由任何类型的公知网络接口标准实现,包括但不限于以太网接口,USB接口,PCIe接口,CCIX接口、无线接口和/或任何其他合适类型的接口。
应理解,虽然图10中的一些模块被描绘为系统1000内的单独模块,但是由这些模块中的一些模块执行的功能可以集成在单个半导体电路内,或者可以使用两个或更多个单独的集成电路来实现。
本申请还提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行上述方法实施例中的方法的指令。
本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,申请实施例中的“第一”和“第二”仅为了区分,不应对本申请构成任何限定。
还应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种驱动器,其特征在于,包括:时钟数据恢复CDR电路、弹性缓冲器、接收电路和发送电路;
所述CDR电路用于从接收信号中恢复出接收时钟;
所述接收电路用于使用所述接收时钟从所述接收信号中恢复出发送数据;
所述弹性缓冲器用于使用所述接收时钟移入所述发送数据,以及所述使用接收时钟移出所述发送数据;
所述发送电路用于使用所述接收时钟发送从所述弹性缓冲器移出的所述发送数据。
2.如权利要求1所述的驱动器,其特征在于,所述驱动器还包括第一时钟转换电路和第二时钟转换电路,
所述第一时钟转换电路用于基于所述接收时钟生成第一时钟,所述第一时钟的频率与期望的本地时钟的频率相同;
所述第二时钟转换电路用于基于所述第一时钟生成发送时钟,并将所述发送时钟输出至所述发送电路,所述发送时钟与所述接收时钟的频率相同。
3.如权利要求2所述的驱动器,其特征在于,
在低延时模式下,所述第二时钟转换电路的输入时钟为所述第一时钟;
在非低延时模式下,所述第二时钟转换电路的输入时钟为所述本地时钟。
4.如权利要求2或3所述的方法,其特征在于,所述第一时钟的频率为100MHz。
5.如权利要求1所述的驱动器,其特征在于,所述驱动器还包括信号处理单元,所述信号处理单元用于对所述接收时钟进行抖动滤波,生成发送时钟,并将所述发送时钟输出至所述发送电路,所述发送时钟与所述接收时钟的频率相同。
6.如权利要求1至5中任一项所述的驱动器,其特征在于,所述驱动器支持多个协议,并且能够选择多个协议中的一个协议工作,所述多个协议包括下述中的至少一种:
外围组件快速互连PCIe协议、加速器内存一致性接口CCIX协议或通用串行总线USB协议。
7.一种数据传输方法,其特征在于,所述方法应用于驱动器,所述驱动器包括:包括:时钟数据恢复CDR电路、弹性缓冲器、接收电路和发送电路;
所述方法包括:
所述CDR电路从接收信号中恢复出接收时钟;
所述接收电路使用所述接收时钟从所述接收信号中恢复出发送数据;
所述弹性缓冲器使用所述接收时钟移入所述发送数据,以及使用所述接收时钟移出所述发送数据;
所述发送电路使用所述接收时钟发送从所述弹性缓冲器移出的所述发送数据。
8.如权利要求7所述的方法,其特征在于,所述驱动器还包括第一时钟转换电路和第二时钟转换电路,
所述第一时钟转换电路基于所述接收时钟生成第一时钟,所述第一时钟的频率与期望的本地时钟的频率相同;
所述第二时钟转换电路基于所述第一时钟生成发送时钟,并将所述发送时钟输出至所述发送电路,所述发送时钟与所述接收时钟的频率相同。
9.如权利要求8所述的方法,其特征在于,
在低延时模式下,向所述第二时钟转换电路输入所述第一时钟;
在非低延时模式下,向所述第二时钟转换电路输入所述本地时钟。
10.如权利要求8或9所述的方法,其特征在于,所述第一时钟的频率为100MHz。
11.如权利要求7所述的方法,其特征在于,所述驱动器还包括信号处理单元,所述信号处理单元对所述接收时钟进行抖动滤波,生成发送时钟,并将所述发送时钟输出至所述发送电路,所述发送时钟与所述接收时钟的频率相同。
12.如权利要求7至11中任一项所述的方法,其特征在于,所述驱动器支持多个协议,并且能够选择多个协议中的一个协议工作,所述多个协议包括下述中的至少一种:
外围组件快速互连PCIe协议、加速器内存一致性接口CCIX协议或通用串行总线USB协议。
13.一种算机存储介质,其特征在于,包括计算机程序,当所述计算机程序在计算机上被执行时,所述计算机执行如权利要求7至12中任一项所述的方法。
14.一种系统,其特征在于,包括处理器、存储器以及一个或多个驱动器,所述驱动器用于执行如权利要求7至12中任一项所述的方法。
CN201910060479.0A 2019-01-22 2019-01-22 驱动器和数据传输方法 Active CN109857692B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910060479.0A CN109857692B (zh) 2019-01-22 2019-01-22 驱动器和数据传输方法
PCT/CN2020/073470 WO2020151698A1 (zh) 2019-01-22 2020-01-21 驱动器和数据传输方法
EP20744674.1A EP3885923A4 (en) 2019-01-22 2020-01-21 DRIVER CIRCUIT AND DATA TRANSMISSION METHOD
US17/321,707 US11973856B2 (en) 2019-01-22 2021-05-17 Drive and data transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910060479.0A CN109857692B (zh) 2019-01-22 2019-01-22 驱动器和数据传输方法

Publications (2)

Publication Number Publication Date
CN109857692A true CN109857692A (zh) 2019-06-07
CN109857692B CN109857692B (zh) 2023-06-02

Family

ID=66895804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910060479.0A Active CN109857692B (zh) 2019-01-22 2019-01-22 驱动器和数据传输方法

Country Status (4)

Country Link
US (1) US11973856B2 (zh)
EP (1) EP3885923A4 (zh)
CN (1) CN109857692B (zh)
WO (1) WO2020151698A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781121A (zh) * 2019-11-07 2020-02-11 江苏芯盛智能科技有限公司 一种参考时钟源配置方法与端设备
WO2020151698A1 (zh) * 2019-01-22 2020-07-30 华为技术有限公司 驱动器和数据传输方法
CN112688709A (zh) * 2020-12-18 2021-04-20 上海安路信息科技股份有限公司 Fpga接口单元、fpga接口模块及fpga接口系统
CN118277317A (zh) * 2024-03-27 2024-07-02 青芯科技(无锡)有限公司 一种重定时器结构及其时钟偏差补偿方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11232058B2 (en) * 2019-03-08 2022-01-25 Intel Corporation Enabling sync header suppression latency optimization in the presence of retimers for serial interconnect
CN114337708A (zh) * 2021-12-31 2022-04-12 苏州兆芯半导体科技有限公司 数据传输电路、方法和芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267292A (zh) * 2007-03-16 2008-09-17 株式会社理光 时钟和数据恢复电路以及包括其的通信设备
US20170351635A1 (en) * 2015-07-17 2017-12-07 Parade Technologies, Ltd. System Transparent Retimer
CN108121619A (zh) * 2016-11-29 2018-06-05 三星电子株式会社 依据通信条件调整延迟的电子电路
US20180253398A1 (en) * 2017-03-03 2018-09-06 Intel Corporation High performance interconnect
CN109154927A (zh) * 2016-06-27 2019-01-04 英特尔公司 低延时多协议重定时器

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5502750A (en) * 1994-06-15 1996-03-26 Pericom Semiconductor Corp. Digital jitter attenuator using selection of multi-phase clocks and auto-centering elastic buffer for a token ring network
US5796796A (en) * 1996-01-11 1998-08-18 Industrial Technology Research Institute Pointer adjustment jitter cancellation processor utilizing phase hopping and phase leaking techniques
JP4764814B2 (ja) * 2006-12-28 2011-09-07 株式会社日立製作所 波形等化係数調整方法および回路、レシーバ回路、ならびに伝送装置
US20090086874A1 (en) * 2007-09-28 2009-04-02 Junning Wang Apparatus and method of elastic buffer control
US8184760B2 (en) * 2008-09-02 2012-05-22 Taiwan Semiconductor Manufacturing Company, Ltd. Adaptive elastic buffer for communications
US7791370B1 (en) * 2009-05-21 2010-09-07 Altera Corporation Clock distribution techniques for channels
US8516290B1 (en) * 2010-02-02 2013-08-20 Smsc Holdings S.A.R.L. Clocking scheme for bridge system
US8811555B2 (en) * 2010-02-04 2014-08-19 Altera Corporation Clock and data recovery circuitry with auto-speed negotiation and other possible features
US8510487B2 (en) * 2010-02-11 2013-08-13 Silicon Image, Inc. Hybrid interface for serial and parallel communication
CN104050128A (zh) * 2013-03-13 2014-09-17 上海华虹集成电路有限责任公司 用于usb2.0高速的时钟数据恢复电路
KR20160008698A (ko) * 2014-07-14 2016-01-25 삼성전자주식회사 하이브리드 클럭 데이터 복구 회로, 및 이를 포함하는 시스템
US9692589B2 (en) * 2015-07-17 2017-06-27 Intel Corporation Redriver link testing
WO2017189796A1 (en) * 2016-04-29 2017-11-02 Megachips Technology America Corporation Data transmission method and data transmission system
US10129166B2 (en) 2016-06-21 2018-11-13 Intel Corporation Low latency re-timer
US10348414B2 (en) * 2016-06-30 2019-07-09 Avago Technologies International Sales Pte. Limited Clock-and-data recovery (CDR) circuitry for performing automatic rate negotiation
CN106527576A (zh) * 2016-12-01 2017-03-22 郑州云海信息技术有限公司 一种pcie设备的时钟分离设计方法和系统
US10236891B1 (en) * 2017-09-21 2019-03-19 Synopsys, Inc. Lock time measurement of clock and data recovery circuit
CN109857692B (zh) * 2019-01-22 2023-06-02 华为技术有限公司 驱动器和数据传输方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101267292A (zh) * 2007-03-16 2008-09-17 株式会社理光 时钟和数据恢复电路以及包括其的通信设备
US20170351635A1 (en) * 2015-07-17 2017-12-07 Parade Technologies, Ltd. System Transparent Retimer
CN109154927A (zh) * 2016-06-27 2019-01-04 英特尔公司 低延时多协议重定时器
CN108121619A (zh) * 2016-11-29 2018-06-05 三星电子株式会社 依据通信条件调整延迟的电子电路
US20180253398A1 (en) * 2017-03-03 2018-09-06 Intel Corporation High performance interconnect

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020151698A1 (zh) * 2019-01-22 2020-07-30 华为技术有限公司 驱动器和数据传输方法
US11973856B2 (en) 2019-01-22 2024-04-30 Huawei Technologies Co., Ltd. Drive and data transmission method
CN110781121A (zh) * 2019-11-07 2020-02-11 江苏芯盛智能科技有限公司 一种参考时钟源配置方法与端设备
CN112688709A (zh) * 2020-12-18 2021-04-20 上海安路信息科技股份有限公司 Fpga接口单元、fpga接口模块及fpga接口系统
CN112688709B (zh) * 2020-12-18 2022-03-29 上海安路信息科技股份有限公司 Fpga接口单元、fpga接口模块及fpga接口系统
CN118277317A (zh) * 2024-03-27 2024-07-02 青芯科技(无锡)有限公司 一种重定时器结构及其时钟偏差补偿方法
CN118277317B (zh) * 2024-03-27 2024-09-27 青芯科技(无锡)有限公司 一种重定时器结构及其时钟偏差补偿方法

Also Published As

Publication number Publication date
US11973856B2 (en) 2024-04-30
US20210297228A1 (en) 2021-09-23
EP3885923A4 (en) 2022-02-23
CN109857692B (zh) 2023-06-02
EP3885923A1 (en) 2021-09-29
WO2020151698A1 (zh) 2020-07-30

Similar Documents

Publication Publication Date Title
CN109857692A (zh) 驱动器和数据传输方法
US10498523B1 (en) Multipath clock and data recovery
US11296709B2 (en) Cross-clock-domain processing circuit
US6266799B1 (en) Multi-phase data/clock recovery circuitry and methods for implementing same
US10447463B2 (en) Device and method for ultra-low latency communication
CN109857690B (zh) 驱动器的应用系统、驱动器和数据传输方法
JP2003524914A (ja) クロック信号ラインを介してデータ信号を送受信するためのシステム及び方法
US8452908B2 (en) Low latency serial memory interface
KR920003831B1 (ko) 안정된 데이타 전송 방법 및 장치
JP2013098981A (ja) フレキシブルな受信器アーキテクチャ
CN113114229B (zh) 用于时钟数据恢复的组合式判决反馈均衡器及相位检测器
JP2018520585A (ja) シリアルデータストリームを処理するための装置
CN116795172B (zh) 一种用于高速数字传输的跨时钟域处理方法、介质及装置
US10261539B2 (en) Separate clock synchronous architecture
US9740235B1 (en) Circuits and methods of TAF-DPS based interface adapter for heterogeneously clocked Network-on-Chip system
US8923440B1 (en) Circuitry for padded communication protocols
TW201822015A (zh) 利用晶片內串聯器/解串聯器的控制器-實體層連接
WO2016133692A1 (en) Signal sampling system and method
CN105846818A (zh) 一种显示装置中的信号传输电路
KR20240046901A (ko) 저전력 고속 cmos 클록 생성 회로
US11018904B1 (en) Equalization for a transmitter circuit
CN111258946A (zh) 一种gtx与tlk2711系列芯片的通信方法
US20240063778A1 (en) Ring oscillator using multi-phase signal reassembly
Stojčev et al. On-and Off-chip Signaling and Synchronization Methods in Electrical Interconnects
US8406258B1 (en) Apparatus and methods for low-jitter transceiver clocking

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant