CN116541318A - 一种总线缓冲器及多总线数据传输*** - Google Patents
一种总线缓冲器及多总线数据传输*** Download PDFInfo
- Publication number
- CN116541318A CN116541318A CN202310544613.0A CN202310544613A CN116541318A CN 116541318 A CN116541318 A CN 116541318A CN 202310544613 A CN202310544613 A CN 202310544613A CN 116541318 A CN116541318 A CN 116541318A
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- bus
- information
- forwarded
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 293
- 238000010586 diagram Methods 0.000 description 7
- 230000001934 delay Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000009987 spinning Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Microelectronics & Electronic Packaging (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种总线缓冲器及多总线数据传输***,涉及数据传输技术领域,主机设备通过总线缓冲器与从机设备连接,该总线缓冲器包括:解析器,用于对主机设备通过各总线发送的传输数据进行解析,获取待转发数据和传输命令信息;其中,传输命令信息包括目标地址信息和发送时间戳;判决器,用于根据发送时间戳,确定各待转发数据的发送顺序;根据目标地址信息,按照发送顺序将存储寄存器中存储的待转发数据转发到相应的从机设备;本发明利用总线缓冲器根据不同总线上的传输数据的发送时间,将不同总线上的传输数据按发送顺序转发到相应的从机设备,能够以硬件方式解决传输顺序错误的问题,减少了软件代码的复杂度,提升了数据传输的效率。
Description
技术领域
本发明涉及数据传输技术领域,特别涉及一种总线缓冲器及多总线数据传输***。
背景技术
在单芯片***中,通常包含若干个主设备(即主机设备)和若干个从设备(即从机设备)。在主机设备和从机设备之间,通过特定协议的总线相连接,以实现数据的传输。通常,主机设备和从机设备之间,只通过一条总线相连接,但当主机和从机之间有多条不同协议的总线相连时,就产生了多总线数据的传输问题,即主机设备向从机设备发出多次数据传输时,这几次数据传输可能分别通过不同的总线完成,但由于不同总线的传输速度存在差异,可能会出现从机设备对于多次数据传输的接收顺序与主机设备发出的顺序不符的情况。
目前,为了应对上述由于不同总线传输速度的不同从而导致的从机设备数据接收顺利发生了错误的情况,一般采用软件的方式加以解决;例如,假设有两条总线分别发出A和B数据,通过编写驱动代码,当主机发出A数据后,先不发出B数据,而是先确认A数据已经被从设备接收后,再发出B数据。但这样通过软件程序解决多总线数据同步问题的方案,不仅增加了软件代码的复杂度,也降低了数据传输的效率;因此,如何能够以硬件方式解决不同总线协议和总线延迟带来的传输顺序错误的问题,减少软件代码的复杂度,提升数据传输的效率,是现今急需解决的问题。
发明内容
本发明的目的是提供一种总线缓冲器及多总线数据传输***,以通过硬件方式解决不同总线协议和总线延迟带来的传输顺序错误的问题,减少软件代码的复杂度,提升数据传输的效率。
为解决上述技术问题,本发明提供一种总线缓冲器,主机设备通过所述总线缓冲器与从机设备连接,所述总线缓冲器,包括:
解析器,用于对所述主机设备通过各总线发送的传输数据进行解析,获取待转发数据和传输命令信息;其中,所述主机设备通过各所述总线与所述解析器连接,所述传输命令信息包括目标地址信息和发送时间戳,所述发送时间戳为所述主机设备发送所述传输数据的时间对应的时间戳;
判决器,用于根据所述发送时间戳,确定各所述待转发数据的发送顺序;根据目标地址信息,按照所述发送顺序将存储寄存器中存储的所述待转发数据转发到相应的从机设备。
存储寄存器,用于存储所述待转发数据。
在一些实施例中,所述存储寄存器为先入先出寄存器;所述判决器具体用于根据所述发送顺序,将所述待转发数据存储到所述存储寄存器;根据所述目标地址信息,将所述存储寄存器中存储的待转发数据转发到相应的从机设备。
在一些实施例中,所述判决器具体用于根据当前传输数据对应的发送时间戳和目标时间戳,确定各所述待转发数据的发送顺序;其中,所述目标时间戳包括当前传输数据接收完成后的预设时间段内接收的传输数据对应的发送时间戳,当前传输数据为任一所述传输数据。
在一些实施例中,所述传输命令信息包括数据传输顺序信息;所述判决器具体用于根据所述发送时间戳和所述数据传输顺序信息,确定各所述待转发数据的发送顺序。
在一些实施例中,所述判决器包括:
地址寄存器,用于存储所述目标地址信息。
在一些实施例中,所述各所述解析器分别通过各自对应的一条总线与所述主机设备连接,所述总线的数量大于或等于2,所述解析器的数量大于或等于所述总线的数量;各所述地址寄存器分别用于存储各自对应的一个目标地址信息,所述地址寄存器的数量大于或等于所述总线的数量。
在一些实施例中,所述判决器还用于接收所述从机设备发送的传输错误反馈信息;根据所述传输错误反馈信息,生成重发信息;通过告警总线将所述重发信息发送到所述主机设备,以请求所述主机设备重新发送所述传输错误反馈信息对应的传输数据;其中,告警总线为所述总线中速度最快的总线。
本发明还提供了一种多总线数据传输***,包括:如上述所述的总线缓冲器、主机设备和从机设备;其中,所述主机设备通过所述总线缓冲器与所述从机设备连接;
所述主机设备通过总线与所述总线缓冲器连接,用于通过各总线向所述总线缓冲器发送传输数据,以利用所述总线缓冲器向相应的从机设备转发所述传输数据对应的待转发数据。
在一些实施例中,所述主机设备还用于获取当前待发送数据;判断当前待发送数据是否大于拆包阈值;若大于所述拆包阈值,则对当前待发送数据进行拆包处理,获取当前待发送数据对应的拆包数据;根据当前待发送数据的数据顺序,生成各所述拆包数据各自对应的发送时间戳;根据各所述拆包数据各自对应的发送时间戳,生成各所述拆包数据各自对应的传输数据;若不大于所述拆包阈值,则生成当前待发送数据对应的发送时间戳;根据当前待发送数据对应的发送时间戳,生成当前待发送数据对应的传输数据;其中,当前待发送数据为任一待发送数据,待发送数据为需要向相应的从机设备发送的数据。
在一些实施例中,所述主机设备具体用于获取各所述总线的总线状态信息;根据所述总线状态信息,确定当前传输数据对应的目标总线;通过所述目标总线向所述总线缓冲器发送当前传输数据;其中,当前传输数据为任一所述传输数据,所述总线状态信息包括故障情况信息和/或传输速度信息。
本发明所提供的一种总线缓冲器,主机设备通过总线缓冲器与从机设备连接,总线缓冲器,包括:解析器,用于对主机设备通过各总线发送的传输数据进行解析,获取待转发数据和传输命令信息;其中,主机设备通过各总线与解析器连接,传输命令信息包括目标地址信息和发送时间戳,发送时间戳为主机设备发送传输数据的时间对应的时间戳;判决器,用于根据发送时间戳,确定各待转发数据的发送顺序;根据目标地址信息,按照发送顺序将存储寄存器中存储的待转发数据转发到相应的从机设备;存储寄存器,用于存储待转发数据;
可见,本发明通过主机设备与从机设备之间的总线缓冲器的设置,利用总线缓冲器根据不同总线上的传输数据的发送时间,将不同总线上的传输数据按发送顺序转发到相应的从机设备,从而能够以硬件方式解决不同总线协议和总线延迟带来的传输顺序错误的问题,减少了软件代码的复杂度,提升了数据传输的效率。此外,本发明还提供了一种多总线数据传输***,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种总线缓冲器的结构示意图;
图2为本发明实施例所提供的一种总线缓冲器与主机设备和从机设备的连接关系展示图;
图3为本发明实施例所提供的另一种总线缓冲器的内部框架的示意图;
图4为本发明实施例所提供的一种多总线数据传输***的结构示意图;
图5为本发明实施例所提供的一种多总线数据传输***的数据传输流程的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种总线缓冲器的结构示意图。主机设备通过总线缓冲器与从机设备连接,该总线缓冲器,可以包括:
解析器10,用于对主机设备通过各总线发送的传输数据进行解析,获取待转发数据和传输命令信息;其中,主机设备通过各总线与解析器10连接,传输命令信息包括目标地址信息和发送时间戳,发送时间戳为主机设备发送传输数据的时间对应的时间戳;
判决器20,用于根据发送时间戳,确定各待转发数据的发送顺序;根据目标地址信息,按照发送顺序将存储寄存器30中存储的待转发数据转发到相应的从机设备;
存储寄存器30,用于存储待转发数据。
可以理解的是,本实施例所提供的总线缓冲器可以为主机设备与从机设备之间设置的缓冲器;也就是说,主机设备通过任意总线上发出的访问命令,需经过总线缓冲器的转发,才能到达从机设备;从机设备的反馈信息,也需经过总线缓冲器的转发,才能到达主机设备。
对应的,对于本实施例中总线缓冲器与主机设备和从机设备的具体连接关系,可以由设计人员根据使用场景和用户需求自行设置,如与总线缓冲器通过总线连接的主机设备的数量可以为1,即总线缓冲器可以通过预设数量的总线与一个主机设备连接,预设数量可以大于或等于2;如图2所示,总线缓冲器(缓冲器)可以通过3条总线与主机设备(主机)连接。与总线缓冲器通过总线连接的主机设备的数量也可以大于1。与总线缓冲器通过总线连接的从机设备的数量也可以为1,如总线缓冲器可以通过预设数量的总线与一个从机设备连接;如图2所示,总线缓冲器可以通过3条总线与从机设备(从机)连接。与总线缓冲器通过总线连接的从机设备的数量也可以大于1,如总线缓冲器通过总线与多个从机设备连接,本实施例对此不做任何限制。
其中,总线缓冲器中的解析器10可以接收主机设备通过各总线发送的传输数据;对各总线传输的传输数据进行解析,获取待转发数据和传输命令信息,如解析器10可以根据各总线的总线协议,解析出各传输数据各自对应的待转发数据和传输命令信息。
对应的,上述待转发数据可以为主机设备需要通过总线向相应的从机设备发送的数据,即总线缓冲器需要转发的数据。上述传输命令信息可以为与待转发数据的转发传输相关的控制命令信息。对于传输命令信息的具体内容,可以由设计人员根据使用场景和用户需求自行设置,如传输命令信息可以包括目标地址信息(如目标地址值),即主机设备所要访问的目标地址的信息,例如相应的从机设备的地址信息,如从机设备上存储单元的具体编号。传输命令信息也可以包括发送时间戳,发送时间戳可以为主机设备发送传输数据的时间对应的时间戳,如主机设备开始通过总线向总线缓冲器发送传输数据的时间。传输命令信息还可以包括传输开启信息,用于标识一次新的传输的开始,以使解析器10能够根据传输开启信息,确定当前的传输数据的起始位。本实施例对此不做任何限制。
需要说明的是,对于本实施例中总线缓冲器中解析器10的具体数量,可以由设计人员根据实用场景和用户需求自行设置,如本实施例中每个解析器10分别通过各自对应的一条总线与主机设备连接的情况下,本实施例中解析器10的数量可以大于或等于与主机设备连接的总线的数量;本实施例中与主机设备连接的总线的数量可以大于或等于2,与主机设备连接的总线的数量也可以为大于或等于3;例如,解析器10的数量和与主机设备连接的总线均可以为3,即3个解析器10可以通过3条总线连接到主机设备。
其中,本实施例中总线缓冲器中的判决器20可以根据各待转发数据对应的发送时间戳,确定各待转发数据的发送顺序;从而根据各待转发数据对应的目标地址信息,按照发送顺序将存储寄存器30中存储的各待转发数据转发到相应的从机设备,以将不同总线上传输的数据按发送顺序转发到相应的从机设备,解决了不同总线协议和总线延迟带来的传输顺序错误的问题。
对应的,本实施例中的判决器20可以包括地址寄存器和时间判决器;地址寄存器可以用于存储目标地址信息;时间判决器可以用于根据发送时间戳,确定各待转发数据的发送顺序;根据地址寄存器中的目标地址信息,按照发送顺序将存储寄存器30中存储的待转发数据转发到相应的从机设备。
相应的,对于本实施例中判决器20中地址寄存器的具体数量,可以由设计人员根据实用场景和用户需求自行设置,如本实施例中每个地址寄存器可以分别存储各自对应的一个目标地址信息,本实施例中地址寄存器的数量可以大于或等于总线缓冲器与主机设备连接的总线的数量;例如,地址寄存器的数量和总线缓冲器与主机设备连接的总线均可以为3。
需要说明的是,上述发送顺序可以为主机设备通过各总线开始发送传输数据的顺序。对于本实施例中判决器20根据发送时间戳,确定各待转发数据的发送顺序的具体方式,即时间判决器根据发送时间戳,确定各待转发数据的发送顺序的具体方式,可以由设计人员根据实用场景和用户需求自行设置,例如,判决器20(如时间判决器)可以根据当前传输数据对应的发送时间戳和目标时间戳,确定各待转发数据的发送顺序;其中,目标时间戳包括当前传输数据接收完成后的预设时间段内接收的传输数据对应的发送时间戳,当前传输数据为任一传输数据;也就是说,判决器20可以在当前传输数据接收完成后,根据之后预设时间段内接收的传输数据中解析出的发送时间戳(即目标时间戳)和当前传输数据中解析出的发送时间戳,确定这些传输数据对应的发送顺序,从而能够利用确定的发送顺序,将这些传输数据中解析出的待转发数据发送到相应的从机设备。
相应的,传输命令信息包括数据传输顺序信息的情况下,判决器20(如时间判决器)也可以根据各传输数据对应的发送时间戳和数据传输顺序信息,确定各待转发数据的发送顺序。其中,数据传输顺序信息可以为与主机设备已发送的传输数据顺序相关的信息,如数据传输顺序信息可以为已发送的传输数据的发送时间戳或按发送时间排序的已发送的传输数据的标识,从而使得判决器20能够根据各传输数据各自对应的发送时间戳和数据传输顺序信息,确定各待转发数据的发送顺序。例如,各待转发数据的发送顺序信息可以为已发送的传输数据的发送时间戳时,判决器20可以根据各待转发数据各自对应的发送时间戳和数据传输顺序信息中的发送时间戳,确定已接收的传输数据对应的待转发数据的发送顺序。只要判决器20可以根据发送时间戳,确定各待转发数据的发送顺序,本实施例对此不做任何限制。
需要说明的是,对于本实施例中判决器20根据目标地址信息,按照发送顺序将存储寄存器30中存储的待转发数据转发到相应的从机设备的具体方式,即时间判决器根据地址寄存器中的目标地址信息,按照发送顺序将存储寄存器30中存储的待转发数据转发到相应的从机设备的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如本实施例中总线缓冲器中的存储寄存器30可以为先入先出寄存器的情况下,判决器20可以根据发送顺序,将待转发数据存储到存储寄存器30;根据目标地址信息,将存储寄存器30中存储的待转发数据转发到相应的从机设备。
举例来说,如图2所示,主机设备通过3条总线(总线0、总线1和总线2)与总线缓冲器连接,假设主设备先通过总线0发出一次传输数据a,再通过总线1发出一次传输数据b,最后通过总线2发出一次传输数据c,由于总线的协议不同,传输延时不同,传输数据a、传输数据b和传输数据c到达总线缓冲器的先后顺序并不确定,这里有几种可能性:
(1)检测正确状态:如果总线0上传输数据a传输先到达总线缓冲器,时间判决器可以通过发送时间戳和数据传输顺序信息,判断传输数据a的开始时间最早,时间判决器认为该传输顺序正确,将相应的待转发数据写入存储寄存器30;之后,总线1上的传输数据b传输到达总线缓冲器,时间判决器再次判断总线1的传输数据b开始时间最早,则时间判决器认为该传输顺序正确,将相应的待转发数据写入存储寄存器30;之后,总线2上的传输数据c传输到达总线缓冲器,此时判决器20再次认为传输数据c的传输开始时间最早,则将相应的数据写入存储寄存器30,并将传输数据c的发送时间戳清空。
(2)检测错误状态:以到达的先后顺序为c、b、a为例,如果总线2上c传输先到达总线缓冲器,时间判决器通过判断发送时间戳和数据传输顺序信息,判断总线0上未到达的传输数据a开始时间最早,时间判决器认为该传输顺序不正确,此次判决器20会进行调度,总线2上的传输数据c传输会等待进行自旋操作;总线1上的传输数据b先到总线达缓冲器,时间判决器通过判断发送时间戳和数据传输顺序信息,判断总线0上未到达的传输数据a开始时间最早,时间判决器认为该传输顺序不正确,此次判决器20会进行调度,总线1上的b传输会等待进行自旋操作;之后,总线0上的传输数据a传输到达总线缓冲器,时间判决器判断总线0的传输数据a开始时间最早,则判决器20认为该传输顺序正确,将数据写入存储寄存器30,并将总线0的传输数据a时间戳清空;此时正在自旋的总线1的传输数据b传输开始时间最早,则时间判决器认为该轮到传输数据b,将数据写入存储寄存器30,并将总线1的传输数据b的时间戳清空;之后,正在自旋的总线2的传输数据c开始时间最早,则时间判决器认为该传输顺序正确,将数据写入存储寄存器30,并将总线2的传输c时间戳清空,即发送顺序可以为a、b和c。
进一步的,本实施例中判决器20(如时间判决器)还可以用于接收从机设备发送的传输错误反馈信息;根据传输错误反馈信息,生成重发信息;通过告警总线将重发信息发送到主机设备,以请求主机设备重新发送传输错误反馈信息对应的传输数据。其中,告警总线为与主机设备连接的总线中速度最快的总线。例如,本实施例中可以在判决器20中预设一个错误校验码,如果从机设备返回的反馈信息(如图3中的从机响应信号)表示此次传输有误(即传输错误反馈信息),可以中断传输(如清空存储寄存器30中相应的待转发数据),并采用速度最快的总线2通道将错误校验码(即重发信息)传递给主机设备,使主机设备收到错误校验码能够立即重新发送相应的传输数据,实现错误快速校验机制。
进一步的,对于本实施例中判决器20将每个待转发数据转发到相应的从机设备的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如判决器20可以按照传输该待转发数据对应的传输数据的总线,选择对应的与从机设备连接的总线(即从机总线),将该待转发数据发送到相应的从机设备;如判决器20可以根据该待转发数据对应的总线的总线类型,通过该总线类型对应的从机总线该待转发数据发送到相应的从机设备。判决器20也可以根据各从机总线的总线状态信息,确定当前待转发数据对应的目标从机总线;通过目标从机总线向相应的从机设备发送当前待转发数据;其中,当前待转发数据为任一待转发数据,总线状态信息包括故障情况信息和/或传输速度信息。例如,目标从机总线可以为与从机设备连接的总线(即从机总线)中未发生故障且被占用的总线中传输速度最快的总线,以实现从机总线的总线选择判断机制。
本实施例中,本发明实施例通过主机设备与从机设备之间的总线缓冲器的设置,利用总线缓冲器根据不同总线上的传输数据的发送时间,将不同总线上的传输数据按发送顺序转发到相应的从机设备,从而能够以硬件方式解决不同总线协议和总线延迟带来的传输顺序错误的问题,减少了软件代码的复杂度,提升了数据传输的效率。
相应于上面的总线缓冲器实施例,本发明实施例还提供了一种多总线数据传输***,下文描述的一种多总线数据传输***与上文描述的一种总线缓冲器可相互对应参照。
请参考图4,图4为本发明实施例所提供的一种多总线数据传输***的结构示意图。该多总线数据传输***可以包括:如上述实施例所提供的总线缓冲器200、主机设备100和从机设备300;其中,主机设备100通过总线缓冲器200与从机设备300连接,
主机设备100通过总线与总线缓冲器200连接,用于通过各总线向总线缓冲器200发送传输数据,以利用总线缓冲器200向相应的从机设备300转发传输数据对应的待转发数据。
需要说明的是,总线缓冲器200可以包括:
解析器,用于对主机设备100通过各总线发送的传输数据进行解析,获取待转发数据和传输命令信息;其中,主机设备100通过各总线与解析器连接,传输命令信息包括目标地址信息和发送时间戳,发送时间戳为主机设备100发送传输数据的时间对应的时间戳;
判决器,用于根据发送时间戳,确定各待转发数据的发送顺序;根据目标地址信息,按照发送顺序将存储寄存器中存储的待转发数据转发到相应的从机设备300。
存储寄存器,用于存储待转发数据。
在一些实施例中,存储寄存器为先入先出寄存器;判决器具体用于根据发送顺序,将待转发数据存储到存储寄存器;根据目标地址信息,将存储寄存器中存储的待转发数据转发到相应的从机设备300。
在一些实施例中,判决器具体用于根据当前传输数据对应的发送时间戳和目标时间戳,确定各待转发数据的发送顺序;其中,目标时间戳包括当前传输数据接收完成后的预设时间段内接收的传输数据对应的发送时间戳,当前传输数据为任一传输数据。
在一些实施例中,传输命令信息包括数据传输顺序信息;判决器具体用于根据发送时间戳和数据传输顺序信息,确定各待转发数据的发送顺序。
在一些实施例中,判决器包括:
地址寄存器,用于存储目标地址信息。
在一些实施例中,各解析器分别通过各自对应的一条总线与主机设备100连接,总线的数量大于或等于2,解析器的数量大于或等于总线的数量;各地址寄存器分别用于存储各自对应的一个目标地址信息,地址寄存器的数量大于或等于总线的数量。
在一些实施例中,判决器还用于接收从机设备300发送的传输错误反馈信息;根据传输错误反馈信息,生成重发信息;通过告警总线将重发信息发送到主机设备100,以请求主机设备100重新发送传输错误反馈信息对应的传输数据;其中,告警总线为总线中速度最快的总线。
可以理解的是,本实施例所提供的多总线数据传输***可以具体为单芯片***。对于本实施例中总线缓冲器200与主机设备100和从机设备300的具体连接关系,可以由设计人员根据使用场景和用户需求自行设置,如与总线缓冲器200通过总线连接的主机设备100的数量可以为1,即总线缓冲器200可以通过预设数量的总线与一个主机设备100连接,预设数量可以大于或等于2;如图2所示,总线缓冲器200(缓冲器)可以通过3条总线与主机设备100(主机)连接。与总线缓冲器200通过总线连接的主机设备100的数量也可以大于1。与总线缓冲器200通过总线连接的从机设备300的数量也可以为1,如总线缓冲器200可以通过预设数量的总线与一个从机设备300连接;如图2所示,总线缓冲器200可以通过3条总线与从机设备300(从机)连接。与总线缓冲器200通过总线连接的从机设备300的数量也可以大于1,如总线缓冲器200通过总线与多个从机设备300连接,本实施例对此不做任何限制。
需要说明的是,本实施例中主机设备100还可以用于获取当前待发送数据;判断当前待发送数据是否大于拆包阈值;若大于拆包阈值,则对当前待发送数据进行拆包处理,获取当前待发送数据对应的拆包数据;根据当前待发送数据的数据顺序,生成各拆包数据各自对应的发送时间戳;根据各拆包数据各自对应的发送时间戳,生成各拆包数据各自对应的传输数据;若不大于拆包阈值,则生成当前待发送数据对应的发送时间戳;根据当前待发送数据对应的发送时间戳,生成当前待发送数据对应的传输数据;其中,当前待发送数据为任一待发送数据,待发送数据为需要向相应的从机设备300发送的数据。
也就是说,本实施例中可以引入拆包机制,使主机设备100可以将大数据包的待发送数据拆分成多个小数据包的拆包数据通过多条总线同时传输,进一步提高传输效率。相应的,如果待发送数据的数据包较小,不需要拆包处理,则直接将主机数据传输的待发送数据打上时间标记(即发送数据戳),以得到通过总线发送的传输数据;如果待发送数据已经进行了拆包处理,则根据拆包前的数据顺序,将已经拆包好的小拆包数据进行时间戳处理。
进一步的,对于本实施例中主机设备100通过各总线向总线缓冲器200发送传输数据的具体过程,可以由设计人员根据实用场景和用户需求自行设置,如主机设备100具体用于获取各总线的总线状态信息;根据总线状态信息,确定当前传输数据对应的目标总线;通过目标总线向总线缓冲器200发送当前传输数据;其中,当前传输数据为任一传输数据,总线状态信息包括故障情况信息和/或传输速度信息。
也就是说,本实施例中可以引入总线选择判断机制;如图5所示,主机设备100可以判断所有总线的状态,如果某条总线通道出现故障不通,则立即走其他总线进行传输;每条总线都是可选择的,首先选择速度较快的总线2进行传输,如果总线2被占用,则可以选择速度较慢的总线1进行传输,如果总线1也被占用,再然后选择速度最慢的总线0进行传输;
对应的,总线状态信息可以包括故障情况信息、传输速度信息和占用情况信息,目标总线可以为故障情况信息为无故障、占用情况信息为未占用且传输速度信息最快的总线,即主机设备100可以从与总线缓冲器200连接的全部总线中选择未发生故障、未被占用且传输速度最快的总线作为目标总线,用以发送当前传输数据。
进一步的,本实施例中主机设备100还可以用于根据总线缓冲器200发送的重发信息,通过总线向总线缓冲器200发送该重发信息对应的传输数据。也就是说,本实施例中判决器可以接收从机设备300发送的传输错误反馈信息;根据传输错误反馈信息,生成重发信息;通过告警总线将重发信息发送到主机设备100;相应的,主机设备100可以通过总线重新发送传输错误反馈信息对应的传输数据。
本实施例中,本发明实施例通过主机设备100与从机设备300之间的总线缓冲器200的设置,利用总线缓冲器200根据不同总线上的传输数据的发送时间,将不同总线上的传输数据按发送顺序转发到相应的从机设备300,从而能够以硬件方式解决不同总线协议和总线延迟带来的传输顺序错误的问题,减少了软件代码的复杂度,提升了数据传输的效率。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的总线缓冲器相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种总线缓冲器及多总线数据传输***进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种总线缓冲器,其特征在于,主机设备通过所述总线缓冲器与从机设备连接,所述总线缓冲器,包括:
解析器,用于对所述主机设备通过各总线发送的传输数据进行解析,获取待转发数据和传输命令信息;其中,所述主机设备通过各所述总线与所述解析器连接,所述传输命令信息包括目标地址信息和发送时间戳,所述发送时间戳为所述主机设备发送所述传输数据的时间对应的时间戳;
判决器,用于根据所述发送时间戳,确定各所述待转发数据的发送顺序;根据目标地址信息,按照所述发送顺序将存储寄存器中存储的所述待转发数据转发到相应的从机设备;
存储寄存器,用于存储所述待转发数据。
2.根据权利要求1所述的总线缓冲器,其特征在于,所述存储寄存器为先入先出寄存器;所述判决器具体用于根据所述发送顺序,将所述待转发数据存储到所述存储寄存器;根据所述目标地址信息,将所述存储寄存器中存储的待转发数据转发到相应的从机设备。
3.根据权利要求1所述的总线缓冲器,其特征在于,所述判决器具体用于根据当前传输数据对应的发送时间戳和目标时间戳,确定各所述待转发数据的发送顺序;其中,所述目标时间戳包括当前传输数据接收完成后的预设时间段内接收的传输数据对应的发送时间戳,当前传输数据为任一所述传输数据。
4.根据权利要求1所述的总线缓冲器,其特征在于,所述传输命令信息包括数据传输顺序信息;所述判决器具体用于根据所述发送时间戳和所述数据传输顺序信息,确定各所述待转发数据的发送顺序。
5.根据权利要求1所述的总线缓冲器,其特征在于,所述判决器包括:
地址寄存器,用于存储所述目标地址信息。
6.根据权利要求1所述的总线缓冲器,其特征在于,所述各所述解析器分别通过各自对应的一条总线与所述主机设备连接,所述总线的数量大于或等于2,所述解析器的数量大于或等于所述总线的数量;各所述地址寄存器分别用于存储各自对应的一个目标地址信息,所述地址寄存器的数量大于或等于所述总线的数量。
7.根据权利要求1至6任一项所述的总线缓冲器,其特征在于,所述判决器还用于接收所述从机设备发送的传输错误反馈信息;根据所述传输错误反馈信息,生成重发信息;通过告警总线将所述重发信息发送到所述主机设备,以请求所述主机设备重新发送所述传输错误反馈信息对应的传输数据;其中,告警总线为所述总线中速度最快的总线。
8.一种多总线数据传输***,其特征在于,包括:如权利要求1至6任一项所述的总线缓冲器、主机设备和从机设备;其中,所述主机设备通过所述总线缓冲器与所述从机设备连接;
所述主机设备通过总线与所述总线缓冲器连接,用于通过各总线向所述总线缓冲器发送传输数据,以利用所述总线缓冲器向相应的从机设备转发所述传输数据对应的待转发数据。
9.根据权利要求8所述的多总线数据传输***,其特征在于,所述主机设备还用于获取当前待发送数据;判断当前待发送数据是否大于拆包阈值;若大于所述拆包阈值,则对当前待发送数据进行拆包处理,获取当前待发送数据对应的拆包数据;根据当前待发送数据的数据顺序,生成各所述拆包数据各自对应的发送时间戳;根据各所述拆包数据各自对应的发送时间戳,生成各所述拆包数据各自对应的传输数据;若不大于所述拆包阈值,则生成当前待发送数据对应的发送时间戳;根据当前待发送数据对应的发送时间戳,生成当前待发送数据对应的传输数据;其中,当前待发送数据为任一待发送数据,待发送数据为需要向相应的从机设备发送的数据。
10.根据权利要求8所述的多总线数据传输***,其特征在于,所述主机设备具体用于获取各所述总线的总线状态信息;根据所述总线状态信息,确定当前传输数据对应的目标总线;通过所述目标总线向所述总线缓冲器发送当前传输数据;其中,当前传输数据为任一所述传输数据,所述总线状态信息包括故障情况信息和/或传输速度信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310544613.0A CN116541318A (zh) | 2023-05-12 | 2023-05-12 | 一种总线缓冲器及多总线数据传输*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310544613.0A CN116541318A (zh) | 2023-05-12 | 2023-05-12 | 一种总线缓冲器及多总线数据传输*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116541318A true CN116541318A (zh) | 2023-08-04 |
Family
ID=87450299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310544613.0A Pending CN116541318A (zh) | 2023-05-12 | 2023-05-12 | 一种总线缓冲器及多总线数据传输*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116541318A (zh) |
-
2023
- 2023-05-12 CN CN202310544613.0A patent/CN116541318A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213143B (zh) | 一种1553b总线ip核及监视*** | |
US5301186A (en) | High speed transmission line interface | |
RU2597502C2 (ru) | Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных | |
CA1172719A (en) | Distributed-structure message switching system on random-access channel for message dialogue among processing units | |
US9197373B2 (en) | Method, apparatus, and system for retransmitting data packet in quick path interconnect system | |
US6483845B1 (en) | Packet transmitter-receiver and packet receiver | |
CN112261142B (zh) | 一种rdma网络的数据重传方法、装置及fpga | |
CN114726676A (zh) | 一种can总线双通路备份中冗余消息处理方法 | |
CN113051204B (zh) | 串行背板总线通信方法及*** | |
KR20200139059A (ko) | 제어기 진단 장치 및 그 방법 | |
CN117278486A (zh) | 一种可靠udp组播的fpga硬件加速***及方法 | |
CN116541318A (zh) | 一种总线缓冲器及多总线数据传输*** | |
US9210093B2 (en) | Alignment circuit and receiving apparatus | |
CN116032846A (zh) | 支持帧抢占的mac ip核装置、支持帧抢占的数据帧发送方法和接收方法 | |
US8989203B2 (en) | Electronic device, communication control method, and recording medium | |
RU175049U1 (ru) | УСТРОЙСТВО КОММУНИКАЦИОННЫХ ИНТЕРФЕЙСОВ SpaceWire | |
JP2011151769A (ja) | データ通信システム及びデータ通信方法 | |
CN111930582A (zh) | ***管理总线检测平台、处理器及***管理总线检测方法 | |
US8090986B2 (en) | System module and data relay method | |
JP3217397B2 (ja) | 通信制御装置のデータ送信方法 | |
CN112312355B (zh) | 一种箭载以太网通信方法及通信*** | |
JP2001285300A (ja) | 通信方法及び通信システム | |
US20050044276A1 (en) | Asynchronous data receiver comprising means for standyby mode switchover | |
CN118093467A (zh) | 嵌入式模块与fpga的数据交互方法 | |
CN117762850A (zh) | 一种基于pxi架构的多通道rs422大批量数据传输***及方法 |
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 |