一种数据同步的方法及装置制造方法及图纸

技术编号:9571278 阅读:77 留言:0更新日期:2014-01-16 04:07
本发明专利技术实施例提供了一种数据同步的方法及装置,其中方法包括:利用设定的异步时钟对输入的数据进行1:N解复用,得到每路传输速率是输入的数据的1/N的N路数据和周期为2N个异步时钟周期的第一同步信号;利用设定的同步时钟对第一同步信号进行延迟得到第二同步信号和第三同步信号;在同步时钟的每个采样沿,判断第二同步信号和第三同步信号是否相等,生成沿触发信号进行计数操作;利用同步时钟和输出的各计数的数值,依次对N路数据进行采样,得到N:1复用的输出数据。本发明专利技术解决了对RAM的资源要求较高且延时时间较长的问题。

【技术实现步骤摘要】
一种数据同步的方法及装置
本专利技术涉及数字信号传输领域,尤其涉及一种数据同步的方法及装置。
技术介绍
随着数字系统的规模越来越大、复杂程度越来越高,两个或多个时钟域在逻辑设计中的应用越来越多。在不同的时钟域中,不可避免地会遇到数据的互相传递。由于两个不同的时钟之间会存在一定的相位差和短时的频率抖动,为了使数据能够可靠传输,在进行设计时,必须充分考虑时序对功能的影响,否则会照成两个时钟域之间的数据同步失败。目前,将数据由异步时钟域转换到同步时钟域通常采用双口RAM缓存数据的方法来实现:用异步时钟作为双口RAM的写时钟,写时钟产生双口RAM的写地址,由写时钟在一个端口写入数据;再用同步时钟作为读时钟,并产生双口RAM的读地址,读时钟在另一个端口读出数据;该双口RAM深度是根据需要容忍的短时频差范围来确定。分别将读写地址用同步时钟采样并进行比较,以判断读写地址之间的距离是否小于可能发生读、写冲突的最小距离,即“危险距离”,如果是,则将读地址跳转,转到离当前位置最远的地址后,再执行读操作;否则不必调整读地址,直接执行读操作。经过上述方法读出来的数据,虽然能达到既稳定又正确,还可以屏蔽异步时钟和本地同步时钟之间的相位差以及短时的频率抖动问题,能够实现异步时钟域的数据同步,但是利用此方法,需要依赖可编程逻辑器件的RAM资源,此外,同步数据的延时时间较长,需要由双口RAM的设计深度决定。
技术实现思路
本专利技术实施例提供了一种数据同步的方法及装置,用以解决现有数据同步技术中对RAM的深度要求较高且延时时间较长的问题。基于上述问题,本专利技术实施例提供的一种数据同步的方法,包括:利用设定的异步时钟对输入的数据进行1:N解复用,得到每路传输速率是输入的数据的1/N的N路数据和周期为2N个异步时钟周期的第一同步信号,其中N为大于1的整数;利用设定的同步时钟对所述第一同步信号进行延迟得到第二同步信号和第三同步信号,所述第二同步信号与所述第三同步信号相差至少一个同步时钟周期;在所述同步时钟的每个采样沿,判断所述第二同步信号和所述第三同步信号是否相等,且在第一次判断出不相等时,生成沿触发信号并且计数为设定的第一数值,并在计数为设定的第一数值后按照同步时钟的周期继续进行计数,在生成下一次沿触发信号的时刻判断上一个计数的数值是否为设定的第二数值,若是,继续进行计数;若否,计数为所述设定的第一数值;依次输出每次计数的数值;利用所述同步时钟和输出的各计数的数值,依次对所述N路数据进行采样,得到N:1复用的输出数据。本专利技术实施例提供的一种数据同步的装置,包括:解复用模块,用于利用设定的异步时钟对输入的数据进行1:N解复用,得到每路传输速率是输入的数据的1/N的N路数据和周期为2N个异步时钟周期的第一同步信号,其中N为大于1的整数;同步模块,用于利用设定的同步时钟对经所述解复用模块得到的所述第一同步信号进行延迟得到第二同步信号和第三同步信号,所述第二同步信号与所述第三同步信号相差一个同步时钟周期,和用于在所述同步时钟的每个采样沿,判断所述第二同步信号和所述第三同步信号是否相等,且在不相等时生成沿触发信号;计数模块,用于接收所述同步模块在第一次判断出不相等时生成沿触发信号,并且计数为设定的第一数值,并在计数为设定的第一数值后按照同步时钟的周期继续进行计数,所述计数模块在接收到所述同步模块生成的下一次沿触发信号的时刻判断上一个计数的数值是否为设定的第二数值,若是,继续进行计数;若否,计数为所述设定的第一数值;所述计数模块依次输出每次计数的数值;复用模块,用于利用所述同步时钟和所述计数模块输出的各计数的数值,依次对所述N路数据进行采样,得到N:1复用的输出数据。本专利技术实施例的有益效果包括:本专利技术实施例提供的数据同步的方法及装置,利用设定的异步时钟对输入的数据进行1:N解复用得到N路数据和第一同步信号后,再利用设定的同步时钟对第一同步信号进行延迟得到第二同步信号和第三同步信号,然后根据同步时钟采样沿判断第二同步信号和第三同步信号是否相等,生成沿触发信号进行计数操作,最后利用同步时钟和输出的各计数的数值,依次对N路数据进行采样即可得到同步数据。本专利技术实施例可使得输入的数据在解复用生成多路数据后,根据对两路同步信号进行比较,触发计数器进行计数,,根据计数器的数值对多路数据采样并复用输出,减少了数据传输的延时,避免了现有数据同步技术中,需要依赖可编程逻辑器件的RAM资源解决数据同步的问题,同时,数据的同步延时也可以得到较好的控制,不需要由双口RAM的设计深度来决定。附图说明图1为本专利技术实施例提供的数据同步的方法的流程图;图2为本专利技术实施例提供的数据同步过程的时序图之一;图3为本专利技术实施例提供的数据同步过程的时序图之二;图4为本专利技术实施例提供的数据同步的装置的结构示意图;图5为本专利技术实施例提供的同步模块与计数模块交互示意图。具体实施方式下面结合说明书附图,对本专利技术实施例提供的一种数据同步的方法及装置的具体实施方式进行说明。本专利技术实施例提供的一种数据同步的方法,如图1所示,具体包括以下步骤:S101:利用设定的异步时钟对输入的数据进行1:N解复用,得到每路传输速率是输入的数据的1/N的N路数据和周期为2N个异步时钟周期的第一同步信号,其中N为大于1的整数。较佳地,上述第一同步信号可以通过下述方式得到:以解复用后的任意一路数据的帧头位置作为第一同步信号的上升沿或下降沿,以至少大于2个异步时钟周期作为第一同步信号的脉冲宽度,得到第一同步信号。具体地,在本专利技术实施例中,可以采用设定的异步时钟的上升沿或下降沿对输入的数据进行1:N解复用,在解复用的过程中使得输入的数据的速率下降到原来的1/N。如图2所示,以同源的、但有传输延时变化的异步时钟为例,假设N=3,利用异步时钟的上升沿对输入的1路数据(数据A+数据B+数据C)进行解复用,解复用后在t1时刻、t2时刻和t3时刻分别输出3路数据,即数据D0(对应速率降低后的数据A)、数据D1(对应速率降低后的数据B)和数据D2(对应速率降低后的数据C);以t1时刻的数据D0为例,输出数据D0时的速率是原来输入的1路数据中数据A的1/3;在此过程中,还以数据D0的帧头位置作为上升沿,以至少大于2个异步时钟周期作为脉冲宽度得到的周期为6个异步时钟周期的第一同步信号(sync)。在本专利技术实施例中,为了保证后续设定的同步时钟能够可靠采样到数据,sync的脉冲宽度需要至少大于2个异步时钟周期。S102:利用设定的同步时钟对第一同步信号进行延迟得到第二同步信号和第三同步信号,第二同步信号与第三同步信号相差一个同步时钟周期。较佳地,第二同步信号和第三同步信号通过下述方式得到:按照同步时钟的上升沿或下降沿对第一同步信号进行延迟,得到第二同步信号;对第二同步信号延迟一个同步时钟周期得到第三同步信号。如图2所示,采用同步时钟的下降沿对得到的sync进行延迟,在k0时刻得到第二同步信号(sync1),对sync1延迟1个同步周期在k1时刻得到第三同步信号(sync2)。S103:在同步时钟的每个采样沿,判断第二同步信号和第三同步信号是否相等,且在第一次判断出不相等时,生成沿触发信号并且计数为设定的第一数值,并在计数为设定的第一数值后按照同步时钟本文档来自技高网...
一种数据同步的方法及装置

