CN104579554B - 数据传输装置与数据传输方法 - Google Patents

数据传输装置与数据传输方法 Download PDF

Info

Publication number
CN104579554B
CN104579554B CN201410586935.2A CN201410586935A CN104579554B CN 104579554 B CN104579554 B CN 104579554B CN 201410586935 A CN201410586935 A CN 201410586935A CN 104579554 B CN104579554 B CN 104579554B
Authority
CN
China
Prior art keywords
data
process circuit
frequency
clock
circuit
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.)
Active
Application number
CN201410586935.2A
Other languages
English (en)
Other versions
CN104579554A (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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN104579554A publication Critical patent/CN104579554A/zh
Application granted granted Critical
Publication of CN104579554B publication Critical patent/CN104579554B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F5/10Methods 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 having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/05Electric or magnetic storage of signals before transmitting or retransmitting for changing the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Quality & Reliability (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明提供数据传输装置与数据传输方法,数据传输装置设置于操作在不同的数据速率的两个网络层,所述数据传输装置耦接至时钟产生器,所述时钟产生器为下层网路层提供参考时钟,且所述时钟产生器耦接至具有整数分频因子的频率合成器以依据所述参考时钟及整数分频因子,为上层网络层产生分频时钟,所述数据传输装置包括:第一处理电路相应于所述上层网络层,耦接至所述频率合成器,使用所述分频时钟作为所述第一处理电路的操作频率来接收与发送数据;第二处理电路,相应于下层网络层,所述第二处理电路耦接至所述时钟产生器及第一处理电路,自所述第一处理电路接收数据,使用所述参考时钟作为所述第二处理电路内的编码数据的操作频率;其中,所述分频时钟产生自具有整数分频因子的频率合成器。本发明提供数据传输装置与数据传输方法能防止数据回流。

Description

数据传输装置与数据传输方法
【技术领域】
本发明的涉及数据传输方法与***,特别涉及频率合成方法与装置。
【背景技术】
一般而言,常规设备设置在两个执行不同数据速率的网络层内,可采用分数时钟分频器,以获得与使用分频时钟作为一个网络层的操作频率。然而,采用分数时钟分频器必然引入显著电路成本,并增加电路设计的难度。因此,重要的是要提供一种新的方案来解决这个问题。
【发明内容】
本发明的目的是提供一种数据传输装置,以及相应的方法,以解决上述问题的数据传输***。
依据本发明的一方面,一数据传输装置设置于执行在不同的数据速率的两个网络层,所述数据传输装置耦接至时钟产生器,所述时钟产生器为下层网络层提供参考时钟,且所述时钟产生器耦接至具有整数分频因子的频率合成器以依据所述参考时钟及整数分频因子,为上层网络层产生分频时钟,所述数据传输装置包括:第一处理电路相应于所述上层网络层,耦接至所述频率合成器,使用所述分频时钟作为所述第一处理电路的操作频率来接收与发送数据;第二处理电路,相应于所述下层网络层,所述第二处理电路耦接至所述时钟产生器及所述第一处理电路,自所述第一处理电路接收数据,且使用所述参考时钟作为所述第二处理电路内的编码数据的操作频率,所述分频时钟的频率高于上述上层网络层执行的数据速率,所述第一处理电路被配置于依据所述第二处理电路通知的信号调整所述第一处理电路的发送数据的速率,以避免数据溢出或者回流。
本发明的另一方面,一种数据传输方法,用于设置在两个操作在不同数据速率网络层内的数据传输***,所述数据传输方法包括:使用时钟产生器为下层网络层提供参考时钟;使用有整数分频因子的频率合成器,依据所述参考时钟及所述整数分频因子为上层网络层产生分频时钟;相应于所述上层网络层,使用所述分频时钟作为第一处理电路的操作频率来接收与发送数据,所述分频时钟的频率高于上述上层网络层执行的数据速率;相应于所述下层网络层,所述第二处理电路耦接至所述时钟产生器及第一处理电路,自所述第一处理电路接收数据,使用所述参考时钟作为所述第二处理电路内的编码数据的操作频率;及依据所述第二处理电路通知的信号,选择性地调整所述第一处理电路的发送数据的速率,以避免数据溢出或回流;其中,所述分频时钟产自具有整数分频因子的频率合成器。
本发明的另一方面,一种数据传输***相应于两个操作在不同数据速率的网络层,其包括:时钟产生器,为下层网络层提供参考时钟;具有整数分频因子的频率合成器,耦接至所述时钟产生器,以依据所述参考时钟与所述整数分频因子,为上层网络层产生分频时钟;第一处理电路相应于所述上层网络层,耦接至所述频率产生器,使用所述分频时钟作为所述第一处理电路的操作频率来接收与发送数据;第二处理电路,相应于下层网络层,所述第二处理电路耦接至所述时钟产生器及第一处理电路,自所述第一处理电路接收数据,使用所述参考时钟作为所述第二处理电路内的编码数据的操作频率,所述分频时钟的频率高于上述上层网络层执行的数据速率,所述第一处理电路被配置于依据所述第二处理电路通知的信号调整所述第一处理电路的发送数据的速率,以避免数据溢出或者回流。
上述发明的目的在本领域的普通技术人员阅读本申请的优选实施例后可以毫无疑义得到,下面将结合图示对上述优选的技术方案进行详细说明。
【附图说明】
图1为依据本发明一实施方式的数据传输***的示意图。
图2为第一时间周期EL与第二时间周期DL的不同范例的示意图。
图3为图1中的第二处理电路发出时钟使能信号以使能/禁用所述第一处理电路的数据输出/处理的状态示意图。
图4A为低位水印的第一范例示意图。
图4B为低位水印的第二范例示意图。
图5为图1所示的第一处理电路的操作流程图。
图6为数据宽度Win为8倍Wout,如8*Wout的范例的示意图。
图7为图1中的第一处理电路结合图6的操作流程图。
【具体实施方式】
请参照图1,所示的为依据本发明一个实施方式的数据传输***100的示意图。所述数据传输***100包括时钟产生器105、频率合成器110及数据传输装置115。所述数据传输装置115包括第一处理电路1151及第二处理电路1152。所述第一处理电路1151包括第一控制单元1153、第一缓存器1154及多工器1155。所述第二处理单元1152包括第二控制单元1156、第二缓存器1157及编码器1158。所述数据传输***相应于两不同网络层,分别执行不同数据速率的上层网络层及下层网络层(upper and lower network layers)。因此,所述数据传输装置115设置于所述两个操作于不同数据速率的网络层内。所述数据传输装置115耦接至所述时钟产生器105,所述时钟产生器105为下层网络层提供参考时钟CLK1,且耦接至具有整数分频因子的所述频率合成器110,所述频率合成器110依据所述参考时钟CLK1及所述整数分频因子,为上层网络层产生分频时钟CLK2。
所述第一处理电路1151和所述第二处理电路1152及所述编码器1158分别使用相应的操作频率来处理数据发送和数据接收。所述操作频率来源于所述频率合成器110的输出和所述时钟产生器105的输出。所述第一处理电路1151相应于所述上层网络层,被用于使用分频时钟CLK2作为其操作频率来接收及发送数据。所述第二处理电路1152相应于所述下层网络层,使用所述分频时钟CLK2作为其操作频率来接收及发送数据。所述编码器1158相应于所述下层网络层,被用于使用所述参考时钟CLK1作为其编码数据的操作频率来接收及发送数据。所述时钟产生器105用于产生参考时钟CLK1及未设置于所述下层网络层的所述第二处理电路1152提供所述参考时钟CLK1。所述第二处理电路1152采用所述参考时钟CLK1作为其操作频率为处理数据传输及接收执行数据编码。
举例来说,若所述下层网络层为一物理层(physical(PHY)layer)且基于10-通道接口(10-Lane interface),在PHY层内,发送的帧以64B/66B编码,所述时钟产生器105产生频率为10.3125GHz的所述参考时钟CLK1,且所述编码器1158采用所述频率10.3125GHz作为所述操作频率以处理数据的发送与接收。另外,所述时钟产生器105还未所述频率合成器110提供所述参考时钟CLK1,且具有所述整数分频因子的频率合成器用于依据所述参考时钟CLK1及所述整数分频因子产生所述分频时钟CLK2。所述具有整数分频因子的频率合成器110可以通过使用一整数时钟分频器来实现。所述频率合成器110为设置于所述上层网络内的所述第一处理电路1151提供所述分频时钟CLK2.所述第一处理电路1151采用所述分频时钟CLK2的频率作为其操作频率以处理数据的发送与接收。
举例来说,若所述上层网络层为数据链路层(即介质访问控制层(medium accesscontrol(MAC)layer)),且基于10-通道界面,在PHY层内,发送的帧以64B/66B编码。所述整数分频因子被选择为18,且因此,所述分频时钟CLK2的频率为572MHz;频率10.3125GHz除以18等于572MHz。所述第一处理单元1151采用频率572MHz作为其操作频率。值得注意的是,PHY层与MAC层实际上被指定可操作于不同的数据速率10.3125GHz和521MHz,MAC层基于PHY层的10-通道接口、64B/66B编码及每个时钟周期192比特由MAC层发送至PHY层,执行数据速率572MHz。值得注意的是,521MHz是由10.3125GHz除以19.8得到的(66/64/10*192),所述参考时钟CLK1的频率实质上等于PHY层执行的数据速率,且所述分频时钟CLK2的频率略大于MAC层执行的数据速率。
对于常规的方案,须采用一非整数时钟分频器(non-integer clock divider)以基于频率10.3125GHz产生频率521MHz。常规的方案带来了电路成本。然而,在本发明实施方式中,整数时钟分频器(即频率合成器110)被用于替代常规方案中的非整数时钟分频器,以为设置在MAC层内的第一处理电路1151提供略高的操作频率(slightly higher operationfrequency)。频率572MHz由所属整数时钟分频器提供。因此,相较于所述常规方案,因为非整数时钟分频器不再需要,电路成本被大幅度降低。所述第一处理电路1151的所述略高的操作频率并不意味着对本发明的限制。另外,在另一实施方式中,所述整数分频因子可以为一大于18的整数,且所述第一处理电路1151的操作频率略低于所述数据速率521MHz。这也落入本发明的范围。在一优选实施方式中,所述第一处理电路1151选择所述略高的操作频率。
为了响应所述第一处理电路1151采用分频时钟CLK2的频率作为操作频率,所述第一处理电路1151被配置用于调整数据输出速率。也就是说,所述第一处理电路1151在所述缓存器1154是满的时候,执行避免数据输入所述缓存器1154的操作(即,避免溢出(avoiding overflow)),且当缓存器为空的时候,避免自所述缓存器1154的数据输出(即,避免回流(avoiding underflow))。具体来说,所述第一处理电路1151依据所述第二处理电路1152通知的信号调整数据发送(输出)速率,且调整所述数据发送(输出)速率的操作可通过选择性的激活(activating)所述第一处理电路1151的数据处理/输出及选择性禁止(deactivating)所述第一处理电路1151的数据处理/输出来实现。
值得注意的是,数据处理/输出的所述第一处理电路1151至少包括数据接收、数据处理及数据发送。所述执行所述数据处理/输出速率通过在第一时间周期EL中以略高的操作频率(即CLK2)使能(enabling)所述第一处理电路的数据处理/输出及在第二时间周期EL中禁用(disabling)所述数据处理/输出。更具体来说,所述第一处理电路能为第二时间周期DL禁止所述分频时钟CLK2的接收,以避免在所述分频时钟CLK2的相应周期中执行(如:CLK2的周期9、10及11).因此,可以阻止所述缓存器1154中存在的数据被输入数据重写。
另外,使能及禁用所述第一处理电路1151的数据处理/输出的时间点可以被设置于PHY层内的所述第二处理电路1152控制。所述第二处理电路1152被配置于发送通知至所述第一处理电路1151,以动态通知所述第一处理电路1151何时使能数据处理/输出及何时禁用数据处理/输出。在实践中,所述通知使用定义了上述第一时间周期EL及第二时间周期DL的时钟使能信号CLKen来实现。若所述第二处理电路1152通知所述第一处理电路1151开始使能数据处理/输出,所述第一处理电路1151通过使用频率CLK2作为其操作频率以激活数据处理/输出。相反的,若所述第二处理电路1152通知所述第一处理电路1151开始禁用所述数据处理/输出,所述第一处理电路1151暂时(temporarily)停止或者禁用所述数据处理/输出。
在第二处理电路1152中,所述第二缓存器1157被配置用于接收及缓存来自MAC层内的所述第一处理电路1151的传输数据。所述第二缓存器可以使用一先进先出(first-in-first-out,FIFO)缓存器来实现,但不作为对本发明的限制。依次被发送至所述编码器1158的数据(即数据包)暂时存储于所述第二缓存器1157内,且在所述编码器115进行数据编码后,传输所述已编码数据至传播介质(transport medium),如:以太网(Ethernet)。一种侦测方案用于侦测是否所述第二缓存器1157已满。所述侦测方案可被实施于所述第二缓存器1157内,或者由所述第二控制单元1156执行。举例来说,所述第二缓存器1157可被配置用于侦测其自身是否已满,及/或在另一实施方式中,所述第二控制单元1156被配置用于侦测所述第二缓存器1157是否已满。另外,所述侦测方案可以一并采用所述第二缓存器1157及第二控制单元1156.当侦测所述第二缓存器1157已满,所述第二控制单元1156被配置用于通知所述第一控制单元1153开始禁用所述数据处理/输出。
当接收所述通知指示所述第二缓存器1157已满,所述第一控制单元1153被配置用于控制所述多工器1155及所述第一缓存器1154暂时地停止数据处理/输出,即,暂时停止自第一缓存器1154至第二缓存器1157的数据传输。因此,所述第一处理电路1151的数据处理/传输被暂时性禁用。具体来说,在这种情况下,所述多工器1155保持最后一个激活周期的输出数据,而不输入所述第一缓存器1154。也就是说,通过暂时性的禁止所述第一缓存器1154内的数据的传输/输出,能够避免所述第二缓存器1157的数据溢出(data overflow)。
然后,上述侦测方案可以侦测所述第二缓存器1157未满,且所述第二控制樊元1156依此通知所述第一控制单元1153开始使能所述数据处理/输出。所述第一控制单元1153控制所述多工器1155选择所述第一缓存器1154的数据作为其数据源,且所述第一缓存器1154内的缓存数据可以通过所述多工器1155输出至所述第二处理电路1152。在MAC层内的所述第一处理电路1151的数据处理/输出操作再次被激活/使能。
进一步,在本实施方案中,为了避免所述第二缓存器1157的数据回流,所述第一时间周期EL(使能数据处理/输出)与所述第二时间周期DL(禁用数据处理/输出)的比例被适当的设置。为了避免数据回流,所述第一时间周期EL与所述第一时间周期EL加上所述第二时间周期DL之和的比率至少大于所述MAV层执行的频率与所述第一处理电路1151执行的频率的比率。具体关系如下述公式所示:
指示所述第一时间周期,即数据处理/输出的时间周期。DL指示第二时间周期,即无数据处理/输出的时间周期。Fd指示MAC层执行的频率。Fdint指示所述第一处理电路1151的操作频率,即,频率为分频时钟CLK2。依据上述关系式,所述第一时间周期EL及第二时间周期DL可被适当的确定。
在另一实施方式,所述第一处理电路1151可被配置于周期性的使能与禁用所述第一缓存器1154的数据处理/输出,即周期性的使能、禁用所述第一处理电路1151的数据发送与接收。请参看图2,为实施第一时间周期EL与第二时间周期DL的不同范例的示意图。假设第一时间周期EL与第二时间周期DL的比率被配置为三比以,然而,此范例仅作为解释性说明,并非作为本发明的限制。
在图2中,所述分频时钟CLK2是由方波50%的负载周期(duty cycle)表示的。CLKen_dint1指示时钟使能信号的第一范例,且CLKen_dint2指示时钟使能信号的第二范例。所述第二处理电路1152的第二控制单元1156通知所述第一处理电路1151通过保持所述时钟使能信号(CLKen_dint1或者CLKen_dint2)的电位在一高逻辑位,使得在所述时钟使能信号(CLKen_dint1或者CLKen_dint2)的上升沿使能数据处理/输出,且通知所述第一处理电路1151通过保持所述时钟使能信号(CLKen_dint1或者CLKen_dint2)的电位在一低逻辑位,使得在所述时钟使能信号(CLKen_dint1或者CLKen_dint2)的下降沿禁用数据处理/输出。所述第一处理电路1151的第一控制单元1153控制所述多工器1155基于第二处理电路1152发出的通知选择性的执行数据输出。
对于CLKen_dint1,所述第一时间周期EL被设计为9个连续的时钟周期(即,周期0-周期8),且所述第二时间周期DL被设计为所述第一时间周期EL后的3个连续的时钟周期(即,周期9-周期11)。具有9个连续时钟周期的所述第一时间周期EL指示写入连续数据的脉冲。在周期0-周期8,所述第一处理电路写入连续数据的脉冲至所述第二处理电路1152,且在周期9-周期11停止写入数据。当周期11结束,在下一个连续的9个时钟周期内,所述第一处理电路1151继续写入连续数据的脉冲至所述第二处理电路1152。换句话说,每12个时钟周期中,所述第一处理电路1151周期性的于9个时钟周期使能数据处理/输出且3个时钟周期内禁用所述数据处理/输出。
另外,在另一实施方式中,对于CLKen_dint2,所述第一时间周期EL被设计为3个连续的时钟周期,如周期0-周期2,且所述第二时间周期DL被设计为单一个时钟周期,如:周期3。所述第一处理电路1151在周期0-周期3写入数据至所述第二处理电路1152,且然后仅在一个时钟周期停止写入数据,如在周期3.当周期3结束,所述第一处理电路在接下来的三个时钟周期写入数据至所述第二处理电路1152.换句话来说,在每四个时钟周期,所述第一处理电路周期性的使能数据处理/输出在3个连续的时钟周期,且仅在1个时钟周期禁用数据处理/输出。
对于CLKen_dint2,所述第二缓存器1157可以有一较小大小的缓存器来实现。另外,因为所述分频时钟CLK2的一个时钟周期被认为是一最小单位时间,相当于每次所述第一处理电路被配置于在一个最小时间单元禁用数据输出。另外,基于侦测是否所述第二缓存器1157已满及周期性的使能/禁用所述数据处理/输出,确定是否使能/禁用所述数据处理/输出。因此,所述第二处理电路1152能周期性地通知所述第一处理电路1151使能/禁用所述数据处理/输出,且一旦所述第二缓存器1157已满或者将满时,也能立即通知所述第一处理电路1151禁用所述数据处理/输出。
图3为所述第二处理电路1152发送所述时钟使能信号CLKen以使能/禁用所述第一处理电路1151的数据处理/输出的状态图。如图3所示,所述第二处理电路1152的操作可以由三个状态S1、S2、S3表示。在状态S1,所述第二处理电路1152在三个连续时钟周期保持时钟使能信号CLKen为高逻辑位,以通知所述第一处理电路1151使能数据处理/输出。所述第二处理电路1152然后自所述第一处理电路1151接收一脉冲长度的数据,如:三个连续数据单元(封包)。所述第二处理电路1152可配置一计数器以计数所述脉冲长度的数据自零至三。当所述计数器技术到达脉冲长度的最大值,这指示所述第二处理电路1152已接收完这些连续的数据单元,且所述第二处理电路离开所述状态S1进入状态S3。在状态S3,所述第二处理电路1152在一时钟周期保持所述时钟使能信号CLKen为低逻辑位,以通知所述第一处理电路1151禁用所述数据处理/输出。所述第一处理电路1151然后停止传输数据至所述第二处理电路1151一个时钟周期,且所述第二处理电路1152的计数器计数数据的脉冲长度复位至0。在一个时钟周期后(即所述DL周期),所述第二处理电路离开状态S3,重新进入状态S1。
另外,一旦所述第二处理电路1152的所述第二缓存器1157在状态S1已满或者将满,所述第二处理电路被配置为离开状态S1进入状态S2。在状态S2,所述第二处理电路1152在一个时钟周期内保持所述时钟使能信号CLKen为一低逻辑位,以使得所述第一处理电路1151在至少一个时钟周期禁用所述数据处理/输出。所述第二处理电路1152的计数器计数所述数据的脉冲长度复位为0,在至少一个时钟周期后,若侦测所述第二缓存器1157未满,所述第二处理电路离开状态S2,进入状态S1。当所述第二换汛期1157已满或者已写脉冲长度的最大值达到,所述时钟使能信号CLKen被撤销。
在第一实施方式中,低位水印(low-watermark)被设计且提供至所述第一缓存器1154以避免MAC层的数据回流。具体来说,所述低位水印被用于在所述第一处理电路开始传输新的帧/封包至所述第二处理电路1152之前,检查存在于所述第一缓存器1154内的数据量,依此避免所述第一缓存器1154发生数据回流。所述低位水印被认为是一临界值,且仅当所述存在的数据量高于所述低位水印定义的临界值时,所述数据能自所述第一缓存器1154中读出。
因此,上述周期性的使能/禁用所述数据处理/输出能得到下述一些好处.这能有效的减少在MAC层的所述第一处理电路1151内的第一缓存器1154的低位水印的大小.这是因为写入数据至所述第一缓存器1154的数据速率被配置为与MAC层的原始操作的数据速率匹配,且写入数据的所述数据速率可略低于所述分频时钟CLK2的频率,即,所述数据处理/输出的速率.自所述第一缓存器1154读取数据量可略高于写入数据至所述第一缓存器1154的写入数据量。换而言之,周期性地使能/禁用所述数据处理/输出可以使得所述第一缓存器1154不会因为写入连续数据的脉冲而需要保持较高位水印来防止回流。
换言之,所述第一处理电路1151仅在侦测到所述第一缓存器1154的数据超过所述临界值时,使能一新的帧/封包的发送数据自所述第一缓存器1154传输数据至所述第二处理电路1152.若所述第一缓存器1154内存留的数据量低于所述低位水印定义的临界值,所述多工器1155选择“闲置”(IDLE)作为输出,且不选择所述第一缓存器1154的数据作为其数据源。因此,所述多工器1155在一闲置状态,所述第一缓存器1154内的数据不通过所述多工器1155传输至所述第二处理电路1152。低位水印的值可被设计成最小化。一种方法是将所述第二时间周期的周期的如图2所示的CLKen_dint2的情况进行分配。因此,所述低位水印的值通过均匀地分配在所述第二时间周期DL的周期中以最小化。当低位水印的值被最小化,MAC层内的所述第一处理电路1151的电路成本可以相应被降低。
请一并参照图4A及图4B,图4A是上述低位水印的第一实施方式的简单示意图。图4B是上述低位水印的第二实施方式的简单示意图。假设所述第一时间周期EL与所述第二时间周期DL的比率被配置成1:1,则所述分频时钟CLK2的频率为所述第一缓存器1154的写入数据的数据速率的两倍,然而上述师范仅用于解释本发明而不作为本发明的限制。另外,为了简化EL和DL操作的描述,假设在一个时钟周期内,一个数据单元自所述第一缓存器1154中读出或者写入所述第一缓存器1154。如图4A所示,CLKen_dint3指示在每八个时钟周期中,上述的所述时钟使能信号具有四个EL周期及四个DL周期。被维持在高逻辑位指示以CLK_in的频率,数据被写入所述第一缓存器1154.在此实施例中,所述低位水印的值被设计为2。在连续的时钟周期4-时钟周期7,所述时钟使能信号CLKen_dint3被禁止。因此,所述第一控制单元1153控制所述多工器1155不选择所述第一缓存器的数据作为其输出源,知道所述第一缓存器1154的存留的数据量大于或者等于两个数据单元。
在第二实施方式中的CLKen_dint4指示上述时钟使能信号在每两个时钟周期内有一个EL周期及一个DL周期。被维持在一个高逻辑位表示所述数据以CLK_in的频率写入所述第一缓存器1154。在此实施方式中,所述低位水印值被设计为1.所述时钟使能信号CLKen_dint4被禁止的周期分布在单数时钟周期1、3、5及7。因此,所述第一控制单元1153控制所述多工1155不选择所述缓存器1154的数据作为其输出源,直到所述第一缓存器1154的存留数据大于或者等于一个数据单元。CLKen_dint3及d CLKen_dint4都相应于相同的所述第一时间周期EL与所述第二时间周期DL的比率。即,此比率为1:1。
不同之处在于,在CLKen_dint3的情况下,在第一时间周期EL(即EL周期)内,所述第一处理电路1151被配置为写入以连续的数据单元的脉冲至所述第二处理电路1152.而在CLKen_dint4的情况下,在第一时间周期EL(即EL周期)内,所述第一处理电路1151不被配置为写入以连续的数据单元的脉冲至所述第二处理电路1152。因此,在CLKen_dint4的情况下,所述低位水印的值可被最小化为1。另外,在另一实施方式中,若所述第一缓存器1154内的存留数据量未超过所述低位水印定义的临界值,然后,所述第一缓存器1154内的存留数据不会被传输至在PHY层内的所述第二处理电路1152,且替代地,闲置字符或者闲置帧将被传输至在PHY层内的所述第二处理电路1152。这也落入本发明所保护的范围。另外,所述低位水印的值得设计是基于所述第一缓存器1154的写入量及读取量。举例来说,所述低位水印的值被设计为上述写入量与读取量的差值。
请参看图5,图5为图1所示的MAC层内的第一处理电路1151的操作的流程图。为实现基本相同的结果,图5所示的流程的步骤无须严格按照所示的顺序或者连续实施。可以***其他步骤。
在步骤505,所述第一控制单元1153检查所述第一缓存器1154的缓存量。所述缓存量指示当前存留在所述第一缓存器1154的数据量。具体来说,所述第一控制单元1153自所述第一缓存器1154获得缓存量。在步骤510,所述第一控制单元1153比较所述缓存量与所述低位水印定义的临界值,以检查是否所述缓存量大于所述临界值。若所述缓存量未大于所述临界值,这指示停止自所述第一缓存器1154数据输出新的封包/帧,以避免数据回流,且流程返回至步骤505。若所述缓存量大于所述临界值,所述流程前进至步骤515.在步骤515,所述数据自所述第一缓存器1154读出,且通过所述多工器1155传输至所述第二处理电路1152.且步骤前进至520。在步骤520,所述第一控制单元1153检查是否数据封包结束,若数据封包未结束,流程返回步骤515.若数据封包结束,流程前进至步骤525。在步骤525,所述控制单元1153检查是否当前缓存量大于所述临界值。若当前缓存量未大于所述临界值,流程前进至步骤505。若房钱缓存量大于临界值,所述流程前进至步骤515。也就是说,在所述实施方式,在自所述第一缓存器读取新的数据封包前,所述第一控制单元1153被配置于检查是否缓存量指示所述第一缓存器1154内存留的当前数据量大于低位水印所定义的临界值,以避免数据回流。
在这个实施方式中,所述低位水印的值可被设计为使用没有分数的正整数或者包含整数及分数的正的非整数。当写入所述第一缓存器1154的数据宽度为自所述第一缓存器1154读取的数据宽度的多倍时,所述低位水印的值被设计为正的非整数。因此,MAC层数据接收的速率为MAC层数据发送的速率的多倍。举例来说,假设写入所述第一缓存器1154的数据宽度Win等于读取的数据宽度Wout的多倍,如Win=M×Wout,则所述低位水印的粒度(granularity of the low-watermark)可设计为1/M。具体来说,所述第一控制单元1153被配置为通过侦测数据单元(如:封包)是否被写入所述第一缓存器1154来产生缓存量,且所述缓存量的增值表示所述一数据单元被写入所述第一缓存器1154。所述第一控制单元1153进一步使用周期计数器以自零至M重复计算所述分频时钟CLK2的周期,且当侦测到所述缓存量的增值,所述计数器复位为零。因此,当所述一数据单元被写入所述第一缓存器1154,所述缓存量增值一切所述周期计数器自零开始。当所述周期计数器计数为一,且所述缓存量的值不再改变,所述第一控制单元1153确定所述第一缓存器1154的存留数据超过所述低位水印表示的临界值。然后,所述第一控制单元1153控制所述多工器1155开始子所述第一缓存器1154读取数据,且所述缓存量的值减一。
为说明的目的,所述M的值被设计为8(并不作为限制)。请参看图6,为写入数据宽度为8被于读取数据宽度的范例。即Win=8×Wout。在这个实施例中,低位水印的值被设计为0.8。CLK2指示所述分频时钟CLK2的时钟周期。高逻辑位BUF_we指示当BUF_we为高逻辑位时,写入一数据单元至所述第一缓存器1154,且其低逻辑位指示当BUF_we为低逻辑位时,没有数据写入第一缓存器1154。BUF_cnt的数量表述所述第一缓存器1154内存留的数据单元的数量。Cycle_cnt的数量表示通过上述时钟计数器计数的数量。BUF_low_th的高逻辑位指示所述第一缓存器1154内存留的数据超过所述低位水印定义的临界值,且相反的其低逻辑位表示上述数据未超过所述临界值。BUF_rd的高逻辑位表述当BUF_rd为高逻辑位自所述第一缓存器1154读取一数据单元,当BUF_rd为低逻辑位,则未自所述第一缓存器1154读取数据。
如图6所示,在周期0,一数据单元,如一封包被写入所述第一缓存器1154.在周期1,所述缓存计数BUF_cnt立刻自零增加到一,且所述周期计数Cycle_cnt复位且重新开始。在周期2,所述缓存计数BUF_cnt未改变,且所述周期计数Cycle_cn的计数由一至零直到所述时钟使能信号被使能且所述周期计数Cycle_cnt重新开始。这表示所述第一缓存器1154内的存留数据超过了所述低位水印定义的临界值。BUF_low_th用于指示所述第一缓存器1154内的存留数据超过所述低位水印所定义的临界值。因此,在周期3,自所述第一缓存器1154读取一数据单元,且所述缓存BUF_cnt在周期4减少一。因此,通过设置所述低位水印的粒度为1/M,如1/8,能够同时实现避免数据回流及预先自所述第一缓存器1154读取数据。
请参看图7,为图1中的MAC层内的所述第一处理电路结合图6的操作流程图。只要能实现基本相同的结果,无须严格按照图7中所示的步骤顺序来执行,也无须连续执行图7中的步骤,因此,其他步骤可以***。
在步骤705,所述第一控制单元1153检查所述第一缓存器1154的缓存计数。所述缓存计数指示当前所述第一缓存器1154的存留数据量。若所述缓存计数增加一,这指示一数据单元被写入所述第一缓存器1154。在步骤710,所述第一控制电路1153检查是否所述缓存计数增加一。若所述缓存计数未改变,然后流程返回步骤705,且相反的,若所述缓存计数改变,所述流程前往步骤715。实际上,在步骤710,所述第一控制单元1153可比较所述缓存计数与低位水印的值得整数,以确定所述缓存是否改变。在这个实施方式中,所述低位水印的值被设计为1/M,如1/8,相当于0.125。因此,其整数为零。通过比较所述缓存计数与零,所述第一控制单元1153来判断所述缓存是否自零至一。在步骤715,所述第一控制单元1153复位,且重新开始上述周期计数。在步骤720,所述周期计数的计数值自零增值到M-1,当所述第一控制单元接收高逻辑位的时钟使能信号,这指示所述第一处理电路1151的数据处理/输出被使能。在步骤725,所述第一控制单元1153比较所述周期计数与所述低位水印的值的分数部,以确定是否自所述第一缓存器1154中读取数据。
若所述周期计数未大于所述分数部,所述流程返回步骤720.相反的,若所述周期计数大于所述分数部,所述流程前往步骤730。在步骤730,自所述第一缓存器1154读取数据且通过多工器1153发送至所述第二处理电路1152。在步骤735,所述第一控制单元1153检查是否一数据封包已结束。若一数据封包未结束,所述流程返回步骤730,若结束,所述流程前往步骤740。在步骤740,所述第一控制单元1153检查是否所述缓存计数大于所述低位水印的值得整数部,若所述缓存计数未大于所述整数部,所述流程前往步骤705。若所述缓存计数大于所述整数部,所述流程前往步骤710。
进一步,所述时钟使能信号CLKen由所述第二控制单元1156发出至所述第一控制单元1153的触发信号来实现。因此,在另一实施方式中,所述时钟使能信号仅当所述第二控制单元1156发出一通知至所述第一控制单元1153时才产生。依据用于调节自所述第一处理电路1151输出数据的速率的触发信号,所述第一处理电路1151动态地使能/禁用所述第一处理电路1151的数据发送与接收。更具体来说,当自所述第二处理电路1152接收到触发信号时,所述第一处理电路1151能为所述第二时间周期DL禁止所述分频时钟CLK2的接收,以避免使用所述分频时钟CLK2作为操作频率,且能在离开所述第二时间周期DL后,使能所述分频时钟CLK2的接收。所述第二处理电路1152能够想象所述第二缓存器1157已满的事件发出触发信号至所述第一处理电路1151.这些修改均落入本发明的范围。
本领域的一般技术人员容易了解通过上述几种修改替换的实施方式均在本发明的教示范围内。因此,本发明仅以权利要求所要求的范围为准。

Claims (15)

1.一数据传输装置,设置于操作在不同的数据速率的两个网络层,所述数据传输装置耦接至时钟产生器,所述时钟产生器为下层网络层提供参考时钟,且所述时钟产生器耦接至具有整数分频因子的频率合成器以依据所述参考时钟及整数分频因子,为上层网络层产生分频时钟,所述数据传输装置包括:
第一处理电路,相应于所述上层网络层,耦接至所述频率合成器,使用所述分频时钟作为所述第一处理电路的操作频率来接收与发送数据;
第二处理电路,相应于所述下层网络层,所述第二处理电路耦接至所述时钟产生器及所述第一处理电路,自所述第一处理电路接收数据,且使用所述参考时钟作为所述第二处理电路内的编码数据的操作频率,所述分频时钟的频率高于上述上层网络层执行的数据速率,所述第一处理电路被配置于依据所述第二处理电路通知的信号调整所述第一处理电路的发送数据的速率,以避免数据溢出或者回流。
2.如权利要求1所述的数据传输装置,其特征在于,所述第二处理电路通知的所述信号为触发信号,且所述第一处理电路被配置于依据所述触发信号,动态的使能/禁用数据发送与接收,以调整所述第一处理电路的发送数据的速率。
3.如权利要求2所述的数据传输装置,其特征在于,所述第一处理电路被配置于当接收所述触发信号,为特定的时间周期禁用所述分频时钟的接收,且所述第一处理电路被配置于当所述特定的时间周期结束后使能所述分频时钟的接收。
4.如权利要求2所述的数据传输装置,其特征在于,所述第二处理电路包括用于存储数据的第二缓存器,且所述第二处理电路响应于所述第二缓存器已满的事件发送触发信号至所述第一处理电路,且所述第一处理电路依据所述触发信号禁用所述第一处理电路的数据发送与接收。
5.如权利要求2所述的数据传输装置,其特征在于,所述第一处理电路包括第一缓存器用于存储数据,且所述第一处理电路仅在侦测到所述第一缓存器的数据高于特定临界值时,使能所述第一处理电路的数据发送。
6.如权利要求2所述的数据传输装置,其特征在于,所述第一处理电路被配置于依据所述触发信号周期性地使能/禁用所述第一处理电路的数据发送与接收。
7.如权利要求2所述的数据传输装置,其特征在于,所述上层网络层的数据接收的速率是所述上层网络层的数据发送的速率的多倍;且,所述第一处理电路包括第一缓存器用于存储数据,且所述第一处理电路被配置于依据侦测到所述第一缓存器的数据高于特定临界值时,使能所述第一处理电路的数据发送。
8.一种数据传输方法,用于设置在执行不同数据速率的两个网络层内的数据传输***,所述数据传输方法包括:
使用时钟产生器为下层网络层提供参考时钟;
使用有整数分频因子的频率合成器,依据所述参考时钟及所述整数分频因子为上层网络层产生分频时钟;
相应于所述上层网络层,使用所述分频时钟作为第一处理电路的操作频率来接收与发送数据,所述分频时钟的频率高于上述上层网络层执行的数据速率;
相应于所述下层网络层,第二处理电路耦接至所述时钟产生器及第一处理电路,自所述第一处理电路接收数据,使用所述参考时钟作为所述第二处理电路内的编码数据的操作频率;及
依据所述第二处理电路通知的信号,选择性地调整所述第一处理电路的发送数据的速率,以避免数据溢出或回流;
其中,所述分频时钟产自具有整数分频因子的频率合成器。
9.如权利要求8所述的数据传输方法,其特征在于,所述第二处理电路通知的所述信号为触发信号,且依据所述第二处理电路通知的信号,选择性地调整所述第一处理电路的发送数据的速率的步骤包括:
所述第一处理电路依据所述触发信号,动态的使能/禁用所述第一处理电路的数据发送与接收。
10.如权利要求9所述的数据传输方法,其特征在于,所述动态的使能/禁用所述第一处理电路的数据发送与接收的步骤包括:
当所述第一处理电路接收所述触发信号时,在特定时间周期,禁止所述分频时钟的接收;及
当所述特定时间周期接收后,使能所述分频时钟的接收。
11.如权利要求9所述的数据传输方法,其特征在于,所述第二处理电路包括第二缓存器用于存储数据,且所述数据传输方法进一步包括:
响应于所述第二缓存器已满的事件,自所述第二处理电路发出触发信号至所述第一处理电路;及
依据所述触发信号,禁止所述第一处理电路的数据发送与接收。
12.如权利要求9所述的数据传输方法,其特征在于,所述第一处理电路包括第一缓存器用于存储数据,且所述数据传输方法进一步包括:
当侦测到所述第一缓存器的数据高于特定临界值,使能所述第一处理电路的数据发送。
13.如权利要求9所述的数据传输方法,其特征在于,动态的使能/禁用第一处理电路的数据发送与接收的步骤包括:
依据所述触发信号,周期性的使能/禁用所述第一处理电路的数据发送与接收。
14.如权利要求9所述的数据传输方法,其特征在于,所述上层网络层的数据接收的速率是所述上层网络层的数据发送的速率的多倍;且,所述第一处理电路包括第一缓存器用于存储数据,且所述第一处理电路被配置于依据侦测到所述第一缓存器的数据高于特定临界值时,使能所述第一处理电路的数据发送。
15.一种数据传输***相应于执行不同数据速率的两个网络层,其包括:
时钟产生器,为下层网络层提供参考时钟;
具有整数分频因子的频率合成器,耦接至所述时钟产生器,以依据所述参考时钟与所述整数分频因子,为上层网络层产生分频时钟;
第一处理电路,相应于所述上层网络层,耦接至所述频率合成器,使用所述分频时钟作为所述第一处理电路的操作频率来接收与发送数据;
第二处理电路,相应于下层网络层,所述第二处理电路耦接至所述时钟产生器及第一处理电路,自所述第一处理电路接收数据,使用所述参考时钟作为所述第二处理电路内的编码数据的操作频率,所述分频时钟的频率高于上述上层网络层执行的数据速率,所述第一处理电路被配置于依据所述第二处理电路通知的信号调整所述第一处理电路的发送数据的速率,以避免数据溢出或者回流。
CN201410586935.2A 2013-10-29 2014-10-28 数据传输装置与数据传输方法 Active CN104579554B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/065,436 US9042505B2 (en) 2013-10-29 2013-10-29 Data transmission apparatus having frequency synthesizer with integer division factor, corresponding method, and data transmission system
US14/065,436 2013-10-29

Publications (2)

Publication Number Publication Date
CN104579554A CN104579554A (zh) 2015-04-29
CN104579554B true CN104579554B (zh) 2018-05-18

Family

ID=52996852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410586935.2A Active CN104579554B (zh) 2013-10-29 2014-10-28 数据传输装置与数据传输方法

Country Status (2)

Country Link
US (1) US9042505B2 (zh)
CN (1) CN104579554B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10320678B2 (en) * 2014-03-21 2019-06-11 Avago Technologies International Sales Pte. Limited Mapping control protocol time onto a physical layer
CN107784016B (zh) * 2016-08-30 2019-02-15 北京京东尚科信息技术有限公司 数据同步控制装置和数据同步***及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1689258A (zh) * 2002-08-14 2005-10-26 绿洲硅体系公司 用锁相环,采样速率转换,或由网络帧速率产生的同步时钟,在网络上以网络帧速率发送和接收数据的通信***
CN1909418A (zh) * 2006-08-01 2007-02-07 华为技术有限公司 通用无线接口的时钟分配装置及实现速率切换的方法
CN102207922A (zh) * 2010-03-30 2011-10-05 新唐科技股份有限公司 总线接口以及总线接口的时钟频率控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006029486A1 (de) * 2006-06-27 2008-01-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signalaufbereiter und Verfahren zum Verarbeiten eines Empfangssignals

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1689258A (zh) * 2002-08-14 2005-10-26 绿洲硅体系公司 用锁相环,采样速率转换,或由网络帧速率产生的同步时钟,在网络上以网络帧速率发送和接收数据的通信***
CN1909418A (zh) * 2006-08-01 2007-02-07 华为技术有限公司 通用无线接口的时钟分配装置及实现速率切换的方法
CN102207922A (zh) * 2010-03-30 2011-10-05 新唐科技股份有限公司 总线接口以及总线接口的时钟频率控制方法

Also Published As

Publication number Publication date
US9042505B2 (en) 2015-05-26
CN104579554A (zh) 2015-04-29
US20150121120A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
US8250394B2 (en) Varying the number of generated clock signals and selecting a clock signal in response to a change in memory fill level
EP2668579B1 (en) Bus clock frequency scaling for a bus interconnect and related devices, systems, and methods
EP3197055B1 (en) Clock circuit and clock signal transmission method thereof
US7839194B2 (en) Clock circuitry for generating multiple clocks with time-multiplexed duty cycle adjustment
EP2293198A1 (en) Adaptive-Allocation of I/O Bandwidth using a configurable Interconnect Topology
EP3200042A2 (en) Clock generation circuitry
US10416955B2 (en) Power reduction through clock management
US20150082075A1 (en) Technique for scaling the bandwidth of a processing element to match the bandwidth of an interconnect
US20200042034A1 (en) Using a stuttered clock signal to reduce self-induced voltage noise
CN103729313B (zh) Ssd缓存的输入输出流量控制方法及装置
CN104579554B (zh) 数据传输装置与数据传输方法
KR20080016439A (ko) 조정 회로, 크로스바, 요청 선택 방법 및 정보 처리 장치
ES2746184T3 (es) Distribución de tasa de bits mejorada
US20190041946A1 (en) Techniques For Adjusting A Clock Frequency To Change A Power State of Logic Circuits
CN110888520A (zh) 操作频率调整方法及装置
JP6746791B2 (ja) クロックゲーティングイネーブルの生成
US8775856B1 (en) System and method for generating clock signal for a plurality of communication ports by selectively dividing a reference clock signal with a plurality of ratios
JP5517830B2 (ja) 半導体集積回路
US9360915B1 (en) Dynamically controlling clocking rate of a processor based on user defined rule
WO2019148342A1 (en) Methods and devices for energy saving in communication network
US10205666B2 (en) End-to-end flow control in system on chip interconnects
US10637780B2 (en) Multiple datastreams processing by fragment-based timeslicing
EP3274957B1 (en) Adaptive video direct memory access module
KR20080063168A (ko) 반도체 장치 및 버퍼 제어 회로
CN110958540A (zh) 一种usb音频的转换方法及装置

Legal Events

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