CN117880364A - 一种数据传输方法、系统以及相关装置 - Google Patents
一种数据传输方法、系统以及相关装置 Download PDFInfo
- Publication number
- CN117880364A CN117880364A CN202410279181.XA CN202410279181A CN117880364A CN 117880364 A CN117880364 A CN 117880364A CN 202410279181 A CN202410279181 A CN 202410279181A CN 117880364 A CN117880364 A CN 117880364A
- Authority
- CN
- China
- Prior art keywords
- host
- data transmission
- slave
- buffer
- data
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 348
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004891 communication Methods 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Information Transfer Systems (AREA)
Abstract
本申请实施例提供了一种数据传输方法、系统以及相关装置,方法应用于数据传输系统的仲裁端,数据传输系统中,第一主机经缓存器分别与仲裁端和从机通信连接,第二主机分别与仲裁端和从机通信连接,第一主机搭载有第一预设协议,第二主机搭载有第二预设协议;在第一主机发起数据传输请求时,若从机处于数据传输状态,控制缓存器向第一主机发送用于控制第一主机将数据发送至缓存器中进行存储的第一控制信号,并向缓存器发送用于控制缓存器不向从机传输数据的第二控制信号;若从机不处于数据传输状态,发送用于控制缓存器向从机传输数据的第三控制信号至缓存器。能实现多种不同协议的主机与从机的数据稳定传输,并能实现第一主机的轻量化。
Description
技术领域
本申请实施例涉及数据处理领域,更具体地涉及一种数据传输方法、系统以及相关装置。
背景技术
目前,随着大量高性能系统(如嵌入式系统、多媒体处理系统和网络通信系统等)的投入应用,在系统中通常需要处理来自多个源的大量数据,故对系统内数据的传输的设备的快速性和实时性的要求日益提升。为了有效管理进行传输的数据,目前使用了各种总线和通信协议,其中高级微控制器总线(Advanced microcontroller bus architecture,AHB)是较为广泛应用的一种协议。
在当下基于AHB协议的数据传输过程中,往往通过多个主机(采用的是AHB协议的主机)同时向单个从机发送请求的情况。系统中内置的仲裁端会根据各个主机的优先级,将访问从机的权限赋予优先级最高的主机,让其数据通过多路选择器抵达从机。在从机确认传输完成之前,其他主机无法与从机进行数据传输并且进行传输的主机也需要保留该数据内容。导致现有基于AHB协议的数据传输方法运行效率较低且资源占用率过高,影响系统的运行。
因此,亟需设计一种全新的解决方案,用于克服上述至少一个技术问题。
发明内容
本申请实施例提供了一种数据传输方法、系统以及相关装置,旨在解决多个主机在数据传输过程中需要等待正在进行数据传输的主机传输完成的问题。所提供的方法能兼容搭载多种不同协议的主机与从机进行数据传输,同时确保在多主机数据传输的过程中能够不会产生数据丢失和数据错位的结果,提升系统运行的效率。同时由于缓存器的作用能实现第一主机的轻量化,优化系统内主机的资源占用情况。
本申请的实施例期望提供一种数据传输方法、系统以及相关装置。
在本申请的第一方面中,提供了一种数据传输方法,应用于数据传输系统的仲裁端,所述数据传输系统还包括第一主机、至少一个第二主机、缓存器和从机,所述第一主机经所述缓存器分别与所述仲裁端和所述从机通信连接,所述第二主机分别与所述仲裁端和所述从机通信连接,所述第一主机搭载有第一预设协议,所述第二主机搭载有第二预设协议;所述方法包括:
在所述第一主机通过所述缓存器发起数据传输请求时,获取所述从机的第一数据传输标志;所述第一数据传输标志用于指示所述从机是否处于数据传输状态;
若所述从机处于所述数据传输状态,控制所述缓存器向所述第一主机发送第一控制信号,并向所述缓存器发送第二控制信号;所述第一控制信号用于控制所述第一主机将数据发送至所述缓存器中进行存储,所述第二控制信号用于控制所述缓存器不向所述从机传输数据;
获取所述从机的第二数据传输标志;所述第二数据传输标志用于指示所述从机是否处于所述数据传输状态;
若所述从机不处于所述数据传输状态,发送第三控制信号至所述缓存器;所述第三控制信号用于控制所述缓存器向所述从机传输数据。
在一些实施例中,所述数据传输请求用于请求将第一主机中存储的预设数据传输至所述从机中;所述发送第三控制信号至所述缓存器,包括:发送所述第三控制信号至所述缓存器,以使得所述从机将所述预设数据拆分成多个待处理子数据;所述待处理子数据包括如下至少一种:数据信息、地址信息、传输信息、大小信息、写入信息、保护信息、突发信息;控制所述第一主机将多个待处理子数据发送至所述从机中。
在一些实施例中,在所述控制所述第一主机将多个待处理子数据发送至所述从机中之前,所述方法还包括:根据所述地址信息确认所述数据传输请求是否用于请求将所述预设数据传输至所述从机;根据所述传输信息确认所述第一主机是否处于空闲状态;若所述数据传输请求用于请求将所述预设数据传输至所述从机,并且所述第一主机不处于所述空闲状态,则控制所述第一主机将多个待处理子数据发送至所述从机中。
在一些实施例中,所述缓存器的宽度为预设宽度,深度为预设深度,所述预设宽度等于多个待处理子数据的位数之和。
在一些实施例中,所述预设宽度为77,所述预设深度为16。
在一些实施例中,所述数据信息的位数为32,所述地址信息的位数为32,所述传输信息的位数为2,所述大小信息的位数为3,所述写入信息的位数为1,所述保护信息的位数为4,所述突发信息的位数为3。
在一些实施例中,所述若所述从机处于所述数据传输状态,控制所述缓存器向所述第一主机发送第一控制信号,并向所述缓存器发送第二控制信号,包括:向所述缓存器发送所述第二控制信号,并获取所述缓存器的内存信息;若根据所述内存信息确认所述缓存器有存储空间,向所述第一主机发送所述第一控制信号。
在一些实施例中,在所述第一主机通过所述缓存器发起数据传输请求时,获取所述从机的第一数据传输标志之前,所述方法还包括:设置所述第一主机的数据传输等级为第一等级、并设置所述第二主机的传输等级为第二等级,所述第一等级高于所述第二等级;用于在所述第一主机和第二主机同时发起所述数据传输请求时,优先传输所述第一主机的数据。
在一些实施例中,当所述数据传输系统包括多个所述第二主机时,所述设置所述第一主机的数据传输等级为第一等级、并设置所述第二主机的传输等级为第二等级,包括:设置所述第一主机的数据传输等级为第一等级、并随机设置多个所述第二主机的数据传输等级;其中,每个所述第二主机的数据传输等级均不相同且每个所述第二主机的数据传输等级均小于所述第一主机的数据传输等级。
在一些实施例中,所述并随机设置多个所述第二主机的数据传输等级,包括:采用哈希取算法对所述第二主机的数据传输等级进行设置与更新。
在一些实施例中,所述数据传输系统还包括多路选择器,所述从机经所述多路选择器分别与所述缓存器和第二主机通信连接,所述仲裁端经所述多路选择器分别与所述缓存器和第二主机通信连接。
在一些实施例中,所述缓存器为先进先出的数据缓存器。
在一些实施例中,所述第一预设协议为轻量级高级微控制器总线协议,所述第二预设协议为高级微控制器总线协议。
在本申请的第二方面中,提供了一种数据传输装置,所述数据传输装置应用于数据传输系统的仲裁端,所述数据传输系统还包括第一主机、至少一个第二主机、多路选择器、缓存器和从机,所述第一主机经所述缓存器分别与所述仲裁端和所述从机通信连接,所述第二主机分别与所述仲裁端和所述从机通信连接,所述第一主机搭载有第一预设协议,所述第二主机搭载有第二预设协议;所述数据传输装置包括:
获取模块,用于在所述第一主机通过所述缓存器发起数据传输请求时,获取所述从机的第一数据传输标志;所述第一数据传输标志用于指示所述从机是否处于数据传输状态;
控制模块,用于若所述从机处于所述数据传输状态,控制所述缓存器向所述第一主机发送第一控制信号,并向所述缓存器发送第二控制信号;所述第一控制信号用于控制所述第一主机将数据发送至所述缓存器中进行存储,所述第二控制信号用于控制所述缓存器不向所述从机传输数据;
获取模块,用于获取所述从机的第二数据传输标志;所述第二数据传输标志用于指示所述从机是否处于所述数据传输状态;
发送模块,用于若所述从机不处于所述数据传输状态,发送第三控制信号至所述缓存器;所述第三控制信号用于控制所述缓存器向所述从机传输数据。
在本申请的第三方面中,提供了一种数据传输系统,仲裁端、第一主机、至少一个第二主机、多路选择器、缓存器和从机,所述第一主机经所述缓存器分别与所述仲裁端和所述从机通信连接,所述第二主机分别与所述仲裁端和所述从机通信连接,所述第一主机搭载有第一预设协议,所述第二主机搭载有第二预设协议;其中,所述仲裁端包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如本申请任一实施例所提供的数据传输方法。
在一些实施例中,所述数据传输系统还包括多路选择器,所述从机经所述多路选择器分别与所述缓存器和第二主机通信连接,所述仲裁端经所述多路选择器分别与所述缓存器和第二主机通信连接。
在一些实施例中,所述缓存器为先进先出的数据缓存器。
在一些实施例中,所述第一预设协议为轻量级高级微控制器总线协议,所述第二预设协议为高级微控制器总线协议。
在本申请的第四方面中,提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行本申请任一实施例所提供的数据传输方法的步骤。
本申请实施例提供的技术方案中,提供了一种数据传输方法,应用于数据传输系统的仲裁端,数据传输系统还包括第一主机、至少一个第二主机、缓存器和从机,第一主机经缓存器分别与仲裁端和从机通信连接,第二主机分别与仲裁端和从机通信连接,第一主机搭载有第一预设协议,第二主机搭载有第二预设协议;首先,在第一主机通过缓存器发起数据传输请求时,获取从机的第一数据传输标志;第一数据传输标志用于指示从机是否处于数据传输状态;然后,若从机处于数据传输状态,控制缓存器向第一主机发送第一控制信号,并向缓存器发送第二控制信号;第一控制信号用于控制第一主机将数据发送至缓存器中进行存储,第二控制信号用于控制缓存器不向从机传输数据;再然后,获取从机的第二数据传输标志;第二数据传输标志用于指示从机是否处于数据传输状态;最后,若从机不处于数据传输状态,发送第三控制信号至缓存器;第三控制信号用于控制缓存器向从机传输数据。
相对于现有技术中在多个主机在数据传输过程中需要等待正在进行数据传输的主机传输完成再进行数据传输的方式,本申请实施例中通过仲裁端在从机处于数据传输状态时,控制缓存器向第一主机发送用于控制第一主机将数据发送至缓存器中进行存储的第一控制信号,并向缓存器发送用于控制缓存器不向从机传输数据第二控制信号,并在从机不处于数据传输状态时发送用于控制缓存器向从机传输数据第三控制信号完成数据传输。进而能兼容搭载多种不同协议的主机与从机进行数据传输,同时确保在多主机数据传输的过程中能够不会产生数据丢失和数据错位的结果,提升系统运行的效率。同时由于缓存器的作用能实现第一主机的轻量化,优化系统内主机的资源占用情况。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施例,其中:
图1示意性地示出了根据本申请中数据传输方法的一种流程示意图;
图2示意性地示出了根据本申请中数据传输系统的一种架构示意图;
图3示意性地示出了根据本申请中数据传输方法的又一种流程示意图;
图4示意性地示出了根据本申请中数据传输系统的又一种架构示意图;
图5示意性地示出了根据本申请中数据传输装置的一种架构示意图;
图6示意性地示出了根据本申请中仲裁端的一种结构示意图;
图7示意性地示出了根据本申请中服务器的一种结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施例来描述本申请的原理和精神。应当理解,给出这些实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本申请的实施例可以实现为一种系统、装置、设备、系统或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
目前,计算机指令的乱序处理算法作为一种提高处理器的指令并行度与吞吐量的方法,已在现代各类高性能处理器中被大量使用。
目前,随着大量高性能系统(如嵌入式系统、多媒体处理系统和网络通信系统等)的投入应用,在系统中通常需要处理来自多个源的大量数据,故对系统内数据的传输的设备的快速性和实时性的要求日益提升。为了有效管理进行传输的数据,目前使用了各种总线和通信协议,其中高级微控制器总线(Advanced microcontroller bus architecture,AHB)是较为广泛应用的一种协议。
在当下基于AHB协议的数据传输过程中,往往通过多个主机(采用的是AHB协议的主机)同时向单个从机发送请求的情况。系统内内置的仲裁端会根据各个主机的优先级,将访问从机的权限赋予优先级最高的主机,让其数据通过多路选择器抵达从机。在从机确认传输完成之前,其他主机无法与从机进行数据传输并且进行传输的主机也需要保留该数据内容。导致现有基于AHB协议的数据传输方法运行效率较低且资源占用率过高,影响系统的运行。
因此,亟需设计一种全新的解决方案,用于克服多个主机在数据传输过程中需要等待正在进行数据传输的主机传输完成的问题,提升系统的运行效率,降低主机的资源占用情况。
为了克服上述技术问题,根据本申请的实施例,提出了一种数据传输方法、系统以及相关装置。
本申请实施例提供的技术方案中,如图1所示,提供了一种数据传输方法,应用于如图2所示的数据传输系统200的仲裁端201,数据传输系统200还包括第一主机202、至少一个第二主机203、缓存器204和从机205,第一主机202经缓存器204分别与仲裁端201和从机205通信连接,第二主机203分别与仲裁端201和从机205通信连接,第一主机202搭载有第一预设协议,第二主机203搭载有第二预设协议;首先,在第一主机202通过缓存器204发起数据传输请求时,获取从机205的第一数据传输标志;第一数据传输标志用于指示从机205是否处于数据传输状态;然后,若从机205处于数据传输状态,控制缓存器204向第一主机202发送第一控制信号,并向缓存器204发送第二控制信号;第一控制信号用于控制第一主机202将数据发送至缓存器204中进行存储,第二控制信号用于控制缓存器204不向从机205传输数据;再然后,获取从机205的第二数据传输标志;第二数据传输标志用于指示从机205是否处于数据传输状态;最后,若从机205不处于数据传输状态,发送第三控制信号至缓存器204;第三控制信号用于控制缓存器204向从机205传输数据。
相对于现有技术中在多个主机在数据传输过程中需要等待正在进行数据传输的主机传输完成再进行数据传输的方式,本申请实施例中通过仲裁端在从机处于数据传输状态时,控制缓存器向第一主机发送用于控制第一主机将数据发送至缓存器中进行存储的第一控制信号,并向缓存器发送用于控制缓存器不向从机传输数据第二控制信号,并在从机不处于数据传输状态时发送用于控制缓存器向从机传输数据第三控制信号完成数据传输。进而能兼容搭载多种不同协议的主机与从机进行数据传输,同时确保在多主机数据传输的过程中能够不会产生数据丢失和数据错位的结果,提升系统运行的效率。同时由于缓存器的作用能实现第一主机的轻量化,优化系统内主机的资源占用情况。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面结合具体应用场景,参考图1来描述根据本申请示例性实施例的用于通信的方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施例在此方面不受任何限制。相反,本申请的实施例可以应用于适用的任何场景。
下面结合以下实施例对数据传输方法的执行过程进行说明。图1为本发明实施例提供的一种数据传输方法的流程图。该方法应用于如图2所示的数据传输系统200,数据传输系统200的仲裁端201,数据传输系统200还包括第一主机202、至少一个第二主机203、缓存器204和从机205,第一主机202经缓存器204分别与仲裁端201和从机205通信连接,第二主机203分别与仲裁端201和从机205通信连接,第一主机202搭载有第一预设协议,第二主机203搭载有第二预设协议。如图1所示,该方法包括如下步骤:
步骤101,在第一主机通过缓存器发起数据传输请求时,获取从机的第一数据传输标志;第一数据传输标志用于指示从机是否处于数据传输状态。
步骤102,若从机处于数据传输状态,控制缓存器向第一主机发送第一控制信号,并向缓存器发送第二控制信号;第一控制信号用于控制第一主机将数据发送至缓存器中进行存储,第二控制信号用于控制缓存器不向从机传输数据。
步骤103,获取从机的第二数据传输标志;第二数据传输标志用于指示从机是否处于数据传输状态。
步骤104,若从机不处于数据传输状态,发送第三控制信号至缓存器;第三控制信号用于控制缓存器向从机传输数据。
首先,在介绍上述步骤101至104的具体实施方式之前,先介绍本申请实施例所涉及的执行主体,即仲裁端。
本申请所提供的仲裁端是一种数字逻辑电路的设计,该仲裁端可适用于各类指令集架构(Instruction Set Architecture,ISA)所规定的指令的动态规划作业,其中,ISA包括但不限于MIPS,Risc-V,x86,IA-64,ARM,Alpha等架构。
仲裁端可以是微控制单元(Microcontroller Unit,MCU)。仲裁端可以位于开发板中,也可以位于任意终端设备中,本申请实施例对仲裁端的安装位置不作限制。进而实现本申请任一实施例所提供的数据传输方法。
为了解决上述至少一个技术问题,本申请实施例提供了一种数据传输方法,用以克服现有技术中在多个主机在数据传输过程中需要等待正在进行数据传输的主机传输完成再进行数据传输的方式。
具体来说,在步骤101,仲裁端用于在第一主机通过缓存器发起数据传输请求时,获取从机的第一数据传输标志;第一数据传输标志用于指示从机是否处于数据传输状态。
在第一主机通过与其连接的缓存器向仲裁端发起数据传输请求时,此时仲裁端需要先确认从机的数据传输接口的使用状态。因此仲裁端需要获取从机的第一数据传输标志,能够确定从机此时是否处于数据传输状态,进而仲裁端能够实时优化系统的数据传输策略,实现对多个主机的管理。
在一些实施例中,在所述第一主机通过所述缓存器发起数据传输请求时,获取所述从机的第一数据传输标志之前,所述方法还包括:设置所述第一主机的数据传输等级为第一等级、并设置所述第二主机的传输等级为第二等级,所述第一等级高于所述第二等级;用于在所述第一主机和第二主机同时发起所述数据传输请求时,优先传输所述第一主机的数据。
本申请通过缓存器的设置目的就是对第一主机的数据进行一个优先,即若其他第二主机的数据正在传输,在其传输完成之后马上进入第一主机的数据传输,因此仲裁端通过对数据传输等级的设置能够实现对第一主机的数据的优先传输。
示例性的,所述数据传输系统包括多个所述第二主机时,所述设置所述第一主机的数据传输等级为第一等级、并设置所述第二主机的传输等级为第二等级,包括:设置所述第一主机的数据传输等级为第一等级、并随机设置多个所述第二主机的数据传输等级;其中,每个所述第二主机的数据传输等级均不相同且每个所述第二主机的数据传输等级均小于所述第一主机的数据传输等级。
仲裁端通过对多个第二主机的数据传输等级确保均小于第一主机的情况下进行随机设置,能够确保系统的数据传输过程能有序实现,提升系统的稳定性。
需要说明的是,在一些实施例中,所述并随机设置多个所述第二主机的数据传输等级,包括:采用哈希取算法对所述第二主机的数据传输等级进行设置与更新。
通过采用哈希取算法(round robin)能够在预设时间内轮流赋予第二主机次高优先级,例如每10分钟更新一下第二主机的数据传输等级,进而能合理化仲裁端对数据传输系统的管理。
步骤102中,仲裁端用于若从机处于数据传输状态,控制缓存器向第一主机发送第一控制信号,并向缓存器发送第二控制信号;第一控制信号用于控制第一主机将数据发送至缓存器中进行存储,第二控制信号用于控制缓存器不向从机传输数据。
本申请实施例中,仲裁端在确认从机处于数据传输状态时,此时为提升系统的流畅性,通过控制缓存器向第一主机发送用于控制第一主机将数据发送至缓存器中进行存储的第一控制信号,并向缓存器发送用于控制缓存器不向从机传输数据的第二控制信号。能够确保此时缓存器内能预先存储有第一主机待传输的数据,并且也不会将数据传输至从机中避免从机数据混乱,同时在从机传输完成后能够及时通过缓存器完成数据的传输,进而提升传输的效率。
在一些实施例中,如图3所示,所提供的步骤102包括步骤102a和步骤102b。
步骤102a,向缓存器发送第二控制信号,并获取缓存器的内存信息。
步骤102b,若根据内存信息确认缓存器有存储空间,向第一主机发送第一控制信号。
仲裁端在控制第一主机向缓存器传输数据时,需要确保缓存器有足够的存储空间,只要缓存器的存储空间不满此时仲裁端就会持续发送第一控制信号完成数据的写入。进而避免因缓存器内存不足导致缓存器崩溃。
步骤103中,仲裁端用于获取从机的第二数据传输标志;第二数据传输标志用于指示从机是否处于数据传输状态。
本申请实施中,在第一主机的数据存储于缓存器的过程中,仲裁端实时获取从机的第二数据传输标志。进而能够实时确认从机的数据传输状态,以实现实时高效的数据传输管理。
需要说明的是,本申请实施例所提供的第一数据传输标志和第二数据传输标志可以是标志位,可以是具体的传输请求,也可以是电平信号,具体根据实际需求进行设计,故本申请实施例对数据传输标志的类型不作限制。
步骤104中,仲裁端用于若从机不处于数据传输状态,发送第三控制信号至所述缓存器;所述第三控制信号用于控制所述缓存器向所述从机传输数据。
本申请实施例中,当仲裁端确认从机完成与任意第二主机的数据传输后能够及时控制缓存器传输第一主机中的数据,进而实现数据的高效传输,提升系统的运行效率,降低主机的资源占用情况。
在一可选实施例中,所述数据传输请求用于请求将第一主机中存储的预设数据传输至所述从机中;所述发送第三控制信号至所述缓存器,包括:发送所述第三控制信号至所述缓存器,以使得所述从机将所述预设数据拆分成多个待处理子数据;所述待处理子数据包括如下至少一种:数据信息、地址信息、传输信息、大小信息、写入信息、保护信息、突发信息;控制所述第一主机将多个待处理子数据发送至所述从机中。
仲裁端通过先将多个待处理子数据合并后存储于缓存器中,进而能节省缓存器的存储空间,同时在从机能进行数据传输时再将其拆分发送至从机中,进而能够对系统的存储空间进行合理利用。
示例性的,在所述控制所述第一主机将多个待处理子数据发送至所述从机中之前,所述方法还包括:根据所述地址信息确认所述数据传输请求是否用于请求将所述预设数据传输至所述从机;根据所述传输信息确认所述第一主机是否处于空闲状态;若所述数据传输请求用于请求将所述预设数据传输至所述从机,并且所述第一主机不处于所述空闲状态,则控制所述第一主机将多个待处理子数据发送至所述从机中。
当仲裁端确认第一主机发送的数据传输请求指向从机且第一主机此时不为空闲(idle)时,此时仲裁端能够正常控制缓存器将数据传输至从机中。
示例性的,缓存器的宽度为预设宽度,深度为预设深度,所述预设宽度等于多个待处理子数据的位数之和。
本申请所提供的方法通过根据实际情况的数据位宽、地址位宽能够设置缓存器的宽度和深度,并令待处理子数据的位数之和与预设宽度一致,进而能实现对缓存器存储空间的优化。
需要说明的是,在一些实施例中,预设宽度为77,所述预设深度为16。进而待处理的子数据的位置之和也应为77,能实现对缓存器空间的最大化利用。
需要说明的是,在一些实施例中,所述数据信息的位数为32,所述地址信息的位数为32,所述传输信息的位数为2,所述大小信息的位数为3,所述写入信息的位数为1,所述保护信息的位数为4,所述突发信息的位数为3。
通过数据信息(data)的位数为32,地址信息(address)的位数为32,传输信息(trans)的位数为2,大小信息(size)的位数为3,写入信息(writen)的位数为1,保护信息(prot)的位数为4信号和突发信息(brust)的位数为3会被按照顺序合并成一个77位的信号作为缓存器的输入数据缓存一个时钟周期。实现节约缓存数量的效果。
在一些实施例中,请参照图4(图4的仲裁器即为图2中的仲裁端201,主机1为图2中的第一主机202,主机2和主机3为图2中的第二主机203),所述数据传输系统还包括多路选择器,所述从机经所述多路选择器分别与所述缓存器和第二主机通信连接,所述仲裁端经所述多路选择器分别与所述缓存器和第二主机通信连接。
通过多路选择器的设置,仲裁端能够更简介有序实现对第一主机和第二主机的数据的调度,提升系统数据传输过程中的稳定性。
在一些实施例中,请参照图4,缓存器为先进先出(First In First Out,FIFO)的数据缓存器。FIFO数据缓存器采用低电平复位,进而无需外部读写地址线的设置就能顺序实现数据的读出。
在一些实施例中,请参照图4,第一预设协议为轻量级高级微控制器总线协议,第二预设协议为高级微控制器总线协议。第一主机搭载轻量级高级微控制器总线协议(Advanced microcontroller bus architecture-Lite,AHB-Lite),第二主机搭载高级微控制器总线协议(Advanced microcontroller bus architecture,AHB)。若采用传统的数据传输方法并不支持AHB和AHB-Lite协议同时发送数据,因为AHB-Lite协议本身只支持单总线主设备,一旦AHB和AHB-Lite同时发送数据,就会造成丢包或者数据错误的情况。AHB-Lite协议不支持多主机的根本原因是其默认从机能够拿到它所发送的地址,所以它的地址持续周期不会在从机可以进行数据传输时同时得到延长,如果仲裁端这个时候的没有把允许数据传输的第三控制信号给到AHB-Lite协议主机的话,那么这个地址信息就不会进到从机,导致这个地址数据丢包。但是就算仲裁端把AHB-Lite主机的优先级给到最高,在某些情况下,也会出现数据丢包的情况,假设现在有一个AHB主机发起了一个读请求但是AHB-Lite没有发送请求的情形,从机需要20个时钟周期才能返回读到的数据和第二数据传输标志给AHB主机,但是在10个周期后搭载AHB-Lite的主机也发送了一个读请求,这个时候由于从机还在处理上一个AHB主机发送的读请求,并没有准备好,AHB-Lite主机的读请求(地址)就无法进入到从机,也会造成丢包的情况。目前市面上并没有很完美能够照顾到所有情况的解决方案,大部分的处理办法是将AHB-Lite和其他AHB主机隔绝开来,即要求AHB-Lite主机发送信号的时候其他主机不允许发送请求。本申请所提供的方法则有效解决了AHB-Lite协议不支持多主机同时发送数据竞争的问题。
本实施例中,通过仲裁端在从机处于数据传输状态时,控制缓存器向第一主机发送用于控制第一主机将数据发送至缓存器中进行存储的第一控制信号,并向缓存器发送用于控制缓存器不向从机传输数据第二控制信号,并在从机不处于数据传输状态时发送用于控制缓存器向从机传输数据第三控制信号完成数据传输。进而能兼容搭载多种不同协议的主机与从机进行数据传输,同时确保在多主机数据传输的过程中能够不会产生数据丢失和数据错位的结果,提升系统运行的效率。同时由于缓存器的作用能实现第一主机的轻量化,优化系统内主机的资源占用情况。
在介绍了本申请实施例的方法之后,接下来,参考图2对本申请实施例的数据传输系统200进行介绍。在图2示出的数据传输系统200中,至少包括:仲裁端201、第一主机202、至少一个第二主机203、缓存器204和从机205,第一主机202经缓存器204分别与仲裁端201和从机205通信连接,第二主机203分别与仲裁端201和从机205通信连接,第一主机202搭载有第一预设协议,第二主机203搭载有第二预设协议。
在该数据传输系统200中,仲裁端201,主要被配置为执行以下功能,即:在第一主机202通过缓存器204发起数据传输请求时,获取从机205的第一数据传输标志;第一数据传输标志用于指示从机205是否处于数据传输状态;若从机205处于数据传输状态,控制缓存器204向第一主机202发送第一控制信号,并向缓存器204发送第二控制信号;第一控制信号用于控制第一主机202将数据发送至缓存器204中进行存储,第二控制信号用于控制缓存器204不向从机205传输数据;获取从机205的第二数据传输标志;第二数据传输标志用于指示从机205是否处于数据传输状态;若从机205不处于数据传输状态,发送第三控制信号至缓存器204;第三控制信号用于控制缓存器204向从机205传输数据。所提供的仲裁端201还用于执行的功能,详见本申请所提供的数据传输方法的任一实施例的介绍,在此不作赘述。
在一可选实施例中,第一主机、第二主机和从机都可以为计算机设备、网关设备、手机、平板电脑等任意需要进行数据传输的终端设备,本申请实施例对第一主机、第二主机和从机的类型不作限制。
在一可选实施例中,如图4所示,数据传输系统200还包括多路选择器206,从机205经所述多路选择器206分别与缓存器204和第二主机203通信连接,仲裁端201经多路选择器206分别与缓存器204和第二主机203通信连接。
在一可选实施例中,如图4所示,缓存器为先进先出(First Input First Output,FIFO)的数据缓存器。
在一可选实施例中,如图4所示,第一预设协议为轻量级高级微控制器总线协议(Advanced microcontroller bus architecture-Lite,AHB-Lite),所述第二预设协议为高级微控制器总线协议(Advanced microcontroller bus architecture,AHB)。
本实施例中,通过仲裁端在从机处于数据传输状态时,控制缓存器向第一主机发送用于控制第一主机将数据发送至缓存器中进行存储的第一控制信号,并向缓存器发送用于控制缓存器不向从机传输数据第二控制信号,并在从机不处于数据传输状态时发送用于控制缓存器向从机传输数据第三控制信号完成数据传输。进而能兼容搭载多种不同协议的主机与从机进行数据传输,同时确保在多主机数据传输的过程中能够不会产生数据丢失和数据错位的结果,提升系统运行的效率。同时由于缓存器的作用能实现第一主机的轻量化,优化系统内主机的资源占用情况。
在介绍了本申请实施例的方法和系统之后,接下来,参考图5对本申请实施例的数据传输装置30进行介绍。
本申请实施例中图5所示的数据传输装置30能够实现对应于上述图1所对应的实施例中数据传输方法的步骤。数据传输装置30实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述数据传输装置30应用于服务端设备或终端设备(即安装图2中的仲裁端201的设备)。所述数据传输装置30可参考图1所对应的实施例中所执行的操作,此处不作赘述。
一些实施方式中,所述数据传输装置30中包括请求模块301、控制模块302、获取模块303和发送模块304。
请求模块301,用于在所述第一主机通过所述缓存器发起数据传输请求时,获取所述从机的第一数据传输标志;所述第一数据传输标志用于指示所述从机是否处于数据传输状态。
控制模块302,用于若所述从机处于所述数据传输状态,控制所述缓存器向所述第一主机发送第一控制信号,并向所述缓存器发送第二控制信号;所述第一控制信号用于控制所述第一主机将数据发送至所述缓存器中进行存储,所述第二控制信号用于控制所述缓存器不向所述从机传输数据。
获取模块303,用于获取所述从机的第二数据传输标志;所述第二数据传输标志用于指示所述从机是否处于所述数据传输状态。
发送模块304,用于若所述从机不处于所述数据传输状态,发送第三控制信号至所述缓存器;所述第三控制信号用于控制所述缓存器向所述从机传输数据。
一些实施方式中,所述数据传输请求用于请求将第一主机中存储的预设数据传输至所述从机中。所述发送模块304,用于:发送所述第三控制信号至所述缓存器,以使得所述从机将所述预设数据拆分成多个待处理子数据;所述待处理子数据包括如下至少一种:数据信息、地址信息、传输信息、大小信息、写入信息、保护信息、突发信息;控制所述第一主机将多个待处理子数据发送至所述从机中。
示例性的,所述装置还包括确认模块,用于在所述控制所述第一主机将多个待处理子数据发送至所述从机中之前,根据所述地址信息确认所述数据传输请求是否用于请求将所述预设数据传输至所述从机;根据所述传输信息确认所述第一主机是否处于空闲状态;若所述数据传输请求用于请求将所述预设数据传输至所述从机,并且所述第一主机不处于所述空闲状态,则控制所述第一主机将多个待处理子数据发送至所述从机中。
一些实施方式中,所述控制模块302用于:向所述缓存器发送所述第二控制信号,并获取所述缓存器的内存信息;若根据所述内存信息确认所述缓存器有存储空间,向所述第一主机发送所述第一控制信号。
一些实施方式中,所述系统还包括设置模块,用于在所述第一主机通过所述缓存器发起数据传输请求时,获取所述从机的第一数据传输标志之前,设置所述第一主机的数据传输等级为第一等级、并设置所述第二主机的传输等级为第二等级,所述第一等级高于所述第二等级;用于在所述第一主机和第二主机同时发起所述数据传输请求时,优先传输所述第一主机的数据。
示例性的,当所述数据传输系统包括多个所述第二主机时,所述设置模块还用于设置所述第一主机的数据传输等级为第一等级、并随机设置多个所述第二主机的数据传输等级;其中,每个所述第二主机的数据传输等级均不相同且每个所述第二主机的数据传输等级均小于所述第一主机的数据传输等级。
作为一种可选的实施方式,数据传输装置30的数量是一个,也可以是多个。一些示例中,数据传输装置30可以实现为部署在芯片内部的逻辑单元;另一些示例中,也可以是以其他形式部署在数字电路结构中,本申请不作限制。例如,数据传输装置30可以设置在各种设备(如终端设备、服务器)的处理器件中。
本实施例中,通过仲裁端在从机处于数据传输状态时,控制缓存器向第一主机发送用于控制第一主机将数据发送至缓存器中进行存储的第一控制信号,并向缓存器发送用于控制缓存器不向从机传输数据第二控制信号,并在从机不处于数据传输状态时发送用于控制缓存器向从机传输数据第三控制信号完成数据传输。进而能兼容搭载多种不同协议的主机与从机进行数据传输,同时确保在多主机数据传输的过程中能够不会产生数据丢失和数据错位的结果,提升系统运行的效率。同时由于缓存器的作用能实现第一主机的轻量化,优化系统内主机的资源占用情况。
在介绍了本申请实施例的方法、系统和装置之后,接下来,对本申请实施例的计算机可读存储介质进行说明,计算机可读存储介质可为光盘,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,在所述第一主机通过所述缓存器发起数据传输请求时,获取从机的第一数据传输标志;第一数据传输标志用于指示从机是否处于数据传输状态;若从机处于数据传输状态,控制缓存器向第一主机发送第一控制信号,并向缓存器发送第二控制信号;第一控制信号用于控制第一主机将数据发送至缓存器中进行存储,第二控制信号用于控制缓存器不向从机传输数据;获取从机的第二数据传输标志;第二数据传输标志用于指示从机是否处于数据传输状态;若从机不处于数据传输状态,发送第三控制信号至缓存器;第三控制信号用于控制缓存器向从机传输数据。各步骤的具体实现方式在此不再重复说明。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
上面从模块化功能实体的角度对本申请实施例中的数据传输装置30进行了描述,下面从硬件处理的角度分别对本申请实施例中的执行数据传输方法的仲裁端和服务器进行描述。
示例性的,所提供的仲裁端可以是计算机设备、平板电脑、手机等任意智能终端,通过在上述设备中搭载仲裁软件/应用程序,能够实现本申请实施例所提供的数据传输方法,故本申请实施例对仲裁端的类型不作限制。
需要说明的是,所提供的仲裁端可以是搭载微控制单元(Microcontroller Unit,MCU)的设备,MCU可以位于开发板中,也可以位于任意终端设备中,本申请实施例对仲裁端的安装位置不作限制。
需要说明的是,在本申请数据传输装置实施例的图5所示的请求模块301、获取模块303和发送模块304对应的实体设备可以为输入/输出单元、收发器、射频电路、通信模块和输入/输出(I/O)接口等,控制模块302对应的实体设备可以为处理器。图5所示的数据传输装置30可以具有如图6所示的结构,当图5所示的数据传输装置30具有如图6所示的结构时,图6中的处理器和收发器能够实现前述对应该装置的装置实施例提供的请求模块301、获取模块303、发送模块304和控制模块302相同或相似的功能,图6中的存储器执行上述数据传输方法时需要调用的计算机程序。
图7是本申请实施例提供的一种服务器结构示意图,该服务器50可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图中未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器50上执行存储介质530中的一系列指令操作。
服务器50还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等等。
上述实施例中由服务器所执行的步骤可以基于该图7所示的服务器50的结构。例如,例如上述实施例中由图5所示的数据传输装置30所执行的步骤可以基于该图7所示的服务器结构。例如,所述中央处理器522通过调用存储器532中的指令,执行以下操作:
通过输入输出接口558接收到从机的第一数据传输标志;第一数据传输标志用于指示从机是否处于数据传输状态;若从机处于数据传输状态,控制缓存器向第一主机发送第一控制信号,并向缓存器发送第二控制信号;第一控制信号用于控制第一主机将数据发送至缓存器中进行存储,第二控制信号用于控制缓存器不向从机传输数据;获取从机的第二数据传输标志;第二数据传输标志用于指示从机是否处于数据传输状态;若从机不处于数据传输状态,发送第三控制信号至缓存器;第三控制信号用于控制缓存器向从机传输数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上对本申请实施例所提供的技术方案进行了详细介绍,本申请实施例中应用了具体个例对本申请实施例的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请实施例的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请实施例的限制。
Claims (19)
1.一种数据传输方法,其特征在于,应用于数据传输系统的仲裁端,所述数据传输系统还包括第一主机、至少一个第二主机、缓存器和从机,所述第一主机经所述缓存器分别与所述仲裁端和所述从机通信连接,所述第二主机分别与所述仲裁端和所述从机通信连接,所述第一主机搭载有第一预设协议,所述第二主机搭载有第二预设协议;所述方法包括:
在所述第一主机通过所述缓存器发起数据传输请求时,获取所述从机的第一数据传输标志;所述第一数据传输标志用于指示所述从机是否处于数据传输状态;
若所述从机处于所述数据传输状态,控制所述缓存器向所述第一主机发送第一控制信号,并向所述缓存器发送第二控制信号;所述第一控制信号用于控制所述第一主机将数据发送至所述缓存器中进行存储,所述第二控制信号用于控制所述缓存器不向所述从机传输数据;
获取所述从机的第二数据传输标志;所述第二数据传输标志用于指示所述从机是否处于所述数据传输状态;
若所述从机不处于所述数据传输状态,发送第三控制信号至所述缓存器;所述第三控制信号用于控制所述缓存器向所述从机传输数据。
2.根据权利要求1所述的方法,其特征在于,所述数据传输请求用于请求将第一主机中存储的预设数据传输至所述从机中;所述发送第三控制信号至所述缓存器,包括:
发送所述第三控制信号至所述缓存器,以使得所述从机将所述预设数据拆分成多个待处理子数据;所述待处理子数据包括如下至少一种:数据信息、地址信息、传输信息、大小信息、写入信息、保护信息、突发信息;
控制所述第一主机将多个待处理子数据发送至所述从机中。
3.根据权利要求2所述的方法,其特征在于,在所述控制所述第一主机将多个待处理子数据发送至所述从机中之前,所述方法还包括:
根据所述地址信息确认所述数据传输请求是否用于请求将所述预设数据传输至所述从机;
根据所述传输信息确认所述第一主机是否处于空闲状态;
若所述数据传输请求用于请求将所述预设数据传输至所述从机,并且所述第一主机不处于所述空闲状态,则控制所述第一主机将多个待处理子数据发送至所述从机中。
4.根据权利要求2所述的方法,其特征在于,所述缓存器的宽度为预设宽度,深度为预设深度,所述预设宽度等于多个待处理子数据的位数之和。
5.根据权利要求4所述的方法,其特征在于,所述预设宽度为77,所述预设深度为16。
6.根据权利要求5所述的方法,其特征在于,所述数据信息的位数为32,所述地址信息的位数为32,所述传输信息的位数为2,所述大小信息的位数为3,所述写入信息的位数为1,所述保护信息的位数为4,所述突发信息的位数为3。
7.根据权利要求1所述的方法,其特征在于,所述若所述从机处于所述数据传输状态,控制所述缓存器向所述第一主机发送第一控制信号,并向所述缓存器发送第二控制信号,包括:
向所述缓存器发送所述第二控制信号,并获取所述缓存器的内存信息;
若根据所述内存信息确认所述缓存器有存储空间,向所述第一主机发送所述第一控制信号。
8.根据权利要求1所述的方法,其特征在于,在所述第一主机通过所述缓存器发起数据传输请求时,获取所述从机的第一数据传输标志之前,所述方法还包括:
设置所述第一主机的数据传输等级为第一等级、并设置所述第二主机的传输等级为第二等级,所述第一等级高于所述第二等级;用于在所述第一主机和第二主机同时发起所述数据传输请求时,优先传输所述第一主机的数据。
9.根据权利要求8所述的方法,其特征在于,当所述数据传输系统包括多个所述第二主机时,所述设置所述第一主机的数据传输等级为第一等级、并设置所述第二主机的传输等级为第二等级,包括:
设置所述第一主机的数据传输等级为第一等级、并随机设置多个所述第二主机的数据传输等级;其中,每个所述第二主机的数据传输等级均不相同且每个所述第二主机的数据传输等级均小于所述第一主机的数据传输等级。
10.根据权利要求9所述的方法,其特征在于,所述并随机设置多个所述第二主机的数据传输等级,包括:
采用哈希取算法对所述第二主机的数据传输等级进行设置与更新。
11.根据权利要求1所述的方法,其特征在于,所述数据传输系统还包括多路选择器,所述从机经所述多路选择器分别与所述缓存器和第二主机通信连接,所述仲裁端经所述多路选择器分别与所述缓存器和第二主机通信连接。
12.根据权利要求1所述的方法,其特征在于,所述缓存器为先进先出的数据缓存器。
13.根据权利要求1所述的方法,其特征在于,所述第一预设协议为轻量级高级微控制器总线协议,所述第二预设协议为高级微控制器总线协议。
14.一种数据传输装置,其特征在于,所述数据传输装置应用于数据传输系统的仲裁端,所述数据传输系统还包括第一主机、至少一个第二主机、多路选择器、缓存器和从机,所述第一主机经所述缓存器分别与所述仲裁端和所述从机通信连接,所述第二主机分别与所述仲裁端和所述从机通信连接,所述第一主机搭载有第一预设协议,所述第二主机搭载有第二预设协议;所述数据传输装置包括:
获取模块,用于在所述第一主机通过所述缓存器发起数据传输请求时,获取所述从机的第一数据传输标志;所述第一数据传输标志用于指示所述从机是否处于数据传输状态;
控制模块,用于若所述从机处于所述数据传输状态,控制所述缓存器向所述第一主机发送第一控制信号,并向所述缓存器发送第二控制信号;所述第一控制信号用于控制所述第一主机将数据发送至所述缓存器中进行存储,所述第二控制信号用于控制所述缓存器不向所述从机传输数据;
获取模块,用于获取所述从机的第二数据传输标志;所述第二数据传输标志用于指示所述从机是否处于所述数据传输状态;
发送模块,用于若所述从机不处于所述数据传输状态,发送第三控制信号至所述缓存器;所述第三控制信号用于控制所述缓存器向所述从机传输数据。
15.一种数据传输系统,其特征在于,所述数据传输系统包括:
仲裁端、第一主机、至少一个第二主机、多路选择器、缓存器和从机,所述第一主机经所述缓存器分别与所述仲裁端和所述从机通信连接,所述第二主机分别与所述仲裁端和所述从机通信连接,所述第一主机搭载有第一预设协议,所述第二主机搭载有第二预设协议;
其中,所述仲裁端包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1-13中任一项所述的数据传输方法。
16.根据权利要求15所述的系统,其特征在于,所述数据传输系统还包括多路选择器,所述从机经所述多路选择器分别与所述缓存器和第二主机通信连接,所述仲裁端经所述多路选择器分别与所述缓存器和第二主机通信连接。
17.根据权利要求15所述的系统,其特征在于,所述缓存器为先进先出的数据缓存器。
18.根据权利要求15所述的系统,其特征在于,所述第一预设协议为轻量级高级微控制器总线协议,所述第二预设协议为高级微控制器总线协议。
19.一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-13中任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410279181.XA CN117880364B (zh) | 2024-03-12 | 一种数据传输方法、系统以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410279181.XA CN117880364B (zh) | 2024-03-12 | 一种数据传输方法、系统以及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117880364A true CN117880364A (zh) | 2024-04-12 |
CN117880364B CN117880364B (zh) | 2024-06-11 |
Family
ID=
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006038663A1 (en) * | 2004-10-01 | 2006-04-13 | Matsushita Electric Industrial Co., Ltd. | Memory card controller, memory card drive device, and computer program |
CN105024900A (zh) * | 2015-08-03 | 2015-11-04 | 艾德克斯电子(南京)有限公司 | 一种多机同步通信系统及方法 |
CN114679415A (zh) * | 2022-05-07 | 2022-06-28 | 厦门大学 | 一种满足AXI5-Lite协议标准的无阻塞banyan网络 |
CN114911727A (zh) * | 2022-05-26 | 2022-08-16 | 上海美仁半导体有限公司 | 总线仲裁方法和装置、计算机可读存储介质及主控芯片 |
CN115718711A (zh) * | 2022-11-30 | 2023-02-28 | 广东省大湾区集成电路与系统应用研究院 | 一种dma数据传输的系统和方法 |
CN116521609A (zh) * | 2023-04-25 | 2023-08-01 | 成都玖锦科技有限公司 | 多主机与多从机系统、zynq仲裁器及其数据处理的方法 |
CN117009266A (zh) * | 2023-10-07 | 2023-11-07 | 芯动微电子科技(武汉)有限公司 | 一种握手协议总线仲裁模块及片上系统 |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006038663A1 (en) * | 2004-10-01 | 2006-04-13 | Matsushita Electric Industrial Co., Ltd. | Memory card controller, memory card drive device, and computer program |
CN105024900A (zh) * | 2015-08-03 | 2015-11-04 | 艾德克斯电子(南京)有限公司 | 一种多机同步通信系统及方法 |
CN114679415A (zh) * | 2022-05-07 | 2022-06-28 | 厦门大学 | 一种满足AXI5-Lite协议标准的无阻塞banyan网络 |
CN114911727A (zh) * | 2022-05-26 | 2022-08-16 | 上海美仁半导体有限公司 | 总线仲裁方法和装置、计算机可读存储介质及主控芯片 |
CN115718711A (zh) * | 2022-11-30 | 2023-02-28 | 广东省大湾区集成电路与系统应用研究院 | 一种dma数据传输的系统和方法 |
CN116521609A (zh) * | 2023-04-25 | 2023-08-01 | 成都玖锦科技有限公司 | 多主机与多从机系统、zynq仲裁器及其数据处理的方法 |
CN117009266A (zh) * | 2023-10-07 | 2023-11-07 | 芯动微电子科技(武汉)有限公司 | 一种握手协议总线仲裁模块及片上系统 |
Non-Patent Citations (1)
Title |
---|
王帝等: "一种基于AHB-LITE总线协议的DMA控制器实现", 电子世界, 30 March 2020 (2020-03-30), pages 110 - 111 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023143504A1 (zh) | 计算系统、pci设备管理器及其初始化方法 | |
EP1730643A2 (en) | Pvdm (packet voice data module) generic bus protocol | |
KR20160053942A (ko) | 임베디드 메모리들에서의 커맨드 큐잉의 제공 | |
WO2007005552A2 (en) | Hardware oriented host-side native command queuing tag management | |
US6128674A (en) | Method of minimizing host CPU utilization in driving an adapter by residing in system memory a command/status block a soft interrupt block and a status block queue | |
US20130166849A1 (en) | Physically Remote Shared Computer Memory | |
CN110119304B (zh) | 一种中断处理方法、装置及服务器 | |
CN106775477B (zh) | Ssd主控数据传输管理装置及方法 | |
CN116303207A (zh) | 一种总线传输方法、装置、设备及存储介质 | |
US10929332B2 (en) | USB transmission device and transmission method | |
CN115827524A (zh) | 一种数据传输方法以及装置 | |
CN116719764B (zh) | 数据同步方法、系统以及相关装置 | |
CN114706531A (zh) | 数据处理方法、装置、芯片、设备及介质 | |
CN116414735A (zh) | 数据存储方法、系统、存储访问配置方法及相关设备 | |
US6519670B1 (en) | Method and system for optimizing a host bus that directly interfaces to a 16-bit PCMCIA host bus adapter | |
CN117880364B (zh) | 一种数据传输方法、系统以及相关装置 | |
CN116909484A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN117880364A (zh) | 一种数据传输方法、系统以及相关装置 | |
CN114356839B (zh) | 处理写操作的方法、设备、处理器及设备可读存储介质 | |
CN115269453A (zh) | 数据收发方法、处理器、电子设备和计算机系统 | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
US6665752B1 (en) | Interrupt driven interface coupling a programmable media access controller and a process controller | |
EP0923032B1 (en) | Method for transferring data in a multiprocessor computer system with crossbar interconnecting unit | |
CN112732176B (zh) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 | |
CN117785767B (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 |