CN101166151A - 跨时钟域不同位宽数据传递的方法及装置 - Google Patents

跨时钟域不同位宽数据传递的方法及装置 Download PDF

Info

Publication number
CN101166151A
CN101166151A CNA2007101220526A CN200710122052A CN101166151A CN 101166151 A CN101166151 A CN 101166151A CN A2007101220526 A CNA2007101220526 A CN A2007101220526A CN 200710122052 A CN200710122052 A CN 200710122052A CN 101166151 A CN101166151 A CN 101166151A
Authority
CN
China
Prior art keywords
data
clock
module
bit width
buffer memory
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
CNA2007101220526A
Other languages
English (en)
Other versions
CN101166151B (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.)
BEIJING FOUNDERPOD DIGITAL TECHNOLOGY CO LTD
Peking University
Peking University Founder Group Co Ltd
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN2007101220526A priority Critical patent/CN101166151B/zh
Publication of CN101166151A publication Critical patent/CN101166151A/zh
Application granted granted Critical
Publication of CN101166151B publication Critical patent/CN101166151B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明公开了一种跨时钟域不同位宽数据传递的方法,包括步骤:基于数据发送模块工作时钟,缓存数据发送模块发送的数据位宽为数据发送模块发送数据位宽的各个数据;利用高于数据发送模块工作时钟的时钟,将所述缓存的各个数据转换为数据接收模块接收数据位宽的各个数据;以及将所述转换后的各个数据进行缓存,并基于数据接收模块工作时钟,将缓存的各个转换后的数据发送给数据接收模块。本发明提供的方法使数据能以较快的速度从数据发送端传递到数据接收端,提高了数据传递的效率。

Description

