CN114546907B - 一种数据发送和接收方法、装置、设备及存储介质 - Google Patents

一种数据发送和接收方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114546907B
CN114546907B CN202210130230.4A CN202210130230A CN114546907B CN 114546907 B CN114546907 B CN 114546907B CN 202210130230 A CN202210130230 A CN 202210130230A CN 114546907 B CN114546907 B CN 114546907B
Authority
CN
China
Prior art keywords
fifo
data
transmission
transmit
receive
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.)
Active
Application number
CN202210130230.4A
Other languages
English (en)
Other versions
CN114546907A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202210130230.4A priority Critical patent/CN114546907B/zh
Publication of CN114546907A publication Critical patent/CN114546907A/zh
Application granted granted Critical
Publication of CN114546907B publication Critical patent/CN114546907B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/404Coupling between buses using bus bridges with address mapping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)

Abstract

本申请实施例公开了一种数据发送和接收方法、装置、设备及存储介质,第一处理模块通过第一总线访问FIFO(发送FIFO或接收FIFO),第二处理模块通过缓冲器通用接口与缓冲器(发送缓冲器或接收缓冲器)相连,再通过第二总线访问FIFO。执行数据发送和接收时,基于控制寄存器中FIFO(发送FIFO或接收FIFO)的控制参数确定FIFO的读数据量或写数据量;基于读数据量或写数据量,第一处理模块通过第一总线读或写FIFO,第二处理模块通过缓冲器和第二总线读或写FIFO,使第一处理模块和第二处理模块之间进行缓冲数据交换,从而实现了一种接口友好的跨模块之间的数据交换,减少了总线负担。

Description

