CN1252658A - 时钟同步方法及其所用的装置 - Google Patents

时钟同步方法及其所用的装置 Download PDF

Info

Publication number
CN1252658A
CN1252658A CN99122001A CN99122001A CN1252658A CN 1252658 A CN1252658 A CN 1252658A CN 99122001 A CN99122001 A CN 99122001A CN 99122001 A CN99122001 A CN 99122001A CN 1252658 A CN1252658 A CN 1252658A
Authority
CN
China
Prior art keywords
clock
data
circuit
pointer
input
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
CN99122001A
Other languages
English (en)
Other versions
CN1157024C (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of CN1252658A publication Critical patent/CN1252658A/zh
Application granted granted Critical
Publication of CN1157024C publication Critical patent/CN1157024C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

一种通过减少同步所需的存储容量而被简化的时钟同步电路。该时钟同步电路包括存储器、写指针产生电路、数据保持检测电路和读指针产生电路。数据保持检测电路检测到存储器中不存在数据时,读指针产生电路将输入或输出时钟中的任一个或全部重新初始化。在完成数据写入存储器的操作后,由写指针产生电路和读指针产生电路更新各指针、并通过往存储器中写入数据或从存储器中读出数据把与输入时钟同步输入的数据和输出时钟同步输出。

Description

时钟同步方法及其所用的装置
本发明涉及时钟同步的方法和在这种方法中使用的装置,其将与第一时钟同步输入的数据与第二时钟同步地输出。该第二时钟可适用于如计算机网络。
在如图12所示的一些常规局域网(LAN)中,个人计算机311和312通过分组装拆装置321和322、接口331和332以及分组装拆装置341和342与LAN的网络35连接。在局域网中,信息包用于发送或接收个人计算机和LAN的网络35之间的数据。
在某些信息包传输的情况下,虽然输入信息包和输出信息包的时钟信号之间没有频率差别,但在输入信息包和输出信息包的时钟信号频率之间存在着变化。并且在某些情况下即使存在上述钟信号频率之间的差别,在信息包输入和信息包输出的时钟信号频率之间也存在着变化。在这种情况下,为使输入信息包正确地通过而到达输出一侧,重要的是和输出时钟信号同步地输出与输入时钟信号同步输入的数据(即把数据的时钟从输入时钟转换为输出时钟)。然而,在象信息包那样的序列数据的情况下,由于数据的丢失或重复,用检测脉冲的上升和下降来进行时钟的转换是不可能的。
如图13所示,由于这个原因,LAN的分组装拆装置321和322具备用于转换时钟的时钟同步电路。如图13中所描绘的,该时钟同步电路包括存储器42、写指针产生电路45、数据结束检测电路46和读指针产生电路47。在时钟转换开始时存储器42被初始化,同时写指针产生电路45响应输入时钟初始化写指针,并且产生一个初始化后的写指针。而读指针产生电路47则根据输出时钟初始化读指针,并且产生一个初始化后的读指针(图14中的步骤SQ1和SQ2),直到将分组数据输入到存储器42的写输入端,都不更新所产生的写指针(步骤SQ3)。当输入组数据时(步骤SQ3),存储器42根据输入时钟信号将来自所输入分组数据的写数据单元写入一个存储位置,该存储位置由写指针产生电路45输出的写指针所指定(SQ4)。然后更新写指针(步骤SQ5)。
每更新一次写指针,数据结束检测电路46判断所有分组数据的写操作是否结束(步骤SQ6),如果写操作没有结束,则把分组数据的连续写数据单元写入由写指针产生电路45更新的写指针所指定的存储器42中的写入位置。
如果分组数据写入结束的判断是肯定的(在步骤SQ6中“是”的情况下),产生分组写入结束指令信号(步骤SQ7),并且送出处理组读出操作的信号,同时,在组写入过程中操作返回到输入组数据等待状态的步骤SQ3,并等待连续分组数据的输入。
同时,当分组写入过程处于等待分组数据的状态时,根据分组写入结束指令信号(在步骤SQ8中的“是”的情况下),已处于等待状态的读过程开始。当开始分组读取过程时,从由初始化的读指针所指定的存储器42的读出位置读出分组读出数据单元(步骤SQ9),并且该读出数据单元作为写入存储器42中的分组的第一数据单元输出。同样,当执行这个读操作时,将读指针更新为具有连续数据单元的读指针(步骤SQ10)。
每更新一次读指针,就执行分组数据的读操作是否结束的判断(步骤SQ11)。如果分组数据的读操作没有结束(在步骤SQ11中“否”的情况下),则从由更新的读指针所指定的存储器42中的读出位置中,读出分组数据的后续读数据单元。
如果分组数据读出结束的判断是肯定的(在步骤SQ11中“是”的情况下),操作返回到处于等待开始分组读出状态的步骤SQ8,并等待后续分组写操作结束指令信号,直至接收到通知分组写操作结束信号。因此,上述过程允许将与输入时钟同步输入的数据与输出时钟同步地输出(即,当数据被输入或者被输出时,数据的时钟能够从输入时钟转换成输出时钟)。
然而如上所述,虽然常规同步电路允许与输入时钟同步输入的分组数据与输出时钟同步地输出,但是为实现同步,其中仅有一个方法是有效的,即根据输入时钟信号将整个分组写入存储器42,使写入单元的数量构成一个组,再根据输出信号读出该组,使读出单元的数量构成一个组。然而这个方法遇到这样一个缺点,即为输出与输入时钟同步输入并和输出时钟同步输出的分组数据,不可避免地需要一个分组的存储容量,因此暂存器引起发送和接收分组的延时。除此之外,另一个缺点就是同步电路在半导体芯片上集成工艺中占据较大部分的芯片面积。
考虑到上述情况,本发明的一个目的是提供一种时钟同步的方法和用于这种方法的装置,使与输入时钟同步输入的数据与输出时钟同步地输出所需要的存储器容量减小,从而实现同步装置的简单化、微型化,使其造价降低。
根据本发明第一个目的提供的、用于把数据从在第一时钟下工作的电路通过其输入输出端可被独立访问的存储装置传输至按第二时钟工作的第二电路的时钟同步方法,包括步骤:
存储由存储装置传送的数据;
检测存入该存储装置中的数据是否为有效数据;
如果判断是肯定的,则根据时钟更新该存储装置的访问指针;
如果判断是否定的,则根据时钟重新初始化该存储装置的访问指针;以及
通过用访问指针访问存储装置,将与第一时钟同步输入的数据与第二时钟同步地输出。
在上述内容中,更优选的方式是第一时钟的频率不同于第二时钟的频率。
同样,更优选的方式是存储器装置的存储容量宽度N为在输出时钟快于输入时钟的情况下由下列公式(1)给出的存储容量宽度与在输入时钟快于输出时钟的情况下。由下列公式(2)给出的存储容量的宽度之和:
N<n+1    …    (1)
n≤N      …    (2)
这里n=|A-B|×L/max(A,B),其中A是第一时钟频率;B是第二时钟频率;L是最大组长度。如果A≥B,则max(A,B)表示max(A,B)=A;如果A<B,则max(A,B)=B;N为任意自然数。
同样,优选的方式是仅对第二电路的访问指针执行重新初始化。
同样,优选的方式是仅对第一电路的访问指针执行重新初始化。
更进一步,优选的方式是对第一电路和第二电路的访问指针都执行重新初始化。
根据本发明第二个目的提供的、用于把数据从在第一时钟下工作的电路通过其输入输出端可被独立访问的存储装置传输至按第二时钟工作的第二电路的时钟同步装置,包括:
存储装置,其输入和输出端可独立访问;
检测装置,检测存入存储装置的数据是否为有效数据;
访问指针产生装置,当检测装置判断为肯定时,响应时钟而更新存储装置的访问指针。当检测装置判断为否定时,访问指针产生装置响应时钟而重新初始化存储装置的访问指针;以及
一种输出装置,用访问指针产生电路输出的访问指针,通过访问存储装置将与第一时钟同步输入的数据与第二时钟同步地输出。
在上述内容中,优选为第一时钟的频率与第二时钟的频率不同。
同样,优选为存储装置的存储容量N的宽度为在输出时钟快于输入时钟的情况下由下列公式(3)给出的存储容量宽度与在输入时钟快于输出时钟的情况下由下列公式(4)给出的存储容量的宽度之和:
N<n+1    …    (3)
n≤N      …    (4)
这里n=|A-B|×L/max(A,B),其中A是第一时钟频率;B是第二时钟频率;L是组的最大长度;如果A≥B,则max(A,B)表示max(A,B)=A;如果A<B,则max(A,B)=B;N为任意自然数。
同样,优选用访问指针产生装置仅对第二电路的访问指针执行重新初始化。
同样,优选用访问指针产生装置仅对第一电路的访问指针执行重新初始化。
更进一步,优选用访问指针产生装置对第一电路和第二电路的访问指针都执行重新初始化。
以下结合附图的说明将使本发明的其他目的、优点及特征更加明显。
图1是说明根据本发明第一实施例的时钟同步电路电气结构的框图;
图2是说明该时钟同步电路操作的流程图;
图3是说明写入构成时钟同步电路的存储器中的数据串格式的示意图;
图4是说明时钟同步电路在输入时钟频率高于输出时钟频率的情况下工作的操作时序图;
图5是按时间顺序的存储器存储内容的展开图,以说明时钟同步电路在输出时钟频率高于输入时钟频率的情况下的操作;
图6是说明时钟同步电路在输出时钟频率高于输入时钟频率的情况下工作的操作时序图;
图7是按时间顺序的存储器存储内容的展开图,以说明时钟同步电路在输入时钟频率高于输出时钟频率的情况下的操作;
图8是大致说明根据本发明第二实施例的时钟同步电路结构的框图;
图9是说明该时钟同步电路的操作过程的说明图;
图10是大致说明根据本发明第三实施例的时钟同步电路结构的框图;
图11是说明该时钟同步电路的操作过程的说明图;
图12是说明局域网的框图;
图13是说明常规时钟同步电路的框图;
图14表明常规时钟同步电路操作顺序的说明图;
参考附图,通过各实施例将更详细说明实现本发明的最佳方式。
图1是说明根据本发明第一实施例的时钟同步电路电气结构的框图;图2是说明该时钟同步电路操作的流程图;图3是说明写入构成时钟同步电路的存储器中的数据串格式的示意图;图4是说明该时钟同步电路在输入时钟频率高于输出时钟频率的情况下工作的操作时序图;图5是按时间顺序的存储器存储内容的展开图,以说明时钟同步电路在输出时钟频率高于输入时钟频率的情况下的操作;图6是说明时钟同步电路在输出时钟频率高于输入时钟频率的情况下工作的操作时序图;图7是按时间顺序的存储器存储内容的展开图,以说明时钟同步电路在输入时钟频率高于输出时钟频率的情况下的操作。
本实施例的时钟同步电路10具有的功能是,能与输出时钟同步输出被并入局域网分组装拆装置中的分组数据(参考图12)。如图1所示,其包括存储器12、写指针产生电路15、数据保持检测电路16和读指针产生电路17。
并且在本实施例中,根据IEEE 802.3u定义的、用作接口331和332(图12)的MII接口将含有上述时钟同步电路的局域网的分组装拆装置与分组接收和发送装置连接。
存储器12的构成使其能按照图3所示的数据串格式独立地可读可写,具体说其包括一个触发电路。
代表存储器12存储容量的数据串“N”是在输入时钟快于输出时钟的情况下由下列公式(5)给出的存储容量与在输出时钟快于输入时钟的情况下由下列公式(6)给出的存储容量之和。
N<n+1    ……    (5)
n≤N      ……    (6)
这里输入时钟频率是A(Hz),输出时钟频率是B(Hz),最大的分组长度是L(时钟/分组的数量)。在公式(5)和公式(6)中,n=|A-B|×L/max(A,B),并且当A≥B时max(A,B)=A,当A<B时max(A,B)=B,N为任意自然数。
当输入数据与输入时钟同步、每个分组与输出时钟同步输出时,公式(5)和(6)代表在分组输入和输出之间所造成的最大相位差。
如图3所示,具有串数“N”的各数据串包括TXD字段(4位)、TXEN字段(1位)和TXER字段(1位)。在图3中,包括1至N的数或符号相应地标在各字段的后面。
在本实施例中使用MII接口,所需串数值能够由以下说明获得。
MII接口上的分组包括前同步信号报头、起始帧分界符(SFD)和数据帧。报头包括7个八位字节,SFD包括1个八位字节,数据帧的最大长度为1518个八位字节。因此,在由IEEE802.3u定义的MII接口中,一个分组的最大长度是1526个八位字节。这样,在MII接口中一个组含1526个八位字节,即3052个时钟。如果MII接口的时钟频率为25MHz,由于在时钟同步电路的输入和输出部分都允许有±100ppm(1ppm是1/10,000)的变化,所以当输入时钟14和输出时钟18之间的频率差为最大时,输入时钟14或输出时钟18的频率A或B中较高的频率为25.0025MHz。而当输入时钟14和输出时钟18之间的频率差为最大时,输入时钟14的频率A或输出时钟18的频率B中较低的频率为24.9975MHz。
把频率A和B以及每个组的时钟值3052代入公式(5),结果得到N<2×0.605+1,存储器12所需要的字符串数是3。
下面说明构成时钟同步电路的写指针产生电路15的操作。当启动时钟同步电路工作同时把一个写数据单元写入存储器12时,写指针产生电路15适于在此刻初始化写指针。为写入响应输入时钟14输入到存储器12中分组的后续存储数据单元,每次写数据单元写入存储器时,写指针产生电路15同样适于更新写指针。此外,写指针产生电路15把指示数据在存储器12中存放位置的写指针19送给读指针产生电路17,数据串被写入存储器12。
数据保持检测电路16用于检测存入存储器12的数据串中是否有有效数据,如果存在有效数据,则数据保持检测电路16给读指针产生电路17输出读指针更新信号;如果不存在有效数据,则数据保持检测电路16输出读指针重新初始化的指令信号(以下也称之为“读指针重新初始化指令信号”),送至读指针产生电路17。在图3所示的数据串中有效数据表示TXEN段和TXER段。
当时钟同步电路开始工作时,读指针产生电路17适合于初始化读指针,同时接收数据保持检测电路16的指针更新信号。为读出存入存储器12内分组的后续存储数据单元,每从存储器12读取一次数据单元,电路17即响应存储器12的输出时钟18更新读指针。当电路17收到数据保持检测电路16的读指针重新设置指令信号,以及来自写指针产生电路15的、就在读取存储器12的读数据单元的输出时钟之前的输入时钟进行写操作所用的写指针19时,重新初始化读指针,以便将读指针转向(或变为)标准的写指针。
写指针产生电路15和读指针产生电路17各自独立工作。所谓将写指针产生电路15和读指针产生电路17初始化,是指当从写指针产生电路15输出的写指针指向存储器12中的任意一个数据存储位置时,对读指针产生电路17输出的指针进行设置,以便使读指针按存储器12中数据存放位置的正常顺序和逆向顺序指向相同的距离,存储器12中数据存放位置由写指针指定。
在本实施例中,如果存储器12用作振铃缓冲器,并且输入时钟和输出时钟的频率为正态分布,由于输入时钟14快于输出时钟18的概率是50%,所以,通过按照写指针19的正常顺序方向和逆向顺序方向,以相同的距离和最大的间距指向数据存储位置,来初始化读指针17。更具体地说,当写指针19指向初始数据存储位置1时,读指针的初始数据存储位置“m”等于n/2+1,其按照写指针19的常规顺序方向和逆向顺序方向被定位在相同的距离上。
所谓读指针产生电路的重新初始化,是指当接收到数据保持检测电路16的读指针重新初始化指令信号时、以及当接收到来自写指针产生电路15的、用于就在从存储器12读取读数据单元的输出时钟之前的输入时钟进行写操作的写指针19时,把读指针设置为所接收到的写指针。
以下说明本实施例的操作。
当时钟同步电路10开始工作时,初始化写指针产生电路15、读指针产生电路17以及存储器12(图2中的步骤SP1和SP2)。通过这个初始化,写指针19指向初始数据存储位置1,而读指针指向初始数据存储位置“m”(m=n/2+1)。
在由写指针产生电路15输出的写指针所指向的数据存储位置上写入写数据单元[TXD(4位),TXEN(1位),TXER(1位)](步骤SP3),写入之后更新写指针(步骤SP4)。
读过程独立地与写过程并行执行,读过程从初始化的读指针所指向的数据存储位置开始(步骤SP5)。
数据保持检测电路16判断所读出的数据串中是否有有效数据的(步骤SP6)。当开始读操作时,清除存储器的内容,并且把输出的读出数据串作为数据串,例如将所有的数据置为零。
由于上述的存储器还没有有效数据,数据保持检测电路16判断没有有效数据(步骤SP6,否定判断),并且数据保持检测电路16输出读指针重新初始化指令信号,并重新初始化读指针(重新设置)(步骤SP7)。返回步骤SP5,在重新初始化后读操作从读指针所指向的存储器12中的数据存储位置开始(该指针被重新初始化到根据就在后续时钟之前的时钟进行写入的存储数据的位置上)。
以下参考图4至图7说明示于存储器12的数据串串数为3的本实施例中的读指针的重新初始化。
首先参考图4至图5,说明在输出时钟频率快于输入时钟频率情况下的重新初始化。
在图4中,小写字母“a”至“m”表示输入时钟(写数据串的定时)的上升,而数字1至15表示输出时钟(读数据串的定时)的上升。
图5按时间顺序展开说明存储器12的读操作和写操作的关系。图5中的最左侧纵列表示有三个字符串容量的存储器12的第一字符串(1)、第二字符串(2)和第三字符串(3),图5仅表示图4中所示的部分序时关系。从最左纵列的右侧开始,按顺序定位并顺序称之为第一列、第二列和第三列等等,各纵列交替表示读定时和写定时。图4所示的各纵列中的小写字母表示写定时,而阿拉伯数字表示图4中的读定时。另外,加下划线的小写字母表示写定时,同时说明在写定时上有效数字被写入,而未加下划线的小写字母表示写定时,并且在该写定时上有效数字未被写入。
在图5中,第一纵列表示读定时“3”,读取存储器12中的第三字符串。图5中紧接前面的读定时“3”的写定时对应于图4中所示的写定时“b”,并且在写定时“b”上写入存储器的第一个字符串,从写指针产生电路15读出表示存储器12第一个数据串(1)的写指针19,然后将其送给读指针产生电路17。
从图4中的时序明显可见,在这个定时上存储器12没有有效数据,数据保持检测电路16产生读指针重新初始化指令信号、并将其送给读指针产生电路17,在这里读指针转向(变成)写指针19。本实施例中所示的写指针的改变相当于重新初始化。重新初始化的读指针用图框中的读定时“3”下面的数字(1)表示,在这个位置上赋予存储器12中的第三字符串。
第二纵列表示写定时“c”,第三纵列表示读定时“4”,读定时“4”的读指针是在第一纵列中说明的重新初始化后的读指针1。在用读指针1对存储器12中的第一字符串(1)执行读操作之后,数据保持检测电路16判断有效数据的存在。如图4中的时序图所示,当没有有效数据时,执行和所述第一纵列中一样的重新初始化。结果在第三纵列中可见,读定时表示为“4”,而重新初始化的读指针表示为读定时“4”下面的(2)。
在第四和第五纵列中执行第二和第三纵列同样的操作,这些结果表示在相应的纵列中。
除以下不同之处外,在第六和第七纵列中执行和上述纵列同样的操作。不同之处是当在第七纵列中判断有效数据存在时,由于在写定时“e”上数据串(有效数据)“e”写入存储器中的第一字符串(1)的位置上,所以不重新初始化读指针,但对其进行加1更新。因此,读指针的更新值(1)表示在第七列中读定时“6”的下面。
由于此后直到第二十列,对于各个读定时判断有效数据存在的结果都是肯定的,所以仅仅是重复和所述第六、第七纵列同样的操作,因此省略其说明。
如图5所示,在第二十一纵列中所示的读定时中,由于在存储器12中不存在有效数据,所以出现和上面所述一样的情况,即产生重新初始化,使读指针在紧接后面的读指针之前的定时上指向写指针(2),这个读指针表示为第二十一纵列中读定时“14”下面的(2)。
下面说明在输入时钟频率高于输出时钟频率的情况下的重新初始化。
图6和图7各是示于时序图和存储器12中的读操作和写操作之间的关系按照时间顺序的展开图,图6和图7对应于图4和图5。
在响应跟在一个或多个经重新初始化的输出时钟之后的输入时钟所执行的写过程中,由于把分组的第一个数据串写入存储器12,存储器12中存在有效数据,数据保持检测电路16做出存在有效数据的肯定判断,并且输出读指针更新信号(在步骤SP6中“是”的情况下)。响应数据保持检测电路16输出的读指针更新信号,通过对读指针加1对其进行更新(步骤SP8)。此外,读指针重新初始化信号的相反符号可用作读指针更新信号。
连续执行写指针和读指针这样的更新(步骤SP4和SP8)。
通过连续更新写指针,构成分组的各数据串被连续写入更新后的写指针所指向的数据存储位置。
同样,通过连续更新写指针,所有数据都被置为零的数据串连续从存储器12输出,最后读指针指向读指针的初始值1。直到“写指针指向初始值1”的更新后读出的各输出数据是一个数据串,例如,作为输出数据13输出的所有数据置为零的数据串。
因此,响应接在由读指针指定的写指针初始值1所在的数据位置的输出时钟之后的N次输出时钟,N个数据串连续从各读指针指定的各数据存放位置读出(即从存放分组的第一个数据串的数据存放位置1开始计算N个数据存放位置)。当与输入时钟同步输入的数据与输出时钟同步地输出时,从把构成分组的P(P=kN,k是任意的正数)个数据串写入存储器12,直到把这些数据都读出,具有N个字符串存储容量的存储器被重复使用。
这使得在输入时钟频率为A[Hz]时于存储器12输入端接收的分组数据串,在不使该数据串丢失或重复的情况下,按照频率为B[Hz]的输出时钟被输出到存储器12的输出端。
在不使分组数据丢失或重复的情况下,与频率为A[Hz]的输入时钟同步输入的分组数据,和频率为B[Hz]的输出时钟同步输出(频率为A[Hz]的输入时钟能被转换成频率为B[Hz]的输出时钟)。
因此根据本实施例,虽然将输入时钟14和输出时钟18设置为相同的频率,即使由于各时钟源频率稳定状态的改变使输入时钟14和输出时钟18之间产生频率差,与输入时钟14同步输入的分组数据也能够按照输出时钟18输出。
作为用于同步所需要的存储容量,假设一个分组的最大长度是L,常规时钟同步电路需要有一个分组的最大组长度“L”的存储容量,而本实施例所需要的存储容量能减少(L-N)个串,存储容量的降低能缩短传输所用延时。
另外,本实施例的结构具有的优点是把时钟同步电路集成在一片半导体芯片上。
特殊的有利效果是存储器12中同步所需的字符串数是3,在常规时钟同步电路中该值为3052。因此,同步所需的存储容量能被大大降低99.9%,存储容量的大幅度降低,不仅大大缩短了分组传输的延时,而且也大大有利于将时钟同步电路集成在半导体芯片上。第二实施例
图8是大致说明根据本发明第二实施例的时钟同步电路结构的框图。
图9是该时钟同步电路操作过程的说明图。
本实施例的结构与第一实例的结构有很大差别,即由写过程做出有效数据是否存入存储单元12的判断。与此同时,在紧邻重新初始化的输入时钟之前而存在的输出时钟上,把从存储器12读出数据串的读指针20从读指针产生电路17A送给写指针产生电路15A。
把分别与数据保持检测电路16做出的否定判断或肯定判断相对应的写指针重新初始化指令信号或写指针更新信号,从数据保持检测电路16传送给写指针产生电路15A。因此,图9中的说明图包括:步骤SP6A,判断在写过程中存入存储器12中的数据串是否有有效数据;步骤SP7A,从数据保持检测电路16输出写指针重新初始化指令信号,并通过把在紧邻一个把写指针重新初始化指令信号输出的输入时钟之前的输出时钟上产生的读指针20从读指针产生电路17A送给写指针产生电路15A,来重新初始化写指针。读指针产生电路仅根据输出时钟产生读指针。
此外,除上述之外本实施例的结构同第一实施例相同,因此用同样的参考符号来定义和图1与图2中相应的部分。
下面对图8和图9中第二实施例的操作进行说明。
在存储器12中的第二实施例的操作与第一实施例的操作相同。在开始初始化操作时,写指针和读指针都被初始化(步骤SP1和SP2),并且数据串被写入存储器12(步骤SP3)。
数据保持检测电路16判断由存储器12写入的数据串组是否含有效数据(步骤SP6A)。
当在预定时间过去之后输入一个分组、并且分组中的第一串数据写入初始化的或重新初始化后的写指针所指向的存储器12中的数据存储位置的同时,数据保持检测电路16获得否定判断,并且当数据保持检测电路16产生写指针重新初始化指令信号、把在紧邻用于产生写指针重新初始化指令信号的输入时钟之前的输出时钟上进行读操作的读指针20从读指针产生电路17A送到写指针产生电路15A时,写指针产生电路15A把写指针转换成读指针20,以重新初始化写指针。
当组的第一个数据串被写入由初始化的或重新初始化的写指针所指向的存储器12中的数据存储位置时,数据保持检测电路16获得肯定判断,并且从数据保持检测电路16输出写指针更新信号(在步骤SP6A中“是”的情况下)。响应肯定判断信号,写指针产生电路15A通过加1来更新写指针(步骤SP4),然后开始一个分组的数据串的写操作,此后按照上述同样的方法执行分组的最后一个数据串写操作。
在分组的最后一个数据串的写操作当后面的组到达之前结束之后,重复从步骤SP3、SP6A、SP7A至SP3的循环。在与写过程独立执行的读过程中,当同步操作开始时读指针被初始化之后(步骤SP2),读取在每个输出时钟期间读指针指向的存储器12中的数据存放位置(步骤SP5),并更新读指针(步骤SP8)。
因此,根据本实施例,虽然将输入时钟14和输出时钟18设置为相同的频率,即使由于各时钟源频率稳定状态的改变使输入时钟14和输出时钟18之间产生频率差,与输入时钟14同步输入的分组数据也能够按照输出时钟18输出。假设一个分组的最大长度是L,作为用于同步所需要的存储容量,常规时钟同步电路需要有一个分组的最大分组长度“L”的存储容量,而本实施例所需要的存储器能减少(L-N)个串,存储容量的减少能缩短传输所用延时。
另外,本实施例的结构具有的优点是在把时钟同步电路集成在一片半导体芯片上。
特殊的有利效果是存储器12中同步所需的字符串数是3,在常规时钟同步电路中该值为3052。因此,同步所需的存储容量能被大大降低99.9%,存储容量的大幅度降低,不仅有利于缩短组传输的延时,而且也大大减小在半导体芯片上集成同步时钟电路所占用的面积。第三实施例
图10是大致说明根据本发明第三实施例的时钟同步电路的框图,图11说明该时钟同步电路的操作。
本实施例的结构与第一实施例的最大不同点是由写过程和读过程来判断有效数据是否存入存储器12,同时,把在紧邻重新初始化输入时钟之前的输出时钟上从存储器12读出数据串的读指针20,从读指针产生电路17送给写指针产生电路15A,并且把在紧邻重新初始化输出时钟之前的输入时钟上写入存储器12的写指针20,从写指针产生电路15A送给读指针产生电路17。
把分别由数据保持检测电路检测出的与否定判断相对应的写指针重新初始化指令信号和与肯定判断相对应的写指针更新信号,送给写指针产生电路15A和读指针产生电路17。
因此,图11中的说明图包括:步骤SP6A,判断在写过程中存入存储器12中的数据串是否为有效数据;步骤SP7A,当在紧邻输出写指针重新初始化指令信号的输入时钟之前的输出时钟上从读指针产生电路17输出用于读取读数据串的读指针20时,从数据保持检测电路16输出写指针重新初始化信号并重新初始化读指针。
此外,除上述之外本实施例的结构同第一实施例一样,因此用同样的参考符号来定义和图10与图11中相应的部分。
下面对图10和图11中第三实施例的操作进行说明。
第三实施例的在存储器12中的操作与第一实施例的操作相同,写指针和读指针在开始操作时都被初始化(图11中步骤SP1和SP2),并且数据串被写入存储器12(步骤SP3)。
数据保持检测电路16判断写入存储器12的数据串是否含有有效数据(步骤SP6A)。
在开始操作并将分组中第一串数据写入经初始化的或重新初始化后的写指针所指向的存储器12中的数据存储位置的同时或之后,在输入一个分组时,数据保持检测电路16产生写指针重新初始化指令信号,并且当把在紧邻用于输出写指针重新初始化指令信号的输入时钟之前的输出时钟上产生的读指针从读指针产生电路17送出时,写指针产生电路15A把写指针转换成上述传送的读指针,以重新初始化写指针。
执行读指针类似的重新初始化。即,在开始操作并将分组中第一串数据写入经初始化的或重新初始化后的写指针所指向的存储器12中的数据存储位置的同时或之后,当输入一分组时,数据保持检测电路16产生重新初始化指令信号,并且当把在紧邻用于输出读指针重新初始化指令信号的输出时钟之前的输入时钟上产生的写指针19从写指针产生电路15送出时,读指针产生电路17把读指针转换成上述传送的写指针,以重新初始化写指针。
当分组的第一数据串被写入由初始化的或重新初始化的写指针所指向的存储器12中的数据存储位置时,数据保持检测电路16输出写指针更新信号(在步骤SP6A中“是”的情况下)。根据写指针更新信号,写指针产生电路15A通过加1来更新写指针(步骤SP4),并开始写入一个分组的后续的数据串。一个分组的最后一个数据串按照上述同样的方法写入。在最后一个数据串的写操作按时结束后,当后续的分组到达时,重复从步骤SP3、SP6A、SP7A至SP3的循环。
读过程与这个写过程独立执行,读过程从经初始化后的读指针所指向的数据存放位置开始(步骤SP5),由数据保持检测电路16判断所写数据串是否有有效数据(步骤SP6)。当读操作开始时存储器12被清零,并且输出全部数据设为零的数据串。
由于存储器12还未储有有效数据,数据保持检测电路16的判断(在步骤6中的判断)转向无有效数据(即为否定判断)(在步骤SP6中为“否”情况下),并且按照和第一实施例同样的方法执行读指针的重新初始化(重新设置),在此步骤之后返回到步骤SP5执行读操作。
连续执行读指针的重新初始化,直到存储器12中分组的第一个数据串被写入。在把第一个数据串写入存储器12的输入时钟出现之后,由于存储器12中存在有效数据,所以判断转向有有效数据,使数据保持检测电路16输出读指针更新信号(在步骤SP6为“是”的情况下),通过对读指针加1将读指针更新(步骤SP8)。
读指针和写指针被连续更新(步骤SP4和SP8)。
通过对写指针的连续更新,组成一个分组的各数据串被顺序写入更新后的数据指针所指向的数据存放位置。同样,通过对读指针的连续更新,把全部都是无效数据的数据串作为输出数据从存储器12输出,最后读指针到达由写指针写入分组数据串的数据串存放位置。在读指针到达数据存放位置之前,由存储器12初始化而清除的数据串,例如把所有数据都置为零的数据串,作为输出数据13输出。然而当读指针到达数据存放位置时,分组数据串作为输出数据13被顺序输出。
因此从把构成一个分组的P个数据串被同步写入存储器12,直到读出所有这些数据,重复利用存储容量为N的存储器。
在与输入时钟同步输入的数据按输出时钟同步输出之后,在写操作和读操作的过程中都连续进行指针的初始化,直到后续的分组被写入。
这使得在输入时钟频率为A[Hz]时接收的数据串,按照频率为B的输出时钟被输出到存储器12的输出端,而不使该数据串丢失或重复。即在不使分组数据丢失或重复的情况下,与频率为A[Hz]的输入时钟同步输入的分组数据,和频率为B[Hz]的输出时钟同步地输出(频率为A[Hz]的输入时钟能被转换成频率为B[Hz]的输出时钟)。
因此,根据本实施例,虽然将输入时钟14和输出时钟18设置为具有相同的频率,即使由于各时钟源频率稳定状态的改变使输入时钟14和输出时钟18之间产生频率差,与输入时钟14同步输入的分组数据也能够按照输出时钟18输出。
假设一个分组的最大长度是L,作为用于同步所需要的存储容量,常规时钟同步电路需要有一个分组的最大组长度“L”的存储容量,而本实施例所需要的存储器能减少(L-N)个串,存储容量的减少能缩短传输所用延时。
另外,本实施例的结构具有在一片半导体芯片上集成时钟同步电路的优点。
特殊的有利效果是存储器12中同步所需的字符串数是3,在常规时钟同步电路中该值为3052。因此,同步所需的存储容量能被大大降低99.9%,存储容量的大幅度降低,使得不仅有利于大大缩短组传输的延时,而且也大大减小在半导体芯片上集成同步时钟电路所占用的面积。
显然,本发明不仅限于上述实施例,在不违反本发明的范围和精神的情况下,可以对本发明做出改进和变换。例如,本发明可以在输入时钟14和输出时钟18的频率不相同的情况下执行、或者在输入时钟14和输出时钟18的频率不同以及变化的情况下执行。
另外,本发明不仅可在局域网技术领域中执行,也可在输入和输出时钟存在变化或差别的情况下的数字信号传输中执行。
此外,在这些情况下,输入端和输出端可被独立访问的半导体存储器可以用作存储器。
在上述的实施例中,时钟同步电路包括硬件,然而其一部分也可以包括软件。
根据本发明,这样来配置时钟同步电路,即使输入和输出时钟的频率之间存在差别,也能够使写指针和读指针中的一个或都被重新初始化,还能够减少与输入时钟同步输入的数据在与输出时钟同步输出时所需的存储容量,尤其是如果频率差小时,存储容量减少的数量则大。这使得分组传输的延时大大减少,还能够大大减小存储容量,使同步电路简单化和小型化,并降低其造价。
因此,本发明显然不仅限于上述实施例,但在不违反本发明的范围和精神的情况下,可以对本发明进行变化和改进。

Claims (12)

1.时钟同步方法,用于把数据从工作在第一时钟的第一电路通过一个其输入输出端可以被独立访问的存储装置传送到按照第二时钟工作的第二电路,该方法包括:
存储由所述第一存储装置传送的所述数据;
检测存入所述存储装置的所述数据是否为有效数据;
如果判断是肯定的,则响应所述时钟更新所述存储装置的访问指针;
如果判断是否定的,则响应所述时钟重新初始化所述存储装置的所述访问指针;以及
通过用所述访问指针访问所述存储装置,与所述第二时钟同步输出与第一时钟同步输入的数据。
2.根据权利要求1的时钟同步方法,其特征在于第一时钟的频率与第二时钟的频率不同。
3.根据权利要求1或2的时钟同步方法,其特征在于所述存储装置的存储容量N的宽度是在输出时钟快于输入时钟的情况下由以下公式(1)给出的存储容量宽度与在输入时钟快于输出时钟的情况下由以下公式(2)给出的存储容量宽度之和:
N<n+1    …        (1)
n≤N      …        (2)
这里n=|A-B|×L/max(A,B),其中A是所述第一时钟频率,B是所述第二时钟频率,L是最大组长度,如果A≥B,则max(A,B)表示max(A,B)=A,如果A<B,则max(A,B)=B,N为任意自然数。
4.根据权利要求1、2或3的时钟同步方法,其特征在于仅对所述第二电路的所述访问指针执行所述重新初始化。
5.根据权利要求1、2或3的时钟同步方法,其特征在于仅对所述第一电路的所述访问指针执行所述重新初始化。
6.根据权利要求1、2或3的时钟同步方法,其特征在于对所述第一电路和所述第二电路的所述访问指针都执行所述重新初始化。
7.时钟同步装置,用于把数据从工作在第一时钟的第一电路通过一个其输入输出端可以被独立访问的存储装置传送到按照第二时钟工作的电路,该装置包括:
存储装置,其输入端和输出端可以被独立访问;
检测装置,检测存入所述存储装置的数据是否为有效数据;
访问指针产生装置,当所述检测装置判断为肯定时,响应所述时钟更新所述存储装置的访问指针,当所述检测装置判断为否定时,访问指针产生装置响应所述时钟重新初始化所述存储装置的访问指针;以及
输出装置,通过用从所述访问指针产生装置输出的访问指针访问所述存储装置,把与所述第一时钟同步输入的数据与所述第二时钟同步地输出。
8.根据权利要求7的时钟同步装置,其特征在于所述第一时钟的频率与所述第二时钟的频率不同。
9.根据权利要求7或8的时钟同步装置,其特征在于所述存储装置的存储容量N的宽度是在输出时钟快于输入时钟的情况下由以下公式(3)给出的存储容量宽度与输入时钟快于输出时钟的情况下由以下公式(4)给出存储容量宽度之和:
N<n+1    …    (3)
n≤N      …    (4)
这里n=|A-B|×L/max(A,B),其中A是所述第一时钟频率,B是所述第二时钟频率,L是最大组长度,如果A≥B,则max(A,B)代表max(A,B)=A,如果A<B,则max(A,B)=B,N为任意自然数。
10.根据权利要求7、8或9的时钟同步装置,其特征在于仅对所述第二电路的所述访问指针用所述访问指针产生装置执行所述访问指针的重新初始化。
11.根据权利要求7、8或9的时钟同步装置,其特征在于仅对所述第一电路的所述访问指针用所述访问指针产生装置执行所述访问指针的重新初始化。
12.根据权利要求7、8或9的时钟同步装置,其特征在于对所述第一电路和所述第二电路的所述访问指针,都用所述访问指针产生装置执行所述访问指针的重新初始化。
CNB991220013A 1998-10-22 1999-10-22 时钟同步方法及其所用的装置 Expired - Fee Related CN1157024C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP31832298A JP3447586B2 (ja) 1998-10-22 1998-10-22 クロック同期化方法及びその装置
JP318322/1998 1998-10-22

Publications (2)

Publication Number Publication Date
CN1252658A true CN1252658A (zh) 2000-05-10
CN1157024C CN1157024C (zh) 2004-07-07

Family

ID=18097900

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991220013A Expired - Fee Related CN1157024C (zh) 1998-10-22 1999-10-22 时钟同步方法及其所用的装置

Country Status (5)

Country Link
US (1) US6519709B1 (zh)
JP (1) JP3447586B2 (zh)
KR (1) KR100346675B1 (zh)
CN (1) CN1157024C (zh)
TW (1) TW523989B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337449C (zh) * 2003-09-22 2007-09-12 松下电器产业株式会社 时钟再同步器
CN101227689B (zh) * 2007-12-27 2011-01-19 华为技术有限公司 信息上报方法及装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633972B2 (en) * 2001-06-07 2003-10-14 Intel Corporation Method and apparatus for utilizing static queues in processor staging
JP3542574B2 (ja) * 2001-08-28 2004-07-14 Necマイクロシステム株式会社 システムクロック同期化回路
US6952791B2 (en) * 2001-12-03 2005-10-04 Broadcom Corporation Method and circuit for initializing a de-skewing buffer in a clock forwarded system
US6895481B1 (en) 2002-07-03 2005-05-17 Cisco Technology, Inc. System and method for decrementing a reference count in a multicast environment
JP2006279326A (ja) * 2005-03-28 2006-10-12 Naohiko Yasui パケット送受信装置
JP6190699B2 (ja) * 2013-11-12 2017-08-30 株式会社メガチップス Emi低減回路

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61196497A (ja) 1985-02-26 1986-08-30 Toshiba Corp メモリ制御回路
JPH0481142A (ja) 1990-07-24 1992-03-13 Fujitsu Ltd 脱落重複判定信号出力回路
US5742760A (en) * 1992-05-12 1998-04-21 Compaq Computer Corporation Network packet switch using shared memory for repeating and bridging packets at media rate
JPH0669913A (ja) 1992-06-18 1994-03-11 Fujitsu Ltd クロック乗換回路
JPH066333A (ja) 1992-06-19 1994-01-14 Fujitsu Ltd クロック乗換回路
JPH0730528A (ja) 1993-07-09 1995-01-31 Fujitsu Ltd クロック乗換回路
US5555524A (en) * 1995-02-13 1996-09-10 Standard Microsystems Corporation Semi-synchronous dual port FIFO
US5668767A (en) * 1995-12-29 1997-09-16 Cypress Semiconductor Corp. Polled FIFO flags
US5956748A (en) * 1997-01-30 1999-09-21 Xilinx, Inc. Asynchronous, dual-port, RAM-based FIFO with bi-directional address synchronization
US6101329A (en) * 1997-02-18 2000-08-08 Lsi Logic Corporation System for comparing counter blocks and flag registers to determine whether FIFO buffer can send or receive data
US5982741A (en) * 1998-09-17 1999-11-09 Tut Systems, Inc. Method and apparatus for automatically reducing cross-talk between wires coupled to a common network device
TW406265B (en) 1998-09-23 2000-09-21 Ind Tech Res Inst Structure and method of asynchronous dual port FIFO memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337449C (zh) * 2003-09-22 2007-09-12 松下电器产业株式会社 时钟再同步器
CN101227689B (zh) * 2007-12-27 2011-01-19 华为技术有限公司 信息上报方法及装置

Also Published As

Publication number Publication date
US6519709B1 (en) 2003-02-11
KR20000029266A (ko) 2000-05-25
CN1157024C (zh) 2004-07-07
KR100346675B1 (ko) 2002-07-27
JP2000134188A (ja) 2000-05-12
JP3447586B2 (ja) 2003-09-16
TW523989B (en) 2003-03-11

Similar Documents

Publication Publication Date Title
CN1148666C (zh) 具总线调停机制的高速处理器系统
CN1255765C (zh) 数据通信系统和方法
CN1157024C (zh) 时钟同步方法及其所用的装置
CN1230759C (zh) 进行最佳数据传送的多总线信息处理系统的总线-总线桥
US7724388B2 (en) Image input/output control apparatus, image processing apparatus, image processing method, data communication apparatus, and data communication method
CN1277226C (zh) 分布式共享内存系统数据维护方法
CN1064463C (zh) 在信息处理系统的不同总线结构之间提供准确和完整的通信的方法和设备
CN1488105A (zh) 控制数据处理系统间经由存储器的数据流的方法和装置
JP2000165656A (ja) 画像処理方法,画像結合方法,画像形成方法,画像処理システム,画像結合システムおよび画像形成システム
CN1346468A (zh) 高性能通信控制器
CN1266515A (zh) 通用串行总线装置控制器
CN1234688A (zh) 图象输入装置、系统和方法图象收发系统和存储媒体
CN1488104A (zh) 控制数据处理系统间经由存储器的数据流的方法和装置
CN1216885A (zh) 打印机
CN1570907A (zh) 多处理器系统
CN1967396A (zh) 成像设备及其控制方法
CN1376348A (zh) 在包括无线链路的通信网络中管理通频带的方法
CN1645849A (zh) 信息处理装置、信息处理方法及控制程序
JP4217733B2 (ja) 複写機
CN1181666C (zh) 彩色图形处理器
CN1734412A (zh) 状态信息处理器
CN1955933A (zh) 数据处理设备和方法
JP2003316714A (ja) 情報処理装置及び方法
US7362471B2 (en) Image-forming controller, method therefor, program, and storage medium
CN1110939C (zh) 具有打印控制的信息处理设备和方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: NEC ELECTRONICS TAIWAN LTD.

Free format text: FORMER OWNER: NIPPON ELECTRIC CO., LTD.

Effective date: 20030418

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20030418

Address after: Kanagawa, Japan

Applicant after: NEC Corp.

Address before: Tokyo, Japan

Applicant before: NEC Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1054609

Country of ref document: HK

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040707

Termination date: 20091123