跨时钟域不同位宽数据传递的方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种跨时钟域不同位宽数据传递的方法及装置。
背景技术
在数据通信系统中,数据发送模块和数据接收模块之间进行数据传递时,经常会出现数据发送模块和数据接收模块所工作的时钟域不同(时钟域是指采集一个有效数据所占用的时钟),并且该两个模块所兼容的数据位宽也不一致的情况,因此两者不能直接连通,否则可能会出现亚稳态问题,导致数据传递错误。在这种情况下,现有技术中通常在两个模块之间加入一个数据缓存模块,用于隔离时钟域以及转换数据的位宽,以避免数据传递错误。一般该数据缓存模块可以是现场可编程逻辑器件(FPGA)内部的先入先出存储器(FIFO,FirstInput First Output)。
如图1所示,为现有技术中处理跨时钟域不同位宽数据传递的结构示意图。假设数据发送模块工作的时钟域为C1,数据位宽为M1位,数据个数为N1;数据接收模块工作的时钟域为C2,数据位宽为M2位,数据个数为N2(C1≠C2,M1≠M2,N1≠N2)。由于数据发送模块发送的数据总量与数据接收模块接收的数据总量相等,因此M1×N1=M2×N2。现有的处理方法通常采用以下几种方式:
其中一种方法为:采用一级FIFO作为数据缓存,位宽为M1位。将数据发送模块的数据以C1为时钟写入FIFO,再通过C2为时钟进行数据的读取、拆分或拼接,以将数据位宽变为M2位。该方法不仅复杂度高,而且由于在数据接收模块端采用C2为时钟进行操作,当C2的频率较低时,可能将导致数据传递速度慢。
另一种方法为:先将数据发送模块发送的数据以C1为时钟进行一级并串转换,变为M1×N1个1位的数据,再以C1为写时钟将转换后的数据写入一个位宽为1位的FIFO;然后以C2为读时钟读取该FIFO的内容,读出后再经过一级串并转换,将1位的数据转换为位宽为M2位的数据,共读出N2个数据。该方法在数据存于FIFO之前,利用C1为时钟进行操作,当C1的频率较低时,可能将导致数据传递速度慢。
基于上述两种跨时钟域不同位宽数据的传递方法可知:当发送时钟或接收时钟的频率较低时,将导致数据传递的效率较低。
发明内容
本发明提供一种跨时钟域不同位宽数据传递的方法,以提高数据传递的效率。
本发明提供一种跨时钟域不同位宽数据传递的方法,包括步骤:
基于数据发送模块工作时钟,缓存数据发送模块发送的数据位宽为数据发送模块发送数据位宽的各个数据;
利用高于数据发送模块工作时钟的时钟,将所述缓存的各个数据转换为数据接收模块接收数据位宽的各个数据;以及
将所述转换后的各个数据进行缓存,并基于数据接收模块工作时钟,将缓存的各个转换后的数据发送给数据接收模块。
较佳地,所述高于数据发送模块工作时钟的时钟高于数据接收模块的工作时钟。
较佳地,所述数据转换过程具体包括:
利用高于数据发送模块工作时钟的时钟,分别将所述缓存的各个数据拆分为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公约数值的数据;
将所述拆分后的各个数据进行缓存;以及
利用高于数据发送模块工作时钟的时钟,将拆分后的各个缓存数据拼接为数据位宽为数据接收模块接收数据位宽的数据。
较佳地,所述公约数值为最大公约数值。
较佳地,所述数据转换过程具体包括:
利用高于数据发送模块工作时钟的时钟,将所述缓存的各个数据拼接为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公倍数值的数据;
将所述拼接后的各个数据进行缓存;以及
利用高于数据发送模块工作时钟的时钟,分别将拼接后的各个缓存数据拆分为数据位宽为数据接收模块接收数据位宽的数据。
较佳地,所述公倍数值为最小公倍数值。
本发明提供一种跨时钟域不同位宽数据传递的装置,包括:
第一级缓存模块,用于基于数据发送模块工作时钟,缓存数据发送模块发送的数据位宽为数据发送模块发送数据位宽的各个数据;
高频时钟产生模块,用于产生高于数据发送模块工作时钟的时钟;
转换模块,用于利用所述高频时钟产生模块产生的时钟,将所述第一级缓存模块缓存的各个数据转换为数据接收模块接收数据位宽的各个数据;
第三级缓存模块,用于将所述转换模块转换后的各个数据进行缓存,并基于数据接收模块工作时钟,将缓存的各个转换后的数据发送给数据接收模块。
较佳地,所述转换模块包括:
拆分子模块,用于利用所述高频时钟产生模块产生的时钟,分别将所述第一级缓存模块缓存的各个数据拆分为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公约数值的数据;
第二级缓存子模块,用于将所述拆分子模块拆分后的各个数据进行缓存;拼接子模块,用于利用所述高频时钟产生模块产生的时钟,将所述缓存子模块缓存的拆分后的各个数据拼接为数据位宽为数据接收模块接收数据位宽的数据。
较佳地,所述转换模块包括:
拼接子模块,用于利用所述高频时钟产生模块产生的时钟,将所述第一级缓存模块缓存的数据拼接为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公倍数值的数据;
第二级缓存子模块,用于将所述拼接子模块拼接后的各个数据进行缓存;
拆分子模块,用于利用所述高频时钟产生模块产生的时钟,分别将所述缓存子模块缓存的拼接后的各个数据拆分为数据位宽为数据接收模块接收数据位宽的数据。
较佳地,所述高频时钟产生模块为现场可编程逻辑器件内部的锁相环电路。
本发明在进行数据传递时,将费时的拆分或拼接操作采用高频时钟进行,而现有方法对拆分或拼接操作采用发送时钟或接收时钟进行,而高频时钟的频率高于发送时钟的频率,因此本发明提出的两种方法数据能以较快的速度从数据发送端传递到数据接收端,提高了数据传递的效率。
附图说明
图1为现有技术中处理跨时钟域不同位宽数据传递的结构示意图;
图2为本发明实施例中处理跨时钟域不同位宽数据传递的装置的结构示意图;
图3为本发明实施例中一种转换模块的结构示意图;
图4为本发明实施例中另一种转换模块的结构示意图。
具体实施方式
针对现有技术所存在的问题,本发明实施例提出一种跨时钟域不同位宽数据传递的方法,即利用高于发送时钟的时钟,将数据发送模块发送的各个数据转换为数据接收模块接收数据位宽的各个数据,从而实现提高数据传递效率的目的。
本发明实施例提出一种跨时钟域不同位宽数据传递的方法,包括如下过程:
S1、基于数据发送模块工作时钟,缓存数据发送模块发送的数据位宽为数据发送模块发送数据位宽的各个数据;
S2、利用高于数据发送模块工作时钟的时钟,将缓存的各个数据转换为数据接收模块接收数据位宽的各个数据;
S3、将转换后的各个数据进行缓存,并基于数据接收模块工作时钟,将缓存的各个转换后的数据发送给数据接收模块。
其中在上述S2中,数据转换过程具体可以为:利用高于数据发送模块工作时钟的时钟,分别将缓存的各个数据拆分为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公约数值的数据;将拆分后的各个数据进行缓存;以及利用高于数据发送模块工作时钟的时钟,将拆分后的各个缓存数据拼接为数据位宽为数据接收模块接收数据位宽的数据。
此外,在上述步骤S2中,数据转换过程具体还可以为:利用高于数据发送模块工作时钟的时钟,将缓存的各个数据拼接为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公倍数值的数据;将拼接后的各个数据进行缓存;以及利用高于数据发送模块工作时钟的时钟,分别将拼接后的各个缓存数据拆分为数据位宽为数据接收模块接收数据位宽的数据。
如图2所示,为本发明实施例中一种跨时钟域不同位宽数据传递的装置的结构示意图,包括:
高频时钟产生模块11,用于产生高于数据发送模块工作时钟的时钟;
第一级缓存模块12,用于基于数据发送模块工作时钟,缓存数据发送模块发送的数据位宽为数据发送模块发送数据位宽的各个数据;
转换模块13,用于利用高频时钟产生模块11产生的时钟,将第一级缓存模块12缓存的各个数据转换为数据接收模块接收数据位宽的各个数据;
第三级缓存模块14,用于将转换模块13转换后的各个数据进行缓存,并基于数据接收模块工作时钟,将缓存的各个转换后的数据发送给数据接收模块。
如图3所示,为图2中的转换模块13的一种结构示意图,包括:
拆分子模块131,用于利用高频时钟产生模块11产生的时钟,分别将第一级缓存模块12缓存的各个数据拆分为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公约数值的数据;
第二级缓存子模块132,用于将拆分子模块131拆分后的数据进行缓存;
拼接子模块133,用于利用高频时钟产生模块11产生的时钟,将第二级缓存子模块132缓存的拆分后的各个数据拼接为数据位宽为数据接收模块接收数据位宽的数据。
如图4所示,为图2中的转换模块13的另一种结构示意图,包括:
拼接子模块231,用于利用高频时钟产生模块11产生的时钟,将第一级缓存模块12缓存的数据拼接为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公倍数值的数据;
第二级缓存子模块232,用于将拼接子模块231拼接后的各个数据进行缓存;
拆分子模块233,用于利用高频时钟产生模块11产生的时钟,分别将第二级缓存子模块232缓存的拼接后的各个数据拆分为数据位宽为数据接收模块接收数据位宽的数据。
下面将分别以最大公约数和最小公倍数为例,对本发明进行详细说明。
假设数据发送模块工作的时钟域为C1,数据位宽为M1位,数据个数为N1;数据接收模块工作的时钟域为C2,数据位宽为M2位,数据个数为N2(C1≠C2,M1≠M2,N1≠N2),并假设M1和M2的最大公约数为G,M1和M2的最小公倍数为L,则有:M1=D1×G,M2=D2×G,L=M1×D2=M2×D1,其中D1、D2分别为M1、M2的最简数。
如图2所示,为本发明实施例中处理跨时钟域不同位宽数据传递的结构示意图。图中,本发明实施例采用三级数据缓存模块来实现较高效率的数据传送,三级数据缓存模块分别为第一级缓存模块(FIFO1)、第二级缓存子模块(FIFO2)和第三级缓存模块(FIFO3)。为了保证数据能够正确的传递,FIFO1、FIFO2和FIFO3必须具备一定的存储深度。各个模块的存储深度与模块本身的固有延时以及与各个模块的工作时钟有关,其中固有延时是个固定的值,取决于采用的FIFO种类,该值可以预先计算出来,并且在连续数据传递的情况下,FIFO的固有延时对数据传递效率的影响可以忽略不计。
此外在本发明实施例中,FIFO1和FIFO2的读时钟频率均高于或等于写时钟频率,因此FIFO1和FIFO2所需的存储深度较小;而FIFO3的存储深度可以由写时钟C1和读时钟C2的关系以及传递的数据总量决定。当C1小于等于C2时,数据接收模块的速度能够跟上数据发送模块的速度,此时FIFO3所需的存储深度较小;当C1大于C2时,数据接收模块的速度不能跟上数据发送模块的速度,这样FIFO3中就要缓存更多的数据,此时FIFO3所需的存储深度较大,并且传递的数据总量越大,FIFO3所需的存储深度也越大。
下面以公约数值为最大公约数值为例,详细说明处理跨时钟域不同位宽数据传递的具体过程。
在本发明实施例中,在采用最大公约数法时,处理跨时钟域不同位宽数据传递的结构示意图可以参照如图2所示。表1为在采用最大公约数法时,缓存模块、工作时钟与数据位宽对应关系表。
表1、缓存模块、工作时钟与数据位宽对应关系表
    缓存模块     写时钟     读时钟    数据位宽
    FIFO1     C1     C0    M1
    FIFO2     C0     C0    G(最大公约数)
    FIFO3     C0     C2     M2
