一种主机确定方法及装置与流程

文档序号:15492287发布日期:2018-09-21 20:51阅读:122来源:国知局

本发明涉及通信技术领域,具体而言,涉及一种主机确定方法及装置。



背景技术:

串口通信不具备硬件上面的先天仲裁机制,即通信总线上同一时间只能存在一个主机,否则将造成总线通信脉冲冲突。一般地,串口通信会提前设置一个主机,或者多个主机,采用特定的通信机制,确保总线不发生通信故障。

在现有技术中,通常使用不同的软件代码并分配给不同的通信模块,从而产生主机与从机,但这种方式需要分别设置主机与从机的程序,操作较为繁琐,且并不快捷。



技术实现要素:

有鉴于此,本发明的目的在于提供一种主机确定方法及装置,以解决上述问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种主机确定方法,应用于第一通信模块,所述第一通信模块与一总线通信连接,所述主机确定方法包括:

当接收到计时指令时开始计时,生成时间信息;

当所述时间信息与预设定的第一时间匹配时,将所述第一通信模块确定为主机,其中,所述预设定的第一时间为预设定的所述第一通信模块发送第一通信脉冲的时间,所述第一通信脉冲包含所述第一通信模块的身份标识信息,所述预设定的第一时间与所述身份标识信息对应。

进一步地,所述总线还与一第二通信模块通信连接,所述当接收到计时指令时开始计时生成时间信息的步骤之后,所述主机确定方法还包括:

当所述时间信息与预设定的第一时间不匹配,且检测到所述第二通信模块在预设定的第二时间发送的第二通信脉冲时,将所述第二通信模块确定为主机。

进一步地,在所述当接收到计时指令时开始计时生成时间信息的步骤之后,所述主机确定方法还包括:

当所述时间信息与预设定的第一时间匹配,且所述预设定的第一时间在预设定的时间范围内时,将所述第一通信模块确定为主机。

进一步地,在所述当接收到计时指令时开始计时生成时间信息的步骤之后,所述主机确定方法还包括:

当所述时间信息与预设定的第一时间不匹配,且检测到所述第二通信模块在预设定的第二时间发送的第二通信脉冲,且所述预设定的第二时间在预设定的时间范围内时,将所述第二通信模块确定为主机。

进一步地,所述总线还与多个第二通信模块通信连接,在所述当所述时间信息与预设定的第一时间匹配时将所述第一通信模块确定为主机的步骤之后,所述主机确定方法还包括:

将所述第一通信脉冲通过所述总线发送至多个所述第二通信模块。

第二方面,本发明实施例还提供了一种主机确定装置,其特征在于,应用于第一通信模块,所述第一通信模块与一总线通信连接,所述主机确定装置包括:

计时单元,用于当接收到计时指令时开始计时,生成时间信息;

主机确定单元,用于当所述时间信息与预设定的第一时间匹配时,将所述第一通信模块确定为主机,其中,所述预设定的第一时间为预设定的所述第一通信模块发送第一通信脉冲的时间,所述第一通信脉冲包含所述第一通信模块的身份标识信息,所述预设定的第一时间与所述身份标识信息对应。

进一步地,所述总线还与一第二通信模块通信连接,所述主机确定单元还用于当所述时间信息与预设定的第一时间不匹配,且检测到所述第二通信模块在预设定的第二时间发送的第二通信脉冲时,将所述第二通信模块确定为主机。

进一步地,所述主机确定单元还用于当所述时间信息与预设定的第一时间匹配,且所述预设定的第一时间在预设定的时间范围内时,将所述第一通信模块确定为主机。

进一步地,所述主机确定单元还用于当所述时间信息与预设定的第一时间不匹配,且检测到所述第二通信模块在预设定的第二时间发送的第二通信脉冲,且所述预设定的第二时间在预设定的时间范围内时,将所述第二通信模块确定为主机。

进一步地,所述总线还与多个第二通信模块通信连接,所述主机确定装置还包括:

信号传输单元,用于将所述第一通信脉冲通过所述总线发送至多个所述第二通信模块。