一种数据发送和接收方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术,尤其涉及一种数据发送和接收方法、装置、设备及存储介质。
背景技术
在芯片设计中,由于内存管理等需求,软件和硬件之间,经常需要相互传递大量内存指针等情况,此时需要应用缓冲器,以匹配不同的处理速度从而达到流水作业的目的。
通常硬件内部数据的缓存及跨时钟域传输都离不开先进先出队列(First InFirst Out,FIFO)。FIFO主要由随机存取存储器(Random Access Memory,RAM)和FIFO控制器组成。在写数据时,写数据端只需要发出写使能和写数据,写指针控制会立刻计算出对应的写地址,数据便会在写使能有效的当拍被写入RAM。在读数据时,读数据端只需要发出读使能,读指针控制会立刻计算出对应的读地址,数据便会在读使能有效的下一拍被读出RAM。
现有技术中,软件模块和硬件模块之间的数据交互通常都需要通过总线完成对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为本申请实施例中第一处理模块向发送FIFO写数据的流程示意图;
图4为本申请实施例中第二处理模块从发送FIFO读数据的流程示意图;
图5为本申请实施例中数据接收方法的流程示意图;
图6为本申请实施例中数据接收系统的结构示意图;
图7为本申请实施例中第二处理模块向接收FIFO写数据的流程示意图;
图8为本申请实施例中第一处理模块从接收FIFO读数据的流程示意图;
图9为本申请实施例中数据发送和接收系统的组成结构示意图;
图10为本申请实施例中数据发送装置的组成结构示意图;
图11为本申请实施例中数据接收装置的组成结构示意图
图12为本申请实施例中电子设备的组成结构示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
本申请实施例提供了一种数据发送和接收方法,其中,数据发送方法用于实现第一处理模块向第二处理模块发送数据,数据接收方法用于实现第一处理模块接收第二处理模块的数据。图1为本申请实施例中数据发送方法的流程示意图,如图1所示,该方法具体可以包括:
步骤101:基于发送控制寄存器中的发送FIFO的控制参数确定所述发送FIFO的读数据量;其中,第一处理模块通过第一总线将发送数据写入所述发送FIFO中;
示例性的,在一些实施例中,所述发送FIFO的控制参数包括:所述发送FIFO所在内存空间的基地址和深度,所述发送FIFO的写指针,读指针,满标志和空标志。
基地址:指FIFO所在内存空间的起始地址。
深度:指FIFO可以存储多少个N位的数据,例如8位、16位、32位等。
读指针:总是指向下一个读取地址,在每个时钟沿来临时读数据,复位时指向第一个地址;
写指针:总是指向当前要写入地址,在每个时钟沿来临时写数据,复位时,指向第一个地址;
满标志:FIFO已满或将要满时由FIFO状态电路送出一个信号以阻止FIFO的写操作继续向FIFO中继续写数据而造成溢出(overflow)。
空标志:FIFO已空或将要空时由FIFO状态电路送出一个信号以阻止FIFO的读操作继续从FIFO中读出数据而造成数据无效读出(underflow)。
示例性的,在一些实施例中,所述方法还包括:配置所述发送控制寄存器中所述发送FIFO所在内存空间的基地址和深度。这里,将数据存储在内存空间,通过配置发送控制寄存器中发送FIFO所在内存空间的基地址和深度,能够根据使用场景灵活设置FIFO深度,数据交互不受FIFO深度限制,实现高灵活性的数据交互方案。
示例性的,在一些实施例中,所述基于发送控制寄存器中的发送FIFO的控制参数确定所述发送FIFO的读数据量,包括:所述发送控制寄存器中所述空标志指示所述发送FIFO非空,且所述发送缓冲器非满,基于所述发送FIFO的所述读指针和所述写指针,确定所述发送FIFO的已用空间;基于所述发送FIFO的已用空间,确定所述读数据量。具体地,发送FIFO的读指针和写指针相减得到发送FIFO的已用空间。
这里,当空标志指示发送FIFO非空表示发送FIFO中包含第一处理模块发送给第二处理模块的数据,发送缓冲器非满表示发送缓冲器有可用空间用于缓存发送数据。当这两个条件同时满足时,第一处理模块利用发送FIFO和发送缓冲器向第二处理模块发送数据。
进一步地,根据发送FIFO的已用空间确定本次发送从发送FIFO内的读数据量,读数据量不超过发送FIFO的已用空间存储的数据量。示例性的,读数据量为发送FIFO的已用空间存储的数据量,即本次发送过程将发送FIFO内的全部数据发送到发送缓冲器中。
示例性的,在一些实施例中,若读数据量受发送缓冲器空间的影响,则该方法还包括:确定所述发送缓冲器的可用空间;相应的,所述基于所述发送FIFO的已用空间,确定所述读数据量,包括:从所述发送FIFO的已用空间和所述发送缓冲器的可用空间中确定最小空间;将所述最小空间对应的数据容量作为所述读数据量。这里,读数据量的表达式可以为读数据量=Min[发送FIFO已用空间,发送缓冲器可用空间]。
示例性的,在一些实施例中,该方法还包括第一处理模块向发送FIFO写数据。具体地,所述发送控制寄存器中所述满标志指示所述发送FIFO非满,基于所述发送FIFO的所述读指针和所述写指针,确定所述发送FIFO的可用空间;基于所述发送FIFO的可用空间,确定所述第一处理模块写入所述发送FIFO的写数据量;基于所述写数据量,控制所述第一处理模块通过所述第一总线将发送数据写入所述发送FIFO中。具体地,发送FIFO的读指针和写指针相减得到发送FIFO的已用空间,发送FIFO的总空间和已用空间相减得到可用空间。
这里,写数据量不超过发送FIFO的可用空间对应的数据量。示例性的,在一些实施例中,所述基于所述发送FIFO的可用空间,确定所述第一处理模块写入所述发送FIFO的写数据量,包括:将所述发送FIFO的可用空间对应的数据量和所述第一处理模块的待发送数据量中的最小数据量,作为所述第一处理模块写入所述发送FIFO的写数据量。例如,待发送数据量小于发送FIFO的可用空间对应的数据量,将待发送数据量作为本次写数据量,待发送数据量大于等于发送FIFO的可用空间对应的数据量,将可用空间对应的数据量作为写数据量。
示例性的,在一些实施例中,所述基于所述写数据量,控制所述第一处理模块通过所述第一总线将发送数据写入所述发送FIFO中之后,所述方法还包括:更新所述发送控制寄存器中所述发送FIFO的所述写指针。
步骤102:基于所述读数据量,通过第二总线从所述发送FIFO中读取数据到发送缓冲器中;
示例性的,在一些实施例中,所述基于所述读数据量,通过第二总线从所述发送FIFO中读取数据到发送缓冲器中之后,所述方法还包括:更新所述发送控制寄存器中所述发送FIFO的所述读指针。
步骤103:控制所述发送缓冲器将所述第一处理模块的数据发送给所述第二处理模块。
这里,第二处理模块通过缓冲器通用接口与发送缓冲器相连,用于获取发送缓冲器中的数据。
实际应用中,第一处理模块和第二处理模块可以为同一电子设备中的不同模块,也可以是不同电子设备中的不同模块。
示例性的,在一些实施例中,所述第一处理模块为软件模块,所述第二处理模块为硬件模块。这里,软件模块通过第一总线与发送FIFO相连,用于将发送数据写入发送FIFO,硬件模块通过通用的FIFO接口(即发送缓冲器的接口)与发送缓冲器相连,通过发送缓冲器接收发送FIFO的数据,无需通过总线访问发送FIFO,使得硬件模块不需要更改原有的FIFO接口,即采用通用FIFO接口访问发送FIFO,使得软件模块采用总线接口访问发送FIFO,从而实现跨模块间的缓冲数据交换,有很好的通用性。
本申请实施例提供的数据发送方法由数据发送装置实现,图2为本申请实施例中数据发送系统的结构示意图,如图2所示,数据发送系统包括软件模块、发送FIFO、数据发送装置和硬件模块,其中,数据发送装置包括如下组成结构:
1.发送控制寄存器:用于设置发送FIFO的控制参数,具体包括发送FIFO所在内存空间的基地址(tx_fifo_base_addr)和深度(tx_depth),发送FIFO的读写指针(tx_rd_ptr(hw write)和tx_wr_ptr(sw write)),以及空满信息(tx_full和tx_empty)。
2.发送控制器:用于控制从发送FIFO中预取的数据量,通过第一总线向发送FIFO发出读请求,并更新读完成后的读指针。
3.发送缓冲器:用于对接第二处理模块和发送控制器,并缓冲从发送FIFO中预取的数据。
其中,硬件模块通过通用接口与发送缓冲器连接,发送控制器与发送控制寄存器和发送缓冲器连接,发送控制器通过第二总线和发送FIFO连接,用于从发送FIFO中读取数据缓存到发送缓冲器中,软件模块通过第一总线与发送FIFO连接,用于向发送FIFO写数据。这里,第一总线和第二总线也可以统称为总线,用于实现组件之间的连接通信。
图3为本申请实施例中第一处理模块向发送FIFO写数据的流程示意图,如图3所示,第一处理模块向发送FIFO写数据操作具体步骤如下:
S1:等待新的数据。
S2:读取发送控制寄存器,获得当前发送FIFO的满标记,写指针和读指针。
S3:软件判断当前发送FIFO是否为满状态:如为非满状态,则跳至S5;如为满状态,则跳至S4等待状态。
S4:等待发送FIFO非满再跳至S5。
S5:根据当前读写指针计算出发送FIFO可用空间,再根据如下公式计算出本次能写入发送FIFO的写数据量。
写数据量=Min[发送FIFO可用空间,第一处理模块待发送数据量]
S6:根据S5的计算结果从发送FIFO的写指针开始,依次写入对应数量的数据至发送FIFO。
S7:根据S5的计算结果更新发送控制寄存器的写指针,之后跳转至S1继续下一次发送FIFO的写操作。
需要说明的是,第一处理模块向发送FIFO写数据的控制过程可以由第一处理模块控制实现,也可以由图2中发送控制器控制实现。
图4为本申请实施例中第二处理模块从发送FIFO读数据的流程示意图,如图4所示,发送控制器的工作流程如下:
S1:等待发送缓冲器非满,且发送FIFO非空。
这里,利用控制寄存器的空标记指示发送FIFO是否为非空。
S2:根据当前读写指针计算出发送FIFO可用空间,再根据如下公式计算出本次能从发送FIFO读数据量;
读数据量=Min[发送FIFO已用空间,发送缓冲器可用空间]
S3:发送控制器通过第二总线读取S2计算出读数据量的数据至发送缓冲器。
S4:更新发送FIFO的读指针,之后跳转至S1继续下一次发送FIFO的读操作。
采用上述技术方案,第一处理模块通过第一总线向发送FIFO写数据,第二处理模块通过缓冲器通用接口与发送缓冲器相连,通过发送缓冲器从发送FIFO读数据,实现了一种接口友好的跨模块之间的数据交换,减少了总线负担。进一步地,该方法通过设置寄存器中的控制参数,实现了FIFO深度可变的高灵活性跨模块之间的数据交换功能。
本申请实施例还提供了一种数据接收方法,图5为本申请实施例中数据接收方法的流程示意图,如图5所示,该方法具体可以包括:
步骤501:控制接收缓冲器接收第二处理模块的数据;
这里,第二处理模块通过缓冲器通用接口与接收缓冲器相连,用于向接收缓冲器写入数据。
步骤502:基于接收控制寄存器中的所述接收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的可用空间和所述接收缓冲器的已用空间中确定最小空间;将所述最小空间对应的数据容量作为所述写数据量。这里,写数据量的表达式可以为写数据量=Min[接收FIFO可用空间,接收缓冲器已用空间]。
步骤503:基于所述写数据量,将所述接收缓冲器中的数据通过第二总线写入所述接收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,从而实现跨模块间的缓冲数据交换,有很好的通用性。
本申请实施例提供的数据发送方法由数据接收装置实现,图6为本申请实施例中数据接收系统的组成结构示意图,如图6所示,数据接收系统包括软件模块、接收FIFO、数据接收装置和硬件模块,其中,数据接收装置包括如下组成结构:
1.接收控制寄存器:用于设置接收FIFO的控制参数,具体包括接收FIFO所在内存空间的基地址(tx_fifo_base_addr)和深度(tx_depth),发送FIFO的读写指针(tx_rd_ptr(hw write)和tx_wr_ptr(sw write)),以及空满信息(tx_full和tx_empty)。
2.接收控制器:用于控制从接收缓冲器预取的数据量,通过第二总线向接收FIFO发出写请求,并更新写完成后的写指针。
3.接收缓冲器:用于对接第二处理模块和接收控制器,并缓冲从第二模块预取的数据。
其中,硬件模块通过通用接口与接收缓冲器连接,接收控制器与接收控制寄存器和接收缓冲器连接,接收控制器通过第二总线和接收FIFO连接,用于将接收缓冲器中的数据写入接收FIFO中,软件模块通过第一总线与接收FIFO连接,用于从接收FIFO读数据。
图7为本申请实施例中第二处理模块向接收FIFO写数据的流程示意图,如图7所示,接收控制器的工作流程如下:
S1:等待接收缓冲器非空,且接收FIFO非满。
这里,利用接收控制寄存器的满标记指示接收FIFO是否非满。
S2:根据当前读写指针计算出接收FIFO可用空间,再根据如下公式计算出本次能向接收FIFO写数据量;
写数据量=Min[接收FIFO可用空间,接收缓冲器已用空间]
S3:接收控制器通过第二总线读取S2计算出写数据量的数据写入接收FIFO。
S4:更新接收FIFO的写指针,之后跳转至S1继续下一次接收FIFO的写操作。
图8为本申请实施例中第一处理模块从接收FIFO读数据的流程示意图,如图8所示,第一处理模块从接收FIFO读数据操作具体步骤如下:
S1:等待接收FIFO接收新的数据。
S2:读取接收控制寄存器,获得当前接收FIFO的空标记,写指针和读指针。
S3:软件判断当前接收FIFO是否为空状态;如为非空状态,则跳至S5;如为空状态,则跳至S4等待状态。
S4:等待接收FIFO非空再跳至S5。
S5:根据当前读写指针计算出接收FIFO已用空间,再根据如下公式计算出本次能读取接收FIFO的读数据量。
读数据量=Min[接收FIFO已用空间,第一处理模块允许接收数据量]
S6:根据S5的计算结果从接收FIFO的读指针开始,依次读对应数量的数据。
S7:根据S5的计算结果更新接收控制寄存器的读指针,之后跳转至S1继续下一次接收FIFO的读操作。
采用上述技术方案,第二处理模块通过缓冲器通用接口与接收缓冲器相连,通过接收缓冲器向接收FIFO写数据,第一处理模块通过第一总线从接收FIFO读数据,实现了一种接口友好的跨模块之间的数据交换,减少了总线负担。进一步地,该方法通过设置寄存器中的控制参数,实现了FIFO深度可变的高灵活性跨模块之间的数据交换功能。
在上述实施例的基础上对本申请实施例提供的数据发送和接收方法进行进一步地举例说明,实际应用上,发送控制寄存器和接收控制寄存器为同一个寄存器组,发送FIFO和接收FIFO可以为同一个FIFO,通过时钟控制发送和接收过程,避免读写冲突。
图9为本申请实施例中数据发送和接收系统的组成结构示意图,如图9所示,数据发送和接收系统包括软件模块、发送FIFO、数据发送和接收装置、硬件模块,其中数据发送和接收装置用于实现软件模块和硬件模块之间的数据交互,软件模块初始化发送和接收FIFO的操作与上述初始化发送FIFO和接收FIFO的方法相同,即初始化FIFO所在内存空间的基地址和深度;发送控制器的工作流程与上述数据发送装置中的发送控制器的工作流程相同;接收控制器的工作流程与上述数据接收装置中的接收控制器的工作流程相同。
软件模块在发送数据时更新发送和接收FIFO的写指针(fifo_wr_ptr),硬件模块1在接收数据时更新发送和接收FIFO的读指针(fifo_rd_ptr)。硬件模块2在发送数据时更新发送和接收FIFO的写指针(fifo_wr_ptr),软件模块在接收数据时更新发送和接收FIFO的读指针(fifo_rd_ptr)。软件模块和硬件模块2不会同时更新写指针,软件模块和硬件模块1不会同时更新读指针,从而避免更新读写指针的冲突问题。
图9中以软件模块为基准数据流包括发送方向和接收方向,实际应用中软件模块和硬件模块只更新读写指针中的一个,软硬件模块不会同时更新同一个指针,避免带来的一致性问题。
在一些实施例中,可以由一个控制器分时实现接收控制器和发送控制器功能,由一个缓冲器分时实现接收缓冲器和发送缓冲器功能。
为实现本申请实施例的数据发送方法,基于同一发明构思本申请实施例还提供了一种数据发送装置,如图10所示,数据发送装置100包括:发送控制寄存器1001、发送控制器1002和发送缓冲器1003;
所述发送控制寄存器1001,用于存储发送FIFO的控制参数;其中,第一处理模块通过第一总线将发送数据写入所述发送FIFO中;
所述发送控制器1002,用于基于发送控制寄存器中的发送FIFO的控制参数确定所述发送FIFO的读数据量;基于所述读数据量,通过第二总线从所述发送FIFO中读取数据到发送缓冲器1003中;
所述发送控制器1002,还用于控制所述发送缓冲器将所述第一处理模块的数据发送给所述第二处理模块。
示例性的,在一些实施例中,所述发送FIFO的控制参数包括:所述发送FIFO所在内存空间的基地址和深度,所述发送FIFO的写指针,读指针,满标志和空标志。
示例性的,在一些实施例中,发送控制器1002,用于所述发送控制寄存器中所述空标志指示所述发送FIFO非空,且所述发送缓冲器非满,基于所述发送FIFO的所述读指针和所述写指针,确定所述发送FIFO的已用空间;基于所述发送FIFO的已用空间,确定所述读数据量。
示例性的,在一些实施例中,发送控制器1002,用于确定所述发送缓冲器的可用空间;从所述发送FIFO的已用空间和所述发送缓冲器的可用空间中确定最小空间;将所述最小空间对应的数据容量作为所述读数据量。
示例性的,在一些实施例中,发送控制器1002,用于配置所述发送控制寄存器中所述发送FIFO所在内存空间的基地址和深度。
示例性的,在一些实施例中,发送控制器1002,用于所述基于所述读数据量,通过第二总线从所述发送FIFO中读取数据到发送缓冲器中之后,更新所述发送控制寄存器中所述发送FIFO的所述读指针。
示例性的,在一些实施例中,发送控制器1002,用于所述发送控制寄存器中所述满标志指示所述发送FIFO非满,基于所述发送FIFO的所述读指针和所述写指针,确定所述发送FIFO的可用空间;基于所述发送FIFO的可用空间,确定所述第一处理模块写入所述发送FIFO的写数据量;基于所述写数据量,控制所述第一处理模块通过所述第一总线将发送数据写入所述发送FIFO中。
示例性的,在一些实施例中,发送控制器1002,用于所述基于所述写数据量,控制所述第一处理模块通过所述第一总线将发送数据写入所述发送FIFO中之后,更新所述发送控制寄存器中所述发送FIFO的所述写指针。
示例性的,在一些实施例中,所述第一处理模块为软件模块,所述第二处理模块为硬件模块。这样,硬件模块无需通过总线访问发送FIFO,使得硬件模块不需要更改原有的FIFO接口,即采用通用FIFO接口访问发送FIFO,使得软件模块采用总线接口访问发送FIFO,从而实现跨模块间的缓冲数据交换,有很好的通用性。
为实现本申请实施例的数据接收方法,基于同一发明构思本申请实施例还提供了一种数据接收装置,如图11所示,数据接收装置110包括:接收控制寄存器1101、接收控制器1102和接收缓冲器1103;
所述接收缓冲器1103,用于接收第二处理模块的数据;
所述接收控制寄存器1101,用于存储接收FIFO的控制参数;
所述接收控制器1102,用于基于接收控制寄存器中的接收FIFO的控制参数确定所述接收FIFO的写数据量;基于所述写数据量,将所述接收缓冲器中的数据通过第二总线写入所述接收FIFO中,以供所述第一处理模块通过第一总线从所述接收FIFO中读取所述第二处理模块的数据。
示例性的,在一些实施例中,所述接收FIFO的控制参数包括:所述接收FIFO所在内存空间的基地址和深度,所述发送FIFO的写指针,读指针,满标志和空标志。
示例性的,在一些实施例中,接收控制器1102,用于所述接收控制寄存器中所述满标志指示所述接收FIFO非满,且所述接收缓冲器非空,基于所述接收FIFO的所述读指针和所述写指针,确定所述接收FIFO的可用空间;基于所述接收FIFO的可用空间,确定所述写数据量。
示例性的,在一些实施例中,接收控制器1102,用于确定所述接收缓冲器的已用空间;从所述接收FIFO的可用空间和所述接收缓冲器的已用空间中确定最小空间;将所述最小空间对应的数据容量作为所述写数据量。
示例性的,在一些实施例中,接收控制器1102,用于配置所述接收控制寄存器中所述接收FIFO所在内存空间的基地址和深度。
示例性的,在一些实施例中,接收控制器1102,用于所述基于所述写数据量,将所述接收缓冲器中的数据通过第二总线写入所述接收FIFO中之后,更新所述接收控制寄存器中所述接收FIFO的所述写指针。
示例性的,在一些实施例中,接收控制器1102,用于所述接收控制寄存器中所述空标志指示所述接收FIFO非空,基于所述接收FIFO的所述读指针和所述写指针,确定所述接收FIFO的已用空间;基于所述接收FIFO的已用空间,确定所述第一处理模块读取所述接收FIFO的读数据量;基于所述读数据量,控制所述第一处理模块通过第一总线从所述接收FIFO读取数据。
示例性的,在一些实施例中,接收控制器1102,用于所述基于所述读数据量,控制所述第一处理模块通过第一总线从所述接收FIFO读取数据之后,更新所述接收控制寄存器中所述接收FIFO的所述读指针。
示例性的,在一些实施例中,所述第一处理模块为软件模块,所述第二处理模块为硬件模块。这样,硬件模块无需通过总线访问接收FIFO,使得硬件模块不需要更改原有的FIFO接口,即采用通用FIFO接口访问接收FIFO,使得软件模块采用总线接口访问接收FIFO,从而实现跨模块间的缓冲数据交换,有很好的通用性。
基于上述数据发送和接收装置中各单元的硬件实现,本申请实施例还提供了一种电子设备,如图12所示,该电子设备120包括:处理器1201和配置为存储能够在处理器上运行的计算机程序的存储器1202;
其中,处理器1201配置为运行计算机程序时,执行前述实施例中的数据发送方法步骤,或者执行前述实施例中的数据接收方法步骤。
当然,实际应用时,如图12所示,该电子设备中的各个组件通过总线系统1203耦合在一起。可理解,总线系统1203用于实现这些组件之间的连接通信。总线系统1203除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统1203。
在实际应用中,上述处理器可以为特定用途集成电路(ASIC,ApplicationSpecific Integrated Circuit)、数字信号处理装置(DSPD,Digital Signal ProcessingDevice)、可编程逻辑装置(PLD,Programmable Logic Device)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。
上述存储器可以是易失性存储器(volatile memory),例如随机存取存储器(RAM,Random-Access Memory);或者非易失性存储器(non-volatile memory),例如只读存储器(ROM,Read-Only Memory),快闪存储器(flash memory),硬盘(HDD,Hard Disk Drive)或固态硬盘(SSD,Solid-State Drive);或者上述种类的存储器的组合,并向处理器提供指令和数据。
实际应用中,上述数据发送装置和数据接收装置可以是电子设备,也可以是应用于电子设备中的芯片。在本申请中,该数据发送装置和数据接收装置可以通过或软件、或硬件、或软件与硬件相结合的方式,实现多个单元的功能,使该数据发送装置可以执行如上述任一实施例所提供的数据发送方法和数据接收方法,数据发送装置的各技术方案的技术效果可以参考数据发送方法中相应的技术方案的技术效果,数据接收装置的各技术方案的技术效果可以参考数据接收方法中相应的技术方案的技术效果,本申请对此不再一一赘述。
在示例性实施例中,本申请实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,计算机程序可由电子设备的处理器执行,以完成前述方法的步骤。
本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。
可选的,该计算机程序产品可应用于本申请实施例中的电子设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序。
可选的,该计算机程序可应用于本申请实施例中的电子设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
应当理解,在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。本申请中表述“具有”、“可以具有”、“包括”和“包含”、或者“可以包括”和“可以包含”在本文中可以用于指示存在对应的特征(例如,诸如数值、功能、操作或组件等元素),但不排除附加特征的存在。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,不必用于描述特定的顺序或先后次序。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (22)