下面将结合图2、图3和表1详细说明在采用最大公约数法时,各个模块的具体功能:
高频时钟产生模块,用于产生一个频率高于C1的时钟信号C0,并且C0频率越高越好。该模块可由现场可编程逻辑器件内部的锁相环实现,通过倍频来得到时钟信号C0。
第一级缓存模块(FIFO1),用于缓存数据发送模块传递进来的数据,其写时钟为C1,读时钟为C0,数据位宽为M1(FIFO1缓存的数据位宽格式根据数据发送模块的位宽格式确定)。其具体工作过程为:当FIFO1的写数据端检测到数据发送模块有数据传递进来时,就将该数据以C1为时钟写入FIFO1;当FIFO1的读数据端检测到FIFO1有1个位宽为M1的数据时,就将该数据以C0为时钟读出FIFO1。
转换模块,用于利用所述高频时钟产生模块产生的时钟,将FIFO1中缓存的各个数据转换为FIFO3中数据位宽的各个数据,包括:
拆分子模块,用于将FIFO1的读数据端读出的位宽为M1的数据,拆分为数据位宽为M1和M2的最大公约数G的数据。
第二级缓存子模块(FIFO2),用于缓存数据位宽为M1和M2的最大公约数G的数据,其写时钟和读时钟均为C0,数据位宽为M1和M2的最大公约数G(FIFO2缓存的数据位宽格式根据数据发送模块和数据接收模块的位宽格式确定)。其具体工作过程为:当拆分子模块将FIFO1的读数据端读出的1个位宽为M1的数据拆分为D1个位宽为G的数据后,FIFO2的写数据端便以C0为时钟将这些拆分后的数据全部缓存到FIFO2中;FIFO2的读数据端检测到D2个位宽为G的数据时,就将这些数据以C0为时钟全部读出。
拼接子模块,用于将FIFO2的读数据端读出的D2个位宽为G的数据拼接为1个位宽为M2的数据。
第三级缓存模块(FIFO3),用于缓存提供给数据接收模块的数据,其写时钟为C0,读时钟为C1,数据位宽为M2(FIFO3缓存的数据位宽格式根据数据接收模块的位宽格式确定)。其具体工作过程为:当拼接子模块将FIFO2的读数据端读出的D2个位宽为G的数据拼接为1个位宽为M2的数据后,FIFO3的写数据端便将该拼接后的数据以C0为时钟写入到FIFO3中;FIFO3的读数据端检测到有1个位宽为M2的数据时,就将该数据以C2为时钟读出并传递到数据接收模块。
在采用最大公约数法时,处理跨时钟域不同位宽数据传递的步骤包括:
S11、FIFO1的写数据端检测到数据发送模块有1个位宽为M1的数据时,就将该数据以C1为时钟写入FIFO1;
S12、FIFO1的读数据端检测到FIFO1有1个位宽为M1数据时,就将这个数据以C0为时钟读出;
S13、将S12中得到的数据拆分为D1个位宽为G的数据;
S14、将S13中得到的D1个位宽为G的数据分别以C0为时钟写入FIFO2;
S15、FIFO2的读数据端检测到FIFO2中有D2个位宽为G的数据时,就将这些数据以C0为时钟全部读出;
S16、将S15中得到的D2个位宽为G的数据拼接为1个位宽为M2的数据;
S17、将S16中得到的1个位宽为M2的数据以C0为时钟写入FIFO3;
S18、FIFO3的读数据端检测到FIFO3中有1个位宽为M2的数据时,就将该数据以C2为时钟读出并发送至数据接收模块。
下面以公倍数值为最小公倍数值为例,详细说明处理跨时钟域不同位宽数据传递的具体过程。在本发明实施例中,在采用最小公倍数法时,处理跨时钟域不同位宽数据传递的结构示意图可以参照如图2所示。表2为在采用最小公倍数法时,缓存模块、工作时钟与数据位宽的对应关系表。
表2、缓存模块、工作时钟与数据位宽对应关系表
    缓存模块     写时钟     读时钟    数据位宽
    FIFO1     C1     C0    M1
    FIFO2     C0     C0    L(最小公倍数)
    FIFO3     C0     C2    M2
