一种基于AXI总线传输数据的方法、设备、系统及可读介质与流程

文档序号:29157932发布日期:2022-03-08 22:09阅读:117来源:国知局
一种基于AXI总线传输数据的方法、设备、系统及可读介质与流程
一种基于axi总线传输数据的方法、设备、系统及可读介质
技术领域
1.本发明涉及数据处理技术领域,尤其涉及一种基于高级可扩展接口(advanced extensible interface,axi)总线传输数据的方法、设备、系统及可读介质。


背景技术:

2.axi总线是一种高性能、高宽带及低延时的芯片内总线。它的地址/控制信息和数据传输所采用的传输通道是分离的,支持不对齐的数据传输,同时在突发传输中,只需要数据的首地址就可以传输数据,同时分离读写数据传输通道、并支持显著传输访问和乱序访问。
3.在设备之间传输数据时,可以采用axi总线实现。图1为现有技术中设备之间基于axi总线传输数据的方法的示意图。如图1所示,该方法通常是当主设备向从设备写入数据时,主设备向从设备发送数据写入请求,该请求中携带数据。从设备根据数据写入请求将接收数据。当主设备从从设备读取数据时,主设备向从设备数据读取请求,从设备根据该请求向主设备返回需要读取的数据。这样,主设备可主动向从设备发送数据,但是,主设备获取数据时需要向从设备请求之后才可获取到数据,使得数据传输效率较低,灵活性较低。


技术实现要素:

