CN113806262A - 接口装置及其操作方法 - Google Patents
接口装置及其操作方法 Download PDFInfo
- Publication number
- CN113806262A CN113806262A CN202110191067.8A CN202110191067A CN113806262A CN 113806262 A CN113806262 A CN 113806262A CN 202110191067 A CN202110191067 A CN 202110191067A CN 113806262 A CN113806262 A CN 113806262A
- Authority
- CN
- China
- Prior art keywords
- buffer
- interface device
- data
- underflow
- overflow
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000005540 biological transmission Effects 0.000 claims abstract description 125
- 238000001228 spectrum Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 16
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 48
- 238000011144 upstream manufacturing Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 21
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 6
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 6
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 6
- 238000003780 insertion Methods 0.000 description 6
- 230000037431 insertion Effects 0.000 description 6
- 230000007480 spreading Effects 0.000 description 6
- 238000011017 operating method Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4018—Coupling between buses with data restructuring with data-width conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4059—Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Communication Control (AREA)
Abstract
本公开涉及一种接口装置和操作接口装置的方法,该接口装置包括第一弹性缓冲器。该操作接口装置的方法包括:执行链路均衡操作;检查接口装置的传输模式;并且当传输模式为传输参数调整模式时,基于第一弹性缓冲器的状态或与该接口装置通信的另一接口装置中包括的第二弹性缓冲器的状态,确定该接口装置的传输参数。
Description
相关申请的交叉引用
本申请要求于2020年6月16日提交的申请号为10-2020-0073157的韩国专利申请的优先权和权益,该韩国专利申请的公开内容通过引用全部并入本文。
技术领域
所公开技术的实施例涉及一种电子装置,并且更特别地,涉及一种接口装置及其操作方法。
背景技术
输入/输出接口提供了一种用于在两个或多个分开的电子组件之间传送信息的方法。输入/输出接口的示例包括工业标准结构(ISA)、外围组件互连(PCI)、高级图形端口(AGP)、并行高级技术附件(PATA)或串行高级技术附件(SATA)。近来,已经开发了高速PCI(PCIe)来代替旧的总线标准。与旧标准相比,PCIe具有许多改进,包括更高的总线带宽、更少的I/O引脚数、更小的物理区域和更高的性能可扩展性。
发明内容
所公开技术的实施例提供了一种能够基于链路特性来适应性地确定传输参数的接口装置。
在所公开技术的实施例中,提供了一种操作接口装置的方法,该接口装置包括第一缓冲器并且与包括第二缓冲器的另一接口装置通信。操作接口装置的方法包括:初始化与用于接口装置的数据传输或接收的时钟信号相关联的一个或多个参数;检查接口装置是否处于用于调整一个或多个参数的预定模式;在确定接口装置处于预定模式时,基于第一缓冲器或第二缓冲器被数据填充的程度,调整与该接口装置的时钟信号相关联的一个或多个参数;并且基于与时钟信号相关联的调整后的一个或多个参数执行数据传输或接收。
在实施例中,调整一个或多个参数可以包括:调整扩频时钟方案的时钟频率范围。
在实施例中,调整扩频时钟方案的时钟频率范围可以包括:基于基本频率初始化时钟频率范围;将时钟频率范围调整预定步长值;基于调整后的时钟频率范围来执行数据传输或接收;并且确定在数据传输或接收期间是否在第一缓冲器和第二缓冲器中的至少一个中生成了预下溢或预上溢。
在实施例中,该方法可以进一步包括:在确定在数据传输或接收期间在第一缓冲器或第二缓冲器中生成了预下溢或预上溢时,选择当前应用的时钟频率范围作为扩频时钟方案的时钟频率范围。
在实施例中,该方法可以进一步包括:在确定在数据传输或接收期间在第一缓冲器或第二缓冲器中的至少一个中既没有生成预下溢也没有生成预上溢时,将时钟频率范围重新调整步长值;基于调整后的时钟频率范围执行数据传输或接收中的至少一个;并且基于数据传输或接收,确定是否在第一缓冲器和弹性缓冲器中的至少一个中生成了预下溢或预上溢。
在实施例中,将时钟频率范围调整步长值可以包括:将时钟频率范围增加步长值。
在实施例中,调整一个或多个参数可以包括:确定用于将跳过有序集插入到传输数据的间隔。
在实施例中,确定用于将跳过有序集插入到传输数据的间隔可以包括:初始化用于插入跳过有序集的间隔;将间隔调整预定步长值;基于调整后的间隔来执行包括跳过有序集的数据传输或接收;并且基于数据传输或接收,确定是否在第一缓冲器和第二缓冲器中的至少一个中生成了预下溢或预上溢。
在实施例中,该方法可以进一步包括:在确定在第一缓冲器或第二缓冲器中的至少一个中生成了预下溢或预上溢时,选择当前间隔作为用于插入跳过有序集的间隔。
在实施例中,将间隔调整预定步长值可以包括:将间隔增加预定步长值。
根据所公开技术的另一实施例,提供了一种操作接口装置的方法,该接口装置包括第一缓冲器并且与包括第二缓冲器的另一接口装置通信。该操作接口装置的方法包括:初始化与用于接口装置的数据传输或接收的时钟信号相关联的一个或多个参数;将一个或多个参数调整步长值;基于调整后的一个或多个参数,执行与同该接口装置通信的另一接口装置的数据的传输或接收中的至少一个;并且基于数据的传输或接收,确定是否在第一缓冲器和另一接口装置中包括的第二缓冲器中的至少一个之中生成了预下溢或预上溢。
在实施例中,该方法可以进一步包括:在确定在第一缓冲器和第二缓冲器中的至少一个中生成了预下溢或预上溢时,选择当前的一个或多个参数作为最佳传输参数。
在实施例中,该方法可以进一步包括:在确定在数据传输或接收期间在第一缓冲器或第二缓冲器中的至少一个中既没有生成预下溢也没有生成预上溢时,将一个或多个参数重新调整步长值;基于调整后的一个或多个参数,执行与另一接口装置的数据的传输或接收中的至少一个;并且基于数据的传输或接收,确定是否在第一缓冲器或第二缓冲器中的至少一个中生成了预下溢或预上溢。
在实施例中,一个或多个参数可以包括扩频时钟方案的时钟频率范围。
在实施例中,一个或多个参数可以包括用于将跳过有序集插入到传输数据中的间隔。
基于所公开技术的又一实施例的接口装置包括:接收器,被配置为接收数据;缓冲器,与接收器通信并且被配置为存储所接收的数据;缓冲器状态监测器,与缓冲器通信并且被配置为监测缓冲器的状态;跳过有序集生成器,被配置为生成待插入到传输数据中的跳过有序集;发射器,与跳过有序集生成器通信并且被配置为输出传输数据和跳过有序集;传输时钟生成器,被配置为生成传输时钟;以及扩频时钟控制器,被配置为控制传输时钟生成器并且控制扩频时钟方案的时钟频率。接口装置基于缓冲器的状态和与该接口装置通信的另一接口装置中包括的另一缓冲器的状态,确定扩频时钟方案的时钟频率范围或生成跳过有序集的间隔中的至少一个。
在实施例中,缓冲器状态监测器可以将指示缓冲器的状态的第一状态信息传送到扩频时钟控制器,缓冲器可以将指示另一接口装置中包括的另一缓冲器的状态的第二状态信息传送到扩频时钟控制器,并且扩频时钟控制器可以基于第一状态信息和第二状态信息确定扩频时钟方案的时钟频率范围。
在实施例中,扩频时钟控制器可以基于基本频率来初始化时钟频率范围并且将时钟频率范围调整步长值,发射器可以基于调整后的时钟频率范围传输数据,接收器可以从另一接口装置接收数据,并且扩频时钟控制器可以根据基于数据的传输和接收而生成的第一状态信息和第二状态信息来确定是否在缓冲器或另一缓冲器中生成了预下溢或预上溢。
在实施例中,当在缓冲器或另一缓冲器中生成了预下溢或预上溢时,扩频时钟控制器可以将当前时钟频率范围确定为最佳时钟频率范围。
在实施例中,当在缓冲器或另一缓冲器中未生成预下溢或预上溢时,扩频时钟控制器可以将时钟频率范围重新调整步长值,发射器可以基于重新调整后的时钟频率范围重新传输数据,接收器可以从另一接口装置重新接收数据,并且扩频时钟控制器可以根据基于数据的传输和接收而生成的第一状态信息和第二状态信息来确定是否在缓冲器或另一缓冲器中生成了预下溢或预上溢。
在实施例中,缓冲器状态监测器可以将指示缓冲器的状态的第一状态信息传送到跳过有序集生成器,缓冲器可以将指示另一接口装置中包括的另一缓冲器的状态的第二状态信息传送到跳过有序集生成器,并且跳过有序集生成器可以基于第一状态信息和第二状态信息来确定生成跳过OS的间隔。
在实施例中,跳过有序集生成器可以初始化间隔并且将间隔调整步长值,发射器可以传输包括基于调整后的间隔而生成的跳过有序集的数据,接收器可以从另一接口装置接收数据,并且跳过有序集生成器可以根据基于数据的传输和接收而生成的第一状态信息和第二状态信息来确定是否在缓冲器中或在另一缓冲器中生成了预下溢或预上溢。
在实施例中,在确定在缓冲器或另一缓冲器中生成了预下溢或预上溢时,跳过有序集生成器可以选择当前间隔作为最佳间隔。
在实施例中,在确定在缓冲器或另一缓冲器中既没有生成预下溢也没有生成预上溢时,跳过有序集生成器可以将间隔重新调整步长值,发射器可以重新传输包括基于重新调整后的间隔而生成的跳过有序集的数据,接收器可以从另一接口装置重新接收数据,并且跳过有序集生成器可以根据基于数据的传输和接收而生成的第一状态信息和第二状态信息,重新确定是否在缓冲器或另一缓冲器中生成了预下溢或预上溢。
本技术可以提供一种能够根据链路特性来适应性地确定传输参数的接口装置。
附图说明
图1是示出接口装置的拓扑结构的示图。
图2是示出接口装置之间的链路的示图。
图3是示出基于所公开技术的实施例的操作接口装置的方法的流程图。
图4是示出基于所公开技术的实施例的接口装置300a的框图。
图5A至图5J是示出弹性缓冲器的操作和状态的示图。
图6A示出弹性缓冲器的上溢的示例,并且图6B示出弹性缓冲器的下溢的示例。
图7是示出弹性缓冲器的预上溢极限和预下溢极限的示图。
图8A示出弹性缓冲器的正常状态的示例,图8B示出弹性缓冲器的预上溢状态的示例,并且图8C示出弹性缓冲器的预下溢状态的示例。
图9是示出基于所公开技术的实施例的操作接口装置的方法的流程图。
图10是示出图9的步骤S171的示例的流程图。
图11是示出图10所示的步骤的示例的梯形图。
图12是示出图10所示的步骤的曲线图。
图13是示出图10所示的步骤的另一示例的梯形图。
图14是示出基于所公开技术的另一实施例的接口装置300b的框图。
图15是示出基于所公开技术的另一实施例的操作接口装置的方法的流程图。
图16是示出图15的步骤S173的示例的流程图。
图17是示出图16所示的步骤的示例的梯形图。
图18是用于描述图16所示的步骤的另一实施例的梯形图。
图19A至图19D是示出图16所示步骤的曲线图。
具体实施方式
示出了在本说明书或申请中公开的实施例的具体结构或功能描述,仅用以描述所公开技术的示例性实施例。所公开技术的实施例可以以各种形式实施,并且这些描述不限于在本说明书或申请中所描述的实施例。
图1是示出接口装置的拓扑结构的示图,示出了包括连接接口装置的多个输入/输出(I/O)层次结构(hierarchy)的计算系统。
参照图1,CPU 110和存储器130可以电连接或通信地连接到根复合体(rootcomplex)120。CPU 110可以是计算系统的主处理单元。存储器130可以是计算系统的主存储器。在实施例中,存储器130可以包括随机存取存储器(RAM)。
在本专利文件中,缩写“RC”用于表示根复合体120。根复合体120用于将包括CPU110和存储器130的子系统连接到输入/输出接口。根复合体120可以支持一个或多个接口装置的一个或多个端口。端口可以指代用于将接口装置连接到链路的软件和/或硬件部分。端口可以包括发射器和接收器。可以将端口分为上游端口或下游端口中的任意一个。上游端口可以是通向根复合体的端口,下游端口可以是从根复合体通向终端(endpoint)的端口。因此,根复合体120可以包括下游端口,而终端可以包括上游端口。
层次结构可以指代电连接或通信地连接到根复合体120的所有装置和链路的网络或结构。层次结构可以通过端口直接连接到终端,也可以通过交换机或桥接器间接连接到终端。在图1中,连接到根复合体120的终端160a、160b、160c、170、175、180a和180b、交换机140以及桥接器150形成一个层次结构。在一些实施方案中,层次结构域可以包括连接到根复合体120的一个端口的装置和链路。例如,基于图1,根复合体120连接到三个层次结构域。第一层次结构域可以包括PCIe终端160a。
终端包括除根复合体120、交换机140和桥接器150之外的用于执行事务的装置。在实施例中,终端可以包括诸如以太网、USB或图形装置的外围装置。终端可以作为请求者发起事务,也可以作为完成者响应事务。终端可以是位于连接到CPU 110和存储器130的输入/输出层次结构的最低位置的装置或组件。
将接口装置连接到根复合体120的输入/输出层次结构域可以包括至少一个终端。作为示例,图1的PCIe终端160a可以形成直接连接到根复合体120的输入/输出层次结构域。PCI终端170和PCI-X终端175可以形成通过桥接器150连接到根复合体120的输入/输出层次结构域。遗留终端(legacy endpoint)180a和180b以及PCIe终端160b和160c可以形成通过交换机140连接到根复合体120的输入/输出层次结构域。
交换机140是能够将多个终端连接到根复合体120的单个根端口的装置。交换机140可以包括一个上游端口和多个下游端口。在图1中,交换机140具有通过交换机140连接到根复合体120的两个遗留终端180a和180b以及两个PCIe终端160b和160c。在这种情况下,遗留终端180a和180b以及PCIe终端160b和160c可以连接到交换机140的下游端口。在一些实施方案中,根复合体120可以连接到交换机140的上游端口。
桥接器150可以连接PCI或PCI-X结构和PCIe结构。
交换机140或桥接器150可以通过上游端口传送数据包或消息,即从终端160a、160b、160c、170、175、180a和180b传送到根复合体120。在一些实施方案中,交换机140或桥接器150可以通过下游端口传送数据包或消息,即从根复合体120传送到终端160a、160b、160c、170、175、180a和180b。
基于所公开技术的实施例的接口装置可以是图1中所示的根复合体120,PCIe终端160a、160b和160c,交换机140和桥接器150中的任意一个。基于所公开技术的实施例的接口装置可以基于缓冲器的状态来适应性地确定传输参数。因此,可以提高连接接口装置的链路的数据传输效率。
图2是示出接口装置之间的链路的示图,示出了接口装置A 201和接口装置B 203之间的链路。接口装置A 201和接口装置B 203中的一个可以是图1的根复合体120,并且另一个可以是图1的终端160a、160b、160c、170、175、180a和180b中的一个。在一些实施方案中,如图2所示,接口装置A 201可以是根复合体RC、交换机和桥接器中的任意一个。另外,接口装置B 203可以是终端。接口装置A 201和接口装置B 203中的每一个包括发射器TX和接收器RX。数据可以从接口装置A 201的发射器TX传送到接口装置B 203的接收器RX,并且数据可以从接口装置B 203的发射器TX传送到接口装置A 201的接收器RX。当接口装置A 201和接口装置B 203被配置为PCIe装置时,接口装置A 201和接口装置B 203之间的链路可以由x1、x2、x4、x8、x12、x16或x32点对点链路配置。例如,x1点对点链路可以包括一个通路(lane),并且x32点对点链路可以包括32个通路。一个通路可以包括两个差分对,其中具有一个传输通道和一个接收通道。参照图2,示出了通过x1点对点链路连接接口装置A 201和接口装置B 203的实施例。在硬件初始化期间,可以执行链路初始化操作。接口装置A 201和接口装置B 203可以通过链路交换数据包。接口装置201和203之间的数据带宽可以通过添加通路来扩展。
图3是示出基于所公开技术的实施例的操作接口装置的方法的流程图。更具体地,图3示出基于所公开技术的实施例的用于在接口装置之间执行链路初始化操作的流程图。
参照图3,一种操作接口装置的方法可以包括:执行链路均衡(S110);检查传输参数模式(S130);当传输参数模式是传输参数调整模式(S150:是)时,确定最佳传输参数(S170);并且应用所确定的最佳传输参数(S190)。在本专利文件的上下文中,与某些参数或值的范围结合使用的词语“最佳”可用于指示为本专利文件中讨论的装置提供更好性能的值或条件。在这个意义上,词语“最佳”可以传达或可以不传达装置可达到的最佳可能的性能。
在S110处,执行链路均衡。链路均衡是将与接口装置的层、端口和链路有关的各种参数初始化的操作,使得从装置通电的时间点或者接口装置或包括接口装置的系统重置其参数的时间点起,链路就可以执行正常的数据包交换。链路均衡操作可以由硬件启动,并且可以由链路训练和状况状态机(link training&status state machine,LTSSM)管理。在一些实施方案中,LTSSM可以包括11个状态(L0、L0s、L1、L2、配置、轮询、检测、禁用、热重置、环回和恢复)。链路均衡可以包括阶段0至阶段3。在阶段0中,数据传输以初始速度开始,并且可以交换用于传输速度转换的预设值。在阶段1中,连接到链路的两个接口装置可以共享彼此的均衡能力。在阶段2中,上游端口可以一起调整下游端口的发射器设置以及自己的接收器设置。在阶段3中,下游端口可以一起调整上游端口的发射器设置以及自己的接收器设置。
在S130处,接口装置可以检查传输参数模式。在所公开技术的实施例中,接口装置可以基于传输参数模式来适应性地确定传输参数或使用预定的传输参数。
在S150处,确定传输参数模式是否是传输参数调整模式。当传输参数模式不是传输参数调整模式(S150:否)时,接口装置可以使用预定的传输参数,从而终止接口装置之间的链路初始化操作。
当传输参数模式是传输参数调整模式(S150:是)时,接口装置可以适应性地确定传输参数。因此,该方法进行到步骤S170以确定最佳传输参数。
在S170处,确定最佳传输参数。作为示例,在步骤S170中,可以确定用于扩频时钟(spread spectrum clocking,SSC)的时钟频率范围。在本专利文件的上下文中,术语“SSC范围”可用于指示用于扩频时钟(SSC)的时钟频率范围。在时钟信号中,能量集中在某个频率上,因此会出现潜在的电磁干扰(EMI)问题。扩频时钟(SSC)可以通过改变时钟信号的频率来减少时钟信号的辐射发射,从而可以通过将频率移位来降低时钟信号的峰值幅度。当使用SSC传输和接收数据时,可以提高抗电磁干扰(EMI)的特性。随着SSC范围变宽,EMI特性得到提高。在典型情况下,设置预先固定的SSC范围,以基于该SSC范围执行SSC操作,并且当SSC范围被设置得过宽时,传输和接收性能可能劣化。在基于所公开技术的实施例的接口装置和操作接口装置的方法中,可以基于接口装置之间的链路特性来确定最佳SSC范围,而不是使用固定的SSC范围。因此,可以在将EMI特性保持在一定期望水平的同时提高传输和接收性能。
在所公开技术的另一实施例中,在S170处,可以确定在传输数据之间插入跳过有序集(skip ordered-set,跳过OS)的间隔。接口装置的发射器TX被配置为通过周期性地插入跳过OS来传输数据,以防止在接收器RX的缓冲器中发生上溢或下溢。在实施方式中,缓冲器可以是但不限于弹性缓冲器。弹性缓冲器是先进先出(FIFO)缓冲器,其可以在输入和输出之间具有不同的速率,以便弹性地补偿输入和输出速率的差异。当接收器的弹性缓冲器接近上溢状态时,可以通过防止所接收的跳过OS的至少一部分被输入到该弹性缓冲器来减少上溢或使上溢最小化。当接收器的弹性缓冲器接近下溢状态时,可以通过将所接收的跳过OS输入到该弹性缓冲器来减少下溢或使下溢最小化。当跳过OS的插入间隔相对较短时,可能不会生成弹性缓冲器的上溢或下溢,但是会降低数据传输效率。另一方面,当跳过OS的插入间隔相对较长时,可以提高数据传输效率,但是可能增加弹性缓冲器的上溢或下溢的可能性。在一些实施方案中,设置预先固定的跳过OS间隔以基于该跳过OS间隔执行数据传输,并且当跳过OS间隔被设置得过短时,可能会降低传输和接收性能。在基于所公开技术的实施例的接口装置和操作接口装置的方法中,可以基于接口装置之间的链路特性来确定最佳跳过OS间隔,而不是使用固定的跳过OS间隔。因此,可以在将EMI特性保持在一定期望水平的同时提高传输和接收性能。
在S190处,可以应用所确定的最佳传输参数。因此,可以完成链路初始化操作。
图4是示出基于所公开技术的实施例的接口装置300a的框图。参照图4,接口装置300a可以包括接收器310、弹性缓冲器320、缓冲器状态监测器330、SSC控制器340、传输时钟生成器350、MUX 355和360、TS1/TS2(TS:训练序列(training sequence))生成器365、发射器370和跳过OS生成器380。
接收器310通过链路接收数据DRX1。接收器310可以包括解串器、解扰器、时钟数据恢复装置(CDR)等。接收器310可以基于数据DRX1生成并输出数据DRX2。作为示例,数据DRX1可以是串行数据,并且数据DRX2可以是并行数据。
数据DRX2可以被传送到弹性缓冲器320。弹性缓冲器320可以临时存储数据DRX2并且将数据DRX3传送到接口装置300a的内核(未示出)。
在一些实施方案中,弹性缓冲器320的指针信息IPT可以被传送到缓冲器状态监测器330。弹性缓冲器320的指针信息IPT可以用于指示最后的数据在以FIFO形式实施的弹性缓冲器320中的位置。可以基于指针信息IPT确定弹性缓冲器320的状态,因此可以生成第一缓冲器状态信息IBS1。第一缓冲器状态信息IBS1用于指示接口装置300a中包括的弹性缓冲器320的状态。稍后将参照图5A至图8C描述基于指针信息IPT确定弹性缓冲器320的状态。
在一些实施方案中,可以将第二缓冲器状态信息IBS2从弹性缓冲器320传送到SSC控制器340。第二缓冲器状态信息IBS2可以包括关于与接口装置300a通信的另一接口装置的弹性缓冲器的状态的信息。在这种情况下,第二缓冲器状态信息IBS2可以被接收器310作为数据DRX1接收。例如,当图4所示的接口装置300a是图2的接口装置A(201)时,第二缓冲器状态信息IBS2可以包括关于接口装置B 203中包括的弹性缓冲器的状态的信息。在这种情况下,可以将第二缓冲器状态信息IBS2从接口装置B 203的发射器TX传送到接口装置A的接收器RX。
SSC控制器340接收第一缓冲器状态信息IBS1和第二缓冲器状态信息IBS2以生成SSC控制信号CTRLSSC。也就是说,SSC控制器340基于指示接口装置300a内部的弹性缓冲器320的状态的第一缓冲器状态信息IBS1以及指示另一外部接口装置中包括的弹性缓冲器的状态的第二缓冲器状态信息IBS2来控制SSC操作。为此,SSC控制器340生成用于控制传输时钟生成器350的SSC控制信号CTRLSSC。
在一些实施方案中,TS1/TS2生成器365可以基于第一缓冲器状态信息IBS1生成TS1有序集TS1 OS和TS2有序集TS2 OS。所生成的TS1 OS和TS2 OS可以被传送到MUX 360。TS1OS或TS2 OS可以被传送到另一接口装置,并且可以调整相应接口装置的SSC范围。
传输时钟生成器350从SSC控制器340接收SSC控制信号CTRLSSC。另外,传输时钟生成器350接收参考时钟CLKREF。可以从MUX 355接收参考时钟CLKREF。MUX 355可以选择第一时钟CLK1和第二时钟CLK2中的任意一个,并且将所选择的时钟作为参考时钟CLKREF传送到传输时钟生成器350。作为示例,第一时钟CLK1可以是从接口装置300a的外部接收的参考时钟。在这种情况下,第一时钟CLK1可以是从主机接收的100MHz参考时钟。作为示例,第二时钟CLK2可以是从接口装置300a的内部时钟生成器(未示出)生成的参考时钟。在这种情况下,第二时钟CLK2可以是用于具有独立SSC的分离参考时钟(separate reference clockwith independent SSC,SRIS)模式或不具有SSC的分离参考时钟(separate referenceclock with no SSC,SRNS)模式的内部参考时钟。基于SSC控制信号CTRLSSC,传输时钟生成器350可以生成其中频谱基于参考时钟CLKREF被扩展的传输时钟CLKTX。此时,可以由SSC控制器340确定传输时钟CLKTX的SSC范围。传输时钟CLKTX可以传输到发射器370。
在一些实施方案中,缓冲器状态监测器330可以将第一缓冲器状态信息IBS1传送到MUX 360。除了第一缓冲器状态信息IBS1之外,MUX 360还可以从接口装置300a的内核(未示出)接收数据DTX1。另外,MUX 360可以从跳过OS生成器380接收跳过OS SKPOS。另外,MUX 360可以从TS1/TS2生成器365接收TS1 OS或TS2 OS。MUX 360可以多路传输第一缓冲器状态信息IBS1、数据DTX1、TS1 OS、TS2 OS和跳过OS SKPOS,并且将数据DTX2传输到发射器370。也就是说,除从内核传送的数据DTX1之外,还可以将从缓冲器状态监测器330接收的第一缓冲器状态信息IBS1、从TS1/TS2生成器365接收的TS1 OS或TS2 OS、从跳过OS生成器380接收的跳过OS SKPOS作为数据DTX2传送到发射器370。
发射器370可以接收数据DTX2和传输时钟CLKTX,并且基于数据DTX2和传输时钟CLKTX来生成数据DTX3。发射器370可以包括串行化器、加扰器等。作为示例,数据DTX2可以是并行数据,并且数据DTX3可以是基于传输时钟CLKTX输出的串行数据。所生成的数据DTX3可以被传送到通过链路连接的另一接口装置。
如上所述,基于所公开技术的实施例的接口装置330a可以基于指示自己的弹性缓冲器的状态的第一缓冲器状态信息IBS1或指示通过链路连接的另一接口装置330a中包括的弹性缓冲器的状态的第二缓冲器状态信息IBS2来确定SSC范围。因此,可以基于链路特性来适应性地确定用于数据传输和接收的SSC范围。
图5A至图5J是示出弹性缓冲器的操作和状态的示图。图5A至图5J示意性地示出被实施为FIFO缓冲器的弹性缓冲器320的存储区域。
在图5A至图5J中,在弹性缓冲器320中的多个区域之中,区分和显示了空区域和存储数据符号的区域。也就是说,将弹性缓冲器320中存储数据符号的区域示出为阴影区域。
参照图5A,示意性地示出空状态的弹性缓冲器320。在这种情况下,弹性缓冲器的指针pt可以指示弹性缓冲器的最右侧的位置。
在图5B至图5F中,示出数据符号被连续输入到弹性缓冲器320的情况。在弹性缓冲器320中实时执行输入和输出。然而,为了便于讨论,在图5B至图5F中,示出仅执行输入而没有输出数据符号的情况下的弹性缓冲器。
参照图5B,将配置数据的第一符号S1输入到弹性缓冲器320。所输入的第一符号S1可以被存储到弹性缓冲器320的多个区域的最右侧。随着第一符号S1被存储,弹性缓冲器的指针pt可以指示从弹性缓冲器的最右侧位置向左移动一个区段的位置。
参照图5C,将配置数据的第二符号S2输入到弹性缓冲器320。所输入的第二符号S2可以存储在弹性缓冲器320的多个区域之中先输入的第一符号S1的左侧区域中。随着第二符号S2被存储,弹性缓冲器的指针pt可以指示从先前指示的位置向左移动一个区段的位置。
参照图5D,将配置数据的第三符号S3输入到弹性缓冲器320。所输入的第三符号S3可以存储在弹性缓冲器320的多个区域之中先输入的第二符号S2的左侧区域中。随着第三符号S3被存储,弹性缓冲器的指针pt可以指示从先前指示的位置向左移动一个区段的位置。
以这种方法,当连续输入数据符号时,可以将符号顺序地存储在弹性缓冲器320的区域中。参照图5E,将配置数据的第l符号Sl输入到弹性缓冲器320。所输入的第l符号Sl可以存储在弹性缓冲器320的多个区域之中先输入的第k符号Sk的左侧区域中。随着第l符号Sl被存储,弹性缓冲器的指针pt可以指示从先前指示的位置向左移动一个区段的位置。
参照图5F,将配置数据的第m符号Sm输入到弹性缓冲器320。所输入的第m符号Sm可以存储在弹性缓冲器320的多个区域之中先输入的第l符号Sl的左侧区域中。随着第m符号Sm被存储,弹性缓冲器的指针pt可以指示从先前指示的位置向左移动一个区段的位置。
在图5F中,数据符号被存储在弹性缓冲器320的所有区域中。因此,弹性缓冲器320处于上溢状态,并且弹性缓冲器的指针pt可以指示弹性缓冲器的最左侧位置。
在图5B至图5F中,示出当仅执行输入而没有输出数据符号时发生的弹性缓冲器的上溢。然而,即使一起执行数据符号的输出和输入,在数据符号的输入频率大于输出频率的情况下,也可能发生弹性缓冲器的上溢。
在图5G至图5J中,示出从弹性缓冲器320连续输出数据符号的情况。参照图5G,输出弹性缓冲器320中存储的数据符号之中首先输入的符号S1。随着第一符号S1被输出,第二至第m符号的存储位置可以分别向右移动一个区段。随着第一符号S1被输出,弹性缓冲器的指针pt可以指示从弹性缓冲器的最左侧位置向右移动一个区段的位置。
参照图5H,输出弹性缓冲器320中存储的数据符号之中首先输入的符号S2。随着第二符号S2被输出,第三至第m符号的存储位置可以分别向右移动一个区段。随着第二符号S2被输出,弹性缓冲器的指针pt可以指示从先前指示的位置向右移动一个区段的位置。以这种方法,当连续输出数据符号时,弹性缓冲器320中存储的数据符号的存储位置可以向右移动一个区段。
参照图5I,输出弹性缓冲器320中存储的数据符号之中的第l符号Sl。随着第l符号Sl被输出,第m符号的存储位置可以向右移动一个区段。随着第l符号Sl被输出,弹性缓冲器的指针pt可以指示从先前指示的位置向右移动一个区段的位置。
最后,参照图5J,输出作为弹性缓冲器320中存储的数据符号之中的最后符号的第m符号Sm。随着第m符号Sm被输出并且弹性缓冲器320的所有区域为空,弹性缓冲器320处于下溢状态。在一些实施方案中,指针pt可以指示弹性缓冲器320的最右侧位置。
图5G至5J示出在仅执行输出而没有输入数据符号的情况下发生的弹性缓冲器的下溢。然而,即使一起执行数据符号的输出和输入,在数据符号的输出频率大于输入频率的情况下,也可能发生弹性缓冲器的下溢。
图6A示出弹性缓冲器的上溢的示例,并且图6B示出弹性缓冲器的下溢的示例。如上所述,当数据符号存储在弹性缓冲器320的所有多个区域中时,弹性缓冲器320处于上溢状态。参照图6A,当弹性缓冲器320处于上溢状态时,指针指示弹性缓冲器320的最左侧位置。
在一些实施方案中,当在弹性缓冲器320的多个区域中没有存储数据符号时,弹性缓冲器320处于下溢状态。参照图6B,当弹性缓冲器320处于下溢状态时,指针指示弹性缓冲器320的最右侧位置。
如图6A和图6B所示,可以基于由弹性缓冲器320的指针所指示的位置来确定弹性缓冲器320当前是处于上溢状态、下溢状态还是正常状态。
图7是示出弹性缓冲器的预上溢极限(POL)和预下溢极限(PUL)的示图。基于所公开技术的实施例,除了弹性缓冲器320的上溢状态和下溢状态之外,还可以定义预上溢状态和预下溢状态。预上溢状态可以意为弹性缓冲器320当前接近上溢状态。预下溢状态可以意为弹性缓冲器320当前接近下溢状态。基于所公开技术的实施例,可以预先确定预上溢极限POL以定义弹性缓冲器320的预上溢状态。在一些实施方案中,基于所公开技术的实施例,可以预先确定预下溢极限PUL以定义弹性缓冲器320的预下溢状态。
图8A示出弹性缓冲器的正常状态的示例,图8B示出弹性缓冲器的预上溢状态的示例,并且图8C示出弹性缓冲器的预下溢状态的示例。
参照图8A,示出正常状态的弹性缓冲器320。当指示最后的数据符号在弹性缓冲器320中存储的区域的指针的位置在预上溢极限POL和预下溢极限PUL之间时,弹性缓冲器320的当前状态变为正常状态。
参照图8B,示出预上溢状态的弹性缓冲器320。当指示最后的数据符号在弹性缓冲器320中存储的区域的指针的位置出现在预上溢极限POL处或在预上溢POL的左侧时,弹性缓冲器320的当前状态变为预上溢状态。当在预上溢状态下持续存储数据符号并且指针的位置到达弹性缓冲器320的最左侧时,弹性缓冲器320的状态可以从预上溢状态切换到上溢状态。
参照图8C,示出预下溢状态的弹性缓冲器320。当指示最后的数据符号在弹性缓冲器320中存储的区域的指针的位置出现在预下溢极限PUL处或在预下溢极限PUL的右侧时,弹性缓冲器的当前状态320变为预下溢状态。当在预下溢状态下持续输出数据符号并且指针的位置到达弹性缓冲器320的最右侧时,弹性缓冲器320的状态可以从预下溢状态切换到下溢状态。
如参照图6A至图8C所描述的,可以通过参考指示最后的数据符号在弹性缓冲器320中存储的区域的指针的位置来确定弹性缓冲器320的当前状态。也就是说,基于弹性缓冲器320中指针所指示的位置,将弹性缓冲器320确定为上溢状态、预上溢状态、正常状态、预下溢状态和下溢状态中的任意一种。
图9是示出基于所公开技术的实施例的操作接口装置的方法的流程图。更具体地,图9示出基于所公开技术的实施例的用于在接口装置之间执行链路初始化操作的流程图。
参照图9,一种操作接口装置的方法可以包括:执行链路均衡(S110);检查SSC模式(S131);当SSC模式是SSC调整模式(S151:是)时,确定最佳SSC范围(S171);并且应用所确定的SSC范围(S191)。
在步骤S110中,执行链路均衡。图9的步骤S110可以与图3的步骤S110基本上相同。因此,省略重复的描述。
在S131处,接口装置可以检查SSC模式。基于所公开技术的实施例,接口装置可以基于SSC模式来适应性地确定SSC范围或使用预定的SSC范围。
在S151处,确定SSC模式是否是“SSC调整模式”。当SSC模式不是“SSC调整模式”(S151:否)时,接口装置可以使用预定的SSC范围。因此,接口装置之间的链路初始化操作结束。
当SSC模式是“SSC调整模式”(S151:是)时,接口装置可以适应性地确定SSC范围。因此,该方法进行到步骤S171以确定最佳SSC范围。
在S171处,确定最佳SSC范围。更具体地,在步骤S171中,可以确定用于扩频时钟(SSC)的时钟频率范围,即“SSC范围”。在基于所公开技术的实施例的接口装置及其操作方法中,可以基于接口装置之间的链路的特性来确定最佳SSC范围,而不是使用固定的SSC范围。因此,可以在将EMI特性保持在一定期望水平的同时提高传输和接收性能。稍后将参照图10至图13描述确定最佳SSC范围的详细方法。
在S191处,可以应用所确定的SSC范围。因此,可以完成链路初始化操作。在随后的数据传输和接收操作中,接口装置可以将所确定的SSC范围应用于扩频时钟。
图10是示出图9的步骤S171的示例的流程图。参照图10,为了确定最佳SSC范围,接口装置首先基于基本频率来初始化SSC范围(S210)。在步骤S210中,初始化后的SSC范围可以对应于相对较窄的频率范围。基本频率可以用作确定是否应用SSC范围和/或应用哪个SSC范围的参考。当以向下扩展方法实施SSC时,基本频率可以是SSC范围的上限。当以中心扩展方法实施SSC时,基本频率可以是SSC范围的中值。当以向上扩展方法实施SSC时,基本频率可以是SSC范围的下限。
在S220处,将SSC范围调整步长值。在实施例中,在步骤S220中,可以将SSC范围扩大步长值。此后,在步骤S230中,接口装置300a可以基于调整后的SSC范围来传输和接收TS1有序集TS1 OS和TS2有序集TS2 OS。也就是说,接口装置300a可以基于调整后的SSC范围向另一接口装置传输TS1有序集TS1 OS和TS2有序集TS2 OS,以及从另一接口装置接收TS1有序集TS1 OS和TS2有序集TS2 OS。
在传输和接收TS1有序集TS1 OS和TS2有序集TS2 OS的进程中,接口装置300a确定是否在接口装置300a的弹性缓冲器320中或在另一接口装置的弹性缓冲器中生成了预下溢或预上溢。
可以通过图4所示的缓冲器状态监测器330来确定是否在接口装置300a的弹性缓冲器320中生成了预下溢或预上溢。缓冲器状态监测器330接收弹性缓冲器320的指针信息IPT,并且基于指针信息IPT确定弹性缓冲器320的当前状态。如参照图6A至图8C所述,缓冲器状态监测器330可以基于弹性缓冲器320的指针所指示的位置,确定弹性缓冲器320当前处于正常状态、预上溢状态、预下溢状态、上溢状态还是下溢状态。当在弹性缓冲器320中生成了预上溢或预下溢时,缓冲器状态监测器可以生成指示生成了预上溢或预下溢的第一缓冲器状态信息IBS1,并且将第一缓冲器状态信息IBS1传送到SSC控制器340。
可以通过第二缓冲器状态信息IBS2确定是否在通过链路与接口装置300a通信的另一接口装置的弹性缓冲器中生成了预下溢或预上溢。当在另一接口装置的弹性缓冲器中生成了预下溢或预上溢时,相应的接口装置可以将指示生成了预上溢或预下溢的信息作为数据DRX1传送到接口装置300a。数据DRX1被接收器310转换成数据DRX2,并且被传送到弹性缓冲器320。在数据DRX2之中,指示在另一接口装置的弹性缓冲器中生成了预下溢或预上溢的第二缓冲器状态信息IBS2可以被提取并传送到SSC控制器340。
因此,SSC控制器340可以基于第一缓冲器状态信息IBS1来确定是否在弹性缓冲器320中生成了预上溢或预下溢。在一些实施方案中,SSC控制器340可以基于第二缓冲器状态信息IBS2来确定是否在连接到接口装置300a的另一接口装置的弹性缓冲器中生成了预上溢或预下溢。
当未在接口装置300a的弹性缓冲器320或另一接口装置的弹性缓冲器中生成预下溢或预上溢(S240:否)时,该方法返回到步骤S220,将SSC范围重新调整步长值。此后,接口装置300a可以基于调整后的SSC范围来传输和接收TS1有序集TS1 OS和TS2有序集TS2 OS(S230)。重复步骤S220、S230和S240,直到在接口装置300a的弹性缓冲器320或另一接口装置的弹性缓冲器中生成预下溢或预上溢。
当在接口装置300a的弹性缓冲器320或另一接口装置的弹性缓冲器中生成预下溢或预上溢(S240:是)时,在步骤S250中将当前的SSC范围确定为最佳SSC范围。因此,根据基于所公开技术的实施例的接口装置及其操作方法,可以通过适应性地改变SSC范围直到生成预上溢或预下溢来确定最佳SSC范围。
图11是示出图10所示的步骤的示例的梯形图。参照图11,示出下游端口和上游端口之间的数据传输和接收。例如,下游端口可以是根复合体RC。在一些实施方案中,上游端口可以是终端EP。在下文中,将一起参照图10和图11进行描述。
第一数据DATA1从下游端口传输到上游端口,并且第二数据DATA2从上游端口传输到下游端口(S230)。第一数据DATA1和第二数据DATA2中的每一个可以包括TS1有序集TS1OS和TS2有序集TS2 OS中的至少一个。
根复合体RC和终端EP中的每一个确定是否生成了预下溢或预上溢(S240)。因为未生成预下溢或预上溢,所以将SSC范围调整步长值Δf(S220)。基于调整后的SSC范围,将第三数据DATA3从下游端口传输到上游端口,并且将第四数据DATA4从上游端口传输到下游端口(S230)。此后,根复合体RC和终端EP中的每一个确定是否生成了预下溢或预上溢(S240)。因为未生成预下溢或预上溢,所以将SSC范围调整步长值Δf(S220)。重复这样的进程,直到生成预下溢或预上溢。
在一些实施方案中,第m数据DATAm从下游端口传输到上游端口,并且第n数据DATAn从上游端口传输到下游端口(S230)。
在根复合体RC的情况下,在接收第n数据DATAn的同时,在其弹性缓冲器中未生成预上溢或预下溢。因此,可以将SSC范围调整步长值Δf(S220)。另一方面,在终端EP的情况下,随着接收到第m数据DATAm,在弹性缓冲器中生成了预上溢。因此,终端EP将当前SSC范围确定为最佳SSC范围。所确定的最佳SSC范围可以被设置为以后用于数据通信的SSC范围。
随着在终端EP的弹性缓冲器中生成预上溢,终端EP将指示在其弹性缓冲器中生成了预上溢的预上溢信息INFPO传送到根复合体RC。随着根复合体RC接收到预上溢信息INFPO,根复合体RC可以将SSC范围调整负的步长值-Δf。这是为了对根复合体RC就在之前将SSC范围调整步长值Δf进行校正,以与终端的SSC范围匹配。此后,根复合体RC将当前SSC范围确定为最佳SSC范围。
图12是示出图10所示的步骤的曲线图。在图12中,示出向下扩展方法的SSC范围。参照图12,示出具有基本频率fREF的基本时钟CLKREF。在一些实施方案中,示出指示初始SSC范围的下限的初始下限频率fLL0。在图10的步骤S210中,基于基本频率fREF和初始下限频率fLL0来初始化SSC范围。可以将初始SSC范围定义为区间[fLL0,fREF]。
在步骤S220中,将SSC范围调整步长值Δf。参照图12,与初始下限频率fLL0在负方向上相距步长值Δf的位置的第一下限频率fLL1变为调整后的SSC范围的下限。因此,调整后的SSC范围可以对应于区间[fLL1,fREF]。当作为基于调整后的SSC范围[fLL1,fREF]来传输和接收数据的结果而未生成预上溢或预下溢(S240:否)时,将SSC范围再次调整步长值Δf。因此,SSC范围改变为区间[fLL2,fREF]。重复这样的进程,直到在根复合体RC或终端EP的弹性缓冲器中生成预上溢或预下溢。
作为重复n次将SSC范围调整步长值Δf的结果,可以基于调整后的SSC范围[fLLn,fREF]进行数据传输和接收(S230)。图12示出作为基于作为调整后的SSC范围的区间[fLLn,fREF]执行数据传输和接收(S230)的结果而生成预上溢或预下溢的情况。因此,可以将作为当前SSC范围的区间[fLLn,fREF]确定为最佳SSC范围。
图13是示出图10所示的步骤的另一示例的梯形图。参照图13,类似于图11,示出下游端口和上游端口之间的数据传输和接收。例如,下游端口可以是根复合体RC。在一些实施方案中,如将一起参照图10和图13所讨论的,上游端口可以是终端EP。
第一数据DATA1从下游端口传输到上游端口,并且第二数据DATA2从上游端口传输到下游端口(S230)。第一数据DATA1和第二数据DATA2中的每一个可以包括TS1有序集TS1OS和TS2有序集TS2 OS中的至少一个。
当即使接收到第一数据DATA1,在终端EP的弹性缓冲器中也未生成预上溢或预下溢时,正常状态信息INFNM从上游端口传输到下游端口。正常状态信息INFNM是指示相应接口装置的弹性缓冲器处于正常状态的信息。
在一些实施方案中,当即使接收到第二数据DATA2,在根复合体RC的弹性缓冲器中也未生成预上溢或预下溢时,正常状态信息INFNM从下游端口传输到上游端口。
根复合体RC和终端EP中的每一个确定是否生成预下溢或预上溢(S240)。因为根复合体RC和终端EP中的每一个的弹性缓冲器处于正常状态,并且接收到指示对方接口装置的弹性缓冲器处于正常状态的正常状态信息INFNM,所以根复合体RC和终端EP将SSC范围调整步长值Δf(S220)。基于调整后的SSC范围,第三数据DATA3从下游端口传输到上游端口,并且第四数据DATA4从上游端口传输到下游端口(S230)。因为尽管接收到第三和第四数据DATA3和DATA4,弹性缓冲器仍处于正常状态,所以根复合体RC和终端EP中的每一个将正常状态信息INFNM传送到对方接口装置。此后,根复合体RC和终端EP将SSC范围调整步长值Δf(S220)。重复这样的进程,直到生成预下溢或预上溢。
第m数据DATAm从下游端口传输到上游端口,并且第n数据DATAn从上游端口传输到下游端口(S230)。
在根复合体RC的情况下,在接收第n数据DATAn的同时,在其弹性缓冲器中未生成预上溢或预下溢。因此,正常状态信息INFNM传送到终端EP。
在终端EP的情况下,随着接收第m数据DATAm,在弹性缓冲器中生成了预下溢。因此,尽管接收到正常状态信息INFNM,终端EP仍将当前SSC范围确定为最佳SSC范围。所确定的最佳SSC范围可以被设置为以后用于数据通信的SSC范围。
随着在终端EP的弹性缓冲器中生成预下溢,终端EP将指示在其弹性缓冲器中生成了预下溢的预下溢信息INFPU传送到根复合体RC。随着根复合体RC接收到预下溢信息INFPU,根复合体RC将当前SSC范围确定为最佳SSC范围。
在图11的实施例的情况下,当基于数据接收而未在其弹性缓冲器中生成预上溢或预下溢时,根复合体RC或终端EP首先将SSC范围调整步长值Δf。当在调整了SSC范围的状态下从对方接收到预上溢信息INFPO或预下溢信息INFPU时,将调整后的SSC范围再次重新调整负的步长值-Δf。
另一方面,在图13的实施例的情况下,即使基于数据接收而未在其弹性缓冲器中生成预上溢或预下溢,根复合体RC或终端EP也会在从对方接收正常状态信息INFNM之后才调整SSC范围。因此,不会发生如在图11的实施例中那样需要将SSC范围调整负的步长值-Δf的情况。
图10至图13示出在将SSC范围从初始SSC范围开始增加步长值的同时确定最佳SSC范围的实施例。然而,所公开技术不限于此,并且在将SSC范围从初始SSC范围减小步长值的同时确定最佳SSC范围的实施例也是可能的。在一些实施方案中,图12示出基于向下扩展方法来确定最佳SSC范围的实施例,但是,所公开技术不限于此。也就是说,可以基于中心扩展方法或向上扩展方法来确定最佳SSC范围。
图14是示出基于所公开技术的另一实施例的接口装置300b的框图。参照图14,接口装置300b可以包括接收器311、弹性缓冲器321、缓冲器状态监测器331、SSC控制器341、传输时钟生成器351、MUX 356和361、TS1/TS2生成器366、发射器371和跳过OS生成器381。
接收器311通过链路接收数据DRX1。接收器311可以包括解串器、解扰器、时钟数据恢复装置(CDR)等。接收器311可以基于数据DRX1生成和输出数据DRX2。作为示例,数据DRX1可以是串行数据,并且数据DRX2可以是并行数据。
数据DRX2可以传送到弹性缓冲器321。弹性缓冲器321可以临时存储数据DRX2并且将数据DRX3传送到接口装置300b的内核(未示出)。
在一些实施方案中,弹性缓冲器321的指针信息IPT可以传送到缓冲器状态监测器331。弹性缓冲器321的指针信息IPT可以用于指示最后的数据在以FIFO形式实施的弹性缓冲器321中的位置。可以基于指针信息IPT确定弹性缓冲器321的状态,因此可以生成第一缓冲器状态信息IBS1。第一缓冲器状态信息IBS1用于指示接口装置300b中包括的弹性缓冲器321的状态。上面参照图5A至图8C描述了基于指针信息IPT确定弹性缓冲器321的状态。
在一些实施方案中,第二缓冲器状态信息IBS2可以从弹性缓冲器321传送到跳过OS生成器381。第二缓冲器状态信息IBS2可以包括关于与接口装置300b通信的另一接口装置的弹性缓冲器的状态的信息。在这种情况下,第二缓冲器状态信息IBS2可以被接收器311作为数据DRX1接收。例如,当图14所示的接口装置300b是图2的接口装置A 201时,第二缓冲器状态信息IBS2可以包括关于接口装置B 203中包括的弹性缓冲器的状态的信息。在这种情况下,第二缓冲器状态信息IBS2可以从接口装置B 203的发射器TX传送到接口装置A的接收器RX。
在一些实施方案中,TS1/TS2生成器366可以基于第一缓冲器状态信息IBS1生成TS1有序集TS1 OS和TS2有序集TS2 OS。所生成的TS1 OS和TS2 OS可以传送到MUX 361。TS1 OS或TS2 OS可以传送到另一接口装置,并且相应的接口装置可以调整该接口装置生成跳过OS的间隔。
跳过OS生成器381可以接收第一缓冲器状态信息IBS1和第二缓冲器状态信息IBS2,并且确定生成跳过OS SKPOS和将其插入在传输数据之间的间隔。
SSC控制器341生成SSC控制信号CTRLSSC。传输时钟生成器351从SSC控制器341接收SSC控制信号CTRLSSC。另外,传输时钟生成器351接收参考时钟CLKREF。可以从MUX 356接收参考时钟CLKREF。MUX 356可以选择第一时钟CLK1和第二时钟CLK2中的任意一个,并且将所选择的时钟作为参考时钟CLKREF传送到传输时钟生成器351。作为示例,第一时钟CLK1可以是从接口装置300b的外部接收的参考时钟。在这种情况下,第一时钟CLK1可以是从主机接收的100MHz参考时钟。作为示例,第二时钟CLK2可以是从接口装置300b的内部时钟生成器(未示出)生成的参考时钟。在这种情况下,第二时钟CLK2可以是用于具有独立SSC的分离参考时钟(SRIS)模式或不具有SSC的分离参考时钟(SRNS)模式的内部参考时钟。基于SSC控制信号CTRLSSC,传输时钟生成器351可以生成其中频谱基于参考时钟CLKREF被扩展的传输时钟CLKTX。此时,可以由SSC控制器341确定传输时钟CLKTX的SSC范围。传输时钟CLKTX可以传输到发射器371。
在一些实施方案中,缓冲器状态监测器331可以将第一缓冲器状态信息IBS1传送到MUX 361。除了第一缓冲器状态信息IBS1之外,MUX 361还可以从接口装置300b的内核(未示出)接收数据DTX1。另外,MUX 361可以从跳过OS生成器381接收跳过OS SKPOS。另外,MUX 361可以从TS1/TS2生成器366接收TS1 OS或TS2 OS。MUX 361可以多路传输第一缓冲器状态信息IBS1、数据DTX1、TS1 OS、TS2 OS和跳过OS SKPOS,并且将数据DTX2传输到发射器371。也就是说,除从内核传送的数据DTX1之外,还可以将从缓冲器状态监测器331接收的第一缓冲器状态信息IBS1、从TS1/TS2生成器366接收的TS1 OS或TS2 OS、从跳过OS生成器381接收的跳过OS SKPOS作为数据DTX2传送到发射器371。
发射器371可以接收数据DTX2和传输时钟CLKTX,并且基于数据DTX2和传输时钟CLKTX来生成数据DTX3。发射器371可以包括串行化器、加扰器等。作为示例,数据DTX2可以是并行数据,并且数据DTX3可以是基于传输时钟CLKTX输出的串行数据。所生成的数据DTX3可以传送到通过链路连接的另一接口装置。
如上所述,基于所公开技术的实施例的接口装置330b可以基于指示自己的弹性缓冲器的状态的第一缓冲器状态信息IBS1或指示通过链路连接的另一接口装置330b中包括的弹性缓冲器的状态的第二缓冲器状态信息IBS2来确定插入跳过OS的间隔。因此,可以基于链路特性来适应性地确定用于数据传输和接收的跳过OS的插入间隔。
图15是示出基于所公开技术的另一实施例的操作接口装置的方法的流程图。更具体地,图15示出基于所公开技术的实施例的用于在接口装置之间执行链路初始化操作的流程图。
参照图15,一种操作接口装置的方法可以包括:执行链路均衡(S110);检查跳过OS模式(S133);当跳过OS模式是跳过OS调整模式(S153:是)时,确定最佳跳过OS间隔(S173);并且应用所确定的跳过OS间隔(S193)。
在步骤S110中,执行链路均衡。图15的步骤S110可以与图3和图9的步骤S110基本相同。因此,省略重复的描述。
在步骤S133中,接口装置可以检查跳过OS模式。基于所公开技术的实施例,接口装置可以基于跳过OS模式适应性地确定跳过OS间隔或使用预定的跳过OS间隔。
在S153处,确定跳过OS模式是否是跳过OS调整模式。当跳过OS模式不是跳过OS调整模式(S153:否)时,接口装置可以使用预定的跳过OS间隔。因此,接口装置之间的链路初始化操作结束。
当跳过OS模式是跳过OS调整模式(S153:是)时,接口装置可以适应性地确定跳过OS间隔。因此,该方法进行到步骤S173以确定最佳跳过OS间隔。
在S173处,确定最佳跳过OS间隔。更具体地,在步骤S173中,可以确定将跳过OS插入到输出数据中的最佳间隔。根据基于所公开技术的实施例的接口装置及其操作方法,可以基于接口装置之间的链路特性来确定最佳跳过OS间隔,而不是使用固定的跳过OS间隔。下面将参照图16至图19D讨论确定最佳跳过OS间隔的详细方法。
在S193处,可以应用所确定的跳过OS间隔。因此,可以完成链路初始化操作。在随后的数据传输和接收操作中,接口装置可以基于所确定的跳过OS间隔将跳过OS插入到输出数据中。
图16是示出图15的步骤S173的示例的流程图。参照图16,为了确定最佳跳过OS间隔,接口装置首先初始化跳过OS间隔(S310)。在步骤S310中,初始化后的跳过OS间隔可以具有相对较大的值。因此,可以在初始阶段将跳过OS以较低频率插入到输出数据中。
在步骤S320中,将跳过OS间隔调整步长值。在实施例中,在步骤S310中,可以将跳过OS间隔增加步长值。此后,在步骤S330中,接口装置300b可以基于调整后的跳过OS间隔来传输和接收TS1有序集TS1 OS和TS2有序集TS2 OS。也就是说,接口装置300b可以基于调整后的跳过OS间隔,向另一接口装置传输TS1有序集TS1 OS和TS2有序集TS2 OS,以及从另一接口装置接收TS1有序集TS1 OS和TS2有序集TS2 OS。
在传输和接收TS1有序集TS1 OS和TS2有序集TS2 OS的进程中,接口装置300b确定是否在接口装置300b的弹性缓冲器321中或在另一接口装置的弹性缓冲器中生成了预下溢或预上溢。
可以通过图14所示的缓冲器状态监测器331来确定是否在接口装置300b的弹性缓冲器321中生成了预下溢或预上溢。缓冲器状态监测器331接收弹性缓冲器321的指针信息IPT,并且基于指针信息IPT确定弹性缓冲器321的当前状态。如参照图6A至图8C所述,缓冲器状态监测器331可以基于弹性缓冲器321的指针所指示的位置,确定弹性缓冲器321当前处于正常状态、预上溢状态、预下溢状态、上溢状态还是下溢状态。当在弹性缓冲器321中生成预上溢或预下溢时,缓冲器状态监测器可以生成指示生成了预上溢或预下溢的第一缓冲器状态信息IBS1,并且将第一缓冲器状态信息IBS1传送到跳过OS生成器381。
可以通过第二缓冲器状态信息IBS2确定是否在通过链路与接口装置300b通信的另一接口装置的弹性缓冲器中生成预下溢或预上溢。当在另一接口装置的弹性缓冲器中生成预下溢或预上溢时,相应的接口装置可以将指示生成了预上溢或预下溢的信息作为数据DRX1传送到接口装置300b。数据DRX1被接收器311转换成数据DRX2,并且被传送到弹性缓冲器321。在数据DRX2之中,指示在另一接口装置的弹性缓冲器中生成了预下溢或预上溢的第二缓冲器状态信息IBS2可以被提取并传送到跳过OS生成器381。
因此,跳过OS生成器381可以基于第一缓冲器状态信息IBS1来确定是否在弹性缓冲器321中生成了预上溢或预下溢。在一些实施方案中,跳过OS生成器381可以基于第二缓冲器状态信息IBS2来确定是否在连接到接口装置300b的另一接口装置的弹性缓冲器中生成了预上溢或预下溢。
当未在接口装置300b的弹性缓冲器321或另一接口装置的弹性缓冲器中生成预下溢或预上溢(S340:否)时,该方法返回到步骤S320,以将跳过OS间隔范围重新改变步长值。此后,接口装置300b可以基于调整后的跳过OS间隔来传输和接收TS1有序集TS1 OS和TS2有序集TS2 OS(S330)。重复步骤S320、S330和S340,直到在接口装置300b的弹性缓冲器321或另一接口装置的弹性缓冲器中生成预下溢或预上溢。
当在接口装置300b的弹性缓冲器321或另一接口装置的弹性缓冲器中生成预下溢或预上溢(S340:是)时,在步骤S350中将当前跳过OS间隔确定为最佳跳过OS间隔。因此,根据基于所公开技术的实施例的接口装置及其操作方法,可以通过适应性地改变跳过OS间隔直到生成预上溢或预下溢来确定最佳跳过OS间隔。
图17是示出图16所示的步骤的示例的梯形图。参照图17,示出下游端口和上游端口之间的数据传输和接收。例如,下游端口可以是根复合体RC。在一些实施方案中,如将在下面参照图16和图17讨论的,上游端口可以是终端EP。
第一数据DATA1从下游端口传输到上游端口,并且第二数据DATA2从上游端口传输到下游端口(S330)。第一数据DATA1和第二数据DATA2中的每一个可以包括TS1有序集TS1OS和TS2有序集TS2 OS中的至少一个。
根复合体RC和终端EP中的每一个确定是否生成预下溢或预上溢(S340)。因为未生成预下溢或预上溢,所以将跳过OS间隔调整步长值Δd(S320)。也就是说,将跳过OS间隔增加步长值Δd。基于跳过OS间隔,第三数据DATA3从下游端口传输到上游端口,并且第四数据DATA4从上游端口传输到下游端口(S330)。此后,根复合体RC和终端EP中的每一个确定是否生成预下溢或预上溢(S340)。因为未生成预下溢或预上溢,所以将跳过OS间隔增加步长值Δd(S320)。重复这样的进程,直到生成预下溢或预上溢。
第m数据DATAm从下游端口传输到上游端口,并且第n数据DATAn从上游端口传输到下游端口(S330)。
在根复合体RC的情况下,在接收第n数据DATAn的同时,在其弹性缓冲器中未生成预上溢或预下溢。因此,可以将跳过OS间隔增加步长值Δd(S320)。另一方面,在终端EP的情况下,随着接收到第m数据DATAm,在弹性缓冲器中生成了预上溢。因此,终端EP将当前跳过OS间隔确定为最佳跳过OS间隔。所确定的最佳跳过OS间隔可以被设置为以后用于数据通信的跳过OS间隔。
随着在终端EP的弹性缓冲器中生成了预上溢,终端EP将指示在其弹性缓冲器中生成了预上溢的预上溢信息INFPO传送到根复合体RC。随着根复合体RC接收到预上溢信息INFPO,根复合体RC可以将跳过OS间隔减小步长值Δd。这是为了对根复合体RC就在之前将跳过OS间隔增加步长值Δd进行校正,以与终端的跳过OS间隔匹配。此后,根复合体RC将当前跳过OS间隔确定为最佳跳过OS间隔。
图18是用于描述图16所示的步骤的另一实施例的梯形图。参照图18,类似于图17,示出下游端口和上游端口之间的数据传输和接收。例如,下游端口可以是根复合体RC。在一些实施方案中,上游端口可以是终端EP。在下文中,将一起参照图16和图18进行描述。
第一数据DATA1从下游端口传输到上游端口,并且第二数据DATA2从上游端口传输到下游端口(S330)。第一数据DATA1和第二数据DATA2中的每一个可以包括TS1有序集TS1OS和TS2有序集TS2 OS中的至少一个。
当即使接收到第一数据DATA1,在终端EP的弹性缓冲器中也未生成预上溢或预下溢时,正常状态信息INFNM从上游端口传输到下游端口。正常状态信息INFNM用于指示相应接口装置的弹性缓冲器处于正常状态。
在一些实施方案中,当即使接收到第二数据DATA2,在根复合体RC的弹性缓冲器中也未生成预上溢或预下溢时,正常状态信息INFNM从下游端口传输到上游端口。
根复合体RC和终端EP中的每一个确定是否生成预下溢或预上溢(S340)。因为根复合体RC和终端EP中的每一个的弹性缓冲器处于正常状态,并且接收到指示对方接口装置的弹性缓冲器处于正常状态的正常状态信息INFNM,所以根复合体RC和终端EP将跳过OS间隔增加步长值Δd(S320)。基于调整后的跳过OS间隔,第三数据DATA3从下游端口传输到上游端口,并且第四数据DATA4从上游端口传输到下游端口(S330)。因为尽管接收到第三和第四数据DATA3和DATA4,弹性缓冲器仍处于正常状态,所以根复合体RC和终端EP中的每一个将正常状态信息INFNM传送到对方接口装置。此后,根复合体RC和终端EP将跳过OS间隔增加步长值Δd(S320)。重复这样的进程,直到生成预下溢或预上溢。
第m数据DATAm从下游端口传输到上游端口,并且第n数据DATAn从上游端口传输到下游端口(S330)。
在根复合体RC的情况下,在接收第n数据DATAn的同时,在其弹性缓冲器中未生成预上溢或预下溢。因此,将正常状态信息INFNM传送到终端EP。
在终端EP的情况下,随着接收第m数据DATAm,在弹性缓冲器中生成了预下溢。因此,尽管接收到正常状态信息INFNM,终端EP仍将当前跳过OS间隔确定为最佳跳过OS间隔。所确定的跳过OS间隔可以被设置为以后用于数据通信的跳过OS间隔。
随着在终端EP的弹性缓冲器中生成预下溢,终端EP将指示在其弹性缓冲器中生成了预下溢的预下溢信息INFPU传送到根复合体RC。随着根复合体RC接收到预下溢信息INFPU,根复合体RC将当前跳过OS间隔确定为最佳跳过OS间隔。
在图17的实施例的情况下,当基于数据接收而未在其弹性缓冲器中生成预上溢或预下溢时,根复合体RC或终端EP首先将跳过OS间隔增加步长值Δd。当在增加了跳过OS间隔的状态下从对方接收到预上溢信息INFPO或预下溢信息INFPU时,将调整后的跳过OS间隔重新减小步长值Δd。
另一方面,在图18的实施例的情况下,即使基于数据接收而未在其弹性缓冲器中生成预溢出或预下溢,根复合体RC或终端EP也会在从对方接收正常状态信息INFNM之后才调整跳过OS间隔。因此,不会发生如图17的实施例中那样需要将跳过OS间隔重新减小步长值Δd的情况。
图19A至图19D是示出图16所示步骤的曲线图。参照图19A,示出通过基于初始间隔D0插入跳过OS来传输数据的曲线图。如图19A所示,以每个初始间隔D0插入跳过OS SKPOS。
如图19A所示,当在通过基于初始间隔D0插入跳过OS来传输和接收数据的进程中未生成预上溢或预下溢时,如图19B所示,将跳过OS间隔增加步长值Δd。因此,以每个调整后的跳过OS间隔D1插入跳过OS。
如图19B所示,当在通过基于调整后的间隔D1插入跳过OS来传输和接收数据的进程中未生成预上溢或预下溢时,如图19C所示,将跳过OS间隔再次增加步长值Δd。因此,以每个调整后的跳过OS间隔D2插入跳过OS。
如图19C所示,当在通过基于调整后的间隔D2插入跳过OS来传输和接收数据的进程中未生成预上溢或预下溢时,如图19D所示,将跳过OS间隔再次增加步长值Δd。因此,以每个调整后的跳过OS间隔D3插入跳过OS。当作为通过以每个调整后的跳过OS间隔D3插入跳过OS来传输和接收数据的结果生成预上溢或预下溢时,当前跳过OS间隔D3被确定为最佳跳过OS间隔。
图16至图19D示出在将跳过OS间隔从初始跳过OS间隔开始增加步长值的同时确定最佳跳过OS间隔的实施例。然而,所公开技术不限于此,并且在将跳过OS间隔从初始跳过OS间隔开始降低步长值的同时确定最佳跳过OS间隔的实施例也是可能的。
本说明书和附图中公开的所公开技术的实施例仅是用于容易地描述所公开技术的技术内容并帮助理解所公开技术的特定示例,并且不限制所公开技术的范围。对于所公开技术所属领域的技术人员显而易见的是,除了本文所公开的实施例之外,还可以基于所公开技术的技术精神进行其他修改。
Claims (20)
1.一种操作接口装置的方法,所述接口装置包括第一缓冲器并且与包括第二缓冲器的另一接口装置通信,所述方法包括:
初始化与用于所述接口装置的数据传输或接收的时钟信号相关联的一个或多个参数;
检查所述接口装置是否处于用于调整所述一个或多个参数的预定模式;
在确定所述接口装置处于所述预定模式时,基于所述第一缓冲器或所述第二缓冲器被数据填充的程度,调整与所述接口装置的所述时钟信号相关联的所述一个或多个参数;并且
基于与所述时钟信号相关联的所调整后的一个或多个参数执行所述数据传输或接收。
2.根据权利要求1所述的方法,其中调整所述一个或多个参数包括:调整扩频时钟方案的时钟频率范围。
3.根据权利要求2所述的方法,其中调整所述扩频时钟方案的所述时钟频率范围包括:
基于基本频率初始化所述时钟频率范围;
将所述时钟频率范围调整预定步长值;
基于所调整后的时钟频率范围来执行所述数据传输或接收;并且
确定在所述数据传输或接收期间是否在所述第一缓冲器和所述第二缓冲器中的至少一个中生成了预下溢或预上溢。
4.根据权利要求3所述的方法,进一步包括:
在确定在所述数据传输或接收期间在所述第一缓冲器或所述第二缓冲器中生成了所述预下溢或所述预上溢时,选择当前应用的时钟频率范围作为所述扩频时钟方案的所述时钟频率范围。
5.根据权利要求3所述的方法,进一步包括:
在确定在所述数据传输或接收期间在所述第一缓冲器或所述第二缓冲器中的至少一个之中既没有生成所述预下溢也没有生成所述预上溢时,将所述时钟频率范围重新调整所述步长值;
基于所调整后的时钟频率范围执行数据传输或接收中的至少一个;并且
基于所述数据传输或接收,确定是否在所述第一缓冲器和所述第二缓冲器中的至少一个中生成了所述预下溢或所述预上溢。
6.根据权利要求3所述的方法,其中将所述时钟频率范围调整所述步长值包括:将所述时钟频率范围增加所述步长值。
7.根据权利要求1所述的方法,其中调整所述一个或多个参数包括:确定用于将跳过有序集插入到传输数据中的间隔。
8.根据权利要求7所述的方法,其中确定用于将所述跳过有序集插入到所述传输数据中的所述间隔包括:
初始化用于插入所述跳过有序集的所述间隔;
将所述间隔调整预定步长值;
基于所调整后的间隔来执行包括所述跳过有序集的所述数据传输或接收;并且
基于所述数据传输或接收,确定是否在所述第一缓冲器和所述第二缓冲器中的至少一个中生成了预下溢或预上溢。
9.根据权利要求8所述的方法,进一步包括:
在确定在所述第一缓冲器或所述第二缓冲器中的至少一个中生成了所述预下溢或所述预上溢时,选择当前间隔作为用于插入所述跳过有序集的所述间隔。
10.根据权利要求9所述的方法,其中将所述间隔调整所述预定步长值包括:将所述间隔增加所述预定步长值。
11.一种操作接口装置的方法,所述接口装置包括第一缓冲器并且与包括第二缓冲器的另一接口装置通信,所述方法包括:
初始化与用于所述接口装置的数据传输或接收的时钟信号相关联的一个或多个参数;
将所述一个或多个参数调整步长值;
基于所调整后的一个或多个参数,执行与同所述接口装置通信的所述另一接口装置的数据的传输或接收中的至少一个;并且
基于所述数据的所述传输或接收,确定是否在所述第一缓冲器和所述另一接口装置中包括的所述第二缓冲器中的至少一个中生成了预下溢或预上溢。
12.根据权利要求11所述的方法,进一步包括:
在确定在所述第一缓冲器和所述第二缓冲器中的至少一个中生成了所述预下溢或所述预上溢时,选择当前的一个或多个参数作为最佳传输参数。
13.根据权利要求11所述的方法,进一步包括:
在确定在所述数据传输或接收期间在所述第一缓冲器或所述第二缓冲器中的至少一个中既没有生成所述预下溢也没有生成所述预上溢时,将所述一个或多个参数重新调整所述步长值;
基于所调整后的一个或多个参数,执行与所述另一接口装置的数据的传输或接收中的至少一个;并且
基于所述数据的所述传输或接收,确定是否在所述第一缓冲器或所述第二缓冲器中的至少一个中生成了所述预下溢或所述预上溢。
14.一种接口装置,包括:
接收器,接收数据;
缓冲器,与所述接收器通信并且存储所接收的数据;
缓冲器状态监测器,与所述缓冲器通信并且监测所述缓冲器的状态;
跳过有序集生成器,生成待插入到传输数据中的跳过有序集;
发射器,与所述跳过有序集生成器通信并且输出所述传输数据和所述跳过有序集;
传输时钟生成器,生成传输时钟;以及
扩频时钟控制器,控制所述传输时钟生成器并且控制扩频时钟方案的时钟频率,
其中基于所述缓冲器的状态以及与所述接口装置通信的另一接口装置中包括的另一缓冲器的状态,确定所述扩频时钟方案的时钟频率范围或生成所述跳过有序集的间隔中的至少一个。
15.根据权利要求14所述的接口装置,其中:
所述缓冲器状态监测器将指示所述缓冲器的状态的第一状态信息传送到所述扩频时钟控制器;
所述缓冲器将指示所述另一接口装置中包括的所述另一缓冲器的状态的第二状态信息传送到所述扩频时钟控制器;并且
所述扩频时钟控制器基于所述第一状态信息和所述第二状态信息来确定所述扩频时钟方案的所述时钟频率范围。
16.根据权利要求15所述的接口装置,其中:
所述扩频时钟控制器基于基本频率来初始化所述时钟频率范围,并且将所述时钟频率范围调整步长值;
所述发射器基于所调整后的时钟频率范围传输数据,
所述接收器从所述另一接口装置接收数据,并且
所述扩频时钟控制器根据基于所述数据的传输和接收而生成的所述第一状态信息和所述第二状态信息,确定是否在所述缓冲器或所述另一缓冲器中生成了预下溢或预上溢。
17.根据权利要求16所述的接口装置,其中当在所述缓冲器或所述另一缓冲器中生成了所述预下溢或所述预上溢时,所述扩频时钟控制器将当前时钟频率范围确定为最佳时钟频率范围。
18.根据权利要求16所述的接口装置,其中当在所述缓冲器或所述另一缓冲器中未生成所述预下溢或所述预上溢时,
所述扩频时钟控制器将所述时钟频率范围重新调整所述步长值,
所述发射器基于所重新调整后的时钟频率范围来重新传输数据,
所述接收器从所述另一接口装置重新接收数据,并且
所述扩频时钟控制器根据基于所述数据的传输和接收而生成的所述第一状态信息和所述第二状态信息,确定是否在所述缓冲器或所述另一缓冲器中生成了所述预下溢或所述预上溢。
19.根据权利要求14所述的接口装置,其中所述缓冲器状态监测器将指示所述缓冲器的状态的第一状态信息传送到所述跳过有序集生成器,
所述缓冲器将指示所述另一接口装置中包括的所述另一缓冲器的状态的第二状态信息传送到所述跳过有序集生成器,并且
所述跳过有序集生成器基于所述第一状态信息和所述第二状态信息来确定生成所述跳过有序集的间隔。
20.根据权利要求19所述的接口装置,其中所述跳过有序集生成器初始化所述间隔并且将所述间隔调整步长值,
所述发射器传输包括基于所调整后的间隔而生成的所述跳过有序集的数据,
所述接收器从所述另一接口装置接收数据,并且
所述跳过有序集生成器根据基于所述数据的传输和接收而生成的所述第一状态信息和所述第二状态信息,确定是否在所述缓冲器或所述另一缓冲器中生成了预下溢或预上溢。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200073157A KR102415309B1 (ko) | 2020-06-16 | 2020-06-16 | 인터페이스 장치 및 그 동작 방법 |
KR10-2020-0073157 | 2020-06-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113806262A true CN113806262A (zh) | 2021-12-17 |
CN113806262B CN113806262B (zh) | 2024-05-14 |
Family
ID=78826550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110191067.8A Active CN113806262B (zh) | 2020-06-16 | 2021-02-19 | 接口装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11726947B2 (zh) |
KR (1) | KR102415309B1 (zh) |
CN (1) | CN113806262B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11546128B2 (en) | 2020-06-16 | 2023-01-03 | SK Hynix Inc. | Device and computing system including the device |
KR102519480B1 (ko) | 2021-04-01 | 2023-04-10 | 에스케이하이닉스 주식회사 | PCIe 장치 및 이를 포함하는 컴퓨팅 시스템 |
KR102518285B1 (ko) | 2021-04-05 | 2023-04-06 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 및 인터페이스 시스템 |
CN114726457B (zh) * | 2020-12-22 | 2023-07-18 | 华为技术有限公司 | 通信方法、电子装置、处理装置与电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1098838A (zh) * | 1993-05-13 | 1995-02-15 | 汤姆森消费电子有限公司 | 用于压缩的视频信号的时钟装置 |
US5958027A (en) * | 1997-08-05 | 1999-09-28 | Advanced Micro Devices, Inc. | Method and system for optimizing the flow of isochronous data and clock rate information |
EP1049280A2 (de) * | 1999-04-30 | 2000-11-02 | Alcatel | Kontrollierter Schlupf bei der Übertragung eines synchronen Datenstromes über ein asynchrones Nachrichtennetz |
CN1337801A (zh) * | 2000-08-04 | 2002-02-27 | 日本电气株式会社 | 同步数据传输系统 |
CN1376959A (zh) * | 2002-04-28 | 2002-10-30 | 上海市广播科学研究所 | Pcmcia mpeg码流分析方法及设备 |
CN1910934A (zh) * | 2004-01-30 | 2007-02-07 | 汤姆森许可贸易公司 | 自适应速率控制编码器 |
US20070177701A1 (en) * | 2006-01-27 | 2007-08-02 | Ati Technologies Inc. | Receiver and method for synchronizing and aligning serial streams |
US20100054385A1 (en) * | 2008-09-02 | 2010-03-04 | Jinn-Yeh Chien | Adaptive elastic buffer for communications |
CN104519354A (zh) * | 2013-10-02 | 2015-04-15 | 瑞萨电子株式会社 | 视频编码器及其操作方法 |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4692894A (en) * | 1984-12-18 | 1987-09-08 | Advanced Micro Devices, Inc. | Overflow/Underflow detection for elastic buffer |
US5025457A (en) * | 1989-04-21 | 1991-06-18 | Codex Corporation | Synchronizing continuous bit stream oriented terminals in a communications network |
GB9410943D0 (en) * | 1994-06-01 | 1994-07-20 | Newbridge Networks Corp | Clock recovery unit |
US6029194A (en) * | 1997-06-10 | 2000-02-22 | Tektronix, Inc. | Audio/video media server for distributed editing over networks |
US6279058B1 (en) * | 1998-07-02 | 2001-08-21 | Advanced Micro Devices, Inc. | Master isochronous clock structure having a clock controller coupling to a CPU and two data buses |
US6061802A (en) * | 1998-07-02 | 2000-05-09 | Advanced Micro Devices, Inc. | Software based clock synchronization |
US7031306B2 (en) * | 2000-04-07 | 2006-04-18 | Artel Video Systems, Inc. | Transmitting MPEG data packets received from a non-constant delay network |
GB0100094D0 (en) * | 2001-01-03 | 2001-02-14 | Vtech Communications Ltd | System clock synchronisation using phased-lock loop |
US7103125B1 (en) * | 2001-05-16 | 2006-09-05 | Lexmark International, Inc. | Method and apparatus for effecting synchronous pulse generation for use in serial communications |
US7295578B1 (en) * | 2001-09-12 | 2007-11-13 | Lyle James D | Method and apparatus for synchronizing auxiliary data and video data transmitted over a TMDS-like link |
JP3626452B2 (ja) * | 2001-12-27 | 2005-03-09 | 株式会社東芝 | 半導体装置 |
US20040263427A1 (en) * | 2003-06-25 | 2004-12-30 | Horigan John W. | Lossless clock domain translation for a pixel stream |
WO2005096162A1 (ja) * | 2004-03-18 | 2005-10-13 | Matsushita Electric Industrial Co., Ltd. | アービトレーション方法及び装置 |
US7719371B2 (en) * | 2004-03-22 | 2010-05-18 | Integrated Device Technology, Inc. | Spread spectrum clock and reference signal generator |
US7890735B2 (en) * | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
US20060209684A1 (en) | 2005-03-18 | 2006-09-21 | Via Technologies, Inc. | Data rate controller, and method of control thereof |
TWI282218B (en) * | 2005-07-01 | 2007-06-01 | Realtek Semiconductor Corp | Method of generating spread spectrum and/or over-clock and its circuit thereof |
US20070041391A1 (en) * | 2005-08-18 | 2007-02-22 | Micron Technology, Inc. | Method and apparatus for controlling imager output data rate |
US20080141063A1 (en) * | 2006-12-12 | 2008-06-12 | Ridgeway Curtis A | Real time elastic FIFO latency optimization |
US7936790B2 (en) * | 2007-08-30 | 2011-05-03 | Silicon Image, Inc. | Synchronizing related data streams in interconnection networks |
WO2009105095A1 (en) | 2008-02-20 | 2009-08-27 | Hewlett-Packard Development Company, L.P. | Redriver with two reference clocks and method of operation thereof |
TW201002055A (en) * | 2008-06-24 | 2010-01-01 | Sunplus Technology Co Ltd | Image format conversion system |
US20100061424A1 (en) * | 2008-09-09 | 2010-03-11 | International Business Machines Corporation | Spread Spectrum Controller with Bit Error Rate Feedback |
US8285884B1 (en) * | 2008-11-03 | 2012-10-09 | Integrated Device Technology Inc. | Data aggregation system and method for deskewing data at selectable data rates |
TWI390991B (zh) * | 2008-11-05 | 2013-03-21 | Realtek Semiconductor Corp | 音訊裝置與音訊處理方法 |
US8548011B2 (en) * | 2010-12-02 | 2013-10-01 | Plx Technology, Inc. | Dynamic host clock compensation |
US8611486B2 (en) * | 2011-04-08 | 2013-12-17 | Silicon Image, Inc. | Adjustment of clock signals regenerated from a data stream |
WO2013001631A1 (ja) * | 2011-06-29 | 2013-01-03 | 富士通株式会社 | 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法 |
US9971603B2 (en) * | 2011-12-29 | 2018-05-15 | Intel Corporation | Causing an interrupt based on event count |
US8701152B2 (en) * | 2012-03-11 | 2014-04-15 | Broadcom Corporation | Cross layer coordinated channel bonding |
US8781086B2 (en) * | 2012-06-26 | 2014-07-15 | Adc Dsl Systems, Inc. | System and method for circuit emulation |
US8856573B2 (en) | 2012-06-27 | 2014-10-07 | Intel Corporation | Setting a number (N) of fast training sequences (FTS) automatically to an optimal value |
US8879680B2 (en) | 2012-11-06 | 2014-11-04 | Ati Technologies Ulc | Adaptive clock mismatch compensation symbol insertion in signal transmissions |
US9337934B1 (en) * | 2012-11-29 | 2016-05-10 | Clariphy Communications, Inc. | Coherent transceiver architecture |
KR101963011B1 (ko) | 2013-12-26 | 2019-03-27 | 인텔 코포레이션 | 인터커넥트 리타이머 강화 |
US20150350656A1 (en) * | 2014-05-30 | 2015-12-03 | Qualcomm Innovation Center, Inc. | Dynamic video core clock and voltage scaling |
US9626270B2 (en) | 2014-09-26 | 2017-04-18 | Intel Corporation | Link retraining based on runtime performance characteristics |
US9933809B2 (en) * | 2014-11-14 | 2018-04-03 | Cavium, Inc. | Automatic data rate matching |
US10091119B2 (en) * | 2015-03-20 | 2018-10-02 | Harman International Industries, Incorporated | Managing data in a static network prior to initialization |
US10671476B2 (en) | 2015-09-26 | 2020-06-02 | Intel Corporation | In-band margin probing on an operational interconnect |
GB2546812B (en) | 2016-02-01 | 2020-05-27 | Shields Energy Services Ltd | System for controlling a plurality of power-consuming devices |
KR102507714B1 (ko) | 2016-05-02 | 2023-03-09 | 삼성전자주식회사 | SRIS를 지원하는 PCIe 장치 |
US10019385B2 (en) * | 2016-06-29 | 2018-07-10 | Intel Corporation | Method and apparatus of real-time retimer delay measurement |
US10229081B2 (en) | 2016-09-26 | 2019-03-12 | Dell Products, Lp | System level crosstalk mitigation |
JP6742899B2 (ja) * | 2016-12-27 | 2020-08-19 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US10637464B2 (en) * | 2017-02-08 | 2020-04-28 | SK Hynix Inc. | Semiconductor device and system including the same |
US10860449B2 (en) | 2017-03-31 | 2020-12-08 | Intel Corporation | Adjustable retimer buffer |
US10880137B2 (en) | 2017-05-12 | 2020-12-29 | Intel Corporation | Bypassing equalization at lower data rates |
EP3666182A1 (en) * | 2018-12-11 | 2020-06-17 | Koninklijke Philips N.V. | Device, system and method for providing bio-feedback to a user |
US11946970B2 (en) | 2019-01-31 | 2024-04-02 | Tektronix, Inc. | Systems, methods and devices for high-speed input/output margin testing |
US11397701B2 (en) | 2019-04-30 | 2022-07-26 | Intel Corporation | Retimer mechanisms for in-band link management |
US11886312B2 (en) | 2020-04-07 | 2024-01-30 | Intel Corporation | Characterizing error correlation based on error logging for computer buses |
CN113765363A (zh) * | 2020-06-01 | 2021-12-07 | 株式会社村田制作所 | 频率调制的dc-dc转换器的降emi方法及其装置 |
US11546128B2 (en) | 2020-06-16 | 2023-01-03 | SK Hynix Inc. | Device and computing system including the device |
US20210050941A1 (en) | 2020-07-06 | 2021-02-18 | Intel Corporation | Characterizing and margining multi-voltage signal encoding for interconnects |
-
2020
- 2020-06-16 KR KR1020200073157A patent/KR102415309B1/ko active IP Right Grant
- 2020-10-27 US US17/081,595 patent/US11726947B2/en active Active
-
2021
- 2021-02-19 CN CN202110191067.8A patent/CN113806262B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1098838A (zh) * | 1993-05-13 | 1995-02-15 | 汤姆森消费电子有限公司 | 用于压缩的视频信号的时钟装置 |
CN1395426A (zh) * | 1993-05-13 | 2003-02-05 | 汤姆森消费电子有限公司 | 视频信号压缩装置及其压缩方法 |
CN1492684A (zh) * | 1993-05-13 | 2004-04-28 | ��ķɭ���ѵ�������˾ | 视频信号压缩装置及其压缩方法 |
US5958027A (en) * | 1997-08-05 | 1999-09-28 | Advanced Micro Devices, Inc. | Method and system for optimizing the flow of isochronous data and clock rate information |
EP1049280A2 (de) * | 1999-04-30 | 2000-11-02 | Alcatel | Kontrollierter Schlupf bei der Übertragung eines synchronen Datenstromes über ein asynchrones Nachrichtennetz |
CN1337801A (zh) * | 2000-08-04 | 2002-02-27 | 日本电气株式会社 | 同步数据传输系统 |
CN1376959A (zh) * | 2002-04-28 | 2002-10-30 | 上海市广播科学研究所 | Pcmcia mpeg码流分析方法及设备 |
CN1910934A (zh) * | 2004-01-30 | 2007-02-07 | 汤姆森许可贸易公司 | 自适应速率控制编码器 |
US20070177701A1 (en) * | 2006-01-27 | 2007-08-02 | Ati Technologies Inc. | Receiver and method for synchronizing and aligning serial streams |
US20100054385A1 (en) * | 2008-09-02 | 2010-03-04 | Jinn-Yeh Chien | Adaptive elastic buffer for communications |
CN104519354A (zh) * | 2013-10-02 | 2015-04-15 | 瑞萨电子株式会社 | 视频编码器及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113806262B (zh) | 2024-05-14 |
US20210390074A1 (en) | 2021-12-16 |
KR20210155658A (ko) | 2021-12-23 |
KR102415309B1 (ko) | 2022-07-01 |
US11726947B2 (en) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113806262B (zh) | 接口装置及其操作方法 | |
US11128388B2 (en) | Communication channel calibration using feedback | |
US11546128B2 (en) | Device and computing system including the device | |
CN109154927B (zh) | 低延时多协议重定时器 | |
US11886375B2 (en) | Interface with variable data rate | |
US9229897B2 (en) | Embedded control channel for high speed serial interconnect | |
WO2019153810A1 (zh) | 传输信号的方法、驱动器及系统 | |
WO2001042936A2 (en) | Transceiver with latency alignment circuitry | |
CN113168393B (zh) | 高速的硬件传输均衡 | |
WO2019242376A1 (zh) | 快速均衡的方法、芯片和通信系统 | |
CN115391262A (zh) | 高速外围组件互连接口装置及其操作方法 | |
CN113035104A (zh) | 显示驱动设备和包括该显示驱动设备的显示设备 | |
US7688924B2 (en) | Methods and apparatus for asynchronous serial channel connections in communication systems | |
CN114079600A (zh) | 执行自适应均衡的接收器电路和包括该接收器电路的系统 | |
US10275387B2 (en) | Method and associated interface circuit for mitigating interference due to signaling of a bus | |
CN105812064A (zh) | 一种光模块控制方法、光模块及光通信终端 | |
EP2706712B1 (en) | Method and system for improving data transfer integrity | |
US11205361B2 (en) | Display driving device and display device including the same | |
CN115203109A (zh) | PCIe接口和接口系统 | |
CN115244523A (zh) | 一种时钟展频协商方法、高速外围组件互联设备及系统 | |
CN108809719B (zh) | 万兆以太网接口互联方法、通信设备及存储介质 | |
TWI836958B (zh) | 100base-t收發器以及100base-t收發方法 | |
CN113485957B (zh) | 适用于工业级应用场景的用于物理层的多协议系统控制装置和多协议系统控制方法 | |
US6959345B1 (en) | Method and system for calibrating SCSI expanders | |
CN115185875A (zh) | 执行通信的装置和包括该装置的计算系统 |
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 |