下面将结合图2、图4和表2详细说明在采用最小公倍数法时,各个模块的具体功能:
高频时钟产生模块,用于产生一个频率高于C1的时钟信号C0,并且C0频率越高越好。该模块可由现场可编程逻辑器件内部的锁相环实现,通过倍频来得到时钟信号C0。
第一级缓存模块(FIFO1),用于缓存数据发送模块传递进来的数据,其写时钟为C1,读时钟为C0,数据位宽为M1(FIFO1缓存的数据位宽格式根据数据发送模块的位宽格式确定)。其具体工作过程为:当FIFO1的写数据端检测到数据发送模块有数据传递进来时,就将该数据以C1为时钟写入FIFO1;FIFO1的读数据端检测到FIFO1中有D2个位宽为M1的数据时,就将这些数据以C0为时钟全部读出。
转换模块,用于利用所述高频时钟产生模块产生的时钟C0,将FIFO1中缓存的各个数据转换为FIFO3中数据位宽的各个数据,包括:
拼接子模块,用于将FIFO1的读数据端读出的D2个位宽为M1的数据,拼接为1个数据位宽为M1和M2的最小公倍数L的数据。
第二级缓存子模块(FIFO2),用于缓存数据位宽为M1和M2的最小公倍数L的数据,其写时钟和读时钟均为C0,数据位宽为L(FIFO2缓存的数据位宽格式根据数据发送模块和数据接收模块的位宽格式确定)。其具体工作过程为:当拼接子模块将FIFO1的读数据端读出的D2个位宽为M1的数据拼接为1个位宽为L的数据后,FIFO2的写数据端便将该拼接后的数据以C0为时钟写入FIFO2中;当FIFO2的读数据端检测到1个位宽为L的数据时,就将该数据以C0为时钟读出。
拆分子模块,用于将FIFO2的读数据端读出的1个位宽为L的数据拆分为D1个位宽为M2的数据。
第三级缓存模块(FIFO3),用于缓存提供给数据接收模块的数据,其写时钟为C0,读时钟为C2,数据位宽M2(FIFO3缓存的数据位宽格式根据数据接收模块的位宽格式确定)。FIFO3的工作原理为:当拆分子模块将FIFO2的读数据端读出的1个位宽为L的数据拆分成D1个位宽为M2的数据后,FIFO3的写数据端便将这些拆分后的数据分别以C0为时钟全部缓存到FIFO3中;当FIFO3的读数据端检测到有1个位宽为M2的数据时,就将该数据以C2为时钟读出并传递到数据接收模块。
在采用最小公倍数法时,处理跨时钟域不同位宽数据传递的步骤包括:
S21、FIFO1的写数据端检测到数据发送模块有1个位宽为M1的数据时,就将该数据以C1为时钟写入FIFO1;
S22、FIFO1的读数据端检测到FIFO1中有D2个位宽为M1的数据时,就将这些数据以C0为时钟全部读出;
S23、将S22中得到的数据拼接为1个位宽为L的数据;
S24、将S23中得到的位宽为L的数据以C0为时钟写入FIFO2;
S25、FIFO2的读数据端检测到FIFO2中有1个位宽为L的数据时,就将该数据以C0为时钟读出;
S26、将S25中得到的数据拆分为D1个位宽为M2的数据;
S27、将S26中得到的为D1个位宽为M2的数据,分别以C0为时钟全部写入FIFO3;
S28、FIFO3的读数据端检测到FIFO3有1个位宽为M2的数据时,就将该数据以C2为时钟读出并发送至数据接收模块。
下面结合实例来说明两种方法的具体实施方式。假设M1=12,M2=8,则可计算出G=4,L=24,D1=3,D2=2。C0的值可由C1和C2的值确定。
在采用最大公约数法时,具体的实施方式为:
S31、建立三个FIFO,其中FIFO1的数据位宽为12,FIFO2的数据位宽为4,FIFO3的数据位宽为8;建立一个高频时钟产生模块,用于产生C0。
S32、FIFO1的写数据端检测到数据发送模块有1个数据时,就将这个数据写入FIFO1。
S33、FIFO1的读数据端检测到FIFO1有1个数据时,就将这个数据以C0为时钟读出,该数据的位宽为12;然后将该数据拆分为3个位宽为4的数据,并将这3个数据分别以C0为时钟写入到FIFO2。
S34、FIFO2的读数据端检测到FIFO2中的数据个数凑够2个位宽为4的数据后,就从FIFO2中以C0为时钟读出2个位宽为4的数据,并拼接为1个位宽为8的数据后,以C0为时钟写入FIFO3。此时FIFO2中还剩余1个位宽为4的数据,这个位宽为4的数据与后续写入到FIFO2中的数据再凑够2个位宽为4的数据后被读出。
S35、FIFO3的读数据端检测到FIFO3有1个位宽为8的数据时,就将这个数据读出并送至数据接收模块。
在采用最小公倍数法时,具体的实施方式为:
S41、建立三个FIFO,其中FIFO1的数据位宽为12,FIFO2的数据位宽为24,FIFO3的数据位宽为8;并建立一个高频时钟产生模块,用于产生C0。
S42、FIFO1的写数据端检测到数据发送模块有1个数据时,就将这个数据写入FIFO1。
S43、FIFO1的读数据端检测到FIFO1的数据凑够2个位宽为12的数据后,就将这2个位宽为12的数据分别以C0为时钟读出;然后将这2个数据拼接为1个位宽为24的数据,并将其以C0为时钟写入到FIFO2。
S44、FIFO2的读数据端检测到FIFO2中有1个数据后,就从FIFO2中以C0为时钟读出该数据;然后将该数据拆分为3个位宽为8的数据后,分别以C0为时钟写入FIFO3。
S45、FIFO3的读数据端检测到FIFO3有1个数据时,就将这个数据读出并送至数据接收模块。
基于上述可知,本发明实施例在进行数据传递时,将费时的拆分、拼接操作采用高频时钟进行,而现有方法对拆分、拼接操作是采用发送时钟或接收时钟进行,而高频时钟的频率高于发送时钟的频率,更佳的可以要求高频时钟大大高于发送时钟和接收时钟的频率,以此来使得数据的拆分、拼接操作更加快速。因此基于本发明提出的方法,数据能以较快的速度从数据发送端传递到数据接收端,提高了数据传递的效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种跨时钟域不同位宽数据传递的方法,其特征在于,包括步骤:
基于数据发送模块工作时钟,缓存数据发送模块发送的数据位宽为数据发送模块发送数据位宽的各个数据;
利用高于数据发送模块工作时钟的时钟,将所述缓存的各个数据转换为数据接收模块接收数据位宽的各个数据;以及
将所述转换后的各个数据进行缓存,并基于数据接收模块工作时钟,将缓存的各个转换后的数据发送给数据接收模块。
2.如权利要求1所述的方法,其特征在于,所述高于数据发送模块工作时钟的时钟高于数据接收模块的工作时钟。
3.如权利要求1所述的方法,其特征在于,所述数据转换过程具体包括:
利用高于数据发送模块工作时钟的时钟,分别将所述缓存的各个数据拆分为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公约数值的数据;
将所述拆分后的各个数据进行缓存;以及
利用高于数据发送模块工作时钟的时钟,将拆分后的各个缓存数据拼接为数据位宽为数据接收模块接收数据位宽的数据。
4.如权利要求3所述的方法,其特征在于,所述公约数值为最大公约数值。
5.如权利要求1所述的方法,其特征在于,所述数据转换过程具体包括:
利用高于数据发送模块工作时钟的时钟,将所述缓存的各个数据拼接为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公倍数值的数据;
将所述拼接后的各个数据进行缓存;以及
利用高于数据发送模块工作时钟的时钟,分别将拼接后的各个缓存数据拆分为数据位宽为数据接收模块接收数据位宽的数据。
6.如权利要求5所述的方法,其特征在于,所述公倍数值为最小公倍数值。
7.一种跨时钟域不同位宽数据传递的装置,其特征在于,包括:
第一级缓存模块,用于基于数据发送模块工作时钟,缓存数据发送模块发送的数据位宽为数据发送模块发送数据位宽的各个数据;
高频时钟产生模块,用于产生高于数据发送模块工作时钟的时钟;
转换模块,用于利用所述高频时钟产生模块产生的时钟,将所述第一级缓存模块缓存的各个数据转换为数据接收模块接收数据位宽的各个数据;
第三级缓存模块,用于将所述转换模块转换后的各个数据进行缓存,并基于数据接收模块工作时钟,将缓存的各个转换后的数据发送给数据接收模块。
8.如权利要求7所述的装置,其特征在于,所述转换模块包括:
拆分子模块,用于利用所述高频时钟产生模块产生的时钟,分别将所述第一级缓存模块缓存的各个数据拆分为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公约数值的数据;
第二级缓存子模块,用于将所述拆分子模块拆分后的各个数据进行缓存;拼接子模块,用于利用所述高频时钟产生模块产生的时钟,将所述缓存子模块缓存的拆分后的各个数据拼接为数据位宽为数据接收模块接收数据位宽的数据。
9.如权利要求7所述的装置,其特征在于,所述转换模块包括:
拼接子模块,用于利用所述高频时钟产生模块产生的时钟,将所述第一级缓存模块缓存的数据拼接为数据位宽为数据发送模块发送数据位宽与数据接收模块接收数据位宽的公倍数值的数据;
第二级缓存子模块,用于将所述拼接子模块拼接后的各个数据进行缓存;
拆分子模块,用于利用所述高频时钟产生模块产生的时钟,分别将所述缓存子模块缓存的拼接后的各个数据拆分为数据位宽为数据接收模块接收数据位宽的数据。
10.如7~9任意权利要求所述的装置,其特征在于,所述高频时钟产生模块为现场可编程逻辑器件内部的锁相环电路。
CN2007101220526A 2007-09-20 2007-09-20 跨时钟域不同位宽数据传递的方法及装置 Expired - Fee Related CN101166151B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101220526A CN101166151B (zh) 2007-09-20 2007-09-20 跨时钟域不同位宽数据传递的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101220526A CN101166151B (zh) 2007-09-20 2007-09-20 跨时钟域不同位宽数据传递的方法及装置