本发明实施例提供的主机确定方法及装置,当接收到计时指令时开始计时并生成时间信息,并当时间信息与预设定的第一时间匹配时,将第一通信模块确定为主机,其中,预设定的第一时间为预设定的第一通信模块发送第一通信脉冲的时间;由于预设定的第一时间与第一通信模块的身份标识信息对应,从而可直接依据第一通信模块的身份标识信息,便可以自主地从多个通信模块中产生一个主机,其余为从机,且不会产生总线冲突,也无需单独设置主机与从机的程序,简单方便,适应性强。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的总线系统的功能模块图。

图2示出了本发明第一实施例提供的主机确定方法的流程图。

图3示出了本发明实施例提供的总线系统的通信脉冲示例图。

图4示出了本发明第二实施例提供的主机确定装置的功能模块图。

图5示出了本发明第三实施例提供的主机确定方法的流程图。

图标:100-总线系统;110-总线;120-第一通信模块;130-第二通信模块;200-主机确定装置;210-检测单元;220-计时单元;230-判断单元;240-主机确定单元;250-信号传输单元。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明实施例提供了一种总线系统100,用于实现各通信模块之间的通信。请参阅图1,为总线系统100的功能模块图。该总线系统100包括:第一通信模块120、第二通信模块130以及总线110,第一通信模块120通过总线110与第二通信模块130通信连接。

需要说明的是,第一通信模块120既可以为主机也可以为从机,在此不做具体限制。且当第一通信模块120为主机时,第二通信模块130则自动为从机;第一通信模块120为从机时,第二通信模块130为主机。

此外,总线系统100包括一个主机与多个从机。即:当第一通信模块120为主机,总线系统100仅包括一个第一通信模块120,但包括多个第二通信模块130;当第一通信模块120为从机时,包括一个第二通信模块130,但包括多个第一通信模块120。

第一实施例

本发明实施例提供了一种主机确定方法,应用于第一通信模块120,用于从多个通信模块中,自主确定主机。请参阅图2,为本发明实施例提供的主机确定方法的流程图。该主机确定方法包括:

步骤s201:检测是否接收到计时指令,如果是,则执行步骤s202;如果否,则重新执行步骤s201。

通过检测是否接收到计时指令,总线系统100可判断是否开始计时。

需要说明的是,当总线系统100上电开始初始化后,便会准备生成计时指令。在一种优选的实施例中,该计时指令的生成可通过外部设置i/o电平实现,例如,当总线系统100上电后,电平一直保持不变,当电平变化时,便生成计时指令,以便于开始计时。

在另一种优选的实施例中,该计时指令也可以通过通信总线110的电平转换生成,在此不做具体限制。

步骤s202:生成时间信息。

该时间信息用于作为第一通信模块120以及第二通信模块130的时间基准,使第一通信模块120以及第二通信模块130各自的计时同步。

步骤s203:判断时间信息与预设定的第一时间是否匹配,如果是,则执行步骤s204;如果否,则执行步骤s206。

需要说明的是,第一通信模块120及第二通信模块130具有不同的身份标识,且总线系统100依据第一通信模块120及第二通信模块130的不同的身份标识分别预先设置了发送通信脉冲的时间。具体地,第一通信模块120在从计时开始的第一时间后,向总线系统100发送第一通信脉冲;第二通信模块130在从计时开始的第二时间后,向总线系统100发送第二通信脉冲。

此外,总线系统100还基于第一通信模块120与第二通信模块130的身份标识信息进行排序,排序靠前的通信模块向总线系统100发送通信脉冲的延时较小,排序靠后的通信模块向总线系统100发送通信脉冲的延时较大。

例如,当第一通信模块120的序号较第二通信模块130的序号靠前时,第一时间小于第二时间,从而第一通信模块120将先于第二通信模块130向总线系统100发送通信脉冲,即总线110要在接收到第一通信脉冲后,才有可能接收到第二通信脉冲。

还需要说明的是,第一通信脉冲包括第一通信模块120自身的身份标识信息;第二通信脉冲包括第二通信模块130自身的身份标识信息。

在一种优选的实施例中,该第一通信模块120与第二通信模块130的身份标识信息分别为第一通信模块120与第二通信模块130的出厂编码。

步骤s204:将第一通信模块120确定为主机。

可以理解地,当时间信息与预设定的第一时间匹配时,将所述第一通信模块120确定为主机。