1.一种数据发送方法,其特征在于,所述方法包括:
基于发送控制寄存器中的发送FIFO的控制参数确定所述发送FIFO的读数据量;其中,第一处理模块通过第一总线将发送数据写入所述发送FIFO中;
基于所述读数据量,通过第二总线从所述发送FIFO中读取数据到发送缓冲器中;
控制所述发送缓冲器将所述第一处理模块的数据发送给第二处理模块。
2.根据权利要求1所述的方法,其特征在于,所述发送FIFO的控制参数包括:所述发送FIFO所在内存空间的基地址和深度,所述发送FIFO的写指针,读指针,满标志和空标志。
3.根据权利要求2所述的方法,其特征在于,
所述基于发送控制寄存器中的发送FIFO的控制参数确定所述发送FIFO的读数据量,包括:
所述发送控制寄存器中所述空标志指示所述发送FIFO非空,且所述发送缓冲器非满,基于所述发送FIFO的所述读指针和所述写指针,确定所述发送FIFO的已用空间;
基于所述发送FIFO的已用空间,确定所述读数据量。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定所述发送缓冲器的可用空间;
所述基于所述发送FIFO的已用空间,确定所述读数据量,包括:
从所述发送FIFO的已用空间和所述发送缓冲器的可用空间中确定最小空间;
将所述最小空间对应的数据容量作为所述读数据量。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
配置所述发送控制寄存器中所述发送FIFO所在内存空间的基地址和深度。
6.根据权利要求2所述的方法,其特征在于,所述基于所述读数据量,通过第二总线从所述发送FIFO中读取数据到发送缓冲器中之后,所述方法还包括:
更新所述发送控制寄存器中所述发送FIFO的所述读指针。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述发送控制寄存器中所述满标志指示所述发送FIFO非满,基于所述发送FIFO的所述读指针和所述写指针,确定所述发送FIFO的可用空间;
基于所述发送FIFO的可用空间,确定所述第一处理模块写入所述发送FIFO的写数据量;
基于所述写数据量,控制所述第一处理模块通过所述第一总线将发送数据写入所述发送FIFO中。
8.根据权利要求7所述的方法,其特征在于,所述基于所述写数据量,控制所述第一处理模块通过所述第一总线将发送数据写入所述发送FIFO中之后,所述方法还包括:
更新所述发送控制寄存器中所述发送FIFO的所述写指针。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述第一处理模块为软件模块,所述第二处理模块为硬件模块。
10.一种数据接收方法,其特征在于,所述方法包括:
控制接收缓冲器接收第二处理模块的数据;
基于接收控制寄存器中的接收FIFO的控制参数确定所述接收FIFO的写数据量;
基于所述写数据量,将所述接收缓冲器中的数据通过第二总线写入所述接收FIFO中,以供第一处理模块通过第一总线从所述接收FIFO中读取所述第二处理模块的数据。
11.根据权利要求10所述的方法,其特征在于,所述接收FIFO的控制参数包括:所述接收FIFO所在内存空间的基地址和深度,所述发送FIFO的写指针,读指针,满标志和空标志。
12.根据权利要求11所述的方法,其特征在于,
所述基于接收控制寄存器中的接收FIFO的控制参数确定所述接收FIFO的写数据量,包括:
所述接收控制寄存器中所述满标志指示所述接收FIFO非满,且所述接收缓冲器非空,基于所述接收FIFO的所述读指针和所述写指针,确定所述接收FIFO的可用空间;
基于所述接收FIFO的可用空间,确定所述写数据量。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
确定所述接收缓冲器的已用空间;
所述基于所述接收FIFO的可用空间,确定所述写数据量,包括:
从所述接收FIFO的可用空间和所述接收缓冲器的已用空间中确定最小空间;
将所述最小空间对应的数据容量作为所述写数据量。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括:
配置所述接收控制寄存器中所述接收FIFO所在内存空间的基地址和深度。
15.根据权利要求11所述的方法,其特征在于,所述基于所述写数据量,将所述接收缓冲器中的数据通过第二总线写入所述接收FIFO中之后,所述方法还包括:
更新所述接收控制寄存器中所述接收FIFO的所述写指针。
16.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述接收控制寄存器中所述空标志指示所述接收FIFO非空,基于所述接收FIFO的所述读指针和所述写指针,确定所述接收FIFO的已用空间;
基于所述接收FIFO的已用空间,确定所述第一处理模块读取所述接收FIFO的读数据量;
基于所述读数据量,控制所述第一处理模块通过所述第一总线从所述接收FIFO读取数据。
17.根据权利要求16所述的方法,其特征在于,所述基于所述读数据量,控制所述第一处理模块通过所述第一总线从所述接收FIFO读取数据之后,所述方法还包括:
更新所述接收控制寄存器中所述接收FIFO的所述读指针。
18.根据权利要求10-17任一项所述的方法,其特征在于,所述第一处理模块为软件模块,所述第二处理模块为硬件模块。
19.一种数据发送装置,其特征在于,所述数据发送装置包括:发送控制寄存器、发送控制器和发送缓冲器;
所述发送控制寄存器,用于存储发送FIFO的控制参数;其中,第一处理模块通过第一总线将发送数据写入所述发送FIFO中;
所述发送控制器,用于基于发送控制寄存器中的发送FIFO的控制参数确定所述发送FIFO的读数据量;基于所述读数据量,通过第二总线从所述发送FIFO中读取数据到发送缓冲器中;
所述发送控制器,还用于控制所述发送缓冲器将所述第一处理模块的数据发送给第二处理模块。
20.一种数据接收装置,其特征在于,所述数据接收装置包括:接收控制寄存器、接收控制器和接收缓冲器;
所述接收缓冲器,用于接收第二处理模块的数据;
所述接收控制寄存器,用于存储接收FIFO的控制参数;
所述接收控制器,用于基于接收控制寄存器中的接收FIFO的控制参数确定所述接收FIFO的写数据量;基于所述写数据量,将所述接收缓冲器中的数据通过第二总线写入所述接收FIFO中,以供第一处理模块通过第一总线从所述接收FIFO中读取所述第二处理模块的数据。
21.一种电子设备,其特征在于,所述电子设备包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器配置为运行所述计算机程序时,执行权利要求1至9任一项所述数据发送方法的步骤,或者执行权利要求10至18任一项所述数据接收方法的步骤。
22.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9任一项所述数据发送方法的步骤,或者实现权利要求10至18任一项所述数据接收方法的步骤。
CN202210130230.4A 2022-02-11 2022-02-11 一种数据发送和接收方法、装置、设备及存储介质 Active CN114546907B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210130230.4A CN114546907B (zh) 2022-02-11 2022-02-11 一种数据发送和接收方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210130230.4A CN114546907B (zh) 2022-02-11 2022-02-11 一种数据发送和接收方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114546907A CN114546907A (zh) 2022-05-27
CN114546907B true CN114546907B (zh) 2024-05-28