Publications (2)

Publication Number Publication Date
CN101166151A true CN101166151A (zh) 2008-04-23
CN101166151B CN101166151B (zh) 2010-07-14

Family

ID=39334631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101220526A Expired - Fee Related CN101166151B (zh) 2007-09-20 2007-09-20 跨时钟域不同位宽数据传递的方法及装置

Country Status (1)

Country Link
CN (1) CN101166151B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309981A (zh) * 2013-06-17 2013-09-18 南京发艾博光电科技有限公司 一种具有高存储效率的adc数据组织系统及其方法
CN103780250A (zh) * 2014-01-21 2014-05-07 中国电子科技集团公司第五十八研究所 用于高速收发器中改变数据位宽的变速箱电路及其工作方法
CN104331266A (zh) * 2014-10-22 2015-02-04 安徽皖通邮电股份有限公司 一种实现任意数据位宽转换的方法和装置
CN104850515A (zh) * 2015-04-28 2015-08-19 华为技术有限公司 一种缓存信元数据的方法、装置和设备
CN105607888A (zh) * 2014-11-25 2016-05-25 中兴通讯股份有限公司 数据位宽转换方法及装置
CN106897238A (zh) * 2015-12-18 2017-06-27 浙江大华技术股份有限公司 一种数据处理装置及方法
CN108010554A (zh) * 2016-10-27 2018-05-08 华为技术有限公司 一种数据访问系统、数据写入方法及数据读取方法
CN108260191A (zh) * 2016-12-29 2018-07-06 展讯通信(上海)有限公司 移动终端及其睡眠状态的控制方法
CN109408427A (zh) * 2017-08-18 2019-03-01 龙芯中科技术有限公司 一种跨时钟域数据处理方法及系统
CN109412735A (zh) * 2018-10-25 2019-03-01 盛科网络(苏州)有限公司 传输数据的方法和装置、以及具有该装置的以太网卡
CN109815181A (zh) * 2019-01-24 2019-05-28 武汉精立电子技术有限公司 一种基于axi协议接口的任意位宽转换方法及装置
WO2019165954A1 (zh) * 2018-03-01 2019-09-06 深圳市中兴微电子技术有限公司 一种数据位宽转换的方法及装置、计算机可读存储介质
CN110297618A (zh) * 2019-06-18 2019-10-01 武汉精立电子技术有限公司 一种用于数据传输的接口互通方法及装置
CN110308889A (zh) * 2019-05-14 2019-10-08 北京思朗科技有限责任公司 调制处理装置及方法
CN110347629A (zh) * 2018-04-04 2019-10-18 华为技术有限公司 数据处理方法以及数据处理的装置
CN111666225A (zh) * 2020-06-05 2020-09-15 上海集成电路研发中心有限公司 一种数据处理电路及方法
WO2022142501A1 (zh) * 2020-12-31 2022-07-07 中兴通讯股份有限公司 数据转换方法和装置、存储介质及电子装置
CN115543882A (zh) * 2022-11-30 2022-12-30 无锡沐创集成电路设计有限公司 不同位宽总线间的数据转发装置及数据传输方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100525172C (zh) * 2005-07-27 2009-08-05 杭州华三通信技术有限公司 多路物理层接口复用传输装置
CN100465934C (zh) * 2006-05-09 2009-03-04 华为技术有限公司 一种在异步时钟域传输数据的装置及其方法

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309981B (zh) * 2013-06-17 2016-06-01 南京发艾博光电科技有限公司 一种具有高存储效率的adc数据组织系统及其方法
CN103309981A (zh) * 2013-06-17 2013-09-18 南京发艾博光电科技有限公司 一种具有高存储效率的adc数据组织系统及其方法
CN103780250A (zh) * 2014-01-21 2014-05-07 中国电子科技集团公司第五十八研究所 用于高速收发器中改变数据位宽的变速箱电路及其工作方法
CN103780250B (zh) * 2014-01-21 2016-09-14 中国电子科技集团公司第五十八研究所 用于高速收发器中改变数据位宽的变速箱电路及其工作方法
CN104331266B (zh) * 2014-10-22 2018-04-27 安徽皖通邮电股份有限公司 一种实现任意数据位宽转换的方法和装置
CN104331266A (zh) * 2014-10-22 2015-02-04 安徽皖通邮电股份有限公司 一种实现任意数据位宽转换的方法和装置
CN105607888A (zh) * 2014-11-25 2016-05-25 中兴通讯股份有限公司 数据位宽转换方法及装置
WO2016082362A1 (zh) * 2014-11-25 2016-06-02 中兴通讯股份有限公司 数据位宽转换方法、装置和设备
CN104850515A (zh) * 2015-04-28 2015-08-19 华为技术有限公司 一种缓存信元数据的方法、装置和设备
CN104850515B (zh) * 2015-04-28 2018-03-06 华为技术有限公司 一种缓存信元数据的方法、装置和设备
CN106897238B (zh) * 2015-12-18 2020-05-26 浙江大华技术股份有限公司 一种数据处理装置及方法
CN106897238A (zh) * 2015-12-18 2017-06-27 浙江大华技术股份有限公司 一种数据处理装置及方法
CN108010554B (zh) * 2016-10-27 2020-09-29 华为技术有限公司 一种数据访问系统、数据写入方法及数据读取方法
CN108010554A (zh) * 2016-10-27 2018-05-08 华为技术有限公司 一种数据访问系统、数据写入方法及数据读取方法
CN108260191A (zh) * 2016-12-29 2018-07-06 展讯通信(上海)有限公司 移动终端及其睡眠状态的控制方法
CN109408427A (zh) * 2017-08-18 2019-03-01 龙芯中科技术有限公司 一种跨时钟域数据处理方法及系统
CN109408427B (zh) * 2017-08-18 2021-01-22 龙芯中科技术股份有限公司 一种跨时钟域数据处理方法及系统
WO2019165954A1 (zh) * 2018-03-01 2019-09-06 深圳市中兴微电子技术有限公司 一种数据位宽转换的方法及装置、计算机可读存储介质
CN110221994A (zh) * 2018-03-01 2019-09-10 深圳市中兴微电子技术有限公司 一种数据位宽转换的方法及装置、计算机可读存储介质
CN110221994B (zh) * 2018-03-01 2022-04-08 深圳市中兴微电子技术有限公司 一种数据位宽转换的方法及装置、计算机可读存储介质
CN110347629B (zh) * 2018-04-04 2023-08-22 华为技术有限公司 数据处理方法以及数据处理的装置
CN110347629A (zh) * 2018-04-04 2019-10-18 华为技术有限公司 数据处理方法以及数据处理的装置
CN109412735A (zh) * 2018-10-25 2019-03-01 盛科网络(苏州)有限公司 传输数据的方法和装置、以及具有该装置的以太网卡
CN109815181A (zh) * 2019-01-24 2019-05-28 武汉精立电子技术有限公司 一种基于axi协议接口的任意位宽转换方法及装置
CN110308889A (zh) * 2019-05-14 2019-10-08 北京思朗科技有限责任公司 调制处理装置及方法
CN110297618A (zh) * 2019-06-18 2019-10-01 武汉精立电子技术有限公司 一种用于数据传输的接口互通方法及装置
CN111666225A (zh) * 2020-06-05 2020-09-15 上海集成电路研发中心有限公司 一种数据处理电路及方法
CN111666225B (zh) * 2020-06-05 2023-12-01 上海集成电路研发中心有限公司 一种数据处理电路及方法
WO2022142501A1 (zh) * 2020-12-31 2022-07-07 中兴通讯股份有限公司 数据转换方法和装置、存储介质及电子装置
CN115543882A (zh) * 2022-11-30 2022-12-30 无锡沐创集成电路设计有限公司 不同位宽总线间的数据转发装置及数据传输方法

