CN111314192A - 一种高速总线结构和通信节点间传输数据的方法 - Google Patents
一种高速总线结构和通信节点间传输数据的方法 Download PDFInfo
- Publication number
- CN111314192A CN111314192A CN202010293917.0A CN202010293917A CN111314192A CN 111314192 A CN111314192 A CN 111314192A CN 202010293917 A CN202010293917 A CN 202010293917A CN 111314192 A CN111314192 A CN 111314192A
- Authority
- CN
- China
- Prior art keywords
- arbitration
- data
- frame
- communication node
- identifier
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/4013—Management of data rate on the bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40143—Bus networks involving priority mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40182—Flexible bus arrangements involving redundancy by using a plurality of communication lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种高速总线结构和通信节点间传输数据的方法,包括:至少两对数据总线,一对仲裁总线和若干通信节点;各通信节点分别并联挂接在各个数据总线上以及所述仲裁总线上;仲裁总线用于所述数据总线的仲裁,以仲裁帧为单位进行传输,每个仲裁帧包含至少两个仲裁时间段,每个仲裁时间段选择出优胜通信节点,该优胜通信节点获得目标数据总线的下一个数据帧的使用权。本发明利用高速总线结构实现多个通信节点之间的高速、可靠、实时通信需求。
Description
技术领域
本发明涉及数据传输领域,尤指一种高速总线结构和通信节点间传输数据的方法。
背景技术
CAN(Controller Area Network,控制器局域网络)总线,由于其高可靠性、实时性等优点已被广泛应用于汽车应用、工业自动化等领域。
CAN总线仅包含一对差分信号线,采用串行数据传输,结构简单;支持多主通讯,即每个节点设备都可以在任意时刻主动向网络上其他节点设备发起数据通信,靠各个节点设备的标识符的优先级决定通信次序;当多个节点设备同时发起通信时,优先级低的避让优先级高的。但其总线速率有限,最高为1Mbps(通信距离小于40米),且CAN总线的数据帧每次最多可传输8个字节的有效数据,无法满足多个节点设备间的大数据量高速通信的设计要求。另外,挂在总线上的节点设备比较多时,容易发生通信冲突,每次仲裁只允许一个节点设备获得总线的使用权进行数据发送,其他节点设备必须等待,也限制了总线速率。
发明内容
本发明的目的是提供一种高速总线结构和通信节点间传输数据的方法,能在多点互联应用场合下利用高速总线实现多个通信节点之间的高速、实时通信需求,具有高传输效率和高可靠性。
本发明提供的技术方案如下:
一种高速总线结构,包括:至少两对数据总线,所有的数据总线均以数据帧为单位进行传输;一对仲裁总线,用于所述数据总线的仲裁;所述仲裁总线以仲裁帧为单位进行传输,所述仲裁帧与所述数据帧的传输时间相同,每个仲裁帧包含至少两个仲裁时间段,每个仲裁时间段仲裁出该时间段的优胜通信节点;若干通信节点,各通信节点分别并联挂接在各个数据总线上以及所述仲裁总线上;每个通信节点包括:仲裁接口模块,用于将自己的标识符发送到所述仲裁总线上;数据发送模块,用于将自己的数据发送到目标数据总线上;控制模块,用于当检测到自己有数据发送需求时,控制所述仲裁接口模块在当前仲裁帧的当前仲裁时间段将自己的标识符发送到所述仲裁总线上;以及,当检测到所述标识符发送成功时,所述通信节点为该时间段的优胜通信节点,并控制所述数据发送模块在下一个数据帧将自己的数据发送到目标数据总线上,同时在所述当前仲裁帧内不再发送所述标识符;当检测到所述标识符发送失败,且当前仲裁时间段不是所述当前仲裁帧的最后一个仲裁时间段时,在所述当前仲裁帧的下一个仲裁时间段,控制所述仲裁接口模块将所述标识符重新发送到所述仲裁总线上,直至所述标识符发送成功或已到达当前仲裁帧的最后一个仲裁时间段。
进一步优选的,所述控制模块,进一步用于在当前仲裁帧的当前仲裁时间段,没有一通信节点发送标识符时,则在下一个数据帧所述目标数据总线上无数据发送。
进一步优选的,每个仲裁帧的仲裁时间段的数量等于所述数据总线的数量。
进一步优选的,每个仲裁帧还包含检验时间段,所述检验时间段用于检验是否存在排队等待的待发通信节点。
进一步优选的,所述控制模块,进一步用于当当前仲裁帧的检验时间段表明还存在排队等待的待发通信节点时,在当前仲裁帧已获得数据发送权的通信节点降低自己的标识符的发送概率;以及,在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点在其标识符发送概率大于预设门限时,控制仲裁接口模块将自己的标识符发送到所述仲裁总线上以参与数据总线的数据发送权竞选。
本发明还提供一种通信节点间传输数据的方法,包括:在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点将自己的标识符发送到仲裁总线上以参与数据总线的数据发送权竞选;当检测到所述标识符发送成功时,所述通信节点为该时间段的优胜通信节点,并在下一个数据帧将自己的数据发送到目标数据总线上,同时在所述当前仲裁帧内不再发送所述标识符;当检测到所述标识符发送失败,且当前仲裁时间段不是所述当前仲裁帧的最后一个仲裁时间段时,在所述当前仲裁帧的下一个仲裁时间段,所述通信节点将所述标识符重新发送到所述仲裁总线上,直至所述标识符发送成功或已到达当前仲裁帧的最后一个仲裁时间段。
进一步优选的,还包括:在当前仲裁帧的当前仲裁时间段,没有一通信节点发送标识符时,则在下一个数据帧所述目标数据总线上无数据发送。
进一步优选的,每个仲裁帧的仲裁时间段的数量等于所述数据总线的数量。
进一步优选的,每个仲裁帧还包含检验时间段,所述检验时间段用于检验是否存在排队等待的待发通信节点。
进一步优选的,当当前仲裁帧的检验时间段表明还存在排队等待的待发通信节点时,在当前仲裁帧已获得数据发送权的通信节点降低自己的标识符发送概率;所述的在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点将自己的标识符发送到仲裁总线上以参与数据总线的数据发送权竞选还包括:在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点在其标识符发送概率大于预设门限时,将自己的标识符发送到所述仲裁总线上以参与数据总线的数据发送权竞选。
通过本发明提供的一种高速总线结构和通信节点间传输数据的方法,能够带来以下至少一种有益效果:
1、本发明通过将仲裁总线与数据总线分开,可以提升数据总线的传输速率,在保证数据总线的传输速率的前提下,降低仲裁总线的传输速率以提高系统的可靠性;
2、本发明通过提供多对数据总线和一个仲裁帧内的多个仲裁机会,可以降低碰撞导致的传输延迟,提升数据总线的传输效率;
3、本发明通过适当降低高优先级通信节点的标识符发送概率,避免低优先级通信节点等待时间过长,从而提升数据总线的公平性。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种高速总线结构和通信节点间传输数据的方法的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明的一种高速总线结构的一个实施例的示意图;
图2是本发明的一种通信节点间传输数据的方法的一个实施例的流程图;
图3是本发明的一种通信节点间传输数据的方法的另一个实施例的流程图。
附图标号说明:
100.仲裁接口模块,200.控制模块,300.数据发送模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
在本发明的一个实施例中,如图1所示,一种高速总线结构,包括:至少两对数据总线,所有的数据总线均以数据帧为单位进行传输;一对仲裁总线,用于所述数据总线的仲裁;所述仲裁总线以仲裁帧为单位进行传输,所述仲裁帧与所述数据帧的传输时间相同,每个仲裁帧包含至少两个仲裁时间段,每个仲裁时间段仲裁出该时间段的优胜通信节点;若干通信节点,各通信节点分别并联挂接在各个数据总线上以及所述仲裁总线上。
具体的,CAN总线上仲裁帧与数据帧分时复用在一条总线上,仲裁帧限制了数据帧的传输速率。为了提升数据总线的传输速率,在本发明中,仲裁总线与数据总线是分开的。仲裁信息在仲裁总线上发送,数据信息在数据总线上发送,数据总线可以采用与仲裁总线完全不同的高速信道编码传输方案,数据总线具有较高的符号调制速率以满足高速传输需求,而仲裁总线具有较低的符号调制速率以保证仲裁的可靠性。
图1所示总线结构包括两对独立工作的数据总线和一对仲裁总线,其中数据总线1是由一对导线构成,数据总线2是由另一对导线构成,仲裁总线是由一对导线构成。图1仅仅是一个示例,本发明所述的总线结构也可以包括三对或更多对数据总线,增加数据总线的数量可以提高总线传输速率和效率,降低碰撞导致的传输延迟;但是数据总线对数太多会增加制造成本,实际应用中需要在传输效率与制造成本之间进行妥协。
仲裁总线上是按仲裁帧进行传输,一个仲裁帧包含多个仲裁时间段,每个仲裁时间段为各通信节点的标识符发送时间,通信节点碰撞时根据标识符的优先级进行仲裁,仲裁总线对该仲裁时间段参与数据发送权竞选的通信节点的标识符进行仲裁,最后仲裁总线上只呈现优先级高的标识符,该优先级高的标识符所对应的通信节点即该仲裁时间段的优胜通信节点。
数据总线上是按数据帧进行传输,一个数据帧的传输时间与一个仲裁帧的传输时间相同,但相同时间内传输的数据量不同,数据帧的数据量大于仲裁帧的数据量,所以数据总线的传输速率高。
由于至少存在2对数据总线,所以一个仲裁帧包含至少2个仲裁时间段,至少可以决策出2位优胜通信节点进行下一个数据帧的数据发送。优选的,每个仲裁帧内包含的仲裁时间段的数量等于数据总线的数量。如果小于,则容易导致数据总线的浪费。
在每个仲裁帧的每个仲裁时间段,优胜通信节点将获得数据总线下一个数据帧的发送权,用于发送一帧数据。数据帧中包含接收设备的标识符,供接收设备识别是否是发给自己的数据,如果是,则接收;否则放弃。
每个通信节点包括:
仲裁接口模块100,用于将自己的标识符发送到所述仲裁总线上;
数据发送模块300,用于将自己的数据发送到目标数据总线上;
控制模块200,用于当检测到自己有数据发送需求时,控制所述仲裁接口模块在当前仲裁帧的当前仲裁时间段将自己的标识符发送到所述仲裁总线上;以及,当检测到所述标识符发送成功时,所述通信节点为该时间段的优胜通信节点,并控制所述数据发送模块在下一个数据帧将自己的数据发送到目标数据总线上,同时在所述当前仲裁帧内不再发送所述标识符;当检测到所述标识符发送失败,且当前仲裁时间段不是所述当前仲裁帧的最后一个仲裁时间段时,在所述当前仲裁帧的下一个仲裁时间段,控制所述仲裁接口模块将所述标识符重新发送到所述仲裁总线上,直至所述标识符发送成功或已到达当前仲裁帧的最后一个仲裁时间段。
具体的,每个通信节点都有一个唯一的、用于标识自身的标识符,标识符由一个或多个符号组成。每个通信节点在发送数据前必须先在仲裁总线上发送自己的标识符,当自己的标识符在仲裁总线上发送成功后,该通信节点获得目标数据总线的使用权限,然后才能在目标数据总线的下一帧进行数据发送。仲裁总线上是按仲裁帧进行传输,一个仲裁帧至少包含2个仲裁时间段,仲裁时间段供通信节点发送标识符。在当前仲裁时间段,有数据发送需求的通信节点可以将自己的标识符按位发送到仲裁总线上以参与数据发送权竞选。
该通信节点每发送标识符的一位符号后,监测所述仲裁总线上的符号;当所述仲裁总线上的符号与该通信节点发送的符号不同时,则认为所述标识符的发送失败,并停止所述标识符的后续符号的发送;当所述仲裁总线上的符号与该通信节点发送的符号相同时,则表明该通信节点成功发送所述标识符的一位符号;如果还有符号要发送,则继续发送所述标识符的下一位符号;当该通信节点成功发送所述标识符的所有符号时,则认为所述标识符的发送成功。
当多个通信节点同时在某个仲裁时间段发送标识符时,能够正确将标识符发送到仲裁总线上的通信节点获得本次仲裁的胜出,成为该仲裁时间段的优胜通信节点。该仲裁时间段的优胜通信节点获得目标数据总线的下一个数据帧的使用权,即可以从下一个数据帧的起始时刻开始将自己的数据传输到数据总线上。目标数据总线为仲裁时间段对应的数据总线。该下一个数据帧的起始时刻可以位于对应的仲裁时间段的结束点之后,也可以位于对应的仲裁时间段所属的仲裁帧的结束点之后。同时该优胜通信节点在该仲裁帧内停止发送自己的标识符。
如果检测到标识符发送失败,且当前仲裁时间段不是当前仲裁帧的最后一个仲裁时间段,则该通信节点可以继续参与后续的仲裁,在当前仲裁帧的下一个仲裁时间段到来时继续发送标识符以参与数据发送权竞选,即当下一个仲裁时间段成为当前仲裁时间段时,继续发送标识符,争取获得目标数据总线的使用权。
示例:总线结构包括1对仲裁总线和3对数据总线,每个仲裁帧包含3个仲裁时间段,每个仲裁时间段的优胜通信节点获得与该仲裁时间段对应的目标数据总线的数据发送权,比如,第1个仲裁时间段的目标数据总线为第1对数据总线、第2个仲裁时间段的目标数据总线为第2对数据总线、第3个仲裁时间段的目标数据总线为第3对数据总线,则当前仲裁帧的第1个仲裁时间段的优胜通信节点获得第1对数据总线的下一个数据帧的发送、第2个仲裁时间段的优胜通信节点获得第2对数据总线的下一个数据帧的发送、第3个仲裁时间段的优胜通信节点获得第3对数据总线的下一个数据帧的发送。
如果该通信节点在当前仲裁帧的第1个仲裁时间段获得仲裁胜出,则该通信节点为该仲裁时间段的优胜通信节点,获得在第1对数据总线的下一个数据帧发送数据,同时该通信节点停止在当前仲裁帧内继续发送自己的标识符,即不参与当前仲裁帧的第2个、第3个仲裁时间段的仲裁。由于在本次仲裁帧内,该通信节点已获得数据发送机会,不参与后续的数据总线的竞争,可以给其他设备机会,增加公平性。
如果该通信节点在当前仲裁帧的第1个仲裁时间段没有获得仲裁胜出,则该通信节点可以继续参与当前仲裁帧的第2次仲裁,在第2个仲裁时间段重新发送自己的标识符。如果第2次仲裁失败,还可以参加当前仲裁帧的第3次仲裁。如果第2次仲裁成功,则该通信节点获得在第2对数据总线的下一个数据帧发送数据,同时不再参与第3次仲裁。
每个仲裁帧最多决策出3个优胜通信节点,每个优胜通信节点分别获得不同数据总线的下一个数据帧的数据发送权。
可选的,在当前仲裁帧的当前仲裁时间段,没有一通信节点发送标识符时,则在下一个数据帧所述目标数据总线上无数据发送。继续上述示例,假设在第3个仲裁时间段没有通信节点发送标识符,说明没有其他通信节点还有数据发送需求,所以第3对数据总线上没有数据发送。
本实施例,没有竞争成功的设备在一个仲裁帧有多次仲裁机会,可以持续发送标识符,一旦竞争成功,则在当前仲裁帧不再发送标识符,目的是给其他设备机会。在下一个仲裁帧,所有设备重新参与仲裁。
由于存在多对数据总线,所以在每个仲裁帧可以竞争出多个通信节点获得数据总线的使用权,从而提升数据总线的传输速率。
在本发明的另一个实施例中,如图1所示,一种高速总线结构,包括:至少两对数据总线,所有的数据总线均以数据帧为单位进行传输;一对仲裁总线,用于所述数据总线的仲裁;所述仲裁总线以仲裁帧为单位进行传输,所述仲裁帧与所述数据帧的传输时间相同,每个仲裁帧包含至少两个仲裁时间段,每个仲裁时间段仲裁出该时间段的优胜通信节点;所述仲裁帧还包含检验时间段,所述检验时间段用于检验是否存在排队等待的待发通信节点;若干通信节点,各通信节点分别并联挂接在各个数据总线上以及所述仲裁总线上。
每个通信节点包括:
仲裁接口模块100,用于将自己的标识符发送到所述仲裁总线上;
数据发送模块300,用于将自己的数据发送到目标数据总线上;
控制模块200,用于当检测到自己有数据发送需求,且标识符发送概率大于预设门限时,控制所述仲裁接口模块将自己的标识符发送到所述仲裁总线上;以及,当检测到仲裁时间段的标识符发送成功时,所述通信节点为该时间段的优胜通信节点,并控制所述数据发送模块在下一个数据帧将自己的数据发送到目标数据总线上,同时在所述当前仲裁帧内不再发送所述标识符;当检测到仲裁时间段的标识符发送失败,且当前仲裁时间段不是所述当前仲裁帧的最后一个仲裁时间段时,在所述当前仲裁帧的下一个仲裁时间段,控制所述仲裁接口模块将所述标识符重新发送到所述仲裁总线上,直至所述标识符发送成功或已到达当前仲裁帧的最后一个仲裁时间段;以及,在当前仲裁帧的当前仲裁时间段,没有一通信节点发送标识符时,则在下一个数据帧所述目标数据总线上无数据发送;以及,当前仲裁帧的检验时间段表明还存在排队等待的待发通信节点时,在当前仲裁帧已获得数据发送权的通信节点降低自己的标识符的发送概率。
具体的,本实施例仲裁帧除了包含仲裁时间段,还包含检验时间段。检验时间段用于检验是否存在排队等待的待发通信节点;排队等待的待发通信节点,有数据发送需求,但由于其标识符优先级低于其他通信节点,所以在当前仲裁帧未能获得数据发送权。仲裁时间段仍用于选出优胜通信节点,获得目标数据总线的下一个数据帧的使用权。通过检验时间段的标识符发送情况,可以判断是否存在低优先级的通信节点在等待数据发送。
在仲裁时间段和检验时间段,有数据发送需求的通信节点,在未获得数据总线的数据发送权之前,只要其标识符发送概率大于预设门限,就可以发送标识符。在仲裁时间段,是参与数据发送权的竞选;在校验时间段,是表明还有待发通信节点。
如果检验时间段不存在排队等待的待发通信节点,则本次仲裁帧内的处理结束。如果检验时间段存在排队等待的待发通信节点,则降低当前仲裁帧已获得数据发送权的通信节点的标识符发送概率。通过不断降低已获得数据发送权的高优先级的通信节点的标识符发送概率,可避免低优先级的通信节点等待时间过长。当高优先级的通信节点的标识符发送概率降到预设门限以下时,则不允许该通信节点发送标识符到仲裁总线上,从而让排队等待的低优先级的通信节点有机会获得数据发送权。标识符发送概率降到预设门限以下的通信节点,可以在延迟若干仲裁帧后,恢复其标识符发送概率为初始值,从而恢复其对数据发送权的竞争。延迟的仲裁帧数可以根据应用需要来设置。
示例,总线结构包括1对仲裁总线和2对数据总线,一个仲裁帧包含2个仲裁时间段和1个校验时间段,仲裁时间段在校验时间段之前。两个仲裁时间段用于选择优胜通信节点,获得第1对数据总线和第2对数据总线的数据发送权,校验时间段用于表明是否还存在排队等待的待发通信节点。有四个通信节点参与数据发送权的竞争,各通信节点的标识符优先级为:通信节点1>通信节点2>通信节点3>通信节点4。在第1个仲裁时间段,通信节点1胜出,获得第1对数据总线的数据发送权,在当前仲裁帧不再发送标识符。在第2个仲裁时间段,通信节点2胜出,获得第2对数据总线的数据发送权,在当前仲裁帧不再发送标识符。在校验时间段,通信节点3、4发送标识符,仲裁总线上呈现通信节点3的标识符,这表明存在排队等待的待发通信节点。通信节点1、2根据检验时间段的标识符发送情况,知道还有排队等待的待发通信节点,则降低自己的标识符发送概率。后续仲裁帧重复上述过程,比如,上述仲裁情况持续N次后,通信节点1、2的标识符发送概率降到低于门限,被禁止发送标识符参与数据总线的竞争;所以通信节点3、4开始获得数据发送权。当延迟M个仲裁帧后,通信节点1、2的标识符发送概率恢复初值,又可以参与数据总线使用权的仲裁过程。
本实施例在有较多通信节点有数据发送需求、数据总线冲突较严重时,为了增加公平性,避免低优先级的通信节点长期不能获得数据总线的使用权,通过降低已经成功取得发送权的通信节点的标识符的发送概率,让高优先级的通信节点少参与仲裁,从而增加低优先级的通信节点获得数据总线使用权的机会。
在本发明的一个实施例中,如图2所示,一种通信节点间传输数据的方法,该方法基于前述任一实施例描述的高速总线结构,包括:
步骤S100在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点将自己的标识符发送到仲裁总线上以参与数据总线的数据发送权竞选。
具体的,每个通信节点都有一个唯一的、用于标识自身的标识符,标识符由一个或多个符号组成。每个通信节点在发送数据前必须先在仲裁总线上发送自己的标识符,当自己的标识符在仲裁总线上发送成功后,该通信节点获得目标数据总线的使用权限,然后才能在目标数据总线的下一帧进行数据发送。仲裁总线上是按仲裁帧进行传输,一个仲裁帧至少包含2个仲裁时间段,仲裁时间段供通信节点发送标识符。在当前仲裁时间段,有数据发送需求的通信节点可以将自己的标识符按位发送到仲裁总线上以参与数据发送权竞选。
步骤S200所述通信节点检测自己的标识符是否发送成功。
具体的,该通信节点每发送标识符的一位符号后,监测所述仲裁总线上的符号;当所述仲裁总线上的符号与该通信节点发送的符号不同时,则认为所述标识符的发送失败,并停止所述标识符的后续符号的发送;当所述仲裁总线上的符号与该通信节点发送的符号相同时,则表明该通信节点成功发送所述标识符的一位符号;如果还有符号要发送,则继续发送所述标识符的下一位符号;当该通信节点成功发送所述标识符的所有符号时,则认为所述标识符的发送成功。
步骤S300当所述标识符发送成功时,所述通信节点为该时间段的优胜通信节点,并在下一个数据帧将自己的数据发送到目标数据总线上,同时在所述当前仲裁帧内不再发送所述标识符。
步骤S400当检测到所述标识符发送失败时,判断当前仲裁时间段是否是所述当前仲裁帧的最后一个仲裁时间段;
步骤S500当当前仲裁时间段不是所述当前仲裁帧的最后一个仲裁时间段时,等待所述当前仲裁帧的下一个仲裁时间段的到来,跳转到步骤S100,直至所述标识符发送成功或所述当前仲裁时间段已是当前仲裁帧的最后一个仲裁时间段。
具体的,当多个通信节点同时在某个仲裁时间段发送标识符时,能够正确将标识符发送到仲裁总线上的通信节点获得当前仲裁时间段的仲裁胜出,成为该仲裁时间段的优胜通信节点。该仲裁时间段的优胜通信节点获得目标数据总线的下一个数据帧的使用权,即可以从下一个数据帧的起始时刻开始将自己的数据传输到数据总线上。目标数据总线为仲裁时间段对应的数据总线。该下一个数据帧的起始时刻可以位于对应的仲裁时间段的结束点之后,也可以位于对应的仲裁时间段所属的仲裁帧的结束点之后。同时该优胜通信节点在该仲裁帧内停止发送自己的标识符。
如果检测到标识符发送失败,且当前仲裁时间段不是当前仲裁帧的最后一个仲裁时间段,则该通信节点可以继续参与后续的仲裁,在当前仲裁帧的下一个仲裁时间段到来时继续发送标识符以参与数据发送权竞选,即当下一个仲裁时间段成为当前仲裁时间段时,继续发送标识符,争取获得目标数据总线的使用权。
示例:总线结构包括1对仲裁总线和3对数据总线,每个仲裁帧包含3个仲裁时间段,每个仲裁时间段的优胜通信节点获得与该仲裁时间段对应的目标数据总线的数据发送权,比如,第1个仲裁时间段的目标数据总线为第1对数据总线、第2个仲裁时间段的目标数据总线为第2对数据总线、第3个仲裁时间段的目标数据总线为第3对数据总线,则当前仲裁帧的第1个仲裁时间段的优胜通信节点获得第1对数据总线的下一个数据帧的发送、第2个仲裁时间段的优胜通信节点获得第2对数据总线的下一个数据帧的发送、第3个仲裁时间段的优胜通信节点获得第3对数据总线的下一个数据帧的发送。
如果该通信节点在当前仲裁帧的第1个仲裁时间段获得仲裁胜出,则该通信节点为该仲裁时间段的优胜通信节点,获得在第1对数据总线的下一个数据帧发送数据,同时该通信节点停止在当前仲裁帧内继续发送自己的标识符,即不参与当前仲裁帧的第2个、第3个仲裁时间段的仲裁。由于在本次仲裁帧内,该通信节点已获得数据发送机会,不参与后续的数据总线的竞争,可以给其他设备机会,增加公平性。
如果该通信节点在当前仲裁帧的第1个仲裁时间段没有获得仲裁胜出,则该通信节点可以继续参与当前仲裁帧的第2次仲裁,在第2个仲裁时间段重新发送自己的标识符。如果第2次仲裁失败,还可以参加当前仲裁帧的第3次仲裁。如果第2次仲裁成功,则该通信节点获得在第2对数据总线的下一个数据帧发送数据,同时不再参与第3次仲裁。
每个仲裁帧决策出3个优胜通信节点,每个优胜通信节点分别获得不同数据总线的下一个数据帧的数据发送权。
可选的,在当前仲裁帧的当前仲裁时间段,没有一通信节点发送标识符时,则在下一个数据帧所述目标数据总线上无数据发送。继续上述示例,假设在第3个仲裁时间段没有通信节点发送标识符,说明没有其他通信节点还有数据发送需求,所以第3对数据总线上没有数据发送。
本实施例,没有竞争成功的设备在一个仲裁帧有多次仲裁机会,可以持续发送标识符,一旦竞争成功,则在当前仲裁帧不再发送标识符,目的是给其他设备机会。在下一个仲裁帧,所有设备重新参与仲裁。
由于存在多对数据总线,所以在每个仲裁帧可以竞争出多个通信节点获得数据总线的使用权,从而提升数据总线的传输速率。
在本发明的另一个实施例中,如图3所示,一种通信节点间传输数据的方法,包括:
仲裁帧包含仲裁时间段和检验时间段,所述仲裁时间段的数量等于数据总线数量,所述检验时间段用于检验是否存在排队等待的待发通信节点。
步骤S000判断当前时间段是否是当前仲裁帧的检验时间段;若是,则执行步骤S610;
步骤S020当前仲裁时间段没有一通信节点发送标识符时,则在下一个数据帧所述目标数据总线上无数据发送。
步骤S110当前仲裁时间段,有数据发送需求的通信节点在其标识符发送概率大于预设门限时,将自己的标识符发送到所述仲裁总线上;
步骤S210所述通信节点检测自己的标识符是否发送成功;
步骤S310当所述标识符发送成功时,所述通信节点为该时间段的优胜通信节点,并在下一个数据帧将自己的数据发送到目标数据总线上,同时在所述当前仲裁帧内不再发送所述标识符;
步骤S410当检测到所述标识符发送失败时,判断当前仲裁时间段是否是当前仲裁帧的最后一个仲裁时间段;
步骤S510当当前仲裁时间段不是当前仲裁帧的最后一个仲裁时间段时,等待所述当前仲裁帧的下一个仲裁时间段的到来,跳转到步骤S110,直至所述标识符发送成功或所述当前仲裁时间段已是当前仲裁帧的最后一个仲裁时间段。
步骤S610在检验时间段,判断是否有通信节点发送标识符到所述仲裁总线上;
步骤S710当有通信节点发送标识符到所述仲裁总线上时,在当前仲裁帧已获得数据发送权的通信节点降低自己的标识符发送概率。
具体的,本实施例仲裁帧除了包含等于数据总线数量的仲裁时间段,还包含检验时间段,该检验时间段用于检验是否存在排队等待的待发通信节点;该排队等待的待发通信节点,有数据发送需求,但由于其标识符优先级低于其他通信节点,所以在当前仲裁帧内未能获得数据发送权。仲裁时间段仍用于选出优胜通信节点,获得目标数据总线的下一个数据帧的使用权。
通过检验时间段的标识符发送情况,可以判断是否存在低优先级的通信节点在等待数据发送。如果不存在待发通信节点,则本次仲裁帧内的处理结束。当存在待发通信节点时,为了避免低优先级的通信节点等待时间过长,逐步降低已获得数据发送权的高优先级的通信节点的标识符发送概率,当高优先级的通信节点的标识符发送概率降到预设门限以下时,则不允许该通信节点发送标识符到仲裁总线上,从而让排队等待的低优先级的通信节点有机会获得数据发送权。标识符发送概率降到预设门限以下的通信节点,可以在延迟若干仲裁帧后,恢复其标识符发送概率为初始值,从而恢复其对数据发送权的竞争。延迟的仲裁帧数可以根据应用需要来设置。
示例,总线结构包括1对仲裁总线和2对数据总线,一个仲裁帧包含2个仲裁时间段和1个校验时间段,仲裁时间段排在校验时间段之前。两个仲裁时间段用于选择优胜通信节点,获得第1对数据总线和第2对数据总线的数据发送权,校验时间段用于表明是否还存在排队等待的待发通信节点。有四个通信节点参与数据发送权的竞争,各通信节点的标识符优先级为:通信节点1>通信节点2>通信节点3>通信节点4。在第1个仲裁时间段,通信节点1胜出,获得第1对数据总线的数据发送权,在当前仲裁帧不再发送标识符。在第2个仲裁时间段,通信节点2胜出,获得第2对数据总线的数据发送权,在当前仲裁帧不再发送标识符。在校验时间段,通信节点3、通信节点4发送标识符,仲裁总线上呈现通信节点3的标识符,这表明存在排队等待的待发通信节点。通信节点1、通信节点2根据校验时间段的标识符发送情况,知道还有排队等待的待发通信节点,则降低自己的标识符发送概率。后续仲裁帧重复上述过程,比如,上述仲裁情况持续N次后,通信节点1、2的标识符发送概率降到低于门限,被禁止发送标识符参与数据总线的竞争;所以通信节点3、4开始获得数据发送权。当延迟M个仲裁帧后,通信节点1、2的标识符发送概率恢复初值,又可以参与数据总线使用权的仲裁过程。
本实施例在有较多通信节点有数据发送需求、数据总线冲突较严重时,为了增加公平性,避免低优先级的通信节点长期不能获得数据总线的使用权,通过降低已经成功取得发送权的通信节点的标识符的发送概率,让高优先级的通信节点少参与仲裁,从而增加低优先级的通信节点获得数据总线使用权的机会。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种高速总线结构,其特征在于,包括:
至少两对数据总线,所有的数据总线均以数据帧为单位进行传输;
一对仲裁总线,用于所述数据总线的仲裁;所述仲裁总线以仲裁帧为单位进行传输,所述仲裁帧与所述数据帧的传输时间相同,每个仲裁帧包含至少两个仲裁时间段,每个仲裁时间段仲裁出该时间段的优胜通信节点;
若干通信节点,各通信节点分别并联挂接在各个数据总线上以及所述仲裁总线上;
每个通信节点包括:
仲裁接口模块,用于将自己的标识符发送到所述仲裁总线上;
数据发送模块,用于将自己的数据发送到目标数据总线上;
控制模块,用于当检测到自己有数据发送需求时,控制所述仲裁接口模块在当前仲裁帧的当前仲裁时间段将自己的标识符发送到所述仲裁总线上;以及,当检测到所述标识符发送成功时,所述通信节点为该时间段的优胜通信节点,并控制所述数据发送模块在下一个数据帧将自己的数据发送到目标数据总线上,同时在所述当前仲裁帧内不再发送所述标识符;当检测到所述标识符发送失败,且当前仲裁时间段不是所述当前仲裁帧的最后一个仲裁时间段时,在所述当前仲裁帧的下一个仲裁时间段,控制所述仲裁接口模块将所述标识符重新发送到所述仲裁总线上,直至所述标识符发送成功或已到达当前仲裁帧的最后一个仲裁时间段。
2.根据权利要求1所述的高速总线结构,其特征在于:
所述控制模块,进一步用于在当前仲裁帧的当前仲裁时间段,没有一通信节点发送标识符时,则在下一个数据帧所述目标数据总线上无数据发送。
3.根据权利要求1所述的高速总线结构,其特征在于:
每个仲裁帧的仲裁时间段的数量等于所述数据总线的数量。
4.根据权利要求1-3任一项所述的高速总线结构,其特征在于:
每个仲裁帧还包含检验时间段,所述检验时间段用于检验是否存在排队等待的待发通信节点。
5.根据权利要求4所述的高速总线结构,其特征在于:
所述控制模块,进一步用于当当前仲裁帧的检验时间段表明还存在排队等待的待发通信节点时,在当前仲裁帧已获得数据发送权的通信节点降低自己的标识符的发送概率;以及,在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点在其标识符发送概率大于预设门限时,控制仲裁接口模块将自己的标识符发送到所述仲裁总线上以参与数据总线的数据发送权竞选。
6.一种通信节点间传输数据的方法,其特征在于,应用于权利要求1所述的高速总线结构,包括:
在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点将自己的标识符发送到仲裁总线上以参与数据总线的数据发送权竞选;
当检测到所述标识符发送成功时,所述通信节点为该时间段的优胜通信节点,并在下一个数据帧将自己的数据发送到目标数据总线上,同时在所述当前仲裁帧内不再发送所述标识符;
当检测到所述标识符发送失败,且当前仲裁时间段不是所述当前仲裁帧的最后一个仲裁时间段时,在所述当前仲裁帧的下一个仲裁时间段,所述通信节点将所述标识符重新发送到所述仲裁总线上,直至所述标识符发送成功或已到达当前仲裁帧的最后一个仲裁时间段。
7.根据权利要求6所述的通信节点间传输数据的方法,其特征在于,还包括:
在当前仲裁帧的当前仲裁时间段,没有一通信节点发送标识符时,则在下一个数据帧所述目标数据总线上无数据发送。
8.根据权利要求6所述的通信节点间传输数据的方法,其特征在于:
每个仲裁帧的仲裁时间段的数量等于所述数据总线的数量。
9.根据权利要求6-8任一项所述的通信节点间传输数据的方法,其特征在于:
每个仲裁帧还包含检验时间段,所述检验时间段用于检验是否存在排队等待的待发通信节点。
10.根据权利要求9所述的通信节点间传输数据的方法,其特征在于:
当当前仲裁帧的检验时间段表明还存在排队等待的待发通信节点时,在当前仲裁帧已获得数据发送权的通信节点降低自己的标识符发送概率;
所述的在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点将自己的标识符发送到仲裁总线上以参与数据总线的数据发送权竞选还包括:
在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点在其标识符发送概率大于预设门限时,将自己的标识符发送到所述仲裁总线上以参与数据总线的数据发送权竞选。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010293917.0A CN111314192A (zh) | 2020-04-15 | 2020-04-15 | 一种高速总线结构和通信节点间传输数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010293917.0A CN111314192A (zh) | 2020-04-15 | 2020-04-15 | 一种高速总线结构和通信节点间传输数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111314192A true CN111314192A (zh) | 2020-06-19 |
Family
ID=71147547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010293917.0A Pending CN111314192A (zh) | 2020-04-15 | 2020-04-15 | 一种高速总线结构和通信节点间传输数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314192A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0137609B1 (en) * | 1983-09-27 | 1990-07-25 | Trw Inc. | Multi-master communication bus |
EP0679275A1 (en) * | 1993-01-14 | 1995-11-02 | Apple Computer, Inc. | A communication node with a first bus configuration for arbitration and a second bus configuration for data transfer |
CN1329446A (zh) * | 2001-03-28 | 2002-01-02 | 深圳市中兴集成电路设计有限责任公司 | 基站系统内部交换网络的实现方法及体系结构 |
CN1758622A (zh) * | 2005-11-11 | 2006-04-12 | 哈尔滨工业大学 | 信息处理装置之间的异构多总线数据传输方法 |
CN1770130A (zh) * | 2004-11-01 | 2006-05-10 | 松下电器产业株式会社 | 总线控制器件及方法、仲裁器件及方法和集成电路器件 |
CN103218331A (zh) * | 2012-12-07 | 2013-07-24 | 浙江大学 | 采用同步模式切换及帧优先级自动调整的总线装置及方法 |
CN103546355A (zh) * | 2013-11-01 | 2014-01-29 | 成都信息工程学院 | 多主无损总线竞争技术 |
CN108667705A (zh) * | 2018-05-09 | 2018-10-16 | 江苏恩达通用设备有限公司 | 一种canfd总线的仲裁方法 |
CN109905306A (zh) * | 2019-01-30 | 2019-06-18 | 北京深蓝同创科技有限公司 | 一种低成本多主总线通信控制系统 |
-
2020
- 2020-04-15 CN CN202010293917.0A patent/CN111314192A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0137609B1 (en) * | 1983-09-27 | 1990-07-25 | Trw Inc. | Multi-master communication bus |
EP0679275A1 (en) * | 1993-01-14 | 1995-11-02 | Apple Computer, Inc. | A communication node with a first bus configuration for arbitration and a second bus configuration for data transfer |
CN1329446A (zh) * | 2001-03-28 | 2002-01-02 | 深圳市中兴集成电路设计有限责任公司 | 基站系统内部交换网络的实现方法及体系结构 |
CN1770130A (zh) * | 2004-11-01 | 2006-05-10 | 松下电器产业株式会社 | 总线控制器件及方法、仲裁器件及方法和集成电路器件 |
CN1758622A (zh) * | 2005-11-11 | 2006-04-12 | 哈尔滨工业大学 | 信息处理装置之间的异构多总线数据传输方法 |
CN103218331A (zh) * | 2012-12-07 | 2013-07-24 | 浙江大学 | 采用同步模式切换及帧优先级自动调整的总线装置及方法 |
CN103546355A (zh) * | 2013-11-01 | 2014-01-29 | 成都信息工程学院 | 多主无损总线竞争技术 |
CN108667705A (zh) * | 2018-05-09 | 2018-10-16 | 江苏恩达通用设备有限公司 | 一种canfd总线的仲裁方法 |
CN109905306A (zh) * | 2019-01-30 | 2019-06-18 | 北京深蓝同创科技有限公司 | 一种低成本多主总线通信控制系统 |
Non-Patent Citations (2)
Title |
---|
刘峰,葛霁光: "共享总线多微处理器系统中分布式仲裁方案的研究及实现", 《浙江大学学报(工学版)》 * |
张超: "VME总线多通道数据采集系统的实现", 《中国优秀硕士学位论文全文数据库(电子期刊)·信息科技辑》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0094180B1 (en) | Dual-count, round-robin distributed arbitration technique for serial buses | |
US10020958B2 (en) | Can fd | |
KR101519793B1 (ko) | 차량용 네트워크 시스템 및 이 시스템 내 이종 통신 제어기의 데이터 전송 방법 | |
US8179918B2 (en) | Relay connection unit for vehicle | |
US20100158045A1 (en) | Method for transmitting/receiving data frame in can protocol | |
CN104333499B (zh) | 基于m‑lvds的装置背板高速总线链路层通信协议 | |
DK3035605T3 (en) | VARIABLE DATA SPEED CONTROL PROTOCOL | |
US5696911A (en) | Arrangement for eliminating malfunction and/or permitting high-speed transmission in a serial bus connection, and transmitter and receiver units linked to the latter | |
JP2012104919A (ja) | 通信システム、マスタノード、スレーブノード | |
CN108307439B (zh) | 一种在大量多跳无线节点下的自适应退避方法 | |
US10200290B2 (en) | Station and method for serial data transmission using dynamic reprioritizing of data frames | |
EP3599743B1 (en) | Method and device for communicating data frames on a multi-master bus | |
CN113904762B (zh) | 一种带环形缓冲区的全双工485总线通信系统及方法 | |
JP6500765B2 (ja) | 通信システム | |
US6778551B1 (en) | Collision control systems and methods utilizing an inter-frame gap code counter | |
CN110266568B (zh) | 串行总线系统的成员站和串行总线系统中数据传输的方法 | |
US7860984B2 (en) | Method and device for the creation of a communication system based on CAN communication controllers featuring an increased data throughput | |
WO2008119922A1 (en) | Token bus communication system | |
CN111314191A (zh) | 一种数据传输系统和方法 | |
KR102366436B1 (ko) | 검사 기능을 갖는 전송 유닛 | |
EP0237839B1 (en) | Serial data bus for intermodule data communications and method of data arbitration and collision detection on a data bus | |
CN111314192A (zh) | 一种高速总线结构和通信节点间传输数据的方法 | |
CN112398901B (zh) | 执行双报文仲裁的方法和系统 | |
CN111478841A (zh) | 一种采用特殊编码方式的数据传输系统和方法 | |
CN111314194A (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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20220830 |