由于计时信息与第一时间匹配,且当总线系统100确认主机后会停止计时,因而在第一通信模块120发送第一通信脉冲之前,并无其他通信模块向总线110发送通信脉冲,从而将第一通信模块120自身确定为主机。

由此也可以得出,第一通信模块120的序号较第二通信模块130的序号靠前时,第一时间小于第二时间,所以才会由第一通信模块120先于第二通信模块130发送第一通信脉冲。

可以理解地,将第一通信模块120确定为主机后,相应地,第二通信模块130则为从机,此时,总线系统100可包括多个第二通信模块130,还需要将第一通信脉冲通过总线110发送至多个第二通信模块130,以建立第一通信模块120与第二通信模块130之间的通信连接。

步骤s205:停止计时。

可以理解地,当总线系统100将第一通信模块120确定主机后,便停止计时,以避免继续计时,使得计时信息与第二时间匹配后发出第二通信脉冲,造成总线110混乱。

步骤s206:检测是否存在第二通信模块130在预设定的第二时间发送的第二通信脉冲,如果是,则执行步骤s207;如果否,则重新执行步骤s202。

通过检测总线110上是否存在第二通信模块130发送的第二通信脉冲,可以得知在第一通信模块120的延时还未结束时,是否有存在第二通信模块130先于第一通信模块120向总线110发送了通信脉冲。

步骤s207:将第二通信模块130确定为主机。

可以理解地,当时间信息与预设定的第一时间不匹配,且检测到第二通信模块130在预设定的第二时间发送的第二通信脉冲时,表明第二通信模块130先于第一通信模块120向总线110发送通信脉冲,从而将第二通信模块130确定为主机。

由此也可以得出,第二通信模块130的序号较第一通信模块120的序号靠前时,第二时间小于第一时间,所以才会由第二通信模块130先于第一通信模块120发送第二通信脉冲。

可以理解地,将第二通信模块130确定为主机后,相应地,第一通信模块120则为从机,此时,总线系统100可包括多个第一通信模块120。

例如,总线系统100包括第一通信模块120、第二通信模块130以及其他通信模块,且第一通信模块120的出厂编码为1,第二通信模块130的出厂编码为2,则第一通信模块120的序号较第二通信模块130的序号较前。假设第一时间为1ms,第二时间为2ms,则由图3可知,在接收到计时指令后,第一通信模块120在1ms时向总线110发送第一通讯脉冲,此时还未计时到第二通信模块130的第二时间2ms,此时便将第一通信模块120确定为主机,将第二通信模块130以及其他通信模块确定为从机;而假如没有第一通信模块120,则将第二通信模块130确定为主机,将其他通信模块确定为从机。

第二实施例

请参阅图4,图4为本发明较佳实施例提供的一种主机确定装置200的功能模块图。需要说明的是,本实施例所提供的主机确定方法,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该主机确定装置200包括:检测单元210、计时单元220、判断单元230、主机确定单元240以及信号传输单元250。

其中,检测单元210用于检测是否接收到计时指令。

可以理解地,在一种优选的实施例中,检测单元210可用于执行步骤s201。

计时单元220用于当接收到计时指令事时,生成时间信息。

可以理解地,在一种优选的实施例中,计时单元220可用于执行步骤s202。

判断单元230用于判断时间信息与预设定的第一时间是否匹配。

可以理解地,在一种优选的实施例中,判断单元230可用于执行步骤s203。

主机确定单元240用于当时间信息与预设定的第一时间匹配时,将第一通信模块120确定为主机。

可以理解地,在一种优选的实施例中,判断单元230可用于执行步骤s204。

计时单元220用于当时间信息与预设定的第一时间匹配时,停止计时。

可以理解地,在一种优选的实施例中,计时单元220可用于执行步骤s205。

检测单元210还用于当时间信息与预设定的第一时间不匹配时,检测是否存在第二通信模块130在预设定的第二时间发送的第二通信脉冲。

可以理解地,在一种优选的实施例中,检测单元210还可用于执行步骤s206。

主机确定单元240还用于当时间信息与预设定的第一时间不匹配且检测到第二通信模块130在预设定的第二时间发送的第二通信脉冲时,将第二通信模块130确定为主机。

可以理解地,在一种优选的实施例中,检测单元210还可用于执行步骤s207。

第三实施例