【技术保护点】
一种数据同步的方法,其特征在于,包括:利用设定的异步时钟对输入的数据进行1:N解复用,得到每路传输速率是输入的数据的1/N的N路数据和周期为2N个异步时钟周期的第一同步信号,其中N为大于1的整数;利用设定的同步时钟对所述第一同步信号进行延迟得到第二同步信号和第三同步信号,所述第二同步信号与所述第三同步信号相差一个同步时钟周期;在所述同步时钟的每个采样沿,判断所述第二同步信号和所述第三同步信号是否相等,且在第一次判断出不相等时,生成沿触发信号并且计数为设定的第一数值,并在计数为设定的第一数值后按照同步时钟的周期继续进行计数,在生成下一次沿触发信号的时刻判断上一个计数的数值是否为设定的第二数值,若是,继续进行计数,若否,计数为所述设定的第一数值;依次输出每次计数的数值;利用所述同步时钟和输出的各计数的数值,依次对所述N路数据进行采样,得到N:1复用的输出数据。

【技术特征摘要】
1.一种数据同步的方法,其特征在于,包括:利用设定的异步时钟对输入的数据进行1:N解复用,得到每路传输速率是输入的数据传输速率的1/N的N路数据和周期为2N个异步时钟周期的第一同步信号,其中N为大于1的整数;利用设定的同步时钟对所述第一同步信号进行延迟得到第二同步信号和第三同步信号,所述第二同步信号与所述第三同步信号相差一个同步时钟周期;在所述同步时钟的每个采样沿,判断所述第二同步信号和所述第三同步信号是否相等,且在第一次判断出不相等时,生成沿触发信号并且计数为设定的第一数值,并在计数为设定的第一数值后按照同步时钟的周期继续进行计数,在生成下一次沿触发信号的时刻判断上一个计数的数值是否为设定的第二数值,若是,继续进行计数,若否,计数为所述设定的第一数值;依次输出每次计数的数值;利用所述同步时钟和输出的各计数的数值,依次对所述N路数据进行采样,得到N:1复用的输出数据。2.如权利要求1所述的方法,其特征在于,第一同步信号通过下述方式得到:以解复用后的任意一路数据的帧头位置作为第一同步信号的上升沿或下降沿,以至少大于2个异步时钟周期作为第一同步信号的脉冲宽度,得到所述第一同步信号。3.如权利要求1所述的方法,其特征在于,利用设定的同步时钟对所述第一同步信号进行延迟得到第二同步信号和第三同步信号,包括:按照所述同步时钟的上升沿或下降沿对所述第一同步信号进行延迟,得到所述第二同步信号;对所述第二同步信号延迟一个同步时钟周期得到所述第三同步信号。4.如权利要求1所述的方法,其特征在于,利用M位计数器进行计数,其中5.一种数据同步的装置,其特征在于,包括:解复用模块,用于利用设定的异步时...

【专利技术属性】
技术研发人员:周恒箴高凤玲王艳
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1