一种异步数据传输方法及系统的制作方法

文档序号:10624733阅读:459来源:国知局
一种异步数据传输方法及系统的制作方法
【专利摘要】本发明公开了一种异步数据传输方法及系统。该方法,包括获取第一同步控制信号的特征值,所述特征值包括上升沿或下降沿;根据所述特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存。实现了异步处理时建立和保持时间的满足采样要求,确定了多路异步数据总线的可靠传输,同时不需要确认握手信号,减小了握手处理方法的来回交互握手信号的处理延迟,进而提高了多路异步数据总线传输的处理速度。
【专利说明】
一种异步数据传输方法及系统
技术领域
[0001]本发明计算机技术,尤指一种异步数据传输方法及系统。
【背景技术】
[0002]在FPGA或芯片设计中,经常会遇到多个异步时钟域数据交互传输。
[0003]为了实现异步时钟域数据可靠传输,现有技术通常采用异步时钟域之间握手信号的方法来控制数据传输,具体的,采用异步时钟域之间握手信号来控制多路异步数据总线传输,
[0004]然而,现有技术中发送端与接收端均需要进行发送握手控制信号与接收握手控制信号的确认,从而导致数据传输延迟较大。

【发明内容】

[0005]为了解决上述技术问题,本发明提供了一种异步数据传输方法及系统,用以解决数据传输延迟较大的问题。
[0006]为了达到本发明目的,本发明提供了一种异步数据传输方法,包括:
[0007]获取第一同步控制信号的特征值,所述特征值包括上升沿或下降沿;
[0008]根据所述特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存。
[0009]进一步的,所述根据所述特征值和多路数据锁存信号,将所述多路数据锁存信号指示的锁存数据信号进行锁存之后,还包括:
[0010]获取第一数据读信号;
[0011]根据所述第一数据读信号,从所述锁存数据信号中选择所述第一多路数据读锁存信号指示的读出数据;
[0012]输出所述读出数据。
[0013]进一步的,所述根据所述特征值和多路数据锁存信号,将所述多路数据锁存信号指示的锁存数据信号进行锁存之前,还包括:
[0014]采用第一采样时钟,将第一同步控制信号分别进行至少2次信号同步处理,获得第二同步控制信号和第三同步控制信号;
[0015]将所述第二同步控制信号和所述第三同步控制信号进行逻辑处理,获得所述第一同步控制信号的特征值。
[0016]进一步的,所述获取第一同步控制信号的特征值之前,还包括:
[0017]采用第二采样时钟,将第四同步控制信号进行信号同步处理,获得所述第一同步控制信号;和/或
[0018]采用第二采样时钟,将第二多路数据锁存信号进行信号同步处理,获得所述第一多路数据锁存信号;和/或
[0019]采用第二采样时钟,将第二数据读信号进行信号同步处理,获得所述第一数据读信号。
[0020]进一步的,所述第一多路数据锁存信号保持至少2个所述第二采样时钟的周期延时;
[0021]所述第一数据读信号保持至少3个所述第二采样时钟的周期延时。
[0022]为了达到本发明目的,本发明还提供了一种异步数据传输系统,包括:信号同步模块和数据锁存模块,所述信号同步模块和所述数据锁存模块之间连接;
[0023]所述信号同步模块,用于获得第一同步控制信号的特征值,所述特征值包括上升沿或下降沿;
[0024]所述数据锁存模块,用于根据所述特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存。
[0025]进一步的,所述数据锁存模块包括第一寄存器,所述第一寄存器用于获取第一数据读信号,根据所述第一数据读信号,从所述锁存数据信号中选择所述第一多路数据读锁存信号指示的读出数据,输出所述读出数据。
[0026]进一步的,所述信号同步模块包括:第二寄存器和第三寄存器;
[0027]所述第二寄存器,用于采用第一采样时钟,将第一同步控制信号进行信号同步处理,获得第二同步控制信号;
[0028]所述第三寄存器,用于接收所述第二寄存器输入的所述第二同步控制信号,采用第一采样时钟,将所述第二同步控制信号进行信号同步处理,获得第三同步控制信号。
[0029]进一步的,所述信号同步模块还包括:第四寄存器、第五寄存器和第六寄存器,所述第四寄存器、所述第五寄存器和所述第六寄存器分别输入第二采样时钟;
[0030]所述第四寄存器,用于采用第二采样时钟,将第四同步控制信号进行信号同步处理,获得所述第一同步控制信号;
[0031]所述第五寄存器,用于采用第二采样时钟,将第二多路数据锁存信号进行信号同步处理,获得所述第一多路数据锁存信号;
[0032]所述第六寄存器,用于采用第二采样时钟,将第二数据读信号进行信号同步处理,获得所述第一数据读信号。
[0033]进一步的,所述第一多路数据锁存信号保持至少2个所述第二采样时钟的周期延时;
[0034]所述第一数据读信号保持至少3个所述第二采样时钟的周期延时。
[0035]与现有技术相比,本发明包括,获取第一同步控制信号的特征值,所述特征值包括上升沿或下降沿;根据所述特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存。实现了异步处理时建立和保持时间的满足采样要求,确定了多路异步数据总线的可靠传输,同时不需要确认握手信号,减小了握手处理方法的来回交互握手信号的处理延迟,进而提高了多路异步数据总线传输的处理速度。
[0036]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
【附图说明】
[0037]附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
[0038]图1为本发明异步数据传输方法一实施例的流程示意图;
[0039]图2为本发明异步数据传输系统一实施例的流程示意图;
[0040]图3为本发明异步数据传输系统另一实施例的流程示意图。
【具体实施方式】
[0041]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0042]在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0043]本发明实施例提供的异步数据传输方法具体可以应用于芯片中异步数据的传输时,该芯片可以是FPGA等芯片。本实施例提供的异步数据传输方法具体可以通过异步数据传输系统来执行,该异步数据传输系统可以集成在芯片中,该异步数据传输系统可以采用软件和/或硬件的方式来实现。以下对本实施例提供的异步数据传输方法进行详细地说明。
[0044]图1为本发明异步数据传输方法一实施例的流程示意图,如图1所示,本实施例的方法的执行主体可以是异步数据传输系统。该方法包括如下步骤:
[0045]步骤101、获取第一同步控制信号的特征值。
[0046]在本实施例中,所述特征值包括上升沿或下降沿。
[0047]步骤102、根据所述特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存。
[0048]本实施例的适用场景为,发送端发起请求的数据总线传输到输出数据总线时。
[0049]在本实施例中,根据特征值sync_edge采样第一多路数据锁存信号muxl,可以使第一多路数据锁存信号muxl稳定不变,从而确定多字节bit类型数据采样时满足建立时间和保持时间要求,进而确定第一多路数据锁存信号muxl采样的正确性,其中,第一多路数据锁存信号muxl为多字节bit信号。
[0050]在本实施中,通过获取第一同步控制信号的特征值,所述特征值包括上升沿或下降沿;根据所述特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存。实现了异步处理时建立和保持时间的满足采样要求,确定了多路异步数据总线的可靠传输,同时不需要确认握手信号,减小了握手处理方法的来回交互握手信号的处理延迟,进而提高了多路异步数据总线传输的处理速度。
[0051]进一步的,在上述实施例的基础上,在步骤102之后,还可以包括:
[0052]获取第一数据读信号;
[0053]根据所述第一数据读信号,从所述锁存数据信号中选择所述第一多路数据锁存信号指示的读出数据;
[0054]输出所述读出数据。
[0055]可选的是,采用第二采样时钟,将第二数据读信号进行信号同步处理,获得所述第一数据读信号。
[0056]也就是说,多路异步数据总线data_bus [I]到data_bus [N](其中N为整数,表示N个不同的数据总线)在第一采样时钟clk_r下经过选择并锁存后,等待第一数据读信号read_enl有效后,将锁存数据data_busl经过第一寄存器输出。其中,第一数据读信号保持至少3个所述第二采样时钟的周期延时
[0057]进一步的,在上述实施例的基础上,在步骤102之前,还可以包括:
[0058]采用第一采样时钟,将第一同步控制信号分别进行至少2次信号同步处理,获得第二同步控制信号和第三同步控制信号;
[0059]将所述第二同步控制信号和所述第三同步控制信号进行逻辑处理,获得所述第一同步控制信号的特征值。
[0060]具体的,采用第一采样时钟clk_r对第一同步控制信号syncl进行寄存器打两拍同步采样,分别产生的第二同步控制信号sync2和第三同步控制信号sync3,可以有效降低异步时钟域之间亚稳态的产生。接着,进行逻辑处理,即组合逻辑获取第一同步控制信号syncl的特征值sync_edge,在sync_edge有效的情况下,协同第二多路数据锁存信号muxl生成第一路数据总线锁存信号latch_en,但在进行锁存时,应该保持第二多路数据锁存信号muxl数值不变,才能保证建立时间和保持时间,保证可靠采样异步第二多路数据锁存信号muxl数据,其中,所述第一多路数据锁存信号保持至少2个所述第二采样时钟的周期延时。
[0061]可选的,获取第一同步控制信号的特征值之前,还包括:
[0062]采用第二采样时钟,将第四同步控制信号进行信号同步处理,获得所述第一同步控制信号;和/或
[0063]采用第二采样时钟,将第二多路数据锁存信号进行信号同步处理,获得所述第一多路数据锁存信号;和/或
[0064]采用第二采样时钟,将第二数据读信号进行信号同步处理,获得所述第一数据读信号。
[0065]图2为本发明异步数据传输系统一实施例的流程示意图,图3为本发明异步数据传输系统另一实施例的流程示意图,如图2和图3所示,本实施例的异步数据传输系统,包括:信号同步模块和数据锁存模块,所述信号同步模块和所述数据锁存模块之间连接;
[0066]所述信号同步模块,用于获得第一同步控制信号的特征值,所述特征值包括上升沿或下降沿;
[0067]所述数据锁存模块,用于根据所述特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存。
[0068]具体的,数据锁存模块可以根据特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存,即多路异步数据总线data_bus[l]到data_bus[N](其中N为整数,表示N个不同的数据总线)进行选择并锁存。
[0069]在本实施例中,根据特征值sync_edge采样第一多路数据锁存信号muxl,可以使第一多路数据锁存信号muxl稳定不变,从而确定多字节bit类型数据采样时满足建立时间和保持时间要求,进而确定第一多路数据锁存信号muxl采样的正确性,其中,第一多路数据锁存信号muxl为多字节bit信号。
[0070]在本实施中,通过获取第一同步控制信号的特征值,所述特征值包括上升沿或下降沿;根据所述特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存。实现了异步处理时建立和保持时间的满足采样要求,确定了多路异步数据总线的可靠传输,同时不需要确认握手信号,减小了握手处理方法的来回交互握手信号的处理延迟,进而提高了多路异步数据总线传输的处理速度。
[0071]所述数据锁存模块包括第一寄存器,所述第一寄存器用于获取第一数据读信号,根据所述第一数据读信号,从所述锁存数据信号中选择所述第一多路数据锁存信号指示的读出数据,输出所述读出数据。
[0072]可选的,所述信号同步模块包括:第二寄存器和第三寄存器;
[0073]所述第二寄存器,用于采用第一采样时钟,将第一同步控制信号进行信号同步处理,获得第二同步控制信号;
[0074]所述第三寄存器,用于接收所述第二寄存器输入的所述第二同步控制信号,采用第一采样时钟,将所述第二同步控制信号进行信号同步处理,获得第三同步控制信号。
[0075]在上述实施例的基础上,所述信号同步模块还包括:第四寄存器、第五寄存器和第六寄存器,所述第四寄存器、所述第五寄存器和所述第六寄存器分别输入第二采样时钟;
[0076]所述第四寄存器,用于采用第二采样时钟,将第四同步控制信号进行信号同步处理,获得所述第一同步控制信号;
[0077]所述第五寄存器,用于采用第二采样时钟,将第二多路数据锁存信号进行信号同步处理,获得所述第一多路数据锁存信号;
[0078]所述第六寄存器,用于采用第二采样时钟,将第二数据读信号进行信号同步处理,获得所述第一数据读信号。可选的,通过第六寄存器同步的处理数据读信号还可以采用第二采样时钟,通过第七寄存器进行同步处理,获得第一数据读信号。
[0079]需要说明的是,所述第一多路数据锁存信号保持至少2个所述第二采样时钟的周期延时;
[0080]所述第一数据读信号保持至少3个所述第二采样时钟的周期延时。
[0081]虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【主权项】
1.一种异步数据传输方法,其特征在于,包括: 获取第一同步控制信号的特征值,所述特征值包括所述第一同步控制信号上升沿或下降沿; 根据所述特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存。2.根据权利要求1所述的方法,其特征在于,所述根据所述特征值和多路数据锁存信号,将所述多路数据锁存信号指示的锁存数据信号进行锁存之后,还包括: 获取第一数据读信号; 根据所述第一数据读信号,从所述锁存数据信号中选择所述第一多路数据锁存信号指示的读出数据; 输出所述读出数据。3.根据权利要求2所述的方法,其特征在于,所述根据所述特征值和多路数据锁存信号,将所述多路数据锁存信号指示的锁存数据信号进行锁存之前,还包括: 采用第一采样时钟,将第一同步控制信号分别进行至少2次信号同步处理,获得第二同步控制信号和第三同步控制信号; 将所述第二同步控制信号和所述第三同步控制信号进行逻辑处理,获得所述第一同步控制信号的特征值。4.根据权利要求3所述的方法,其特征在于,所述获取第一同步控制信号的特征值之前,还包括: 采用第二采样时钟,将第四同步控制信号进行信号同步处理,获得所述第一同步控制信号;和/或 采用第二采样时钟,将第二多路数据锁存信号进行信号同步处理,获得所述第一多路数据锁存信号;和/或 采用第二采样时钟,将第二数据读信号进行信号同步处理,获得所述第一数据读信号。5.根据权利要求4所述的方法,其特征在于,所述第一多路数据锁存信号保持至少2个所述第二采样时钟的周期延时; 所述第一数据读信号保持至少3个所述第二采样时钟的周期延时。6.一种异步数据传输系统,其特征在于,包括:信号同步模块和数据锁存模块,所述信号同步模块和所述数据锁存模块之间连接; 所述信号同步模块,用于获得第一同步控制信号的特征值,所述特征值包括上升沿或下降沿; 所述数据锁存模块,用于根据所述特征值和第一多路数据锁存信号,将所述第一多路数据锁存信号指示的锁存数据信号进行锁存。7.根据权利要求6所述的方法,其特征在于,所述数据锁存模块包括第一寄存器,所述第一寄存器用于获取第一数据读信号,根据所述第一数据读信号,从所述锁存数据信号中选择所述第一多路数据锁存信号指示的读出数据,输出所述读出数据。8.根据权利要求7所述的方法,其特征在于,所述信号同步模块包括:第二寄存器和第三寄存器; 所述第二寄存器,用于采用第一采样时钟,将第一同步控制信号进行信号同步处理,获得第二同步控制信号; 所述第三寄存器,用于接收所述第二寄存器输入的所述第二同步控制信号,采用第一采样时钟,将所述第二同步控制信号进行信号同步处理,获得第三同步控制信号。9.根据权利要求8所述的方法,其特征在于,所述信号同步模块还包括:第四寄存器、第五寄存器和第六寄存器,所述第四寄存器、所述第五寄存器和所述第六寄存器分别输入第二采样时钟; 所述第四寄存器,用于采用第二采样时钟,将第四同步控制信号进行信号同步处理,获得所述第一同步控制信号; 所述第五寄存器,用于采用第二采样时钟,将第二多路数据锁存信号进行信号同步处理,获得所述第一多路数据锁存信号; 所述第六寄存器,用于采用第二采样时钟,将第二数据读信号进行信号同步处理,获得所述第一数据读信号。10.根据权利要求9所述的方法,其特征在于,所述第一多路数据锁存信号保持至少2个所述第二采样时钟的周期延时; 所述第一数据读信号保持至少3个所述第二采样时钟的周期延时。
【文档编号】G06F13/40GK105988959SQ201510079145
【公开日】2016年10月5日
【申请日】2015年2月13日
【发明人】汪波, 陈杰
【申请人】中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1