Family

ID=81673815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210130230.4A Active CN114546907B (zh) 2022-02-11 2022-02-11 一种数据发送和接收方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114546907B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153412A (zh) * 2017-06-16 2017-09-12 北方电子研究院安徽有限公司 一种具有发送fifo的can总线控制器电路
CN113468097A (zh) * 2021-07-01 2021-10-01 中国科学技术大学先进技术研究院 基于片上系统的数据交换方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107153412A (zh) * 2017-06-16 2017-09-12 北方电子研究院安徽有限公司 一种具有发送fifo的can总线控制器电路
CN113468097A (zh) * 2021-07-01 2021-10-01 中国科学技术大学先进技术研究院 基于片上系统的数据交换方法

Also Published As

Publication number Publication date
CN114546907A (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
AU2010234773B2 (en) Command and interrupt grouping for a data storage device
US20070220361A1 (en) Method and apparatus for guaranteeing memory bandwidth for trace data
EP2097828B1 (en) Dmac to handle transfers of unknown lengths
CN111563052B (zh) 降低读延时的缓存方法、装置、计算机设备及存储介质
US8447897B2 (en) Bandwidth control for a direct memory access unit within a data processing system
CN107783727B (zh) 一种内存设备的访问方法、装置和系统
CN113900974B (zh) 一种存储装置、数据存储方法及相关设备
CN114051611B (zh) 用于非连续存储器的dma分散和聚集操作
CN101504567B (zh) 一种cpu、cpu指令系统及降低cpu功耗的方法
US20110126070A1 (en) Resending Control Circuit, Sending Device, Resending Control Method and Resending Control Program
US20060018176A1 (en) Mark/re-read and mark/re-write operations in a multi-queue first-in first-out memory system
WO2011041021A1 (en) Operating an emulated electrically erasable (eee) memory
CN112905150A (zh) 一种基于异步fifo芯片的处理电路及可重构工作方法
CN114546907B (zh) 一种数据发送和接收方法、装置、设备及存储介质
CN108984441B (zh) 一种保持数据传送一致性的方法及系统
CN111970213A (zh) 排队系统
CN116340217A (zh) 数据处理方法及相关装置
CN111352868B (zh) 串口访问方法、装置、终端设备及存储介质
US8547985B2 (en) Network interface controller capable of sharing buffers and buffer sharing method
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same
CN112765052A (zh) 处理NVMe完成队列(CQ)阻塞的方法与存储设备
CN111699468A (zh) 先入先出存储器的数据存储方法、设备及存储介质
CN109783021A (zh) 数据存储系统及数据存储、读取方法、装置、电子设备
CN116226021B (zh) 数据收发方法、装置以及图形处理器
CN118132243B (zh) 一种中断信号处理方法、装置、设备、介质、电路及系统

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
GR01 Patent grant
GR01 Patent grant