请参阅图5,图5为本发明较佳实施例提供的一种主机确定方法的流程图。需要说明的是,本实施例所提供的主机确定方法,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该主机确定方法包括:

步骤s501:检测是否接收到计时指令,如果是,则执行步骤s502;如果否,则重新执行步骤s501。

步骤s502:生成时间信息。

步骤s503:判断时间信息与预设定的第一时间是否匹配,如果是,则执行步骤s504;如果否,则执行步骤s507。

需要说明的是,第一通信模块120及第二通信模块130具有不同的身份标识,且总线系统100依据第一通信模块120及第二通信模块130的不同的身份标识分别预先设置了发送通信脉冲的时间。具体地,第一通信模块120在从计时开始的第一时间后,向总线系统100发送第一通信脉冲;第二通信模块130在从计时开始的第二时间后,向总线系统100发送第二通信脉冲。

此外,总线系统100还基于第一通信模块120与第二通信模块130的身份标识信息进行排序,排序靠前的通信模块向总线系统100发送通信脉冲的延时较小,排序靠后的通信模块向总线系统100发送通信脉冲的延时较大。

例如,当第一通信模块120的序号较第二通信模块130的序号靠前时,第一时间小于第二时间,从而第一通信模块120将先于第二通信模块130向总线系统100发送通信脉冲,即总线110要在接收到第一通信脉冲后,才有可能接收到第二通信脉冲。

还需要说明的是,第一通信脉冲包括第一通信模块120自身的身份标识信息;第二通信脉冲包括第二通信模块130自身的身份标识信息。

在一种优选的实施例中,该第一通信模块120与第二通信模块130的身份标识信息分别为第一通信模块120与第二通信模块130的出厂编码。

步骤s504:判断预设定的第一时间是否在预设定的时间范围内,如果是,则执行步骤s505;如果否,则执行步骤s507。

可以理解地,通过预先设定一个时间范围,将只有在预设定的时间范围内向总线110发出通信脉冲的通信模块作为主机。

步骤s505:将第一通信模块120确定为主机。

可以理解地,当时间信息与预设定的第一时间匹配,且预设定的第一时间在预设定的时间范围内时,将第一通信模块120确定为主机。

由于计时信息与第一时间匹配且第一时间在预设定的时间范围内,且当总线系统100确认主机后会停止计时,因而在第一通信模块120发送第一通信脉冲之前,并未确定系统总线110的主机,从而将第一通信模块120自身确定为主机。

可以理解地,将第一通信模块120确定为主机后,相应地,第二通信模块130则为从机,此时,总线系统100可包括多个第二通信模块130,还需要将第一通信脉冲通过总线110发送至多个第二通信模块130,以建立第一通信模块120与第二通信模块130之间的通信连接。

步骤s506:停止计时。

可以理解地,当总线系统100将第一通信模块120确定主机后,便停止计时,以避免继续计时,使得计时信息与第二时间匹配后发出第二通信脉冲,造成总线110混乱。

步骤s507:检测是否存在第二通信模块130在预设定的第二时间发送的第二通信脉冲,如果是,则执行步骤s508;如果否,则重新执行步骤s502。

通过检测总线110上是否存在第二通信模块130发送的第二通信脉冲,可以得知在第一通信模块120的延时还未结束时,是否有存在第二通信模块130先于第一通信模块120向总线110发送了通信脉冲。

步骤s508:判断第二时间是否在预设定的时间范围内,如果是,则执行步骤s509;如果否,则重新执行步骤s502。

步骤s509:将第二通信模块130确定为主机。

只有当时间信息与预设定的第一时间不匹配,且检测到第二通信模块130在预设定的第二时间发送的第二通信脉冲,且预设定的第二时间在预设定的时间范围内时,将第二通信模块130确定为主机。

综上所述,本发明实施例提供的主机确定方法及装置,当接收到计时指令时开始计时并生成时间信息,并当时间信息与预设定的第一时间匹配时,将第一通信模块确定为主机,其中,预设定的第一时间为预设定的第一通信模块发送第一通信脉冲的时间;由于预设定的第一时间与第一通信模块的身份标识信息对应,从而可直接依据第一通信模块的身份标识信息,便可以自主地从多个通信模块中产生一个主机,其余为从机,且不会产生总线冲突,也无需单独设置主机与从机的程序,简单方便,适应性强。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1