Also Published As

Publication number Publication date
CN101166151B (zh) 2010-07-14

Similar Documents

Publication Publication Date Title
CN101166151B (zh) 跨时钟域不同位宽数据传递的方法及装置
CN101482856B (zh) 基于现场可编程门阵列的串并行协议转换装置
CN102023942B (zh) Spi外设访问装置及方法
CN102760111B (zh) 一种基于fpga的扩展多串口装置及其数据收发方法
CN102012876B (zh) 大位宽数据的写入、读取方法及控制器
CN105208034A (zh) 一种spi总线与can总线协议转换电路及方法
CN101403962A (zh) 基于fpga的异步双fifo的数据缓存方法
CN101236776B (zh) 一种串行接口快闪存储器及其设计方法
CN102520892A (zh) 多功能固态数据存储回放仪
CN1728629A (zh) 多路物理层接口复用传输装置
CN105786741B (zh) 一种soc高速低功耗总线及转换方法
CN104702860A (zh) 基于fpga的视频图像切换系统
CN100472493C (zh) 一种异步先入先出方法、系统及发送装置
CN101039158B (zh) 一种帧错位消除装置
CN102411921B (zh) 编解码装置及其执行与驱动方法
CN101488119B (zh) 地址译码方法、装置及单板
CN103279442A (zh) 一种高速互联总线的报文过滤系统及方法
CN101075475B (zh) 多端口半导体器件及其方法
CN101267459B (zh) 采用异步fifo寄存器输出数据的方法及寄存器
CN101271441A (zh) 一种数据处理系统及数据处理方法
CN204155611U (zh) 一种多路音频合并数字录音电路
US20230126852A1 (en) Data transmission apparatus and method
KR101407996B1 (ko) Spi 통신용 마이크로컨트롤러를 이용한 동기 직렬 인터페이스시스템 및 그 방법
CN112148667B (zh) 一种基于fpga软核的缓存系统及方法
CN103761200A (zh) 用于全自动贴片机isa总线及扩展二级总线并行通信的方法及实现该方法的系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: BEIJING UNIV. BEIJING FOUNDER DIGITAL PRINTING TEC