4.有鉴于此,本发明实施例的目的在于提出一种基于axi总线传输数据的方法、设备、系统及可读介质,基于axi总线实现两个设备间的数据通信,两个设备均可以主动向对方发送数据,使得数据传输效率较低,灵活性较高。
5.基于上述目的,本发明实施例的一方面提供了一种基于axi总线传输数据的方法,该方法可以包括:
6.第一设备通过axi总线向第二设备发送第一数据;
7.第二设备接收第一数据,并向第一设备返回第一响应信号;
8.第二设备通过axi总线向第一设备发送第二数据;
9.第一设备接收第二数据,并向第二设备返回第二响应信号。
10.在一些实施方式中,在第一设备接收第二数据,并向第二设备返回第二响应信号之前,方法还包括:
11.第一设备通过axi总线向第二设备发送第一地址。
12.在一些实施方式中,在第二设备接收第一数据,并向第一设备返回第一响应信号之前,方法还包括:
13.第二设备通过axi总线向第一设备发送第二地址。
14.在一些实施方式中,第一设备包括第一存储器;
15.第一设备接收第二数据,并向第二设备返回第二响应信号,包括:
16.第一设备确定第一存储器的剩余容量是否满足第一条件;
17.若是,则第一设备将第二数据写入第一存储器,并向第二设备返回第二响应信号;
18.若否,则第一设备不将第二数据写入第一存储器,且不向第二设备返回第二响应信号。
19.在一些实施方式中,第一条件包括:
20.第一存储器的剩余容量大于等于第二数据的大小;
21.或者,第一存储器的剩余容量大于等于零。
22.在一些实施方式中,第二设备包括第二存储器;
23.第二设备接收第一数据,并向第一设备返回第一响应信号,包括:
24.第二设备确定第二存储器的剩余容量是否满足第二条件;
25.若是,则第二设备将第一数据写入第二存储器,并向第一设备返回第一响应信号;
26.若否,则第二设备不将第一数据写入第二存储器,且不向第一设备返回第一响应信号。
27.在一些实施方式中,第二条件包括:
28.第二存储器的剩余容量大于等于第一数据的大小;
29.或者,第二存储器的剩余容量大于等于零。
30.本发明实施例的另一方面,还提供了一种基于axi总线传输数据的系统,包括:第一设备和第二设备,其中,第一设备配置用于通过axi总线向第二设备发送第一数据;第二设备配置用于接收第一数据,并向第一设备返回第一响应信号;第二设备配置用于通过axi总线向第一设备发送第二数据;第一设备配置用于接收第二数据,并向第二设备返回第二响应信号。
31.在一些实施方式中,第一设备进一步配置用于:
32.通过axi总线向第二设备发送第一地址。
33.在一些实施方式中,第二设备进一步配置用于:
34.通过axi总线向第一设备发送第二地址。
35.在一些实施方式中,第一设备包括第一存储器;
36.第一设备进一步配置用于:
37.确定第一存储器的剩余容量是否满足第一条件;
38.若是,则将第二数据写入第一存储器,并向第二设备返回第二响应信号;
39.若否,则不将第二数据写入第一存储器,且不向第二设备返回第二响应信号。
40.在一些实施方式中,第一条件包括:
41.第一存储器的剩余容量大于等于第二数据的大小;
42.或者,第一存储器的剩余容量大于等于零。
43.在一些实施方式中,第二设备包括第二存储器;
44.第二设备进一步配置用于:
45.确定第二存储器的剩余容量是否满足第二条件;
46.若是,则将第一数据写入第二存储器,并向第一设备返回第一响应信号;
47.若否,则不将第一数据写入第二存储器,且不向第一设备返回第一响应信号。
48.在一些实施方式中,第二条件包括:
49.第二存储器的剩余容量大于等于第一数据的大小;
50.或者,第二存储器的剩余容量大于等于零。
51.本发明实施例的再一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现方法的步骤包括:第一设备通过axi总线向第二设备发送第一数据;第二设备接收第一数据,并向第一设备返回第一响应信号;第二设备通过axi总线向第一设备发送第二数据;第一设备接收第二数据,并向第二设备返回第二响应信号。
52.在一些实施方式中,第一设备包括第一存储器;
53.第一设备接收第二数据,并向第二设备返回第二响应信号,包括:
54.第一设备确定第一存储器的剩余容量是否满足第一条件;
55.若是,则第一设备将第二数据写入第一存储器,并向第二设备返回第二响应信号;
56.若否,则第一设备不将第二数据写入第一存储器,且不向第二设备返回第二响应信号。
57.在一些实施方式中,第一条件包括:
58.第一存储器的剩余容量大于等于第二数据的大小;
59.或者,第一存储器的剩余容量大于等于零。
60.在一些实施方式中,第二设备包括第二存储器;
61.第二设备接收第一数据,并向第一设备返回第一响应信号,包括:
62.第二设备确定第二存储器的剩余容量是否满足第二条件;
63.若是,则第二设备将第一数据写入第二存储器,并向第一设备返回第一响应信号;
64.若否,则第二设备不将第一数据写入第二存储器,且不向第一设备返回第一响应信号。
65.在一些实施方式中,第二条件包括:
66.第二存储器的剩余容量大于等于第一数据的大小;
67.或者,第二存储器的剩余容量大于等于零。
68.本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
69.本发明至少具有以下有益技术效果:
70.本发明中,基于axi总线实现两个设备间的数据通信,两个设备均可以主动向对方发送数据,而不用等待数据被读取时才发送,在数据高速传输时可有效减少了传输延迟,提高传输效率,灵活性较高。
附图说明
71.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
72.图1为现有的一种基于axi总线传输数据的方法的实施例的示意图;
73.图2为本发明提供的一种基于axi总线传输数据的方法的实施例的示意图;
74.图3为本发明提供的一种基于axi总线传输数据的方法的实施例的示意图;
75.图4为本发明提供的一种基于axi总线传输数据的系统的实施例的示意图;
76.图5为本发明提供的计算机设备的实施例的示意图;
77.图6为本发明提供的计算机可读存储介质的实施例的示意图。
具体实施方式
78.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
79.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
80.基于上述目的,本发明实施例的第一个方面,提出了一种基于axi总线传输数据的方法的实施例。图2示出的是本发明提供的一种基于axi总线传输数据的方法的实施例的示意图。如图2所示,本发明实施例的一种基于axi总线传输数据的方法包括:
81.s101、第一设备通过axi总线向第二设备发送第一数据。
82.其中,axi总线是一种总线协议,axi是amba中一个新的高性能协议,axi技术丰富了现有的amba标准内容,满足超高性能和复杂的片上系统(soc)设计的需求。
83.其中,第一设备可以为主设备,第二设备可以为从设备。
84.s102、第二设备接收第一数据,并向第一设备返回第一响应信号。
85.示例性的,如图3所示,s101和s102具体可实现为:主设备(如图3中所示的设备1)和从设备(如图3中所示的设备2)之间通过axi总线进行数据传输。当主设备向从设备写数据时,主设备向从设备发送第一数据。从设备接收第一数据,并在接收到第一数据之后,向主设备发送第一响应信号,指示接收第一数据完成。
86.在一些实施例中,在执行s101之前,方法还包括:
87.第一设备通过axi总线向第二设备发送第一地址。
88.其中,第一地址可以理解为第一数据写入地址。
89.示例性的,如图3所示,s101和s102具体可实现为:主设备和从设备之间通过axi总线进行数据传输。当主设备向从设备写数据时,主设备先向从设备发送第一地址,主设备再向从设备发送第一数据。从设备接收第一数据,并在接收到第一数据之后,向主设备发送第一响应信号,指示接收第一数据完成。进一步的,主设备向从设备发送第一地址时可以携带相关控制伴随信号。主设备先向从设备发送第一数据时也可以携带相关控制伴随信号。
90.在一些实施例中,第一设备可以包括第一存储器。
91.s102具体可实现为:第一设备确定第一存储器的剩余容量是否满足第一条件。若是,则第一设备将第二数据写入第一存储器,并向第二设备返回第二响应信号。若否,则第一设备不将第二数据写入第一存储器,且不向第二设备返回第二响应信号。
92.其中,第一条件可以包括:第一存储器的剩余容量大于等于第二数据的大小;或者,第一存储器的剩余容量大于等于零。
93.其中,第一存储器可以为fifo存储器,fifo存储器用于缓存接收到的第二数据。
94.示例性的,当第一设备接收到axi写第二数据后,如果fifo存储器的剩余容量大于等于第二数据的大小,就将第二数据写入fifo存储器,并返回第二响应信号,以指示第二数据传输成功。如果fifo存储器已经被写满,此时的第二数据将无法写入fifo存储器,就不返
回响应信号,以指示数据暂时没有传输成功。
95.示例性的,当第一设备接收到axi写第二数据后,如果fifo存储器的剩余容量大于等于零,就将第二数据写入fifo存储器,并返回第二响应信号,以指示第二数据传输成功。如果fifo存储器已经被写满,此时的第二数据将无法写入fifo存储器,就不返回响应信号,以指示数据暂时没有传输成功。
96.s103、第二设备通过axi总线向第一设备发送第二数据。
97.s104、第一设备接收第二数据,并向第二设备返回第二响应信号。
98.示例性的,如图3所示,同上,s103和s104具体可实现为:主设备和从设备之间通过axi总线进行数据传输。当从设备向主设备写数据时,从设备向主设备发送第二数据。主设备接收第二数据,并在接收到第二数据之后,向从设备发送第二响应信号,指示接收第二数据完成。
99.在一些实施例中,在执行s103之前,还包括:
100.第二设备通过axi总线向第一设备发送第二地址。
101.其中,第二地址可以理解为第二数据写入地址。
102.示例性的,如图3所示,同上,s103和s104具体可实现为:主设备和从设备之间通过axi总线进行数据传输。当从设备向主设备写数据时,从设备先向主设备发送第二地址,从设备再向主设备发送第二数据。主设备接收第二数据,并在接收到第二数据之后,向从设备发送第二响应信号,指示接收第二数据完成。进一步的,从设备向主设备发送第二地址时可以携带相关控制伴随信号。从设备向主设备发送第二数据时也可以携带相关控制伴随信号。
103.在一些实施例中,第二设备可以包括第二存储器;
104.s102具体可实现为:第二设备确定第二存储器的剩余容量是否满足第二条件。若是,则第二设备将第一数据写入第二存储器,并向第一设备返回第一响应信号。若否,则第二设备不将第一数据写入第二存储器,且不向第一设备返回第一响应信号。
105.其中,第二条件可以包括:第二存储器的剩余容量大于等于第一数据的大小;或者,第二存储器的剩余容量大于等于零。
106.其中,第二存储器可以为fifo存储器,fifo存储器用于缓存接收到的第一数据。
107.示例性的,当第二设备接收到axi写第一数据后,如果fifo存储器的剩余容量大于等于第一数据的大小,就将第一数据写入fifo存储器,并返回第一响应信号,以指示第一数据传输成功。如果fifo存储器已经被写满,此时的第一数据将无法写入fifo存储器,就不返回响应信号,以指示数据暂时没有传输成功。
108.示例性的,当第二设备接收到axi写第一数据后,如果fifo存储器的剩余容量大于等于零,就将第一数据写入fifo存储器,并返回第一响应信号,以指示第一数据传输成功。如果fifo存储器已经被写满,此时的第一数据将无法写入fifo存储器,就不返回响应信号,以指示数据暂时没有传输成功。
109.需要说明的是,上述实施例中,第一设备和第二设备均可以包括数据处理模块。该数据处理模块用于将缓存在数据接收fifo存储器中的数据取出,并处理备用,该数据处理模块可根据需求对数据进行定制化处理。
110.需要说明的是,本技术中的逻辑可以采用verilog代码实现。
111.本发明中,基于axi总线实现两个设备间的数据通信,两个设备均可以主动向对方发送数据,而不用等待数据被读取时才发送,在数据高速传输时可有效减少了传输延迟,提高传输效率,灵活性较高,可扩展利用。
112.需要特别指出的是,上述基于axi总线传输数据的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于基于axi总线传输数据的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
113.基于上述目的,本发明实施例的第二个方面,提出了一种基于axi总线传输数据的装置。图4示出的是本发明提供的基于axi总线传输数据的系统的实施例的示意图。如图4所示,本发明实施例的基于axi总线传输数据的系统包括:第一设备011通过axi总线向第二设备012发送第一数据;第二设备012接收第一数据,并向第一设备011返回第一响应信号;第二设备012通过axi总线向第一设备011发送第二数据;第一设备011接收第二数据,并向第二设备012返回第二响应信号。
114.在本发明的一些实施例中,第一设备011进一步配置用于:
115.通过axi总线向第二设备012发送第一地址。
116.在本发明的一些实施例中,第二设备012进一步配置用于:
117.通过axi总线向第一设备011发送第二地址。
118.在本发明的一些实施例中,第一设备011包括第一存储器;
119.第一设备011进一步配置用于:
120.确定第一存储器的剩余容量是否满足第一条件;
121.若是,则将第二数据写入第一存储器,并向第二设备012返回第二响应信号;
122.若否,则不将第二数据写入第一存储器,且不向第二设备012返回第二响应信号。
123.在本发明的一些实施例中,第一条件包括:
124.第一存储器的剩余容量大于等于第二数据的大小;
125.或者,第一存储器的剩余容量大于等于零。
126.在本发明的一些实施例中,第二设备012包括第二存储器;
127.第二设备012进一步配置用于:
128.确定第二存储器的剩余容量是否满足第二条件;
129.若是,则将第一数据写入第二存储器,并向第一设备返回第一响应信号;
130.若否,则不将第一数据写入第二存储器,且不向第一设备返回第一响应信号。
131.在本发明的一些实施例中,第二条件包括:
132.第二存储器的剩余容量大于等于第一数据的大小;
133.或者,第二存储器的剩余容量大于等于零。
134.本发明中,基于axi总线实现两个设备间的数据通信,两个设备均可以主动向对方发送数据,而不用等待数据被读取时才发送,在数据高速传输时可有效减少了传输延迟,提高传输效率,灵活性较高,可扩展利用。
135.基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备。图5示出的是本发明提供的计算机设备的实施例的示意图。如图5所示,本发明实施例的计算机设备包括如下装置:至少一个处理器021;以及存储器022,存储器022存储有可在处理器上运行的
计算机指令023,指令由处理器执行时实现方法的步骤包括:第一设备通过axi总线向第二设备发送第一数据;第二设备接收第一数据,并向第一设备返回第一响应信号;第二设备通过axi总线向第一设备发送第二数据;第一设备接收第二数据,并向第二设备返回第二响应信号。
136.在本发明的一些实施例中,第一设备包括第一存储器;
137.第一设备接收第二数据,并向第二设备返回第二响应信号,包括:
138.第一设备确定第一存储器的剩余容量是否满足第一条件;
139.若是,则第一设备将第二数据写入第一存储器,并向第二设备返回第二响应信号;
140.若否,则第一设备不将第二数据写入第一存储器,且不向第二设备返回第二响应信号。
141.在本发明的一些实施例中,第一条件包括:
142.第一存储器的剩余容量大于等于第二数据的大小;
143.或者,第一存储器的剩余容量大于等于零。
144.在本发明的一些实施例中,第二设备包括第二存储器;
145.第二设备接收第一数据,并向第一设备返回第一响应信号,包括:
146.第二设备确定第二存储器的剩余容量是否满足第二条件;
147.若是,则第二设备将第一数据写入第二存储器,并向第一设备返回第一响应信号;
148.若否,则第二设备不将第一数据写入第二存储器,且不向第一设备返回第一响应信号。
149.在本发明的一些实施例中,第二条件包括:
150.第二存储器的剩余容量大于等于第一数据的大小;
151.或者,第二存储器的剩余容量大于等于零。
152.本发明中,基于axi总线实现两个设备间的数据通信,两个设备均可以主动向对方发送数据,而不用等待数据被读取时才发送,在数据高速传输时可有效减少了传输延迟,提高传输效率,灵活性较高,可扩展利用。
153.本发明还提供了一种计算机可读存储介质。图6示出的是本发明提供的计算机可读存储介质的实施例的示意图。如图6所示,计算机可读存储介质031存储有被处理器执行时执行如上方法的计算机程序032。
154.最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,基于axi总线传输数据的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
155.此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
156.此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
157.本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
158.在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括ram、rom、eeprom、cd-rom或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(d0l)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、d0l或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
159.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
160.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
161.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
162.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
163.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1