通信方法及通信装置、通信系统及计算机可读存储介质与流程

专利2023-07-20  102



1.本技术涉及通信技术领域,特别是涉及一种通信总线上设备的通信方法、应用于通信总线上设备的通信装置、通信系统及计算机可读存储介质。


背景技术:

2.相关技术的通信系统中,如485总线系统中,一根通信总线上有一个主机和若干个从机连接在一起,主机负责对通信总线上的所有从机进行轮询访问,从机负责按通信总线规定的时间和顺序依次回复主机信息,一旦整个通信系统中的主机失灵,那么整个通信总线上所有从机都不再工作,最终导致通信系统无法按照指定的要求运转。


技术实现要素:

3.本技术提供一种通信总线上设备的通信方法、应用于通信总线上设备的通信装置、通信系统及计算机可读存储介质,以保证整个通信系统正常运转,提高通信的可靠性及稳定性。
4.为解决上述技术问题,本技术提出一种通信总线上设备的通信方法。通信总线上设有第一主机及原从机,通信总线上还设有第二主机,第二主机是从原从机中选定的,通信方法包括:第二主机基于轮询信号的接收情况确定第一主机是否异常,其中,轮询信号为第一主机发送给第二主机的信号;若第一主机异常,第二主机以轮询方式与通信总线上的其它原从机进行通信。
5.为解决上述技术问题,本技术提出一种应用于通信总线上设备的通信装置。通信总线设有第一主机及原从机,通信总线上还设有第二主机,第二主机是从原从机中选定的,通信装置包括:第一控制模块,用于控制第二主机基于轮询信号的接收情况确定第一主机是否异常,其中,轮询信号为第一主机发送给第二主机的信号;第二控制模块,用于在第一主机异常时,控制第二主机以轮询方式与通信总线上的其他原从机进行通信。
6.为解决上述技术问题,本技术提出一种通信系统。该通信系统包括处理器及与处理器连接的存储器,存储器上存储有程序指令,处理器执行程序指令时实现上述实施例的通信方法。
7.为解决上述技术问题,本技术提出一种计算机可读存储介质。该计算机可读存储介质上存储有程序指令,程序指令被处理器执行时实现上述通信方法。
8.本技术通信总线上设有第一主机、第二主机及原从机,且第二主机是从原从机中选定的;本技术的第二主机基于第一主机发来的轮询信号的接收情况确定第一主机是否异常,若第一主机异常,第二主机以轮询方式与通信总线上的其它原从机进行通信。通过这种方式,本技术在确定第一主机异常时,采用第二主机与通信总线上的其它原从机进行通信,能够避免第一主机异常而导致整个通信系统无法正常运转的问题,因此能够保证整个通信系统正常运转,提高通信的可靠性及稳定性;且本技术的第二主机是从原从机中选定的,通信总线无需接入新的主机,不会影响通信效率及质量。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
10.图1是本技术通信总线上设备的通信方法一实施例的流程示意图;
11.图2是图1实施例中步骤s11的一具体流程示意图;
12.图3是图1实施例中步骤s11的一具体流程示意图;
13.图4是图3实施例中步骤s36的一具体流程示意图;
14.图5是本技术通信总线上设备的通信方法一实施例的流程示意图;
15.图6是本技术通信系统一实施例的结构示意图;
16.图7是图6实施例通信系统的工作流程示意图;
17.图8是本技术通信总线上设备的通信方法一实施例的流程示意图;
18.图9是图8实施例中步骤s83的一具体流程示意图;
19.图10是图9实施例的信息交互示意图;
20.图11是图8实施例中步骤s83的一具体流程示意图;
21.图12是图11实施例的信息交互示意图;
22.图13是本技术通信总线上设备的通信方法一实施例的信息交互示意图;
23.图14是本技术通信总线上设备的通信方法一实施例的信息交互示意图;
24.图15是本技术通信总线上设备的通信方法一实施例的信息交互示意图;
25.图16是本技术通信总线上设备的通信方法一实施例的信息交互示意图;
26.图17是本技术通信总线上设备的通信方法一实施例的流程示意图;
27.图18是图17实施例中步骤s153的一具体流程示意图;
28.图19是本技术应用于通信总线上的设备的通信装置一实施例的结构示意图;
29.图20是本技术通信系统一实施例的结构示意图;
30.图21是本技术计算机可读存储介质一实施例的结构示意图。
具体实施方式
31.下面结合附图和实施例,对本技术作进一步的详细描述。特别指出的是,以下实施例仅用于说明本技术,但不对本技术的范围进行限定。同样的,以下实施例仅为本技术的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
32.在本技术实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本技术实施例中的具体含义。
33.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性
表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
34.本技术的技术方案可以应用于各种适用于主从通信方式的通信系统,如485总线系统等,本技术将以485总线系统为例进行介绍。
35.本技术首先提出一种通信总线上设备的通信方法,通信总线上设有第一主机及原从机,通信总线上还设有第二主机,第二主机是从原从机中选定的。如图1所示,图1是本技术通信总线上设备的通信方法一实施例的流程示意图。本实施例的通信方法具体包括以下步骤:
36.步骤s11:第二主机基于轮询信号的接收情况确定第一主机是否异常,其中,轮询信号为第一主机发送给第二主机的信号。
37.其中,在第一主机无异常时,第一主机作为第二主机的主机,第二主机作为第一主机的从机,第一主机以轮询方式与第二主机通信。具体地,第一主机向其所在的通信总线上的原从机发送轮询信号(原从机包括第二主机,不同原从机的发送轮询信号的时序不同):原从机接收对应的轮询信号后,向第一主机反馈针对对应的轮询信号的应答信号,以实现主机轮询、从机应答的通信。
38.第二主机基于第一主机发来的轮询信号的接收情况确定第一主机是否异常。
39.可选地,本实施例可以采用如图2所示的方法实现步骤s11。本实施例的方法包括步骤s21至步骤s23。
40.步骤s21:获取最新一次接收轮询信号的第一起始时间点。
41.记录第二主机每次接收第一主机发来的轮询信号的时间点,并获取最晚的时间点为最新一次接收轮询信号的第一起始时间点。
42.其中,时间点可以是接收到轮询信号的时间点,也可以是接收完轮询信号的时间点。
43.步骤s22:从第一起始时间点开始计时,判断是否在第一预设时长内再次接收到轮询信号。
44.步骤s23:若在第一预设时长内未再次接收到轮询信号,则确定第一主机异常。
45.一并对步骤s22及步骤s23进行介绍:
46.可以以第一起始时间点为时间起点开始计时,若计时时长大于第一预设时长时,第二主机未再次接收到轮询信号,则确定第一主机异常;若计时时长小于或者等于第一预设时长时,第二再次接收到轮询信号,则确定第一主机无异常。
47.在另一实施例中,可以以第一起始时间点为时间起点,以时间起点与第一预设时长之和为时间终点,若时间终点前或者时间终点时刻第二主机未接收到轮询信号,则确定第一主机异常;若时间终点前或者时间终点时刻第二主机接收到轮询信号,则确定第一主机无异常。
48.本技术的轮询信号可以轮询报文的形式存在。
49.在一应用场景中,第二主机判断是否接收到第一主机的轮询报文,并在未接收到第二主机的轮询报文时开始计时,若计时时长超过5s(即5s内未接收到第一主机发送的轮
询报文),则第二主机确认第二主机异常。当然,在其他应用场景中,第一预设时长还可以是3s、10s、15s等,此处不作限制。
50.可选地,本实施例还可以采用如图3所示的方法实现步骤s11。本实施例的方法包括步骤s31至步骤s38。
51.步骤s31:获取最新一次接收轮询信号的第一起始时间点。
52.具体实施方式可以参阅上述实施例。
53.步骤s32:从第一起始时间点开始计时,判断是否在第一预设时长内再次接收到轮询信号。
54.具体实施方式可以参阅上述实施例。
55.步骤s33:若在第一预设时长内未再次接收到轮询信号,则确定第一主机异常。
56.具体实施方式可以参阅上述实施例。
57.步骤s34:若在第一预设时长内再次接收到轮询信号,则获取接收到轮询信号的第二起始时间点。
58.其中,第二起始时间点是第二主机在第一预设时长内最早一次接收到轮询信号的时间点。
59.步骤s35:从第二起始时间点开始计时,在第二预设时长内持续接收轮询信号。
60.以第二起始时间点为时间起点,以第二预设时长为接收时长,计算该时间起点与该接收时长之和为时间终点,第二主机在该时间终点之前持续接收轮询信号。
61.步骤s36:判断在第二预设时长内接收到的轮询信号是否符合预定规则。
62.若是,则执行步骤s37,若否,则执行步骤s38。
63.可选地,轮询信号包括多帧子信号,本实施例可以通过如图4所示的方法实现步骤s36。本实施例的方法包括步骤s41至步骤s45。
64.步骤s41:统计多帧子信号中子信号实际发射时刻与子信号预设发射时刻之间的差值小于预设差值的子信号的数量。
65.轮询信号中的多帧子信号按照预设时序发射,但由于各种因素影响,子信号的实际发射时刻与其预设发射时刻之间可能存在偏差。
66.统计第二主机再次接收到的多帧子信号中子信号实际发射时刻与子信号预设发射时刻之间的差值小于预设差值的子信号的数量。
67.步骤s42:计算差值小于预设差值的子信号的数量占多帧子信号的总数的比值。
68.步骤s43:判断比值是否大于预设比值。
69.该比值可以是百分比,例如98%、95%等。
70.若是,则执行步骤s44,若否,则执行步骤s45。
71.步骤s44:确定轮询信号符合规则。
72.若发射时刻偏差较小的子信号在多帧子信号的百分比大于预设百分比,则可以认为发射时刻偏差较大的少数几帧子信号是由于干扰造成的,并不是第一主机异常造成的,则确定轮询信号符合规则。
73.步骤s45:确定轮询信号不符合规则。
74.若发射时刻偏差较小的子信号在多帧子信号的百分比小于或者等于预设百分比,则可以认为发射时刻偏差较大的多数子信号是由于第一主机异常造成的,则确定轮询信号
不符合规则。
75.在一应用场景中,第二主机判断是否接收到第一主机的轮询报文,并在未接收到第一主机的轮询报文时开始计时,若在5s内收到轮询报文,则从接收到轮询报文的时刻起开始计时,连续接收2s(还可以是3s、4s等,此处不做限制)的轮询报文;随后,第二主机判断2s内的接收到的大多数轮询报文的发送时机(即实际发射时刻)是否与预设定时机(即预设发射时刻)一致,若是,则确定第一主机无异常,若否,则确定第一主机异常。例如,假设2s内接收到100帧轮询报文,如果98帧轮询报文的发送时机与预设定时机一致,2帧轮询报文的发送时机与预设定时机不一致,则确定第一主机正常(偶尔的一两帧失效是正常现象,可能是干扰导致的),否则,确认第一主机异常。
76.在另一实施例中,还可以统计多帧子信号中子信号实际发射时刻与子信号预设发射时刻一致的子信号的数量;计算实际发射时刻与预设发射时刻一致的子信号的数量占多帧子信号的总数的比值;判断比值是否大于预设比值;若是,确定轮询信号符合规则;若否,确定轮询信号不符合规则。
77.在另一实施例中,上述预设差值可以设置得很小,例如,预设差值的数量级小于相邻子信号的发射时刻之间的差值的数量级。
78.步骤s37:确定第一主机正常。
79.若轮询信号符合规则,则确定第一主机正常。
80.步骤s38:确定第一主机异常。
81.若轮询信号不符合规则,确定第一主机异常。
82.步骤s12:若第一主机异常,第二主机以轮询方式与通信总线上的其它原从机进行通信。
83.轮询方式是指第一主机向其所在的通信总线上的原从机发送的轮询信号(原从机包括第二主机,不同原从机的轮询信号的时序不同):原从机接收对应的轮询信号后,向第一主机反馈针对对应的轮询信号的应答信号,以实现主机轮询、从机应答的通信。
84.进一步地,本实施例还包括步骤s13。
85.步骤s13:若第一主机正常,第一主机继续以轮询方式与通信总线上的原从机进行通信。
86.第一主机继续以轮询方式与第二主机及通信总线上的其它原从机进行通信。
87.本实施例的通信总线上设有第一主机、第二主机及原从机,且第二主机是从原从机中选定的;本技术的第二主机基于第一主机发来的轮询信号的接收情况确定第一主机是否异常,若第一主机异常,第二主机以轮询方式与通信总线上的其它原从机进行通信。通过这种方式,本实施例在确定第一主机异常时,采用第二主机与通信总线上的其它原从机进行通信,能够避免第一主机异常而导致整个通信系统无法正常运转的问题,因此能够保证整个通信系统正常运转,提高通信的可靠性及稳定性;且本实施例的第二主机是从原从机中选定的,通信总线无需接入新的主机,不会影响通信效率及质量。
88.可选地,作为第二主机的原从机为通信总线上的必要设备。必要设备是指不会从通信总线上移除的设备,换句话说如果缺少必要设备,整个通信系统将无法正常工作。本实施例采用通信总线上的必要设备作为第二主机,能够保证通信系统的正常工作。
89.可选地,作为第二主机的原从机为通信总线上的所有原从机中与第一主机通信频
率最高的原从机。本实施例采用通信总线上的所有原从机中与第一主机通信频率最高的原从机作为第二主机,能够使得第二主机可以更频繁地监控第一主机的状态,在第一主机异常时能够及时监控到该异常,从而在第一主机异常时能够及时地替代第一主机进行工作,保证通信总线上的多各设备的正常运行。
90.可选地,作为第二主机的原从机为通信总线上必要的且与第一主机通信频率最高的原从机。
91.作为第二主机的原从机可以是在开发阶段预先设定的。
92.第一主机可以是只参与通信消息收发传递而不参与其它逻辑处理的设备。
93.本技术进一步提出另一实施例的通信总线上设备的通信方法,如图5所示,图5是本技术通信总线上设备的通信方法一实施例的流程示意图。本实施例的通信方法具体包括以下步骤:
94.步骤s51:第二主机基于轮询信号的接收情况确定第一主机是否异常,其中,轮询信号为第一主机发送给第二主机的信号。
95.具体实施方式可以参阅上述实施例。
96.步骤s52:若第一主机异常,第二主机以轮询方式与通信总线上的其它原从机进行通信。
97.具体实施方式可以参阅上述实施例。
98.步骤s53:若第一主机异常,第二主机发送复位指令至第一主机,以将第一主机置于复位状态。
99.确定第一主机异常时,第二主机发送复位指令的报文将第一主机置于复位状态,处于复位状态的第一主机不会发送指令,能够避免处于异常状态的第一主机继续发送指令,导致通信系统无法正常运转的问题。
100.步骤s54:若第一主机正常,第一主机继续以轮询方式与通信总线上的原从机进行通信。
101.具体实施方式可以参阅上述实施例。
102.在上述实施例的基础上,本实施例在确定第一主机异常时,第二主机发送复位指令将第一主机置于复位状态,能够避免处于异常状态的第一主机继续发送指令,导致通信系统无法正常运转的问题,因此能够保证通信系统的正常运转。
103.例如,在船控制系统中,如图6所示,可以选择转接板作为整个船控制系统的第一主机,而选择油门模块作为整个船控制系统的第二主机。转接板只负责各个模块沟通并不产生逻辑处理,而油门模块也是整个船控制系统中不可缺失的模块,图6所示的485为同一总线。
104.转接板负责各个模块的沟通,evo显示屏能够显示相应的参数并且设置参数,485-can模块能够接入一些can协议的模块,将can转为485,便于船控制系统的通信。驱动可以是电机,电机连接螺旋桨带动螺旋桨转动,进而推动船舶运行,电池为船控制系统供电,油门模块可以控制驱动的功率,使驱动以一定的功率带动螺旋桨转动。而手环为安全手环,手环与油门模块之间为无线连接(具体可以为蓝牙连接),手环的作用为:手环戴在手上,当人落水时,失去信号,油门模块会控制驱动停止运行,避免人落水后螺旋桨还在运行,对人造成伤害。
105.第二主机方案中所有的逻辑判断处理全部在油门模块中进行。
106.如图7所示,油门模块上电,判断是否接收到转接板的报文(轮询报文),若否,则开始计时,并判断计时是否超过5s;若计时超过5s,油门模块升级为主机(第二主机),并向转接板发送复位报文,以使转接板置于复位状态,且油门模块模拟转接板时序轮询通信485总线上的其它从机;若油门没有转接板报文,则开始计时,并判断计时是否超过2s;若计时超过2s,则进一步判断转接板报文发送时机是否与预设时机一致,若一致,则转接板按照其原方案通信,即轮询485总线上的从机。
107.本技术进一步提出另一实施例的通信总线上设备的通信方法,如图8所示,图8是本技术通信总线上设备的通信方法一实施例的流程示意图。本实施例的通信方法具体包括以下步骤:
108.步骤s81:第二主机基于轮询信号的接收情况确定第一主机是否异常,其中,轮询信号为第一主机发送给第二主机的信号。
109.具体实施方式可以参阅上述实施例。
110.步骤s82:若第一主机异常,第二主机以轮询方式与通信总线上的其它原从机进行通信。
111.具体实施方式可以参阅上述实施例。
112.步骤s83:若第一主机正常,在通信总线接入新从机时,第一主机以轮询方式与原从机进行通信,且第二主机以轮询方式与新从机进行通信。
113.在上述实施例的基础上,因本实施例采用从原从机中选定的第二主机以轮询方式与新从机进行通信,因此,接入通信总线的新从机不会影响原主从机之间的通信频率、时序及效率,能够改善相关技术中新从机接入后降低原主从机通信效率的问题;且接入的新从机是直接与新的第二主机进行通信,新从机接入通信总线时,只需要在第二主机上拓展即可,后续也可以直接从第二主机上去掉新从机,而不影响通信总线上其它设备的通信,因此,本实施例还能够提高从机的可扩展性。
114.当然,在其它实施例中,在通信总线接入新从机时,从原从机中选定第二主机。
115.在所述通信总线接入新从机时,可以从原从机中选定第二主机。具体地,从原从机中确定通信总线上的必要设备,并选定必要设备为第二主机。
116.还可以获取第一主机与原从机之间的通信记录;基于通信记录计算第一主机与原从机之间的通信次数或者通信频率;确定通信次数最多或者通信频率最大的原从机为第二主机。
117.可以获取第一主机与原从机之间在预设历史时间段内的通信记录,并基于该通信记录统计第一主机与原从机相互之间数据交换的次数,即通信次数。具体地,若第一主机与原从机之间的两次数据交互之间的时间间隔大于预设间隔,可以将这两次数据交互认定为两次通信,若两次数据交互之间的时间间隔小于或者等于该预设间隔,可以将这两次数据交互认定为一次通信。
118.计算该通信次数对应的预设历史时间段的时长的比值为第一主机与原从机之间的通信频率。
119.确定通信次数最多或者通信频率最大的原从机为第二主机,能够使得第二主机传递更多的报文,便于第二主机扩展更多的新从机,从而能够进一步提高从机的可扩展性。
120.在其它实施例中,可以从必要设备中确定第二主机。
121.可选地,本实施例可以通过如图9所示的方法实现步骤s83。本实施例的方法包括步骤s91至步骤s94。
122.步骤s91:第一主机向第二主机发送第一轮询信号。
123.第一轮询信号是指第一主机发送给第二主机的信号。在通信系统运行时,第一主机可以多次发送第一轮询信号至第二主机,该多个第一轮询信号中可以有相同的信号,也可以有不同的信号。
124.步骤s92:第二主机向新从机发送第二轮询信号,并接收新从机发送的对第二轮询信号的应答信号。
125.第二主机接收到第一主机发送的第一轮询信号后,第二主机可以向新从机发送第二轮询信号,并接收新从机发送的对第二轮询信号的应答信号。第二主机还可以发送的对第一轮询信号的应答信号至第一主机。
126.由于第一主机、第二主机、新从机连接到同一通信总线上,同一通信总线上的信号共享,新从机发送至第二主机的对第二轮询信号的应答信号也能够被第一主机所接收。
127.步骤s93:第一主机接收第二主机发送的对第一轮询信号的应答信号。
128.在一应用场景中,如图10所示:未接入新从机时,第一主机向第二主机发送报文1,第二主机发送回复报文1到第一主机;而在接入新从机后,在同样的时间内,第一主机发送报文1到第二主机,第二主机发送报文2到新从机,新从机发送回复报文2到第二主机,第二主机发送回复报文1到第一主机。
129.进一步地,本实施例还包括步骤s94。
130.步骤s94:第一主机向其它原从机发送第三轮询信号,并接收其它原从机发送的对第三轮询信号的应答信号。
131.第三轮询信号是指第一主机发送给其它原从机的信号。在通信系统运行时,第一主机可以多次发送第三轮询信号至其他原从机,该多个第三轮询信号中可以有相同的信号,也可以有不同的信号。
132.需要注意的是,本技术的轮询信号及应答信号可以以报文的形式存在。
133.可选地,本实施例可以通过如图11所示的方法实现步骤s83。本实施例的方法包括步骤s101至步骤s105。
134.步骤s101:第一主机向第二主机发送第一轮询信号,并接收第二主机发送的对第一轮询信号的应答信号。
135.第二主机接收到第一主机发送的第一轮询信号后,第二主机还可以发送对第一轮询信号的应答信号至第一主机,实现第一主机对第二主机的轮询
136.第一轮询信号是指第一主机发送给第二主机的信号,在通信系统运行时,第一主机可以多次发送第一轮询信号至第二主机,该多个第一轮询信号中可以有相同的信号,也可以有不同的信号。
137.步骤s102:第一主机向第二主机发送第一轮询信号。
138.步骤s103:第二主机向新从机发送第二轮询信号,并接收新从机发送的对第二轮询信号的应答信号。
139.步骤s104:第一主机接收第二主机发送的对第一轮询信号的应答信号。
140.步骤s102至步骤s104的具体实施例方式可以参阅上述实施例。本实施例与图9实施例的区别在于:图9实施例在每次第一主机轮询第二主机时,第二主机都要轮询新从机,可以提高新从机的轮询频率,适用于新从机的实时性要求较高的场景;而本实施例则是在第一主机轮询第二主机时,第二主机可以不轮询新从机,可以降低新从机的轮询频率,适用于新从机的实时性要求较低的场景。
141.在一应用场景中,如图12所示:在接入新从机后,第一主机向第二主机发送报文1,第二主机发送回复报文1到第一主机,第一主机发送报文1到第二主机,第二主机发送报文2到新从机,新从机发送回复报文2到第二主机,第二主机发送回复报文1到第一主机。其中,两个报文1可以是同一报文,也可以不是同一报文。
142.进一步地,本实施例还包括步骤s105。
143.步骤s105:第一主机向其它原从机发送第三轮询信号,并接收其它原从机发送的对第三轮询信号的应答信号。
144.具体实施方式可以参阅上述实施例。
145.在另一实施例中,通信总线接入多个新从机,第一主机以轮询方式与原从机进行通信,且第二主机以轮询方式与多个新从机进行通信,其中,第二主机与任意两个新从机通信的时间点均不同,且不同的时间点分别位于第二主机与第一主机的不同通信周期内。本实施例的具体通信方式可以参阅上述实施例。
146.在一应用场景中,如图13所示,在一个通信周期内,第一主机发送报文1到第二主机,第二主机发送回复报文1到第一主机,第一主机发送报文1到第二主机,第二主机发送报文2到新从机1,新从机1发送回复报文2到第二主机,第二主机发送回复报文1到第一主机。在另一个通信周期内,第一主机发送报文1到第二主机,第二主机发送回复报文1到第一主机,第一主机发送报文1到第二主机,第二主机发送报文3到新从机2,新从机2发送回复报文3到第二主机,第二主机发送回复报文1到第一主机(第一主机多次发送的报文1可以相同,也可以不同)。
147.在其它实施例中,可以采用上述通信方式实现对多个新从机的访问。
148.在另一应用场景中,为了提高新从机通信的实时性,可以采用如图14所示的通信方式:在一个通信周期内,第一主机发送报文1到第二主机,第二主机发送报文2到新从机1,新从机1发送回复报文2到第二主机,第二主机发送回复报文1到第一主机。在另一通信周期内,第一主机发送报文1到第二主机,第二主机发送报文3到新从机2,新从机2回复报文3到第二主机,第二主机发送回复报文1到第一主机(第一主机两次发送的报文1可以相同,也可以不同)。
149.在其它应用场景中,可以采用上述通信方式实现对多个新从机的访问。
150.在另一实施例中,通信总线接入多个新从机,通信总线上的设备包括至少两个第二主机,每个第二主机对应至少一个新从机,通信总线的第一主机以轮询方式与原从机进行通信,且不同的第二主机以轮询方式分别与对应的至少一个新从机进行通信。本实施例的具体通信方式可以参阅上述实施例。
151.下面以通信总线上的设备包括两个第二主机,每个第二主机对应一个新从机为例进行描述。
152.在一应用场景中,如图15所示,第一主机发送报文1到第二主机1,第二主机1发送
回复报文1到第一主机1,第一主机1发送报文1到第二主机1,第二主机1发送报文2到新从机1,新从机1发送回复报文2到第二主机1,第二主机1发送回复报文1到第一主机。接着,第一主机发送报文3到第二主机2,第二主机2发送回复报文3到第一主机,第一主机发送报文3到第二主机2,第二主机2发送报文4到新从机2,新从机2发送回复报文4到第二主机2,第二主机2发送回复报文3到第一主机。
153.在另一应用场景中,为了提高新从机通信的实时性,可以采用如图16所示的通信方式:第一主机发送报文1到第二主机1,第二主机1发送报文2到新从机1,新从机1发送回复报文2到第二主机1,第二主机1发送回复报文1到第一主机。接着,第一主机发送报文3到第二主机2,第二主机2发送报文4到新从机2,新从机2发送回复报文4到第二主机2,第二主机2发送回复报文3到第一主机。
154.本实施例第一主机两次发送的报文1及报文3在时序上错开及从两个第二主机接收的回复报文1及回复报文3错开即可。
155.本技术的上述循环方式可以任意排列,不局限于以上几种。
156.本技术进一步提出另一实施例的通信总线上设备的通信方法,本实施例通信总线上的设备包括第一主机及原从机,原从机作为第一主机的从机,通信总线上的设备还包括新从机,新从机作为第一主机的从机。如图17所示,图17是本技术通信总线上设备的通信方法一实施例的流程示意图。本实施例的通信方法具体包括以下步骤:
157.步骤s151:第二主机基于轮询信号的接收情况确定第一主机是否异常,其中,轮询信号为第一主机发送给第二主机的信号。
158.具体实施方式可以参阅上述实施例。
159.步骤s152:若第一主机异常,第二主机以轮询方式与通信总线上的其它原从机进行通信。
160.具体实施方式可以参阅上述实施例。
161.步骤s153:若第一主机正常,在通信总线接入新从机时,第一主机以轮询方式与原从机进行通信,并在第一主机与原从机的通信周期内,第一主机以轮询方式与新从机通信。
162.本实施例无需从原从机中确定第二主机,直接在第一主机中采用定时触发的方式在原两帧报文中间插入一帧轮询新从机的报文及回复,即在第一主机原有时序上叠加了另外一个时序,通过另外一个时序完成第一主机与新从机的通信。因此本技术能够在不影响原来的时序的情况下叠加一个时序,询问新从机。
163.可选地,本实施例可以通过如图18所示的方法实现步骤s153。本实施例的方法包括步骤s161及步骤s162。
164.步骤s161:在第一主机与原从机的当前的通信周期内,第一主机向原从机发送第一轮询信号,并接收原从机发送的对第一轮询信号的应答信号。
165.步骤s162:间隔预设时长后,第一主机向新从机发送第二轮询信号,并接收新从机发送的对第二轮询信号的应答信号。
166.本实施例的循环方式的扩展方案可以参阅上述实施例。
167.进一步地,第二主机自动升级为主机完全按照第一主机的逻辑来轮询通信总线上的其从机,保证整个通信系统在有略微缺陷的前提下仍然可以正常运转。
168.本技术进一步提出一种应用于通信总线上的设备的通信装置,如图19所示,图19
是本技术应用于通信总线上的设备的通信装置一实施例的结构示意图。通信总线上设有第一主机及原从机,通信总线上还设有第二主机,第二主机是从原从机中选定的;通信装置包括:第一控制模块171及与第一控制模块171连接的第二控制模块172;其中,第一控制模块171用于控制第二主机基于轮询信号的接收情况确定第一主机是否异常,其中,轮询信号为第一主机发送给第二主机的信号;第二控制模块172用于在第一主机异常时,控制第二主机以轮询方式与通信总线上的其他原从机进行通信。
169.在一具体实施例中,第一控制模块171控制第二主机获取最新一次接收轮询信号的第一起始时间点,并控制第二主机从第一起始时间点开始计时,判断是否在第一预设时长内再次接收到轮询信号,若第二主机在第一预设时长内未再次接收到轮询信号,则第二主机确定第一主机异常。
170.在一具体实施例中,第一控制模块171控制第二主机获取最新一次接收轮询信号的第一起始时间点,并控制第二主机从第一起始时间点开始计时,判断是否在第一预设时长内再次接收到轮询信号;若在第一预设时长内再次接收到轮询信号,则控制第二主机获取接收到轮询信号的第二起始时间点,并控制第二主机从第二起始时间点开始计时,在第二预设时长内持续接收轮询信号,第一控制模块171控制第二主机判断在第二预设时长内接收到的轮询信号是否符合预定规则,若是,则确定第一主机异常,若否,则确定第一主机正常。
171.其中,轮询信号包括多帧子信号。第一控制模块171控制第二主机先统计多帧子信号中子信号实际发射时刻与子信号预设发射时刻之间的差值小于预设差值的子信号的数量,并计算差值小于预设差值的子信号的数量占多帧子信号的总数的比值,接着判断比值是否大于预设比值,若是,则确定轮询信号符合规则,若否,则确定轮询信号不符合规则。
172.在一具体实施例中,第二控制模块172进一步用于在第一主机异常时,控制第二主机发送复位指令至第一主机,以将第一主机置于复位状态。处于复位状态的第一主机不会发送指令,能够避免处于异常状态的第一主机继续发送指令,导致通信系统无法正常运转的问题。
173.在一具体实施例中,通信装置还包括第三控制模块。第三控制模块用于在第一主机正常时,控制第一主机继续以轮询方式与通信总线上的原从机进行通信。
174.在一具体实施例中,在第一主机正常,且通信总线接入新从机时,第三控制模块还用于控制第一主机以轮询方式与原从机进行通信,且第二控制模块172还用于控制第二主机以轮询方式与新从机进行通信。
175.在一具体实施例中,第三控制模块还用于控制第一主机向第二主机发送第一轮询信号,并接收第二主机发送的对第一轮询信号的应答信号。第三控制模块还用于控制第一主机向第二主机发送第一轮询信号;第二控制模块172还用于控制第二主机向新从机发送第二轮询信号,并接收新从机发送的对第二轮询信号的应答信号。第三控制模块还用于控制第一主机接收第二主机发送的对第一轮询信号的应答信号。
176.在一具体实施例中,第三控制模块还用于控制第一主机向第二主机发送第一轮询信号;第二控制模块172还用于控制第二主机向新从机发送第二轮询信号,并接收新从机发送的对第二轮询信号的应答信号;第三控制模块还用于控制第一主机接收第二主机发送的对第一轮询信号的应答信号。
177.在一具体实施例中,第三控制模块还用于控制第一主机向其它原从机发送第三轮询信号,并接收其它原从机发送的对第三轮询信号的应答信号。
178.在一具体实施例中,通信总线接入多个新从机。第三控制模块还用于控制第一主机以轮询方式与原从机进行通信,且第二控制模块172还用于控制第二主机以轮询方式与多个新从机进行通信,其中,第二主机与任意两个新从机通信的时间点均不同,且不同的时间点分别位于第二主机与第一主机的不同通信周期内。
179.在一具体实施例中,通信总线接入多个新从机,通信总线上的设备包括至少两个第二主机,每个第二主机对应至少一个新从机。第三控制模块还用于控制通信总线的第一主机以轮询方式与原从机进行通信,且第二控制模块还用于控制不同的第二主机以轮询方式分别与对应的至少一个新从机进行通信。
180.在一具体实施例中,在第一主机正常,且在通信总线接入新从机时,第三控制模块还用于控制第一主机以轮询方式与原从机进行通信,并在第一主机与原从机的通信周期内,第一主机以轮询方式与新从机通信。
181.在一具体实施例中,在第一主机与原从机的当前的通信周期内,第三控制模块用于控制第一主机向原从机发送第一轮询信号,并接收原从机发送的对第一轮询信号的应答信号。第三控制模块还用于在间隔预设时长后,控制第一主机向新从机发送第二轮询信号,并接收新从机发送的对第二轮询信号的应答信号。
182.本实施例的通信装置中各模块控制时的具体执行过程可参考前述对应的通信方法的具体执行过程,此处不再赘述。
183.本技术进一步提出一种通信系统,如图20所示,图20是本技术通信系统一实施例的结构示意图。通信系统包括处理器181及与处理器181连接的存储器182,存储器182上存储有程序指令,处理器181执行程序指令时实现上述任一实施例所述的通信方法。
184.在本实施例中,处理器181还可以称为cpu(central processing unit,中央处理单元)。处理器181可能是一种集成电路芯片,具有信号的处理能力。处理器181还可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器181也可以是任何常规的处理器等。
185.本技术进一步提出一种计算机可读存储介质,如图21所示,图21是本技术计算机可读存储介质一实施例的结构示意图。计算机可读存储介质190上存储有程序指令191,程序指令191被处理器(图未示)执行时实现上述实施例的通信总线上设备的通信方法。
186.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(可以是个人计算机,服务器,网络设备或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),u盘,sd卡,pd光驱,移动硬盘,大容量软驱,多媒体记忆卡,服务器,便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器
(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
187.本技术通信总线上设有第一主机、第二主机及原从机,且第二主机是从原从机中选定的;本技术的第二主机基于第一主机发来的轮询信号的接收情况确定第一主机是否异常,若第一主机异常,第二主机以轮询方式与通信总线上的其它原从机进行通信。通过这种方式,本技术在确定第一主机异常时,采用第二主机与通信总线上的其它原从机进行通信,能够避免第一主机异常而导致整个通信系统无法正常运转的问题,因此能够保证整个通信系统正常运转,提高通信的可靠性及稳定性;且本技术的第二主机是从原从机中选定的,通信总线无需接入新的主机,不会影响通信效率及质量。
188.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
189.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
190.以上所述仅为本技术的实施方式,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。

技术特征:
1.一种通信总线上设备的通信方法,其特征在于,所述通信总线上设有第一主机及原从机,所述通信总线上还设有第二主机,所述第二主机是从所述原从机中选定的,所述通信方法包括:所述第二主机基于轮询信号的接收情况确定所述第一主机是否异常,其中,所述轮询信号为所述第一主机发送给所述第二主机的信号;若所述第一主机异常,所述第二主机以轮询方式与所述通信总线上的其它原从机进行通信。2.根据权利要求1所述的通信方法,其特征在于,所述基于轮询信号的接收情况确定所述第一主机是否异常,包括:获取最新一次接收所述轮询信号的第一起始时间点;从所述第一起始时间点开始计时,判断是否在第一预设时长内再次接收到所述轮询信号;若在所述第一预设时长内未再次接收到所述轮询信号,则确定所述第一主机异常。3.根据权利要求2所述的通信方法,其特征在于,所述基于轮询信号的接收情况确定所述第一主机是否异常,还包括:若在所述第一预设时长内再次接收到所述轮询信号,则获取接收到所述轮询信号的第二起始时间点;从所述第二起始时间点开始计时,在第二预设时长内持续接收所述轮询信号;判断在所述第二预设时长内接收到的所述轮询信号是否符合预定规则;若是,则确定所述第一主机正常;若否,则确定所述第一主机异常。4.根据权利要求3所述的通信方法,其特征在于,所述轮询信号包括多帧子信号,所述判断在所述第二预设时长内接收到的所述轮询信号是否符合预定规则,包括:统计所述多帧子信号中子信号实际发射时刻与所述子信号预设发射时刻之间的差值小于预设差值的所述子信号的数量;计算所述差值小于所述预设差值的所述子信号的数量占所述多帧子信号的总数的比值;判断所述比值是否大于预设比值;若是,则确定所述轮询信号符合预定规则;若否,则确定所述轮询信号不符合预定规则。5.根据权利要求1至4任一项所述的通信方法,其特征在于,还包括:若所述第一主机异常,所述第二主机发送复位指令至所述第一主机,以将所述第一主机置于复位状态。6.根据权利要求1至4任一项所述的通信方法,其特征在于,还包括:若所述第一主机正常,在所述通信总线接入新从机时,所述第一主机以轮询方式与所述原从机进行通信,且所述第二主机以轮询方式与所述新从机进行通信。7.根据权利要求6所述的通信方法,其特征在于,所述第一主机以轮询方式与所述原从机进行通信,且所述第二主机以轮询方式与所述新从机进行通信,包括:所述第一主机向所述第二主机发送第一轮询信号,并接收所述第二主机发送的对所述
第一轮询信号的应答信号;所述第一主机向所述第二主机发送所述第一轮询信号;所述第二主机向所述新从机发送第二轮询信号,并接收所述新从机发送的对所述第二轮询信号的应答信号;所述第一主机接收所述第二主机发送的对所述第一轮询信号的应答信号。8.根据权利要求6所述的通信方法,其特征在于,所述第一主机以轮询方式与所述原从机进行通信,且所述第二主机以轮询方式与所述新从机进行通信,包括:所述第一主机向所述第二主机发送第一轮询信号;所述第二主机向所述新从机发送第二轮询信号,并接收所述新从机发送的对所述第二轮询信号的应答信号;所述第一主机接收所述第二主机发送的对所述第一轮询信号的应答信号。9.根据权利要求7或8所述的通信方法,其特征在于,所述第一主机以轮询方式与所述原从机进行通信,且所述第二主机以轮询方式与所述新从机进行通信,还包括:所述第一主机向其它所述原从机发送所述第三轮询信号,并接收其它所述原从机发送的对所述第三轮询信号的应答信号。10.根据权利要求6所述的通信方法,其特征在于,所述通信总线接入多个所述新从机,所述第一主机以轮询方式与所述原从机进行通信,且所述第二主机以轮询方式与所述新从机进行通信,包括:所述第一主机以轮询方式与所述原从机进行通信,且所述第二主机以轮询方式与多个所述新从机进行通信,其中,所述第二主机与任意两个所述新从机通信的时间点均不同,且不同的所述时间点分别位于所述第二主机与所述第一主机的不同通信周期内。11.根据权利要求6所述的通信方法,其特征在于,所述通信总线接入多个所述新从机,所述通信总线上的设备包括至少两个所述第二主机,每个所述第二主机对应至少一个所述新从机,所述第一主机以轮询方式与所述原从机进行通信,且所述第二主机以轮询方式与所述新从机进行通信,包括:所述通信总线的第一主机以轮询方式与所述原从机进行通信,且不同的所述第二主机以轮询方式分别与对应的至少一个所述新从机进行通信。12.根据权利要求1所述的通信方法,其特征在于,还包括:若所述第一主机正常,在所述通信总线接入新从机时,所述第一主机以轮询方式与所述原从机进行通信,并在所述第一主机与所述原从机的通信周期内,所述第一主机以轮询方式与所述新从机通信。13.根据权利要求12所述的通信方法,其特征在于,所述第一主机以轮询方式与所述原从机进行通信,并在所述第一主机与所述原从机的通信周期内,所述第一主机以轮询方式与所述新从机通信,包括:在所述第一主机与所述原从机的当前的通信周期内,所述第一主机向所述原从机发送第一轮询信号,并接收所述原从机发送的对所述第一轮询信号的应答信号;间隔预设时长后,所述第一主机向所述新从机发送第二轮询信号,并接收所述新从机发送的对所述第二轮询信号的应答信号。14.一种应用于通信总线上设备的通信装置,其特征在于,所述通信总线设有第一主机
及原从机,所述通信总线上还设有第二主机,所述第二主机是从所述原从机中选定的,所述通信装置包括:第一控制模块,用于控制所述第二主机基于轮询信号的接收情况确定所述第一主机是否异常,其中,所述轮询信号为所述第一主机发送给所述第二主机的信号;第二控制模块,用于在所述第一主机异常时,控制所述第二主机以轮询方式与所述通信总线上的其他原从机进行通信。15.一种通信系统,其特征在于,包括处理器及与所述处理器连接的存储器,所述存储器上存储有程序指令,所述处理器执行所述程序指令时实现权利要求1至13任一项所述的通信方法。16.一种计算机可读存储介质,其特征在于,其上存储有程序指令,所述程序指令被处理器执行时实现权利要求1至13任一项所述的通信方法。

技术总结
本申请公开了一种通信总线上设备的通信方法、应用于通信总线上设备的通信装置、通信系统及计算机可读存储介质。通信总线上设有第一主机及原从机,通信总线上还设有第二主机,第二主机是从原从机中选定的,通信方法包括:第二主机基于轮询信号的接收情况确定第一主机是否异常,其中,轮询信号为第一主机发送给第二主机的信号;若第一主机异常,第二主机以轮询方式与通信总线上的其它原从机进行通信。通过这种方式,能够保证整个通信系统正常运转,提高通信的可靠性及稳定性。提高通信的可靠性及稳定性。提高通信的可靠性及稳定性。


技术研发人员:屈晓峰 杨威 田宏 陶师正 万小康
受保护的技术使用者:广东逸动科技有限公司
技术研发日:2022.05.26
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-4031.html

最新回复(0)