Free format text: FORMER OWNER: BEIJING UNIV. BEIDA FANGZHENG ELECTRONICS CO., LTD., BEIJING

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

Effective date of registration: 20110727

Address after: 100871, Haidian District Fangzheng Road, Beijing, Zhongguancun Fangzheng building, 298, 513

Co-patentee after: Peking University

Patentee after: Peking Founder Group Co., Ltd.

Co-patentee after: Digital printing technology, Beijing Founder Electronics Co., Ltd.

Address before: 100871, Haidian District Fangzheng Road, Beijing, Zhongguancun Fangzheng building, 298, 513

Co-patentee before: Peking University

Patentee before: Peking Founder Group Co., Ltd.

Co-patentee before: Beida Fangzheng Electronics Co., Ltd., Beijing

ASS Succession or assignment of patent right

Owner name: BEIJING UNIV. BEIDA FANGZHENG ELECTRONICS CO., LTD

Free format text: FORMER OWNER: BEIJING UNIV. BEIJING FOUNDER DIGITAL PRINTING TECHNOLOGY CO., LTD.

Effective date: 20120323

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

Effective date of registration: 20120323

Address after: 100871, Haidian District Fangzheng Road, Beijing, Zhongguancun Fangzheng building, 298, 513

Co-patentee after: Peking University

