CN111752525A - 一种模块间通信方法及系统 - Google Patents

一种模块间通信方法及系统 Download PDF

Info

Publication number
CN111752525A
CN111752525A CN202010574427.8A CN202010574427A CN111752525A CN 111752525 A CN111752525 A CN 111752525A CN 202010574427 A CN202010574427 A CN 202010574427A CN 111752525 A CN111752525 A CN 111752525A
Authority
CN
China
Prior art keywords
memory
communication module
permission
fifo
signal
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.)
Pending
Application number
CN202010574427.8A
Other languages
English (en)
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.)
Shenzhen Corerain Technologies Co Ltd
Original Assignee
Shenzhen Corerain Technologies 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 Shenzhen Corerain Technologies Co Ltd filed Critical Shenzhen Corerain Technologies Co Ltd
Priority to CN202010574427.8A priority Critical patent/CN111752525A/zh
Publication of CN111752525A publication Critical patent/CN111752525A/zh
Priority to PCT/CN2021/101413 priority patent/WO2021259230A1/zh
Pending legal-status Critical Current

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本发明实施例公开了一种模块间通信方法及系统。该模块间通信方法用于控制第一存储器、第二存储器和FIFO通信模块之间的数据传输,所述FIFO通信模块连接在第一存储器和第二存储器之间,该模块间通信方法包括:所述第一存储器接收所述FIFO通信模块发送的第一许可信号;所述第一存储器提供第一有效信号给所述FIFO通信模块以将第一段数据写入所述FIFO通信模块;所述FIFO通信模块接收所述第二存储器发送的第二许可信号;所述FIFO通信模块提供第二有效信号给所述第二存储器以将所述第一段数据写入所述第二存储器。本发明实施例实现了模块间的通信数据传输的灵活性。

Description

