CN111478841A - 一种采用特殊编码方式的数据传输***和方法 - Google Patents
一种采用特殊编码方式的数据传输***和方法 Download PDFInfo
- Publication number
- CN111478841A CN111478841A CN202010293916.6A CN202010293916A CN111478841A CN 111478841 A CN111478841 A CN 111478841A CN 202010293916 A CN202010293916 A CN 202010293916A CN 111478841 A CN111478841 A CN 111478841A
- Authority
- CN
- China
- Prior art keywords
- arbitration
- symbol
- data
- bus
- 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
-
- 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
- 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个仲裁时间段,仲裁时间段供通信节点发送标识符。在每个仲裁时间段,有数据发送需求的通信节点在未获得数据发送权之前都可以将自己的标识符的每个符号按位发送到仲裁总线上。
先介绍由两条仲裁线上的驱动电压构成的驱动电压对,比如对于一个总线电压在0~7V波动的双绞线,定义低于0.5V为电平0,0.5V~1.5V之间为电平1,1.5V~2.5V之间为电平2,2.5V~3.5V之间为电平3,3.5V~4.5V之间为电平4,4.5V~5.5V之间为电平5,5.5V~6.5V之间为电平6,高于6.5V为电平7,驱动电压对(1,2)表示仲裁线1上的驱动电压为电平1,仲裁线2上的驱动电压为电平2。
标识符的每个符号为逻辑数字,每个符号经编码得到仲裁总线上的对应驱动电压对。假定符号1对应的电压对为(1,2),通信节点发送符号1时,先对符号1进行编码,根据符号-驱动电压对的映射表找到对应的驱动电压对(1,2),再把该驱动电压对经仲裁接口模块转换成相应的驱动电压,比如(1v,2v),分别对上述驱动电压进行放大,在接口导通的情况下,放大后的电压传导到两条仲裁线上,即符号1成功发送到仲裁总线上。通信节点在判断符号是否成功发送到仲裁总线时,查询仲裁总线的两条仲裁线上的实际电压,再去除固定的放大倍数后得到驱动电压对,再对该驱动电压对解码,得到对应的符号,比如根据驱动电压对(1,2)得到符号1。
通常***中只有一种编码方式将符号转换成驱动电压对,每个符号与驱动电压对是一一对应,不同的符号对应不同的驱动电压对,但本实施例中,存在两种编码方式,使其产生两组不同的符号电压表,同一符号根据前一个符号状态而从所述两组符号电压中获得不同的驱动电压。当连续发送相同的符号时,选与前一个符号选取驱动电压的符号电压表不同的符号电压表,并进行选取驱动电压。
采用此种编码方式是为了使至少一条仲裁线上的电压有较大波动,根据该波动很容易识别一个旧符号的发送结束、一个新符号的发送开始,亦可根据符号跳变来起到时钟恢复和时钟定位的作用。如果只有一种编码方式,当连续发送相同的符号时,由于前后发送的编码结果相同,所以对应仲裁线上的电压是不变的,各个通信节点在接收仲裁总线上的符号时,就不容易区分是对应一个符号,还是对应两个相同的符号,这容易导致通信节点判断失误,影响数据发送权的竞争。采用两种编码方式,可以避免且优化前述问题。
该通信节点每发送标识符的一位符号后,监测所述仲裁总线上的符号;当所述仲裁总线上的符号与该通信节点发送的符号不同时,则认为所述标识符的发送失败,并停止所述标识符的后续符号的发送;当所述仲裁总线上的符号与该通信节点发送的符号相同时,则表明该通信节点成功发送所述标识符的一位符号;如果还有符号要发送,则继续发送所述标识符的下一位符号;当该通信节点成功发送所述标识符的所有符号时,则认为所述标识符的发送成功。
当多个通信节点同时发送标识符时,能够正确将标识符发送到仲裁总线上的通信节点获得本次仲裁的胜出,成为优胜通信节点,获得目标数据总线的下一个数据帧的使用权,同时在该仲裁帧内停止发送自己的标识符。
如果检测到标识符发送失败,且当前仲裁时间段不是当前仲裁帧的最后一个仲裁时间段,则该通信节点可以继续参与后续的仲裁,在当前仲裁帧的下一个仲裁时间段到来时继续发送标识符以参与数据总线的数据发送权竞选,即当下一个仲裁时间段成为当前仲裁时间段时,继续发送标识符,争取获得目标数据总线的使用权。
示例:总线结构包括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次仲裁。
没有竞争成功的设备在一个仲裁帧有多次仲裁机会,可以持续发送标识符,一旦竞争成功,则在当前仲裁帧不再发送标识符,目的是给其他设备机会。在下一个仲裁帧,所有设备重新参与仲裁。
由于存在多对数据总线,所以在每个仲裁帧可以竞争出多个通信节点获得数据总线的使用权,从而提升数据总线的传输速率。
在本发明的另一个实施例中,如图1所示,一种采用特殊编码方式的数据传输***,包括:
在前一个实施例的基础上,增加仲裁接口模块的功能,如下:
仲裁接口模块100,进一步用于在将标识符发送到所述仲裁总线的过程中,当所发送符号不是第一个符号,且与前一个符号之和为偶数时,则采用与前一个符号不同编码方式所产生的编码结果进行发送;以及,当所发送符号不是第一个符号,且与前一个符号之和为奇数时,则采用与前一个符号相同编码方式所产生的编码结果进行发送。
同一符号在不同编码方式下的编码结果反映到仲裁总线上,至少存在一条仲裁线的电压差达到预设阈值。
具体的,示例,假设驱动电压共有8种电平,分别对应电平0~7,如表1(仲裁线驱动电压编码表)所示,优选的编码方式,从64种电压组合中选出两组各16个电压组合对应于16种符号。符号发送规则为:如果当前符号和前一个符号的和为偶数时,则输出与前一个符号不同组里的对应电压,即如果上一个编码使用的是第一组中的电压值,则本次编码改用第二组中的对应电压。如果当前符号和前一个符号的和为奇数时,则使用与上一个符号相同组里的对应电压,即如果上一个编码使用的是第一组中的电压值,则本次编码继续使用第一组中的对应电压。假设前一符号为5,使用的是表1所示的第一种编码方式,对应的驱动电压对为(4,4),则按照本实施例的符号发送规则,当前符号依次为0~15所对应的驱动电压对如表2所示。
采用本实施例中的符号发送规则,任意两个符号的连续发送都对应仲裁总线上有比较明显的电压波动,有利于各通信节点异步方式下恢复时钟信号,正确识别仲裁总线上的符号,降低了解码的复杂度,提高了解码的成功率,增强了***的抗干扰能力。该符号发送规则在现有仲裁接口上采用软件方式实现,相对硬件实现方式,降低了成本。
在本发明的一个实施例中,如图2所示,一种采用特殊编码方式的数据传输方法,该方法基于前述任一实施例描述的采用特殊编码方式的数据传输***,包括:
步骤S100在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点将由多个符号组成的标识符发送到所述仲裁总线上以参与数据总线的数据发送权竞选,其中,当所发送符号不是第一个符号,且与前一个符号相同时,则采用与前一个符号不同编码方式所产生的编码结果进行发送。
具体的,每个通信节点都有一个唯一的、用于标识自身的标识符,标识符由一个或多个符号组成。每个通信节点在发送数据前必须先在仲裁总线上发送自己的标识符,当自己的标识符在仲裁总线上发送成功后,该通信节点获得目标数据总线的使用权限,然后才能在目标数据总线的下一帧进行数据发送。仲裁总线上是按仲裁帧进行传输,一个仲裁帧至少包含2个仲裁时间段,仲裁时间段供通信节点发送标识符。在每个仲裁时间段,有数据发送需求的通信节点未获得数据发送权之前都可以将自己的标识符按位发送到仲裁总线上。
先介绍由两条仲裁线上的驱动电压构成的驱动电压对,比如对于一个总线电压在0~7V波动的双绞线,定义低于0.5V为电平0,0.5V~1.5V之间为电平1,1.5V~2.5V之间为电平2,2.5V~3.5V之间为电平3,3.5V~4.5V之间为电平4,4.5V~5.5V之间为电平5,5.5V~6.5V之间为电平6,高于6.5V为电平7,驱动电压对(1,2)表示仲裁线1上的驱动电压为电平1,仲裁线2上的驱动电压为电平2。
标识符的每个符号为逻辑数字,每个符号经编码得到仲裁总线上的对应驱动电压对。假定符号1对应的电压对为(1,2),通信节点发送符号1时,先对符号1进行编码,根据符号-驱动电压对的映射表找到对应的驱动电压对(1,2),再把该驱动电压对经仲裁接口模块转换成相应的驱动电压,比如(1v,2v),分别对上述驱动电压进行放大,在接口导通的情况下,放大后的电压传导到两条仲裁线上,即符号1成功发送到仲裁总线上。通信节点在判断符号是否成功发送到仲裁总线时,查询仲裁总线的两条仲裁线上的实际电压,再去除固定的放大倍数后得到驱动电压对,再对该驱动电压对解码,得到对应的符号,比如根据驱动电压对(1,2)得到符号1。
通常***中只有一种编码方式将符号转换成驱动电压对,每个符号与驱动电压对是一一对应,不同的符号对应不同的驱动电压对,但本实施例中,存在两种编码方式,同一符号根据不同编码方式可以获得不同的驱动电压对,当连续发送相同的符号时,采用与前一个符号不同编码方式下的编码结果进行发送,这样可以使至少一条仲裁线上的电压有较大波动,根据该波动很容易识别一个旧符号的发送结束、一个新符号的发送开始。如果只有一种编码方式,当连续发送相同的符号时,由于前后发送的编码结果相同,所以对应仲裁线上的电压是不变的,各个通信节点在接收仲裁总线上的符号时,就不容易区分是对应一个符号,还是对应两个相同的符号,这容易导致通信节点判断失误,影响数据发送权的竞争。采用两种编码方式,可以避免前述问题。
步骤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所示,一种采用特殊编码方式的数据传输方法,包括:
在前一个实施例的基础上,用步骤S110、S120替换步骤S100。
步骤S110在当前仲裁帧的当前仲裁时间段,当所发送符号不是第一个符号,且与前一个符号之和为偶数时,则有数据发送需求的通信节点采用与前一个符号不同编码方式所产生的编码结果进行发送;
步骤S120当所发送符号不是第一个符号,且与前一个符号之和为奇数时,则有数据发送需求的通信节点采用与前一个符号相同编码方式所产生的编码结果进行发送。
同一符号在不同编码方式下的编码结果反映到仲裁总线上,至少存在一条仲裁线的电压差达到预设阈值。
具体的,示例,假设驱动电压共有8种电平,分别对应电平0~7,如表1(仲裁线驱动电压编码表)所示,优选了两种编码方式,从64种电压组合中选出两组各16个电压组合对应于16种符号。符号发送规则为:如果当前符号和前一个符号的和为偶数时,则输出与前一个符号不同组里的对应电压,即如果上一个编码使用的是第一组中的电压值,则本次编码改用第二组中的对应电压。如果当前符号和前一个符号的和为奇数时,则使用与上一个符号相同组里的对应电压,即如果上一个编码使用的是第一组中的电压值,则本次编码继续使用第一组中的对应电压。假设前一符号为5,使用的是表1所示的第一种编码方式,对应的驱动电压对为(4,4),则按照本实施例的符号发送规则,当前符号依次为0~15所对应的驱动电压对如表2所示。
采用本实施例中的符号发送规则,任意两个符号的连续发送都对应仲裁总线上有比较明显的电压波动,有利于各通信节点异步方式下恢复时钟信号,正确识别仲裁总线上的符号,降低了解码的复杂度,提高了解码的成功率,增强了***的抗干扰能力。该符号发送规则在现有仲裁接口上采用软件方式实现,相对硬件实现方式,降低了成本。
表1
表2
前一符号 | 当前符号 | 驱动电压对 | 前一符号 | 当前符号 | 驱动电压对 |
5 | 0 | (0,0) | 5 | 8 | (2,0) |
5 | 1 | (7,1) | 5 | 9 | (5,3) |
5 | 2 | (0,2) | 5 | 10 | (2,2) |
5 | 3 | (7,3) | 5 | 11 | (5,5) |
5 | 4 | (0,4) | 5 | 12 | (2,4) |
5 | 5 | (7,5) | 5 | 13 | (5,7) |
5 | 6 | (0,6) | 5 | 14 | (2,6) |
5 | 7 | (7,7) | 5 | 15 | (5,1) |
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种采用特殊编码方式的数据传输***,其特征在于,包括:
至少两对数据总线,所有的数据总线均以数据帧为单位进行传输;
一对仲裁总线,用于所述数据总线的仲裁;所述仲裁总线以仲裁帧为单位进行传输,所述仲裁帧与所述数据帧的传输时间相同,每个仲裁帧包含至少两个仲裁时间段,每个仲裁时间段仲裁出该时间段的优胜通信节点;
若干通信节点,各通信节点分别并联挂接在各个数据总线上以及所述仲裁总线上;
每个通信节点包括:
仲裁接口模块,用于将由多个符号组成的标识符发送到所述仲裁总线上以参与数据总线的数据发送权竞选,其中,当所发送符号不是第一个符号,且与前一个符号相同时,则采用与前一个符号不同编码方式所产生的编码结果进行发送;
数据发送模块,用于将自己的数据发送到目标数据总线上;
控制模块,用于当检测到自己有数据发送需求时,控制所述仲裁接口模块在当前仲裁帧的当前仲裁时间段将自己的标识符发送到所述仲裁总线上;以及,当检测到所述标识符发送成功时,所述通信节点为该时间段的优胜通信节点,并控制所述数据发送模块在下一个数据帧将自己的数据发送到目标数据总线上,同时在所述当前仲裁帧内不再发送所述标识符;当检测到所述标识符发送失败,且当前仲裁时间段不是所述当前仲裁帧的最后一个仲裁时间段时,在所述当前仲裁帧的下一个仲裁时间段,控制所述仲裁接口模块将所述标识符重新发送到所述仲裁总线上,直至所述标识符发送成功或已到达当前仲裁帧的最后一个仲裁时间段。
2.根据权利要求1所述的采用特殊编码方式的数据传输***,其特征在于:
每个仲裁帧的仲裁时间段的数量等于所述数据总线的数量。
3.根据权利要求1或2所述的采用特殊编码方式的数据传输***,其特征在于:
所述仲裁接口模块,进一步用于在将标识符发送到所述仲裁总线的过程中,当所发送符号不是第一个符号,且与前一个符号之和为偶数时,则采用与前一个符号不同编码方式所产生的编码结果进行发送。
4.根据权利要求3所述的采用特殊编码方式的数据传输***,其特征在于:
所述仲裁接口模块,进一步用于在将标识符发送到所述仲裁总线的过程中,当所发送符号不是第一个符号,且与前一个符号之和为奇数时,则采用与前一个符号相同编码方式所产生的编码结果进行发送。
5.根据权利要求1所述的采用特殊编码方式的数据传输***,其特征在于:
同一符号在不同编码方式下的编码结果反映到仲裁总线上,至少存在一条仲裁线的电压差达到预设阈值。
6.一种采用特殊编码方式的数据传输方法,其特征在于,应用于权利要求1所述的采用特殊编码方式的数据传输***,包括:
在当前仲裁帧的当前仲裁时间段,有数据发送需求的通信节点将由多个符号组成的标识符发送到所述仲裁总线上以参与数据总线的数据发送权竞选,其中,当所发送符号不是第一个符号,且与前一个符号相同时,则采用与前一个符号不同编码方式所产生的编码结果进行发送;
所述通信节点检测自己的标识符是否发送成功;
当检测到所述标识符发送成功时,所述通信节点为该时间段的优胜通信节点,并在下一个数据帧将自己的数据发送到目标数据总线上,同时在所述当前仲裁帧内不再发送所述标识符;
当检测到所述标识符发送失败,且当前仲裁时间段不是所述当前仲裁帧的最后一个仲裁时间段时,在所述当前仲裁帧的下一个仲裁时间段,所述通信节点将所述标识符重新发送到所述仲裁总线上,直至所述标识符发送成功或已到达当前仲裁帧的最后一个仲裁时间段。
7.根据权利要求6所述的采用特殊编码方式的数据传输方法,其特征在于,还包括:
每个仲裁帧的仲裁时间段的数量等于所述数据总线的数量。
8.根据权利要求6或7所述的采用特殊编码方式的数据传输方法,其特征在于,所述将由多个符号组成的标识符发送到所述仲裁总线上以参与数据总线的数据发送权竞选还包括:
在将标识符发送到所述仲裁总线的过程中,当所发送符号不是第一个符号,且与前一个符号之和为偶数时,则采用与前一个符号不同编码方式所产生的编码结果进行发送。
9.根据权利要求8所述的采用特殊编码方式的数据传输方法,其特征在于,所述将由多个符号组成的标识符发送到所述仲裁总线上以参与数据总线的数据发送权竞选还包括:
在将标识符发送到所述仲裁总线的过程中,当所发送符号不是第一个符号,且与前一个符号之和为奇数时,则采用与前一个符号相同编码方式所产生的编码结果进行发送。
10.根据权利要求6所述的采用特殊编码方式的数据传输方法,其特征在于:
同一符号在不同编码方式下的编码结果反映到仲裁总线上,至少存在一条仲裁线的电压差达到预设阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010293916.6A CN111478841A (zh) | 2020-04-15 | 2020-04-15 | 一种采用特殊编码方式的数据传输***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010293916.6A CN111478841A (zh) | 2020-04-15 | 2020-04-15 | 一种采用特殊编码方式的数据传输***和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111478841A true CN111478841A (zh) | 2020-07-31 |
Family
ID=71752576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010293916.6A Pending CN111478841A (zh) | 2020-04-15 | 2020-04-15 | 一种采用特殊编码方式的数据传输***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111478841A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116094867A (zh) * | 2023-04-10 | 2023-05-09 | 湖南鲸瓴智联信息技术有限公司 | 基于mlvds总线的时间敏感网络控制协议设计方法 |
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 |
US5805836A (en) * | 1996-12-10 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for equalizing grants of a data bus to primary and secondary devices |
CN1329446A (zh) * | 2001-03-28 | 2002-01-02 | 深圳市中兴集成电路设计有限责任公司 | 基站***内部交换网络的实现方法及体系结构 |
CN1442795A (zh) * | 1996-06-27 | 2003-09-17 | 交互数字技术公司 | 在高速数据总线上并行传输数据的方法和设备 |
CN1758622A (zh) * | 2005-11-11 | 2006-04-12 | 哈尔滨工业大学 | 信息处理装置之间的异构多总线数据传输方法 |
CN103218331A (zh) * | 2012-12-07 | 2013-07-24 | 浙江大学 | 采用同步模式切换及帧优先级自动调整的总线装置及方法 |
CN103546355A (zh) * | 2013-11-01 | 2014-01-29 | 成都信息工程学院 | 多主无损总线竞争技术 |
CN109905306A (zh) * | 2019-01-30 | 2019-06-18 | 北京深蓝同创科技有限公司 | 一种低成本多主总线通信控制*** |
-
2020
- 2020-04-15 CN CN202010293916.6A patent/CN111478841A/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 |
CN1442795A (zh) * | 1996-06-27 | 2003-09-17 | 交互数字技术公司 | 在高速数据总线上并行传输数据的方法和设备 |
US5805836A (en) * | 1996-12-10 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for equalizing grants of a data bus to primary and secondary devices |
CN1329446A (zh) * | 2001-03-28 | 2002-01-02 | 深圳市中兴集成电路设计有限责任公司 | 基站***内部交换网络的实现方法及体系结构 |
CN1758622A (zh) * | 2005-11-11 | 2006-04-12 | 哈尔滨工业大学 | 信息处理装置之间的异构多总线数据传输方法 |
CN103218331A (zh) * | 2012-12-07 | 2013-07-24 | 浙江大学 | 采用同步模式切换及帧优先级自动调整的总线装置及方法 |
CN103546355A (zh) * | 2013-11-01 | 2014-01-29 | 成都信息工程学院 | 多主无损总线竞争技术 |
CN109905306A (zh) * | 2019-01-30 | 2019-06-18 | 北京深蓝同创科技有限公司 | 一种低成本多主总线通信控制*** |
Non-Patent Citations (2)
Title |
---|
刘峰,葛霁光: "共享总线多微处理器***中分布式仲裁方案的研究及实现", 《浙江大学学报(工学版)》 * |
张超: "VME总线多通道数据采集***的实现", 《中国优秀硕士学位论文全文数据库(电子期刊)·信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116094867A (zh) * | 2023-04-10 | 2023-05-09 | 湖南鲸瓴智联信息技术有限公司 | 基于mlvds总线的时间敏感网络控制协议设计方法 |
CN116094867B (zh) * | 2023-04-10 | 2023-06-16 | 湖南鲸瓴智联信息技术有限公司 | 基于mlvds总线的时间敏感网络控制协议设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2597467C2 (ru) | Способ и устройство для адаптации надежности передачи данных в последовательной шинной системе | |
CN103218331B (zh) | 采用同步模式切换及帧优先级自动调整的总线装置及方法 | |
RU2620989C2 (ru) | Способ и устройство для повышения пропускной способности при передаче данных в последовательной шинной системе | |
US10051091B2 (en) | Network system for vehicle and data transmission method of heterogeneous communication controllers in the same system | |
US5768301A (en) | Apparatus and method for detecting and correcting pair swap, and implementing a link integrity function in a packet-based data communications system | |
US9032124B2 (en) | Definition of wakeup bus messages for partial networking | |
RU2597502C2 (ru) | Способ и устройство для адаптируемой к размерам памяти последовательной передачи данных | |
RU2597501C2 (ru) | Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита | |
US6411628B1 (en) | Distributed arbitration on a full duplex bus | |
RU2603534C2 (ru) | Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита | |
CN1192566C (zh) | 具有总线的电子装置 | |
CN108234267B (zh) | 一种基于m-lvds实时多主高速总线的通信*** | |
CN111314191A (zh) | 一种数据传输***和方法 | |
US10331610B2 (en) | UART with automated protocols | |
CN112887152A (zh) | 一种基于以太网的列车通信网络架构、方法及轨道列车 | |
CN104995874A (zh) | 具有协议异常状态的数据传输协议 | |
US20050080968A1 (en) | Method and apparatus of allocating minimum and maximum bandwidths on a bus-based communication system | |
CN111478841A (zh) | 一种采用特殊编码方式的数据传输***和方法 | |
WO2008119922A1 (en) | Token bus communication system | |
CN111478842A (zh) | 一种高速数据传输***和方法 | |
CN111314194A (zh) | 一种基于多电平逻辑运算的数据传输***和方法 | |
CN111478840A (zh) | 用于总线***的双速率仲裁中继设备 | |
RU2602353C2 (ru) | Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита | |
CN111314192A (zh) | 一种高速总线结构和通信节点间传输数据的方法 | |
CN111314190A (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 |