CN109995632A - 多机通信系统的通信方法、装置及系统 - Google Patents
多机通信系统的通信方法、装置及系统 Download PDFInfo
- Publication number
- CN109995632A CN109995632A CN201910409242.9A CN201910409242A CN109995632A CN 109995632 A CN109995632 A CN 109995632A CN 201910409242 A CN201910409242 A CN 201910409242A CN 109995632 A CN109995632 A CN 109995632A
- Authority
- CN
- China
- Prior art keywords
- communication
- communication unit
- data
- bus
- unit
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 743
- 238000004891 communication Methods 0.000 title claims abstract description 741
- 238000012544 monitoring process Methods 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims description 37
- 238000004806 packaging method and process Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
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/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
-
- 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
-
- 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/40052—High-speed IEEE 1394 serial bus
- H04L12/40117—Interconnection of audio or video/imaging devices
-
- 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
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5629—Admission control
- H04L2012/5631—Resource management and allocation
- H04L2012/5632—Bandwidth allocation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供了一种多机通信系统的通信方法、装置及系统,在多机通信系统中选取一个通信单元作为第一通信单元,其余通信单元作为第二通信单元,第一通信单元最先建立通信,并向通信总线发送数据之后,第二通信单元才在监测到通信总线连续被占用的时长超过第一预设值之后,再监测到通信总线连续处于空闲状态的时长超过第二预设值时建立通信。由于第二通信单元建立通信所需时长与第二预设值的和值小于通信总线从上次被占用后到下次被占用之间的空闲时长,使第二通信单元在通信总线处于空闲状态时可以完成通信建立,当通信总线被占用时,建立通信后的通信单元可以接收到完整的通信数据包,避免发生拼包错误。
Description
技术领域
本发明涉及通信技术领域,更具体的,涉及一种多机通信系统的通信方法、装置及系统。
背景技术
由多个通信单元组成的多机通信系统广泛应用于数据采集、能源管理、汽车电子等领域。
多机通信系统中,各通信单元在上电后建立通信,由于各通信单元的上电时刻存在差异,各通信单元在上电后建立通信的时刻也存在差异,因此各通信单元刚建立通信时,有可能只接收到总线上某包数据中的一部分数据,导致与后续接收到的部分数据发生拼包错误,在之后的通信中由于持续发生拼包错误而导致该通信单元无法加入到整个系统甚至导致整个系统通信瘫痪。
为了解决这一问题,在通信过程中,每接收完一个byte就启动一个定时,在定时时间结束之前如果一直没有接收到新的数据,则认为数据接收完毕;如果在定时时间结束之前接收到新的数据,则从接收到新数据开始复位定时,并在定时时间结束之后认定数据接收完毕。
上述通信过程中,以byte为基本单位接收数据大大增加了系统运算负担,而利用延时判断数据是否接收完毕也降低系统通信的实时性,因此,现有的通信方法无法适应对实时性要求较高的多机通信系统。
发明内容
有基于此,本发明提供了一种多机通信系统的通信方法、装置及系统,通过优化通信单元的通信建立时刻,使得系统通信拼包问题在通信建立之初即被规避。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种多机通信系统的通信方法,从多个通信单元中选取一个通信单元作为第一通信单元,其余通信单元作为第二通信单元,所述第一通信单元为系统初始化后第一个建立通信并向通信总线发送数据的通信单元,所述方法应用于所述第二通信单元,所述方法包括:
在预先设定的上电时刻上电,并在上电后进行通信初始化;
对所述通信总线的状态进行监测,当监测到所述通信总线连续被占用的时长超过第一预设值之后,再监测到所述通信总线连续处于空闲状态的时长超过第二预设值时,建立通信,其中,所述第二通信单元建立通信所需时长与所述第二预设值的和值小于所述通信总线从上次被占用后到下次被占用之间的空闲时长。
可选的,所述第一预设值按照以下方法进行设定:
计算每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长,设置所述第一预设值,所述第一预设值小于任意一个所述通信单元向所述通信总线发送数据时需要占用所述通信总线的时长,且大于干扰信号占用所述通信总线的时长。
可选的,所述每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长按照以下方法进行计算:
获取每个所述通信单元的通信数据格式、通信数据包长度和通信波特率,并分别依据每个所述通信单元的通信数据格式、通信数据包长度和通信波特率,计算每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长。
可选的,每个所述通信单元按照以下方法进行通信初始化:
所述通信单元对自身的通信模块进行初始化,并对通信建立信息进行初始化。
可选的,每个通信单元当接收的数据为通信总线上的连续数据包时按照以下方法接收数据:
所述通信单元在接收一个数据包之后启动定时;
在定时结束之前若一直未接收到新的数据包时,确定数据接收完毕;
在定时结束之前若接收到新的数据包时,则重新启动定时;
当确定数据接收完毕时判断所接收的数据是否完整;
若是,对接收的数据进行存储;
若否,将接收的数据舍弃。
一种多机通信系统的通信装置,应用于第二通信单元,所述第二通信单元为多机通信系统中除第一通信单元之外的通信单元,所述第一通信单元为系统初始化后第一个建立通信并向通信总线发送数据的通信单元,所述装置包括:
通信初始化单元,用于在预先设定的上电时刻上电,并在上电后进行通信初始化;
通信建立单元,用于对所述通信总线的状态进行监测,当监测到所述通信总线连续被占用的时长超过第一预设值之后,再监测到所述通信总线连续处于空闲状态的时长超过第二预设值时,建立通信,其中,所述第二通信单元建立通信所需时长与所述第二预设值的和值小于所述通信总线从上次被占用后到下次被占用之间的空闲时长。
可选的,所述通信初始化单元,具体用于:
对自身的通信模块进行初始化,并对通信建立信息进行初始化。
可选的,所述装置还包括:
定时单元,用于当接收的数据为通信总线上的连续数据包时,在接收一个数据包之后启动定时;在定时结束之前若一直未接收到新的数据包时,确定数据接收完毕;在定时结束之前若接收到新的数据包时,则重新启动定时;当确定数据接收完毕时判断所接收的数据是否完整;若是,对接收的数据进行存储;若否,将接收的数据舍弃。
一种多机通信系统,包括:
通信总线和接入所述通信总线的通信单元;
所述通信单元包括第一通信单元和第二通信单元;
所述第一通信单元为在所述多机通信系统初始化后被选取的第一个建立通信并向所述通信总线发送数据的通信单元;
所述第二通信单元为所述多机通信系统中除所述第一通信单元之外的通信单元;
所述第二通信单元用于执行如上述中任意一项所述的多机通信系统的通信方法。
一种多机通信系统,包括:
多条通信总线以及接入每条所述通信总线的通信单元;
针对于每条所述通信总线,在接入所述通信总线的多个通信单元中选取一个通信单元作为第一通信单元,其余通信单元作为第二通信单元,所述第一通信单元用于在所述多机通信系统初始化后第一个建立通信并向所述通信总线发送数据,所述第二通信单元用于执行如上述中任意一项所述的多机通信系统的通信方法。
相对于现有技术,本发明的有益效果如下:
本发明公开的一种多机通信系统的通信方法、装置及系统,在多机通信系统中针对每条通信总线选取一个通信单元作为第一通信单元,其余通信单元作为第二通信单元,第一通信单元最先建立通信,并向通信总线发送数据之后,第二通信单元监测到通信总线处于空闲状态时建立通信。由于第一通信单元首先建立通信,此时通信总线还未被占用可以接收到完整的通信数据包,第二通信单元在通信总线处于空闲状态时完成通信的建立,当通信总线再次被占用时就可以接收到完整的通信数据包,避免在通信总线被占用时通信单元完成通信建立,从而只能接收到通信总线上某包数据中的一部分数据,导致与后续接收到的部分数据发生拼包错误的问题。且通过监测通信总线连续被占用的时长超过第一预设值可以相对准确的判定通信总线处于被占用状态,避免干扰信号占用通信总线造成对通信总线状态的误判,在此基础上,再监测到通信总线连续处于空闲状态的时长超过第二预设值时即可相对准确的判定通信总线处于空闲状态,且第二通信单元建立通信所需时长与第二预设值的和值小于通信总线从上次被占用后到下次被占用之间的空闲时长,保证第二通信单元在通信总线处于空闲状态时可以完成通信的建立。
可见,本发明公开的一种多机通信系统的通信方法、装置及系统,通过优化通信单元的通信建立时刻,使得系统通信拼包问题在通信建立之初即被规避。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种多机通信系统的通信方法的流程示意图;
图2为本发明实施例公开的一种第二通信单元的通信建立方法的流程示意图;
图3为本发明实施例公开的一种通信单元向通信总线发送数据时需要占用通信总线的时长的计算方法的流程示意图;
图4为本发明实施例公开的一种多机通信系统中通信单元的通信建立方法的原理示意图;
图5为本发明实施例公开的基于定时的拼包错误的规避方法的原理示意图;
图6为本发明实施例公开的一种多机通信系统的通信装置的结构示意图;
图7为本发明实施例公开的另一种多机通信系统的通信装置的结构示意图;
图8为本发明实施例公开的一种多机通信系统的结构示意图;
图9为本发明实施例公开的另一种多机通信系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种多机通信系统的通信方法,多机通信系统可以为包括一条通信总线的单总线多机通信系统,也可以为包括多条通信总线的多总线多机通信系统。以单总线多机通信系统为例,多机通信系统包括通信总线和多个通信单元,各通信单元接入同一条通信总线。在多机通信系统初始化后,在多机通信系统中的多个通信单元中选取一个通信单元作为第一通信单元,其余通信单元作为第二通信单元,其中,第一通信单元为系统初始化后第一个建立通信并向通信总线发送数据的通信单元,本发明通过优化通信单元的通信建立时刻,使得系统通信拼包问题在通信建立之初即被规避。
具体的,请参阅图1,本实施例公开的一种多机通信系统的通信方法,该方法应用于第二通信单元,该方法包括以下步骤:
S101:在预先设定的上电时刻上电,并在上电后进行通信初始化;
每个通信单元依次在预先设定的上电时刻上电,并在上电后进行通信初始化,
第一通信单元首先在预先设定的上电时刻上电,然后在上电后进行通信初始化,最后建立通信。具体的,通信初始化包括对第一通信单元自身的通信模块进行初始化,再对通信建立信息进行初始化。
第一通信单元建立通信表示第一通信单元已具备与其他第二通信单元通信的条件。
第二通信单元进行通信初始化的方法与第一通信单元进行通信初始化的方法相同,都是在上电后对自身的通信模块进行初始化,再对通信建立信息进行初始化。
S102:对所述通信总线的状态进行监测,当监测到通信总线连续被占用的时长超过第一预设值之后,再监测到通信总线连续处于空闲状态的时长超过第二预设值时,建立通信,其中,第二通信单元建立通信所需时长与第二预设值的和值小于通信总线从上次被占用后到下次被占用之间的空闲时长。
其中,多机通信系统中,为了避免通信数据串扰,任何时刻只允许一个通信单元处于数据发送状态,其他通信单元均处于数据接收状态。当有通信单元处于数据发送状态时,通信总线处于被占用状态;当所有通信单元都处于数据接收状态时,通信总线处于空闲状态。
不同第二通信单元建立通信的时刻可以相同,为了避免通信数据串扰,不同第二通信单元发送数据的时间不同,任何时刻只允许一个通信单元处于数据发送状态,其他通信单元均处于数据接收状态。
可见,第一通信单元的特点为:
1、最先建立通信;
2、最先向通信总线发送数据,并以预设的通信周期向通信总线发送数据;
3、第一通信单元向通信总线发送数据时,第二通信单元不可以向通信总线发送数据。
需要说明的是,第一通信单元可以先于第二通信单元上电,也可以在第二通信单元之后再上电,但是,第一通信单元必然先于第二通信单元建立通信。
第二通信单元的特点为:
1、建立通信的时刻晚于第一通信单元;
2、必须在第一通信单元发送数据后才有可能向通信总线发送数据;
3、不同的第二通信单元不可同时向通信总线发送数据,不同第二通信单元向通信总线发送数据的顺序及时刻,按照预先设定的顺序及时刻即可。
具体的,请参阅图2,第二通信单元建立通信包括以下步骤:
S201:第二通信单元上电;
S202:第二通信单元对自身的通信模块进行初始化;
S203:第二通信单元对通信建立信息进行初始化;
S204:第二通信单元是否监测到通信总线连续被占用的时长超过第一预设值;
若是,执行S205:第二通信单元是否监测到通信总线连续处于空闲状态的时长超过第二预设值;
若是,执行S206:第二通信单元建立通信。
对于每个第二通信单元,监测到通信总线连续被占用的时长超过第一预设值,表示通信总线处于被占用状态,为了避免干扰信号占用通信总线影响第二通信单元对通信总线状态的监测,需要对第一预设值进行合理设置。
其中,第一预设值和第二预设值都是多机通信系统的通信协议中预先设定的,该通信协议可以为与多机通信系统通信连接的上位机设置的,上位机将该通信协议发送到多机通信系统的第一通信单元和每个第二通信单元,该通信协议也可以通过其他方式写入多机通信系统的第一通信单元和每个第二通信单元。
以上位机将上述通信协议发送到多机通信系统的第一通信单元和每个第二通信单元为例,上位机可以先计算每个通信单元向通信总线发送数据时需要占用通信总线的时长,再依据每个通信单元向通信总线发送数据时需要占用通信总线的时长,设置第一预设值,使第一预设值小于任意一个通信单元向通信总线发送数据时需要占用通信总线的时长,且大于干扰信号占用通信总线的时长。
具体的,请参阅图3,本实施例公开的一种通信单元向通信总线发送数据时需要占用通信总线的时长的计算方法,包括如下步骤:
S301:获取每个通信单元的通信数据格式;
通信数据格式表征了通信单元可识别的最短有效数据的数据位组成,通信单元在进行数据发送和接收时必须遵循既定的通信数据格式。
举例:假设某通信单元的通信数据格式为:3bits标识信息位+8bits数据位,则表明该通信单元可识别的最短有效数据信息包含11bits,其中数据位信息长度为8bits(1byte=8bits)。
S302:获取每个通信单元的通信数据包长度;
各通信单元正常工作时的通信数据长度包括向通信总线发送数据时的数据包长度,以及从通信总线接收数据时的数据包长度。
举例:假设上述通信单元正常通信时发送数据长度和接收数据长度均为10bytes,则表明上述通信单元每次向通信总线发送数据时的一个通信数据包的数据长度为10bytes,每次从通信总线接收数据时接满10bytes认为一个通信数据包的数据接收完毕。
S303:获取每个通信单元的通信波特率;
通信波特率是指单位时间内通信单元传输的通信数据位数。
举例:假设上述通信单元通信波特率为5Mbps,则表示上述通信单元1s内可连续发送5000000bits数据,换言之,上述通信单元发送1bit数据需要0.2μs。
S304:分别依据每个通信单元的通信数据格式、通信数据包长度和通信波特率,计算每个通信单元向通信总线发送数据时需要占用通信总线的时长。
通信单元每次向通信总线发送数据时需要占用通信总线的时长=通信单元每次发送数据包总长度(单位:byte)*通信单元发送单个byte数据对应的数据位数(单位:bit/byte)*通信单元发送1bit数据所需要的时间(单位:s/bit)。
举例:计算上述通信单元每次向总线发送数据时,占用通信总线的时长:(10bytes)*(11bits/1byte)*0.2μs/bit=22μs。
需要说明的是,这里通信单元发送单个byte数据对应的数据位数,不仅包括上述8bits数据位,还包括3bits标识信息位,即与通信数据格式对应,通信单元发送单个byte数据对应的数据位数为11bits。
第一预设值小于任意一个通信单元向通信总线发送数据时需要占用通信总线的时长,且大于干扰信号占用通信总线的时长,使第二通信单元可以较为准确监测通信总线的通信状态,避免干扰信号占用通信总线时导致第二通信单元误将通信总线的通信状态判定为被占用状态。
由于第二通信单元在监测到通信总线连续被占用的时长超过第一预设值之后,再监测到通信总线连续处于空闲状态的时长超过第二预设值时,建立通信,第二通信单元建立通信所需时长(不包括通信单元上电所需时长及其他通信初始化所需的时长,主要指通信配置时间)与第二预设值的和值小于通信总线从上次被占用后到下次被占用之间的空闲时长,则第二通信单元可以在通信总线从上次被占用后到下次被占用之间的空闲时间内建立通信。
如果第二通信单元也需要向通信总线发送数据,则各个需要向总线发送数据的通信单元发送数据时刻应有明显差异,以保证待建立通信的第二通信单元能够识别这段通信总线空闲时间。
当通信总线再次被占用时,建立通信后的第一通信单元和第二通信单元都可以接收到完整的通信数据包,避免在通信单元刚建立通信时只接收到通信总线上某包数据中的一部分数据,导致与后续接收到的部分数据发生拼包错误的问题。
举例:假设通信总线从上次被占用后到下次被占用的时长为10μs,则表明通信总线被通信单元占用结束后,被释放空闲10μs,然后通信总线被再次占用,也就是说,上一个通信单元占用通信总线发送数据完成之后,下一个通信单元需要等到10μs之后才能向通信总线发送数据。需要说明的是,两次占用通信总线的通信单元可以是同一个通信单元,也可以是不同的通信单元。如图4所示,在这段通信总线空闲时间内,如果有通信单元建立通信,则它随后接收到的数据就是完整的通信数据包。
可见,由于本实施例公开的一种多机通信系统的通信方法,通过优化通信单元的通信建立时刻,使得系统通信拼包问题在通信建立之初即被规避。本实施例公开的通信方法对通信系统的通信波特率、通信周期适应性强,在高通信波特率、高通信频率的系统中,避免采用现有技术中基于定时的拼包错误的规避方法导致系统通信的实时性降低的问题,应用优势明显。
在某些多机通信系统中,可能出现通信单元发送数据长度特别长,需要分包发送的情况。此时,通信最初建立仍然可以采用本实施例提出的多机通信系统的通信方法,通信数据包的完整性利用延时判断数据是否接收完毕的方法进行判定,如图5所示。在通信单元接收一个数据包之后启动定时,在定时结束之前若一直未接收到新的数据包时,确定数据接收完毕,在定时结束之前若接收到新的数据包时,则重新启动定时。
当确定数据接收完毕时,判断所接收的数据是否完整,若是,对接收的数据进行存储,若否,将接收的数据舍弃。
其中,判断所接收的数据是否完整的方法可以为:通信单元预先存储有其他通信单元的通信数据包长度,当接收到某个通信单元发送的数据时即可得到该通信单元的通信数据包长度,并判断此时所接收的数据是否达到该通信单元的通信数据包长度,若达到即判定所接收的数据完整。
基于上述实施例公开的一种多机通信系统的通信方法,本实施例对应公开了一种多机通信系统的通信装置,该装置设置在第二通信单元中,请参阅图6,该装置具体包括:
通信初始化单元601,用于在预先设定的上电时刻上电,并在上电后进行通信初始化;
通信建立单元602,用于对所述通信总线的状态进行监测,当监测到所述通信总线连续被占用的时长超过第一预设值之后,再监测到所述通信总线连续处于空闲状态的时长超过第二预设值时,建立通信,其中,所述第二通信单元建立通信所需时长与所述第二预设值的和值小于所述通信总线从上次被占用后到下次被占用之间的空闲时长。
请参阅图7,本实施例公开了另一种设置在第二通信单元中的一种多机通信系统的通信装置,包括:
通信初始化单元701,用于在预先设定的上电时刻上电,并在上电后进行通信初始化;
通信建立单元702,用于对所述通信总线的状态进行监测,当监测到所述通信总线连续被占用的时长超过第一预设值之后,再监测到所述通信总线连续处于空闲状态的时长超过第二预设值时,建立通信,其中,所述第二通信单元建立通信所需时长与所述第二预设值的和值小于所述通信总线从上次被占用后到下次被占用之间的空闲时长;
定时单元703,用于当接收的数据为通信总线上的连续数据包时,在接收一个数据包之后启动定时;在定时结束之前若一直未接收到新的数据包时,确定数据接收完毕;在定时结束之前若接收到新的数据包时,则重新启动定时;当确定数据接收完毕时判断所接收的数据是否完整;若是,对接收的数据进行存储;若否,将接收的数据舍弃。
基于上述实施例公开的一种多机通信系统的通信方法,请参阅图8,本实施例公开了一种多机通信系统,包括:
通信总线和接入所述通信总线的通信单元;
所述通信单元包括第一通信单元和第二通信单元;
所述第一通信单元为在所述多机通信系统初始化后被选取的第一个建立通信并向所述通信总线发送数据的通信单元;
所述第二通信单元为所述多机通信系统中除所述第一通信单元之外的通信单元;
所述第二通信单元用于执行如下多机通信系统的通信方法:
在预先设定的上电时刻上电,并在上电后进行通信初始化;
对所述通信总线的状态进行监测,当监测到所述通信总线连续被占用的时长超过第一预设值之后,再监测到所述通信总线连续处于空闲状态的时长超过第二预设值时,建立通信,其中,所述第二通信单元建立通信所需时长与所述第二预设值的和值小于所述通信总线从上次被占用后到下次被占用之间的空闲时长。
进一步,所述第一预设值按照以下方法进行设定:
与所述多机通信系统通信连接的上位机计算每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长,并依据每个所述通信单元向所述通信总线发送数据时需要占用所述通信总线的时长,设置所述第一预设值,所述第一预设值小于任意一个所述通信单元向所述通信总线发送数据时需要占用所述通信总线的时长,且大于干扰信号占用所述通信总线的时长。
进一步,所述每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长按照以下方法进行计算:
所述上位机获取每个所述通信单元的通信数据格式、通信数据包长度和通信波特率,并分别依据每个所述通信单元的通信数据格式、通信数据包长度和通信波特率,计算每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长。
进一步,每个所述通信单元按照以下方法进行通信初始化:
所述通信单元对自身的通信模块进行初始化,并对通信建立信息进行初始化。
进一步,每个通信单元当接收的数据为通信总线上的连续数据包时按照以下方法接收数据:
所述通信单元在接收一个数据包之后启动定时;
在定时结束之前若一直未接收到新的数据包时,确定数据接收完毕;
在定时结束之前若接收到新的数据包时,则重新启动定时;
当确定数据接收完毕时判断所接收的数据是否完整;
若是,对接收的数据进行存储;
若否,将接收的数据舍弃。
本实施例公开的一种多机通信系统,在多机通信系统中选取一个通信单元作为第一通信单元,其余通信单元作为第二通信单元,第一通信单元最先建立通信,并向通信总线发送数据之后,第二通信单元才在通信初始化之后监测到通信总线处于空闲状态时建立通信,由于第一通信单元首先建立通信,此时通信总线还未被占用可以接收到完整的通信数据包,第二通信单元在通信总线处于空闲状态时完成通信的建立,当通信总线再次被占用时就可以接收到完整的通信数据包,避免在通信总线被占用时通信单元完成通信建立,从而只能接收到通信总线上某包数据中的一部分数据,导致与后续接收到的部分数据发生拼包错误的问题。且通过监测通信总线连续被占用的时长超过第一预设值可以相对准确的判定通信总线处于被占用状态,避免干扰信号占用通信总线造成对通信总线状态的误判,在此基础上,再监测到通信总线连续处于空闲状态的时长超过第二预设值时即可相对准确的判定通信总线处于空闲状态,且第二通信单元建立通信所需时长与第二预设值的和值小于通信总线从上次被占用后到下次被占用之间的空闲时长,保证第二通信单元在通信总线处于空闲状态时可以完成通信的建立。
请参阅图9,本实施例还公开了另一种多机通信系统,包括:
多条通信总线以及接入每条所述通信总线的通信单元;
针对于每条所述通信总线,在接入所述通信总线的多个通信单元中选取一个通信单元作为第一通信单元,其余通信单元作为第二通信单元,所述第一通信单元用于在所述多机通信系统初始化后第一个建立通信并向所述通信总线发送数据,所述第二通信单元用于执行如下多机通信系统的通信方法:
在预先设定的上电时刻上电,并在上电后进行通信初始化;
对所述通信总线的状态进行监测,当监测到所述通信总线连续被占用的时长超过第一预设值之后,再监测到所述通信总线连续处于空闲状态的时长超过第二预设值时,建立通信,其中,所述第二通信单元建立通信所需时长与所述第二预设值的和值小于所述通信总线从上次被占用后到下次被占用之间的空闲时长。
进一步,所述第一预设值按照以下方法进行设定:
与所述多机通信系统通信连接的上位机计算每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长,并依据每个所述通信单元向所述通信总线发送数据时需要占用所述通信总线的时长,设置所述第一预设值,所述第一预设值小于任意一个所述通信单元向所述通信总线发送数据时需要占用所述通信总线的时长,且大于干扰信号占用所述通信总线的时长。
进一步,所述每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长按照以下方法进行计算:
所述上位机获取每个所述通信单元的通信数据格式、通信数据包长度和通信波特率,并分别依据每个所述通信单元的通信数据格式、通信数据包长度和通信波特率,计算每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长。
进一步,每个所述通信单元按照以下方法进行通信初始化:
所述通信单元对自身的通信模块进行初始化,并对通信建立信息进行初始化。
进一步,每个通信单元当接收的数据为通信总线上的连续数据包时按照以下方法接收数据:
在接收一个数据包之后启动定时;
在定时结束之前若一直未接收到新的数据包时,确定数据接收完毕;
在定时结束之前若接收到新的数据包时,则重新启动定时;
当确定数据接收完毕时判断所接收的数据是否完整;
若是,对接收的数据进行存储;
若否,将接收的数据舍弃。
可见,本实施例公开的一种多机通信系统,通过优化通信单元的通信建立时刻,使得系统通信拼包问题在通信建立之初即被规避。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种多机通信系统的通信方法,其特征在于,从多个通信单元中选取一个通信单元作为第一通信单元,其余通信单元作为第二通信单元,所述第一通信单元为系统初始化后第一个建立通信并向通信总线发送数据的通信单元,所述方法应用于所述第二通信单元,所述方法包括:
在预先设定的上电时刻上电,并在上电后进行通信初始化;
对所述通信总线的状态进行监测,当监测到所述通信总线连续被占用的时长超过第一预设值之后,再监测到所述通信总线连续处于空闲状态的时长超过第二预设值时,建立通信,其中,所述第二通信单元建立通信所需时长与所述第二预设值的和值小于所述通信总线从上次被占用后到下次被占用之间的空闲时长。
2.根据权利要求1所述的方法,其特征在于,所述第一预设值按照以下方法进行设定:
计算每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长,设置所述第一预设值,所述第一预设值小于任意一个所述通信单元向所述通信总线发送数据时需要占用所述通信总线的时长,且大于干扰信号占用所述通信总线的时长。
3.根据权利要求2所述的方法,其特征在于,所述每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长按照以下方法进行计算:
获取每个所述通信单元的通信数据格式、通信数据包长度和通信波特率,并分别依据每个所述通信单元的通信数据格式、通信数据包长度和通信波特率,计算每个通信单元向所述通信总线发送数据时需要占用所述通信总线的时长。
4.根据权利要求1所述的方法,其特征在于,每个所述通信单元按照以下方法进行通信初始化:
所述通信单元对自身的通信模块进行初始化,并对通信建立信息进行初始化。
5.根据权利要求1所述的方法,其特征在于,每个通信单元当接收的数据为通信总线上的连续数据包时按照以下方法接收数据:
所述通信单元在接收一个数据包之后启动定时;
在定时结束之前若一直未接收到新的数据包时,确定数据接收完毕;
在定时结束之前若接收到新的数据包时,则重新启动定时;
当确定数据接收完毕时判断所接收的数据是否完整;
若是,对接收的数据进行存储;
若否,将接收的数据舍弃。
6.一种多机通信系统的通信装置,其特征在于,应用于第二通信单元,所述第二通信单元为多机通信系统中除第一通信单元之外的通信单元,所述第一通信单元为系统初始化后第一个建立通信并向通信总线发送数据的通信单元,所述装置包括:
通信初始化单元,用于在预先设定的上电时刻上电,并在上电后进行通信初始化;
通信建立单元,用于对所述通信总线的状态进行监测,当监测到所述通信总线连续被占用的时长超过第一预设值之后,再监测到所述通信总线连续处于空闲状态的时长超过第二预设值时,建立通信,其中,所述第二通信单元建立通信所需时长与所述第二预设值的和值小于所述通信总线从上次被占用后到下次被占用之间的空闲时长。
7.根据权利要求6所述的装置,其特征在于,所述通信初始化单元,具体用于:
对自身的通信模块进行初始化,并对通信建立信息进行初始化。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
定时单元,用于当接收的数据为通信总线上的连续数据包时,在接收一个数据包之后启动定时;在定时结束之前若一直未接收到新的数据包时,确定数据接收完毕;在定时结束之前若接收到新的数据包时,则重新启动定时;当确定数据接收完毕时判断所接收的数据是否完整;若是,对接收的数据进行存储;若否,将接收的数据舍弃。
9.一种多机通信系统,其特征在于,包括:
通信总线和接入所述通信总线的通信单元;
所述通信单元包括第一通信单元和第二通信单元;
所述第一通信单元为在所述多机通信系统初始化后被选取的第一个建立通信并向所述通信总线发送数据的通信单元;
所述第二通信单元为所述多机通信系统中除所述第一通信单元之外的通信单元;
所述第二通信单元用于执行如权利要求1~5中任意一项所述的多机通信系统的通信方法。
10.一种多机通信系统,其特征在于,包括:
多条通信总线以及接入每条所述通信总线的通信单元;
针对于每条所述通信总线,在接入所述通信总线的多个通信单元中选取一个通信单元作为第一通信单元,其余通信单元作为第二通信单元,所述第一通信单元用于在所述多机通信系统初始化后第一个建立通信并向所述通信总线发送数据,所述第二通信单元用于执行如权利要求1~5中任意一项所述的多机通信系统的通信方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910409242.9A CN109995632B (zh) | 2019-05-16 | 2019-05-16 | 多机通信系统的通信方法、装置及系统 |
EP19220052.5A EP3739820B9 (en) | 2019-05-16 | 2019-12-30 | Establishing communication at optimized time instances |
US16/730,297 US20200366522A1 (en) | 2019-05-16 | 2019-12-30 | Communication Method And Communication Device For Multi-Machine Communication System And Multi-Machine Communication System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910409242.9A CN109995632B (zh) | 2019-05-16 | 2019-05-16 | 多机通信系统的通信方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109995632A true CN109995632A (zh) | 2019-07-09 |
CN109995632B CN109995632B (zh) | 2021-11-02 |
Family
ID=67136671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910409242.9A Active CN109995632B (zh) | 2019-05-16 | 2019-05-16 | 多机通信系统的通信方法、装置及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200366522A1 (zh) |
EP (1) | EP3739820B9 (zh) |
CN (1) | CN109995632B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115189985A (zh) * | 2022-08-24 | 2022-10-14 | 中国科学院沈阳自动化研究所 | 一种modbus多主站数据规划和转发装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5383185A (en) * | 1991-10-30 | 1995-01-17 | Motorola, Inc. | Method and apparatus for data collision detection in a multi-processor communication system |
US5495481A (en) * | 1994-09-30 | 1996-02-27 | Apple Computer, Inc. | Method and apparatus for accelerating arbitration in a serial bus by detection of acknowledge packets |
EP0860780A2 (en) * | 1990-03-02 | 1998-08-26 | Fujitsu Limited | Bus control system in a multi-processor system |
CN1671141A (zh) * | 2005-02-28 | 2005-09-21 | 邹润民 | 多主通信系统 |
US20080195782A1 (en) * | 2007-02-09 | 2008-08-14 | Samsung Electronics Co., Ltd. | Bus system and control method thereof |
CN101458672A (zh) * | 2007-12-10 | 2009-06-17 | 联想(北京)有限公司 | 一种热插拔设备、电脑及数据传输指示方法 |
CN102546141A (zh) * | 2012-02-20 | 2012-07-04 | 杭州海康威视系统技术有限公司 | 485总线系统及其异步半双工通信方法 |
CN102761517A (zh) * | 2011-04-25 | 2012-10-31 | 工业和信息化部电信传输研究所 | 一种高速网络的内容还原方法 |
CN102957586A (zh) * | 2011-08-23 | 2013-03-06 | 万洲电气股份有限公司 | 基于无冲突协议的全双工rs485总线通信装置及方法 |
CN105354159A (zh) * | 2015-09-28 | 2016-02-24 | 上海海视电子有限公司 | 一种基于rs485分布式总线系统的控制方法 |
CN108365944A (zh) * | 2018-03-06 | 2018-08-03 | 山东比特智能科技股份有限公司 | 一种半双工总线的通信方法、系统及房控系统 |
EP3358788A4 (en) * | 2015-09-29 | 2018-08-08 | Panasonic Intellectual Property Corporation of America | Illegality detection electronic control unit, vehicle onboard network system, and communication method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4122084A1 (de) * | 1991-07-04 | 1993-01-07 | Bosch Gmbh Robert | Verfahren zur informationsuebertragung in einem mehrere teilnehmer aufweisenden bussystem |
US7787488B2 (en) * | 2005-10-12 | 2010-08-31 | Gm Global Technology Operations, Inc. | System and method of optimizing the static segment schedule and cycle length of a time triggered communication protocol |
US20080273527A1 (en) * | 2007-05-03 | 2008-11-06 | The University Of Leicester | Distributed system |
-
2019
- 2019-05-16 CN CN201910409242.9A patent/CN109995632B/zh active Active
- 2019-12-30 US US16/730,297 patent/US20200366522A1/en not_active Abandoned
- 2019-12-30 EP EP19220052.5A patent/EP3739820B9/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0860780A2 (en) * | 1990-03-02 | 1998-08-26 | Fujitsu Limited | Bus control system in a multi-processor system |
US5383185A (en) * | 1991-10-30 | 1995-01-17 | Motorola, Inc. | Method and apparatus for data collision detection in a multi-processor communication system |
US5495481A (en) * | 1994-09-30 | 1996-02-27 | Apple Computer, Inc. | Method and apparatus for accelerating arbitration in a serial bus by detection of acknowledge packets |
CN1671141A (zh) * | 2005-02-28 | 2005-09-21 | 邹润民 | 多主通信系统 |
US20080195782A1 (en) * | 2007-02-09 | 2008-08-14 | Samsung Electronics Co., Ltd. | Bus system and control method thereof |
CN101458672A (zh) * | 2007-12-10 | 2009-06-17 | 联想(北京)有限公司 | 一种热插拔设备、电脑及数据传输指示方法 |
CN102761517A (zh) * | 2011-04-25 | 2012-10-31 | 工业和信息化部电信传输研究所 | 一种高速网络的内容还原方法 |
CN102957586A (zh) * | 2011-08-23 | 2013-03-06 | 万洲电气股份有限公司 | 基于无冲突协议的全双工rs485总线通信装置及方法 |
CN102546141A (zh) * | 2012-02-20 | 2012-07-04 | 杭州海康威视系统技术有限公司 | 485总线系统及其异步半双工通信方法 |
CN105354159A (zh) * | 2015-09-28 | 2016-02-24 | 上海海视电子有限公司 | 一种基于rs485分布式总线系统的控制方法 |
EP3358788A4 (en) * | 2015-09-29 | 2018-08-08 | Panasonic Intellectual Property Corporation of America | Illegality detection electronic control unit, vehicle onboard network system, and communication method |
CN108365944A (zh) * | 2018-03-06 | 2018-08-03 | 山东比特智能科技股份有限公司 | 一种半双工总线的通信方法、系统及房控系统 |
Non-Patent Citations (2)
Title |
---|
赵天鹤等: "可调度性保证的TTP总线能量有效优化方法", 《电光与控制》 * |
高旭彬: "连续运输系统串行通信网络性能研究", 《工矿自动化》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115189985A (zh) * | 2022-08-24 | 2022-10-14 | 中国科学院沈阳自动化研究所 | 一种modbus多主站数据规划和转发装置 |
CN115189985B (zh) * | 2022-08-24 | 2023-09-19 | 中国科学院沈阳自动化研究所 | 一种modbus多主站数据规划和转发装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109995632B (zh) | 2021-11-02 |
EP3739820B1 (en) | 2021-10-13 |
EP3739820A1 (en) | 2020-11-18 |
EP3739820B9 (en) | 2022-02-09 |
US20200366522A1 (en) | 2020-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103218331B (zh) | 采用同步模式切换及帧优先级自动调整的总线装置及方法 | |
CN105657639B (zh) | 双模设备及其实现同时通信的方法 | |
CN100573382C (zh) | 基于i2c的通信系统及通信方法 | |
CN107786405B (zh) | 基于can总线的多节点自动组网方法 | |
CN104410557A (zh) | 一种基于rs-485的动态组网方法及通讯方法 | |
RU2006137364A (ru) | Устройство и способ для высокоскоростного интерфейса передачи данных | |
CN110266569B (zh) | 一种io-link端口扩展装置及方法 | |
CN107508930A (zh) | Id分配方法及系统 | |
EP3142293B1 (en) | Reverse power supply management method, apparatus and system | |
CN101610192A (zh) | 一种通信从机、总线级连方法及系统 | |
CN102681481A (zh) | 一种基于usb总线的plc通讯方法 | |
CN104243259B (zh) | 分布式弹性网络互连系统中协作方法和系统 | |
CN102035705A (zh) | 一种总线数据传输方法及系统 | |
CN106789498A (zh) | Modbus通信网络的网络地址分配方法、从节点设备与通信系统 | |
CN108259134A (zh) | 一种基于afp协议的数据传输方法 | |
CN109995632A (zh) | 多机通信系统的通信方法、装置及系统 | |
CN101958888A (zh) | 端口协商能力的配置方法、通信端口和通信设备 | |
CN101854258A (zh) | 通讯芯片故障消除实现方法及装置 | |
CN107659456A (zh) | 一种基于rs485通信的数据冲突传输方法 | |
CN104486187A (zh) | 一种动态同步的can通讯设备和方法 | |
CN102917370A (zh) | 确定远端机对应的近端机的方法、装置、系统以及远端机 | |
CN101252415A (zh) | 整包数据的传输方法及传输系统 | |
CN104022515B (zh) | 无功补偿柜及其的无功补偿单元的控制方法 | |
CN112947151B (zh) | 基于车辆双can总线的高效滤波方法及装置 | |
CN101877727B (zh) | 一种can网络节点地址的自动设置方法和装置 |
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 | ||
GR01 | Patent grant |