一种模块间通信方法及系统
技术领域
本发明实施例涉及通信技术,尤其涉及一种模块间通信方法及系统。
背景技术
AXI(AdvancedeXtensibleInterface)是一种总线协议,该协议是ARM公司提出的AMBA(AdvancedMicrocontrollerBusArchitecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持Outstanding传输访问和乱序访问,并更加容易进行时序收敛。FIFO是First Input First Output的缩写,先入先出队列,这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令, FIFO通过内部对读、写地址的判断,可以通知数据发送端能够接收数据,通知数据接收端是否能够读取数据,FIFO是一种先进先出的数据缓存器,它与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单。
但采用AXI总线协议进行通信,其数据是按帧或包的方式传输的,存在4K 的逻辑边界,还需要地址等大量的控制信号,无法灵活的做到随时暂停模块间的通信数据传输,对发送端或接收端任意一端复位会影响到另一端的状态。
发明内容
本发明实施例提供一种模块间通信方法及系统,以实现模块间的通信数据传输的灵活性。
为达此目的,本发明实施例提供了一种模块间通信方法及系统,该模块间通信方法用于控制第一存储器、第二存储器和FIFO通信模块之间的数据传输,所述FIFO通信模块连接在第一存储器和第二存储器之间,该模块间通信方法包括:
所述第一存储器接收所述FIFO通信模块发送的第一许可信号;
所述第一存储器提供第一有效信号给所述FIFO通信模块以将第一段数据写入所述FIFO通信模块;
所述FIFO通信模块接收所述第二存储器发送的第二许可信号;
所述FIFO通信模块提供第二有效信号给所述第二存储器以将所述第一段数据写入所述第二存储器。
进一步的,所述第一存储器工作于第一时钟周期,所述第二存储器工作于第二时钟周期,所述第一时钟周期和第二时钟周期不相同。
进一步的,所述第一存储器接收所述FIFO通信模块发送的第一许可信号包括:
所述第一存储器的第一时钟周期上升时,所述FIFO通信模块将其上行许可端的所述第一许可信号拉高;
所述第一存储器的第一许可端接收所述FIFO通信模块的上行许可端发送高电平的第一许可信号后进入可读状态。
进一步的,所述第一存储器提供第一有效信号给所述FIFO通信模块以将第一段数据写入所述FIFO通信模块包括:
所述第一存储器的第一时钟周期上升时,所述第一存储器将其第一有效端的第一有效信号拉高;
所述FIFO通信模块的上行有效端接收高电平的第一有效信号后变为可写状态并存储所述第一段数据。
进一步的,所述FIFO通信模块接收所述第二存储器发送的第二许可信号包括:
所述第二存储器的第二时钟周期上升时,所述第二存储器将其第二许可端的第二许可信号拉高;
所述FIFO通信模块的下行许可端接收所述第二存储器的第二许可端发送的高电平的第二许可信号。
进一步的,所述FIFO通信模块提供第二有效信号给所述第二存储器以将所述第一段数据写入所述第二存储器包括:
所述第二存储器的第二时钟周期上升时,所述FIFO通信模块将其下行有效端的第二有效信号拉高;
所述第二存储器的第二有效端接收高电平的第二有效信号后变为可写状态并存储所述第一段数据。
另一方面,本发明实施例还提供了一种模块间通信系统,该模块间通信系统包括第一存储器、第二存储器和FIFO通信模块,所述FIFO通信模块连接在第一存储器和第二存储器之间,所述FIFO通信模块包括写入端、读取端、满载端和空载端,所述FIFO通信模块还包括:
第一与门,与所述写入端连接以表示上行有效端,所述上行有效端用于接收所述第一存储器发送的第一有效信号;
第二与门,与所述读取端连接以表示下行许可端,所述下行许可端用于接收所述第二存储器发送的第二有效信号;
第一非门,与所述满载端连接以表示上行许可端,所述第上行许可端用于发送第一许可信号给所述第一存储器和第一与门;
第二非门,与所述空载端连接以表示下行有效端,所述下行有效端用于发送第二有效信号给所述第二存储器和第二与门。
进一步的,
所述第一存储器接收所述FIFO通信模块发送的第一许可信号;
所述第一存储器提供第一有效信号给所述FIFO通信模块以将第一段数据写入所述FIFO通信模块;
所述FIFO通信模块接收所述第二存储器发送的第二许可信号;
所述FIFO通信模块提供第二有效信号给所述第二存储器以将所述第一段数据写入所述第二存储器。
进一步的,所述FIFO通信模块还包括第一时钟端和第二时钟端,所述第一时钟端用于接收所述第一存储器工作的第一时钟周期,所述第二时钟端用于接收所述第二存储器工作的第二时钟周期,所述第一时钟周期和第二时钟周期不相同。
进一步的,
所述第一存储器的第一时钟周期上升时,所述FIFO通信模块将其上行许可端的所述第一许可信号拉高;
所述第一存储器的第一许可端接收所述FIFO通信模块的上行许可端发送高电平的第一许可信号后进入可读状态。
进一步的,
所述第一存储器的第一时钟周期上升时,所述第一存储器将其第一有效端的第一有效信号拉高;
所述FIFO通信模块的上行有效端接收高电平的第一有效信号后变为可写状态并存储所述第一段数据。
进一步的,
所述第二存储器的第二时钟周期上升时,所述第二存储器将其第二许可端的第二许可信号拉高;
所述FIFO通信模块的下行许可端接收所述第二存储器的第二许可端发送的高电平的第二许可信号。
进一步的,
所述第二存储器的第二时钟周期上升时,所述FIFO通信模块将其下行有效端的第二有效信号拉高;
所述第二存储器的第二有效端接收高电平的第二有效信号后变为可写状态并存储所述第一段数据。
本发明实施例通过所述第一存储器接收所述FIFO通信模块发送的第一许可信号;所述第一存储器提供第一有效信号给所述FIFO通信模块以将第一段数据写入所述FIFO通信模块;所述FIFO通信模块接收所述第二存储器发送的第二许可信号;所述FIFO通信模块提供第二有效信号给所述第二存储器以将所述第一段数据写入所述第二存储器,解决了无法灵活的做到随时暂停模块间的通信数据传输的问题,实现了模块间的通信数据传输的灵活性的效果。
附图说明
图1是本发明实施例一提供的模块间通信方法的流程示意图;
图2是本发明实施例二提供的模块间通信方法的流程示意图;
图3是本发明实施例二提供的模块间通信方法的工作时序的示意图;
图4为本发明实施例三提供的模块间通信系统的结构示意图;
图5为本发明实施例三提供的模块间通信系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一速度差值称为第二速度差值,且类似地,可将第二速度差值称为第一速度差值。第一速度差值和第二速度差值两者都是速度差值,但其不是同一速度差值。术语“第一”、“第二”等不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明实施例的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
实施例一
如图1所示,本发明实施例一提供了一种模块间通信方法,该模块间通信方法用于控制第一存储器、第二存储器和FIFO通信模块之间的数据传输,所述 FIFO通信模块连接在第一存储器和第二存储器之间,其中,FIFO通信模块包括写入端、读取端、满载端和空载端。
本实施例中,所述FIFO通信模块还包括:第一与门,与所述写入端连接以表示上行有效端,所述上行有效端用于接收所述第一存储器发送的上行有效信号;第二与门,与所述读取端连接以表示下行许可端,所述下行许可端用于接收所述第二存储器发送的下行有效信号;第一非门,与所述满载端连接以表示上行许可端,所述上行许可端用于发送上行许可信号给所述第一存储器和第一与门;第二非门,与所述空载端连接以表示下行有效端,所述下行有效端用于发送下行有效信号给所述第二存储器和第二与门。
该模块间通信方法包括:
S110、所述第一存储器接收所述FIFO通信模块发送的第一许可信号。
S120、所述第一存储器提供第一有效信号给所述FIFO通信模块以将第一段数据写入所述FIFO通信模块。
本实施例中,当第一存储器接收到FIFO通信模块发送的第一许可信号,即表示FIFO通信模块已准备好接收第一存储器中需要写入的数据,在第一存储器接收到FIFO通信模块发送的第一许可信号后,第一存储器可以读取第一段数据。当第一存储器给FIFO通信模块提供第一有效信号,即表示第一存储器可以将第一段数据写入FIFO通信模块中,在FIFO通信模块接收到第一存储器发送的第一有效信号后,FIFO通信模块可以写入第一段数据。
当第一存储器接收到FIFO通信模块发送的第一许可信号,同时FIFO通信模块也接收到第一存储器发送的第一有效信号时,第一段数据便开始从第一存储器中写入FIFO通信模块。其中,当任一信号停止发送时,即FIFO通信模块停止给第一存储器发送第一许可信号或第一存储器停止给FIFO通信模块发送第一有效信号时,该通信的传输将会立即停止。
S130、所述FIFO通信模块接收所述第二存储器发送的第二许可信号。
S140、所述FIFO通信模块提供第二有效信号给所述第二存储器以将所述第一段数据写入所述第二存储器。
本实施例中,执行步骤S120后,第一段数据已经从第一存储器中写入FIFO 通信模块内,FIFO通信模块中存储有第一段数据。当FIFO通信模块接收到第二存储器发送的第一许可信号,即表示第二存储器已准备好接收FIFO通信模块中需要写入的数据,在FIFO通信模块接收到第二存储器发送的第二许可信号后, FIFO通信模块可以读取第一段数据。当FIFO通信模块提供第二有效信号给第二存储器,即表示FIFO通信模块可以将第一段数据写入第二存储器中,在第二存储器接收到FIFO通信模块发送的第二有效信号后,第二存储器可以写入第一段数据。
当FIFO通信模块接收到第二存储器发送的第一许可信号,同时第二存储器也接收到FIFO通信模块发送的第二有效信号时,第一段数据便开始从FIFO通信模块中写入第二存储器。其中,当任一信号停止发送时,即第二存储器停止给FIFO通信模块发送第二许可信号或FIFO通信模块停止给第二存储器发送第二有效信号时,该通信的传输将会立即停止。由此完成第一段数据从第一存储器到第二存储器的传输。另外需要说明的是,第一段数据并非指按顺序的第一段数据,该第一段数据可以为实际通信中的任意一段数据。
本发明实施例通过所述第一存储器接收所述FIFO通信模块发送的第一许可信号;所述第一存储器提供第一有效信号给所述FIFO通信模块以将第一段数据写入所述FIFO通信模块;所述FIFO通信模块接收所述第二存储器发送的第二许可信号;所述FIFO通信模块提供第二有效信号给所述第二存储器以将所述第一段数据写入所述第二存储器,解决了无法灵活的做到随时暂停模块间的通信数据传输的问题,实现了模块间的通信数据传输的灵活性的效果。
实施例二
如图2和图3所示,本发明实施例二提供了一种模块间通信方法,本发明实施例二是在本发明实施例一的基础上作进一步的优化,该模块间通信方法用于控制第一存储器、第二存储器和FIFO通信模块之间的数据传输,所述FIFO 通信模块连接在第一存储器和第二存储器之间,其中,FIFO通信模块包括写入端、读取端、满载端和空载端。
本实施例中,所述FIFO通信模块还包括:第一与门,与所述写入端连接以表示上行有效端,所述上行有效端用于接收所述第一存储器发送的上行有效信号;第二与门,与所述读取端连接以表示下行许可端,所述下行许可端用于接收所述第二存储器发送的下行有效信号;第一非门,与所述满载端连接以表示上行许可端,所述上行许可端用于发送上行许可信号给所述第一存储器和第一与门;第二非门,与所述空载端连接以表示下行有效端,所述下行有效端用于发送下行有效信号给所述第二存储器和第二与门。
此外,第一存储器包括第一许可端、第一有效端、第一时钟端和第一数据端,第二存储器包括第二许可端、第二有效端、第二时钟端和第二数据端,FIFO 通信模块包括上行许可端、上行有效端、上行数据端、下行许可端、下行有效端、下行数据端、上行时钟端和下行时钟端,第一存储器通过第一数据端将数据传输到FIFO通信模块的上行数据端,FIFO通信模块通过下行数据端将数据传输到第二存储器的第二数据端。所述第一存储器工作于第一时钟周期,所述第二存储器工作于第二时钟周期,所述第一时钟周期和第二时钟周期不相同,第一存储器通过第一时钟端将其时钟周期发送至FIFO通信模块的上行时钟端,第二存储器通过第二时钟端将其时钟周期发送至FIFO通信模块的下行时钟端。
具体的,第一存储器中的第一许可端分别与FIFO通信模块中的上行有效端的第一与门和上行许可端的第一非门相连,满载端可以发送置零信号表示还未满载,通过第一非门后变为置一信号,也就是第一许可信号,发送给第一许可端和上行有效端,当第一存储器中的第一有效端发送第一有效信号到上行有效端的第一与门后,第一与门同时接收到第一有效信号和第一许可信号时才将第一有效信号传输至写入端,数据可以开始从第一数据端写入到上行数据端中,当第一有效端不发送第一有效信号,或者满载端发送置一信号表示满载,通过第一非门后变为置零信号,也就是停止发送第一许可信号时,数据将无法写入。
相应的,第二存储器中的第二有效端分别与FIFO通讯模块中的下行有效端的第二非门和下行许可端的第二与门相连,空载端可以发送置零信号表示还未空载,通过第二非门后变为置一信号,也就是第二有效信号,发送给第二有效端和下行有效端。当第二存储器中的第二许可端发送第二许可信号到下行许可端的第二与门后,第二与门同时接收到第二有效信号和第二许可信号时才将第二许可信号传输至读取端,数据可以开始从下行数据端读取到第二数据端中,当第二许可端不发送第二许可信号,或者空载端发送置一信号表示空载,通过第二非门后变为置零信号,也就是停止发送第二有效信号时,数据将无法读取。
该模块间通信方法包括:
S210、所述第一存储器的第一时钟周期上升时,所述FIFO通信模块将其上行许可端的所述第一许可信号拉高。
S220、所述第一存储器的第一许可端接收所述FIFO通信模块的上行许可端发送高电平的第一许可信号后进入可读状态。
本实施例中,当FIFO通信模块中没有存储数据,或者还可以存储数据时, FIFO通信模块可以将其上行许可端的第一许可信号从低电平拉高为高电平,即表示FIFO通信模块已准备好接收第一存储器中需要写入的数据。所述第一存储器的第一时钟周期上升时,第一存储器的第一许可端将接收到FIFO通信模块的上行许可端发送的高电平的第一许可信号,之后第一存储器进入可读状态,即可以读取第一段数据。
S230、所述第一存储器的第一时钟周期上升时,所述第一存储器将其第一有效端的第一有效信号拉高。
S240、所述FIFO通信模块的上行有效端接收高电平的第一有效信号后变为可写状态并存储所述第一段数据。
本实施例中,当第一存储器存储的第一段数据被读取后,在之后的任一时刻,第一存储器可以将其第一有效端的第一有效信号从低电平拉高为高电平,即表示第一存储器可以将第一段数据写入FIFO通信模块中。所述第一存储器的第一时钟周期上升时,FIFO通信模块的上行有效端将接收到第一存储器的第一有效端发送的高电平第一有效信号,之后FIFO通信模块进入可写状态,可以写入并存储第一段数据。
当第一存储器的第一许可端接收到FIFO通信模块的上行许可端发送的第一许可信号,同时FIFO通信模块的上行有效端也接收到第一存储器的第一有效端发送的第一有效信号时,第一段数据便开始从第一存储器中写入FIFO通信模块。其中,当任一信号停止发送时,即FIFO通信模块停止给第一存储器发送第一许可信号或第一存储器停止给FIFO通信模块发送第一有效信号时,该通信的传输将会立即停止。
S250、所述第二存储器的第二时钟周期上升时,所述第二存储器将其第二许可端的第二许可信号拉高。
S260、所述FIFO通信模块的下行许可端接收所述第二存储器的第二许可端发送的高电平的第二许可信号。
本实施例中,执行步骤S240后,此时第一段数据已经从第一存储器的第一数据端中写入FIFO通信模块的上行数据端内,FIFO通信模块中存储有第一段数据。此时第二存储器可以将其第二许可端的第二许可信号从低电平拉高为高电平,即表示第二存储器已准备好接收FIFO通信模块中需要写入的数据。所述第二存储器的第二时钟周期上升时,FIFO通信模块的下行许可端接收所述第二存储器的第二许可端发送的高电平的第二许可信号,之后FIFO通信模块进入可读状态,即可以从上行数据端读取第一段数据至下行数据端。
S270、所述第二存储器的第二时钟周期上升时,所述FIFO通信模块将其下行有效端的第二有效信号拉高。
S280、所述第二存储器的第二有效端接收高电平的第二有效信号后变为可写状态并存储所述第一段数据。
本实施例中,当FIFO通信模块存储的第一段数据被读取后,在之后的任一时刻,FIFO通信模块可以将其下行有效端的第二有效信号从低电平拉高为高电平,即表示FIFO通信模块可以将第一段数据写入第二存储器中。、所述第二存储器的第二时钟周期上升时,第二存储器的第二有效端将接收到FIFO通信模块的下行有效端发送的高电平的第二有效信号,之后第二存储器变为可写状态,可以写入并存储所述第一段数据。
当FIFO通信模块接收到第二存储器发送的第一许可信号,同时第二存储器也接收到第二有效信号时,第一段数据便开始从FIFO通信模块中写入第二存储器。其中,当任一信号停止发送时,即第二存储器停止给FIFO通信模块发送第二许可信号或FIFO通信模块停止给第二存储器发送第二有效信号时,该通信的传输将会立即停止。由此完成第一段数据从第一存储器到第二存储器的传输。另外需要说明的是,第一段数据并非指按顺序的第一段数据,该第一段数据可以为实际通信中的任意一段数据。
同理可知,如图3所示,数据的传输可以是连续的,通过上述相同的方法,可以完成第一段数据、第二段数据和第三段数据以及更多的数据传输,其中, FIFO通信模块可以同时存储四段数据,当FIFO通信模块存储了第一存储器发送的四段数据后,FIFO通信模块才开始将第一段数据发送至第二存储器中,当FIFO通信模块将第一段数据发送至第二存储器之后,FIFO通信模块又可以存入下一段数据,依此完成全部数据的通信传输。
综上所述,本发明实施例通过将FIFO通信模块插入第一存储器和第二存储器之间,并将FIFO通信模块进行优化,将其原有的通信总线协议优化为本发明实施例所提供的通信总线协议,便于完成跨时钟域的数据传输,避免在数据传输过程中第二存储器作为接收端不工作时会对作为发送端的第一存储器造成反压。
本发明实施例在本发明实施例一的基础上实现了跨时钟的模块间通信,解决了无法灵活的做到随时暂停跨时钟的模块间的通信数据传输的问题,实现了跨时钟的模块间的通信数据传输的灵活性的效果。
实施例三
如图4和图5所示,本发明实施例三提供了一种模块间通信系统,该模块间通信系统包括第一存储器100、第二存储器300和FIFO通信模块200,所述 FIFO通信模块200连接在第一存储器100和第二存储器300之间,所述FIFO 通信模块200包括写入端221、读取端281、满载端241和空载端261。
其中,所述第一存储器100接收所述FIFO通信模块200发送的第一许可信号;所述第一存储器100提供第一有效信号给所述FIFO通信模块200以将第一段数据写入所述FIFO通信模块200;所述FIFO通信模块200接收所述第二存储器300发送的第二许可信号;所述FIFO通信模块200提供第二有效信号给所述第二存储器300以将所述第一段数据写入所述第二存储器300。
本实施例中,一并参见图4,所述FIFO通信模块200还包括:第一与门222,与所述写入端221连接以表示上行有效端220,所述上行有效端220用于接收所述第一存储器100发送的上行有效信号;第二与门282,与所述读取端281 连接以表示下行许可端280,所述下行许可端280用于接收所述第二存储器300 发送的下行有效信号;第一非门242,与所述满载端241连接以表示上行许可端240,所述上行许可端240用于发送上行许可信号给所述第一存储器100和第一与门222;第二非门262,与所述空载端261连接以表示下行有效端260,所述下行有效端260用于发送下行有效信号给所述第二存储器300和第二与门 282。
此外,第一存储器100包括第一许可端104、第一有效端102、第一时钟端 101和第一数据端103,第二存储器300包括第二许可端304、第二有效端302、第二时钟端301和第二数据端303,FIFO通信模块200包括上行许可端240、上行有效端220、上行数据端230、下行许可端280、下行有效端260、下行数据端270、上行时钟端210和下行时钟端250,第一存储器100通过第一数据端 103将数据传输到FIFO通信模块200的上行数据端230,FIFO通信模块200通过下行数据端270将数据传输到第二存储器300的第二数据端303。所述第一存储器100工作于第一时钟周期,所述第二存储器300工作于第二时钟周期,所述第一时钟周期和第二时钟周期不相同,第一存储器100通过第一时钟端101 将其时钟周期发送至FIFO通信模块200的上行时钟端210,第二存储器300通过第二时钟端301将其时钟周期发送至FIFO通信模块200的下行时钟端250。
本实施例中,第一非门242包括第一输入口243和第一输出口244,满载端241和第一输入口243连接,第一许可端104和第一输出口244连接。第一与门222包括第二输入口225、第三输入口224和第二输出口223,写入端221 与第二输出口223连接,第一有效端102和第二输入口225连接,第一输出口 244还和第三输入口224连接。
第二非门262包括第四输入口263和第三输出口264,空载端261和第四输入口263连接,第二有效端302和第三输出口264连接。第二与门282包括第五输入口285、第六输入口284和第四输出口283,读取端281和第四输出口 283连接,第二许可端304和第五输入口285连接,第三输出口264还和第六输入口284连接。
具体的,第一存储器100中的第一许可端104分别与FIFO通信模块200 中的上行有效端220的第一与门222和上行许可端240的第一非门242相连,满载端241可以发送置零信号表示还未满载,通过第一非门242后变为置一信号,也就是第一许可信号,发送给第一许可端104和上行有效端220,当第一存储器100中的第一有效端102发送第一有效信号到上行有效端220的第一与门222后,第一与门222同时接收到第一有效信号和第一许可信号时才将第一有效信号传输至写入端221,数据可以开始从第一数据端103写入到上行数据端230中,当第一有效端102不发送第一有效信号,或者满载端241发送置一信号表示满载,通过第一非门242后变为置零信号,也就是停止发送第一许可信号时,数据将无法写入。
相应的,第二存储器300中的第二有效端302分别与FIFO通讯模块200 中的下行有效端260的第二非门262和下行许可端280的第二与门282相连,空载端261可以发送置零信号表示还未空载,通过第二非门262后变为置一信号,也就是第二有效信号,发送给第二有效端302和下行有效端260。当第二存储器200中的第二许可端304发送第二许可信号到下行许可端280的第二与门282后,第二与门282同时接收到第二有效信号和第二许可信号时才将第二许可信号传输至读取端281,数据可以开始从下行数据端270读取到第二数据端303中,当第二许可端304不发送第二许可信号,或者空载端261发送置一信号表示空载,通过第二非门262后变为置零信号,也就是停止发送第二有效信号时,数据将无法读取。
本实施例中,在时钟周期上升时才执行信号的发送,所述第一存储器100 的第一时钟周期上升时,所述FIFO通信模块200将其上行许可端240的所述第一许可信号拉高;所述第一存储器100的第一许可端104接收所述FIFO通信模块200的上行许可端240发送高电平的第一许可信号后进入可读状态。所述第一存储器100的第一时钟周期上升时,所述第一存储器100将其第一有效端102 的第一有效信号拉高;所述FIFO通信模块200的上行有效端220接收高电平的第一有效信号后变为可写状态并存储所述第一段数据。所述第二存储器300的第二时钟周期上升时,所述第二存储器300将其第二许可端304的第二许可信号拉高;所述FIFO通信模块200的下行许可端280接收所述第二存储器300 的第二许可端304发送的高电平的第二许可信号。所述第二存储器300的第二时钟周期上升时,所述FIFO通信模块200将其下行有效端260的第二有效信号拉高;所述第二存储器300的第二有效端302接收高电平的第二有效信号后变为可写状态并存储所述第一段数据。
具体的,当FIFO通信模块200中没有存储数据,或者还可以存储数据时, FIFO通信模块200可以将其上行许可端240的第一许可信号从低电平拉高为高电平,即表示FIFO通信模块200已准备好接收第一存储器100中需要写入的数据。所述第一存储器100的第一时钟周期上升时,第一存储器100的第一许可端104将接收到FIFO通信模块200的上行许可端240发送的高电平的第一许可信号,之后第一存储器100进入可读状态,即可以读取第一段数据。
当第一存储器100存储的第一段数据被读取后,在之后的任一时刻,第一存储器100可以将其第一有效端102的第一有效信号从低电平拉高为高电平,即表示第一存储器100可以将第一段数据写入FIFO通信模块200中。所述第一存储器100的第一时钟周期上升时,FIFO通信模块200的上行有效端220将接收到第一存储器100的第一有效端102发送的高电平第一有效信号,之后FIFO 通信模块200进入可写状态,可以写入并存储第一段数据。
此时第一段数据已经从第一存储器100的第一数据端103中写入FIFO通信模块200的上行数据端230内,FIFO通信模块200中存储有第一段数据。此时第二存储器300可以将其第二许可端304的第二许可信号从低电平拉高为高电平,即表示第二存储器300已准备好接收FIFO通信模块200中需要写入的数据。所述第二存储器300的第二时钟周期上升时,FIFO通信模块200的下行许可端 280接收所述第二存储器300的第二许可端304发送的高电平的第二许可信号,之后FIFO通信模块200进入可读状态,即可以从上行数据端230读取第一段数据至下行数据端270。
当FIFO通信模块200存储的第一段数据被读取后,在之后的任一时刻, FIFO通信模块200可以将其下行有效端260的第二有效信号从低电平拉高为高电平,即表示FIFO通信模块200可以将第一段数据写入第二存储器300中。、所述第二存储器300的第二时钟周期上升时,第二存储器300的第二有效端302 将接收到FIFO通信模块200的下行有效端260发送的高电平的第二有效信号,之后第二存储器300变为可写状态,可以写入并存储所述第一段数据。
当FIFO通信模块200接收到第二存储器300发送的第一许可信号,同时第二存储器300也接收到第二有效信号时,第一段数据便开始从FIFO通信模块 200中写入第二存储器300。其中,当任一信号停止发送时,即第二存储器300 停止给FIFO通信模块200发送第二许可信号或FIFO通信模块200停止给第二存储器300发送第二有效信号时,该通信的传输将会立即停止。由此完成第一段数据从第一存储器100到第二存储器300的传输。另外需要说明的是,第一段数据并非指按顺序的第一段数据,该第一段数据可以为实际通信中的任意一段数据。
在一替代实施例中,一并参见图5,第一与门222、第一非门242、第二非门262和第二与门282也可以设置在FIFO通信模块200的内部,即上行有效端 220包括第一与门222和写入端221,上行许可端240包括第一非门242和满载端241,下行有效端260包括第二非门262和空载端261,下行许可端280包括第二与门282和读取端281。
综上所述,本发明实施例通过将FIFO通信模块200插入第一存储器100 和第二存储器200之间,并将FIFO通信模块200进行优化,将其原有的通信总线协议优化为本发明实施例所提供的通信总线协议,便于完成跨时钟域的数据传输,避免在数据传输过程中第二存储器200作为接收端不工作时会对作为发送端的第一存储器100造成反压。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (13)

1.一种模块间通信方法,用于控制第一存储器、第二存储器和FIFO通信模块之间的数据传输,所述FIFO通信模块连接在第一存储器和第二存储器之间,其特征在于,包括:
所述第一存储器接收所述FIFO通信模块发送的第一许可信号;
所述第一存储器提供第一有效信号给所述FIFO通信模块以将第一段数据写入所述FIFO通信模块;
所述FIFO通信模块接收所述第二存储器发送的第二许可信号;
所述FIFO通信模块提供第二有效信号给所述第二存储器以将所述第一段数据写入所述第二存储器。
2.根据权利要求1所述的通信方法,其特征在于,所述第一存储器工作于第一时钟周期,所述第二存储器工作于第二时钟周期,所述第一时钟周期和第二时钟周期不相同。
3.根据权利要求2所述的通信方法,其特征在于,所述第一存储器接收所述FIFO通信模块发送的第一许可信号包括:
所述第一存储器的第一时钟周期上升时,所述FIFO通信模块将其上行许可端的所述第一许可信号拉高;
所述第一存储器的第一许可端接收所述FIFO通信模块的上行许可端发送高电平的第一许可信号后进入可读状态。
4.根据权利要求2所述的模块间通信方法,其特征在于,所述第一存储器提供第一有效信号给所述FIFO通信模块以将第一段数据写入所述FIFO通信模块包括:
所述第一存储器的第一时钟周期上升时,所述第一存储器将其第一有效端的第一有效信号拉高;
所述FIFO通信模块的上行有效端接收高电平的第一有效信号后变为可写状态并存储所述第一段数据。
5.根据权利要求2所述的模块间通信方法,其特征在于,所述FIFO通信模块接收所述第二存储器发送的第二许可信号包括:
所述第二存储器的第二时钟周期上升时,所述第二存储器将其第二许可端的第二许可信号拉高;
所述FIFO通信模块的下行许可端接收所述第二存储器的第二许可端发送的高电平的第二许可信号。
6.根据权利要求2所述的模块间通信方法,其特征在于,所述FIFO通信模块提供第二有效信号给所述第二存储器以将所述第一段数据写入所述第二存储器包括:
所述第二存储器的第二时钟周期上升时,所述FIFO通信模块将其下行有效端的第二有效信号拉高;
所述第二存储器的第二有效端接收高电平的第二有效信号后变为可写状态并存储所述第一段数据。
7.一种模块间通信系统,包括第一存储器、第二存储器和FIFO通信模块,所述FIFO通信模块连接在第一存储器和第二存储器之间,所述FIFO通信模块包括写入端、读取端、满载端和空载端,其特征在于,所述FIFO通信模块还包括:
第一与门,与所述写入端连接以表示上行有效端,所述上行有效端用于接收所述第一存储器发送的第一有效信号;
第二与门,与所述读取端连接以表示下行许可端,所述下行许可端用于接收所述第二存储器发送的第二有效信号;
第一非门,与所述满载端连接以表示上行许可端,所述第上行许可端用于发送第一许可信号给所述第一存储器和第一与门;
第二非门,与所述空载端连接以表示下行有效端,所述下行有效端用于发送第二有效信号给所述第二存储器和第二与门。
8.根据权利要求7所述的模块间通信系统,其特征在于,
所述第一存储器接收所述FIFO通信模块发送的第一许可信号;
所述第一存储器提供第一有效信号给所述FIFO通信模块以将第一段数据写入所述FIFO通信模块;
所述FIFO通信模块接收所述第二存储器发送的第二许可信号;
所述FIFO通信模块提供第二有效信号给所述第二存储器以将所述第一段数据写入所述第二存储器。
9.根据权利要求8所述的模块间通信系统,其特征在于,所述FIFO通信模块还包括第一时钟端和第二时钟端,所述第一时钟端用于接收所述第一存储器工作的第一时钟周期,所述第二时钟端用于接收所述第二存储器工作的第二时钟周期,所述第一时钟周期和第二时钟周期不相同。
10.根据权利要求9所述的模块间通信系统,其特征在于,
所述第一存储器的第一时钟周期上升时,所述FIFO通信模块将其上行许可端的所述第一许可信号拉高;
所述第一存储器的第一许可端接收所述FIFO通信模块的上行许可端发送高电平的第一许可信号后进入可读状态。
11.根据权利要求9所述的模块间通信系统,其特征在于,
所述第一存储器的第一时钟周期上升时,所述第一存储器将其第一有效端的第一有效信号拉高;
所述FIFO通信模块的上行有效端接收高电平的第一有效信号后变为可写状态并存储所述第一段数据。
12.根据权利要求9所述的模块间通信系统,其特征在于,
所述第二存储器的第二时钟周期上升时,所述第二存储器将其第二许可端的第二许可信号拉高;
所述FIFO通信模块的下行许可端接收所述第二存储器的第二许可端发送的高电平的第二许可信号。
13.根据权利要求9所述的模块间通信系统,其特征在于,
所述第二存储器的第二时钟周期上升时,所述FIFO通信模块将其下行有效端的第二有效信号拉高;
所述第二存储器的第二有效端接收高电平的第二有效信号后变为可写状态并存储所述第一段数据。
CN202010574427.8A 2020-06-22 2020-06-22 一种模块间通信方法及系统 Pending CN111752525A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010574427.8A CN111752525A (zh) 2020-06-22 2020-06-22 一种模块间通信方法及系统
PCT/CN2021/101413 WO2021259230A1 (zh) 2020-06-22 2021-06-22 模块间通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010574427.8A CN111752525A (zh) 2020-06-22 2020-06-22 一种模块间通信方法及系统

Publications (1)

Publication Number Publication Date
CN111752525A true CN111752525A (zh) 2020-10-09

Family

ID=72675702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010574427.8A Pending CN111752525A (zh) 2020-06-22 2020-06-22 一种模块间通信方法及系统

Country Status (2)

Country Link
CN (1) CN111752525A (zh)
WO (1) WO2021259230A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021259230A1 (zh) * 2020-06-22 2021-12-30 深圳鲲云信息科技有限公司 模块间通信方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2150151A1 (en) * 1994-08-05 1996-02-06 John H. Baldwin First-in first-out memory
KR100487199B1 (ko) * 2003-01-17 2005-05-04 삼성전자주식회사 직접 메모리 접근매체의 데이터 전송 장치 및 방법
CN102388359B (zh) * 2011-09-15 2014-01-01 华为技术有限公司 信号保序方法和装置
CN109933560A (zh) * 2019-03-21 2019-06-25 南京威翔科技有限公司 一种基于fifo与随机存储器结合的模块间流控制通信方法
CN111752525A (zh) * 2020-06-22 2020-10-09 深圳鲲云信息科技有限公司 一种模块间通信方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIGHTMAN1234588: "Verilog设计Valid-Ready握手协议", 《HTTPS://BLOG.CSDN.NET/MAOWANG1234588/ARTICLE/DETAILS/100065072》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021259230A1 (zh) * 2020-06-22 2021-12-30 深圳鲲云信息科技有限公司 模块间通信方法及系统

Also Published As

Publication number Publication date
WO2021259230A1 (zh) 2021-12-30

Similar Documents

Publication Publication Date Title
US5587957A (en) Circuit for sharing a memory of a microcontroller with an external device
US7363396B2 (en) Supercharge message exchanger
CA2079623C (en) Method and apparatus for providing two parties transparent access to a single-port memory storage device
US7949803B2 (en) System and method for transmitting data packets in a computer system having a memory hub architecture
JPH01147647A (ja) データ処理装置
WO2021259229A1 (zh) 模块间通信方法及系统
US8230138B2 (en) Memory control device, data processor, and data read method
EP2207101A1 (en) Method and device for parallel interfacing
US7035956B2 (en) Transmission control circuit, reception control circuit, communications control circuit, and communications control unit
JPH04328936A (ja) 通信システム
CN111752525A (zh) 一种模块间通信方法及系统
CN111752875A (zh) 一种模块间通信方法及系统
KR20030090073A (ko) 가변 가능한 데이터 전송 모드를 갖는 인터페이스 장치 및그것의 동작 방법
CN115955441A (zh) 一种基于tsn队列的管理调度方法、装置
CN113590520B (zh) Spi系统自动写入数据的控制方法及spi系统
CN113419985A (zh) Spi系统自动读取数据的控制方法及spi系统
KR101485081B1 (ko) 간접 액세스가능 메모리를 구비한 컨트롤러
CN114641764A (zh) 总线系统及操作总线系统的方法
US20020166074A1 (en) Method and device for providing a low power embedded system bus architicture
US20110022745A1 (en) Interfacing device and method, for example for systems-on-chip
WO2024001332A1 (zh) 多端口存储器、多端口存储器的读写方法及装置
CN112559400B (zh) 多级调度装置、方法、网络芯片及计算机可读存储介质
US6816922B2 (en) Digital signal processor with a byte DMA controller
KR950009763B1 (ko) 2개의 cpu로 구성된 시스팀에서의 cpu간 데이타 전송 및 동기화 방법
US20240212743A1 (en) Integrated circuit memory devices with unidirectional ports for concurrent interface operations

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination