一种数据发送和接收方法、装置、设备及存储介质制造方法及图纸

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

【技术实现步骤摘要】
一种数据发送和接收方法、装置、设备及存储介质


[0001]本申请涉及计算机技术,尤其涉及一种数据发送和接收方法、装置、设备及存储介质。

技术介绍

[0002]在芯片设计中,由于内存管理等需求,软件和硬件之间,经常需要相互传递大量内存指针等情况,此时需要应用缓冲器,以匹配不同的处理速度从而达到流水作业的目的。
[0003]通常硬件内部数据的缓存及跨时钟域传输都离不开先进先出队列(First In First Out,FIFO)。FIFO主要由随机存取存储器(Random Access Memory,RAM)和FIFO控制器组成。在写数据时,写数据端只需要发出写使能和写数据,写指针控制会立刻计算出对应的写地址,数据便会在写使能有效的当拍被写入RAM。在读数据时,读数据端只需要发出读使能,读指针控制会立刻计算出对应的读地址,数据便会在读使能有效的下一拍被读出RAM。
[0004]现有技术中,软件模块和硬件模块之间的数据交互通常都需要通过总线完成对FIFO的读写控制,增加了总线负担,同时也增加了硬件模块的设计复杂度。

技术实现思路

[0005]为解决上述技术问题,本申请实施例期望提供一种数据发送和接收方法、装置、设备及存储介质。
[0006]本申请的技术方案是这样实现的:
[0007]第一方面,提供了一种数据发送方法,包括:
[0008]基于发送控制寄存器中的发送FIFO的控制参数确定所述发送FIFO的读数据量;其中,第一处理模块通过第一总线将发送数据写入所述发送FIFO中;
[0009]基于所述读数据量,通过第二总线从所述发送FIFO中读取数据到发送缓冲器中;
[0010]控制所述发送缓冲器将所述第一处理模块的数据发送给所述第二处理模块。
[0011]第二方面,提供了一种数据接收方法,包括:
[0012]控制接收缓冲器接收第二处理模块的数据;
[0013]基于接收控制寄存器中的接收FIFO的控制参数确定所述接收FIFO的写数据量;
[0014]基于所述写数据量,将所述接收缓冲器中的数据通过第二总线写入所述接收FIFO中,以供所述第一处理模块通过第一总线从所述接收FIFO中读取所述第二处理模块的数据。
[0015]第三方面,提供了一种数据发送装置,所述数据发送装置包括:发送控制寄存器、发送控制器和发送缓冲器;
[0016]所述发送控制寄存器,用于存储发送FIFO的控制参数;其中,第一处理模块通过第一总线将发送数据写入所述发送FIFO中;
[0017]所述发送控制器,用于基于发送控制寄存器中的发送FIFO的控制参数确定所述发
送FIFO的读数据量;基于所述读数据量,通过第二总线从所述发送FIFO中读取数据到发送缓冲器中;
[0018]所述发送控制器,还用于控制所述发送缓冲器将所述第一处理模块的数据发送给所述第二处理模块。
[0019]第四方面,提供了一种数据接收装置,所述数据接收装置包括:接收控制寄存器、接收控制器和接收缓冲器;
[0020]所述接收缓冲器,用于接收第二处理模块的数据;
[0021]所述接收控制寄存器,用于存储接收FIFO的控制参数;
[0022]所述接收控制器,用于基于接收控制寄存器中的接收FIFO的控制参数确定所述接收FIFO的写数据量;基于所述写数据量,将所述接收缓冲器中的数据通过第二总线写入所述接收FIFO中,以供所述第一处理模块通过第一总线从所述接收FIFO中读取所述第二处理模块的数据。
[0023]第五方面,提供了一种电子设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,
[0024]其中,所述处理器配置为运行所述计算机程序时,执行前述第一方面或第二方面方法的步骤。
[0025]第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现前述第一方面或第二方面方法的步骤。
[0026]本申请实施例中提供了一种数据发送和接收方法、装置、设备及存储介质,其中,数据发送方法包括:基于发送控制寄存器中的发送FIFO的控制参数确定所述发送FIFO的读数据量;其中,第一处理模块通过第一总线将发送数据写入所述发送FIFO中;基于所述读数据量,通过第二总线从所述发送FIFO中读取数据到发送缓冲器中;控制所述发送缓冲器将所述第一处理模块的数据发送给所述第二处理模块。数据接收方法包括:控制接收缓冲器接收第二处理模块的数据;基于接收控制寄存器中的接收FIFO的控制参数确定所述接收FIFO的写数据量;基于所述写数据量,将所述接收缓冲器中的数据通过第二总线写入所述接收FIFO中,以供所述第一处理模块通过第一总线从所述接收FIFO中读取所述第二处理模块的数据。这样,第一处理模块通过第一总线访问FIFO(发送FIFO或接收FIFO),第二处理模块通过缓冲器通用接口与缓冲器(发送缓冲器或接收缓冲器)相连,再通过第二总线访问FIFO,实现了一种接口友好的跨模块之间的数据交换,减少了总线负担。进一步地,该方法通过设置寄存器中的控制参数,实现了FIFO深度可变的高灵活性跨模块之间的数据交换功能。
附图说明
[0027]图1为本申请实施例中数据发送方法的流程示意图;
[0028]图2为本申请实施例中数据发送系统的结构示意图;
[0029]图3为本申请实施例中第一处理模块向发送FIFO写数据的流程示意图;
[0030]图4为本申请实施例中第二处理模块从发送FIFO读数据的流程示意图;
[0031]图5为本申请实施例中数据接收方法的流程示意图;
[0032]图6为本申请实施例中数据接收系统的结构示意图;
[0033]图7为本申请实施例中第二处理模块向接收FIFO写数据的流程示意图;
[0034]图8为本申请实施例中第一处理模块从接收FIFO读数据的流程示意图;
[0035]图9为本申请实施例中数据发送和接收系统的组成结构示意图;
[0036]图10为本申请实施例中数据发送装置的组成结构示意图;
[0037]图11为本申请实施例中数据接收装置的组成结构示意图
[0038]图12为本申请实施例中电子设备的组成结构示意图。
具体实施方式
[0039]为了能够更加详尽地了解本申请实施例的特点与
技术实现思路
,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
[0040]本申请实施例提供了一种数据发送和接收方法,其中,数据发送方法用于实现第一处理模块向第二处理模块发送数据,数据接收方法用于实现第一处理模块接收第二处理模块的数据。图1为本申请实施例中数据发送方法的流程示意图,如图1所示,该方法具体可以包括:
[0041]步骤101:基于发送控制寄存器中的发送FIFO的控制参数确定所述发送FIFO的读数据量;其中,第一处理模块通过第一总线将发送数据写本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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非满,且所述接收缓冲器非空...

【专利技术属性】
技术研发人员:郑侃
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:

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

1