Patentee after: Peking Founder Group Co., Ltd.

Co-patentee after: Beida Fangzheng Electronics Co., Ltd., Beijing

Address before: 100871, Haidian District Fangzheng Road, Beijing, Zhongguancun Fangzheng building, 298, 513

Co-patentee before: Peking University

Patentee before: Peking Founder Group Co., Ltd.

Co-patentee before: Digital printing technology, Beijing Founder Electronics Co., Ltd.

ASS Succession or assignment of patent right

Owner name: BEIJING UNIV. BEIJING FOUNDER YINJIE DIGITAL TECHN

Free format text: FORMER OWNER: BEIJING UNIV. BEIDA FANGZHENG ELECTRONICS CO., LTD., BEIJING

Effective date: 20120418

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

Effective date of registration: 20120418

Address after: 100871, Haidian District Fangzheng Road, Beijing, Zhongguancun Fangzheng building, 298, 513

Co-patentee after: Peking University

Patentee after: Peking Founder Group Co., Ltd.

Co-patentee after: Beijing Founderpod Digital Technology Co.,Ltd.

Address before: 100871, Haidian District Fangzheng Road, Beijing, Zhongguancun Fangzheng building, 298, 513

Co-patentee before: Peking University

Patentee before: Peking Founder Group Co., Ltd.

Co-patentee before: Beida Fangzheng Electronics Co., Ltd., Beijing

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

Granted publication date: 20100714

Termination date: 20190920

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