存储介质、电子设备、总线资源分配方法及装置与流程

文档序号:25721414发布日期:2021-07-02 21:05阅读:96来源:国知局
存储介质、电子设备、总线资源分配方法及装置与流程

本申请涉及通信领域,具体而言,涉及一种存储介质、电子设备、总线资源分配方法及装置。



背景技术:

半双工通信技术可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。也就是说,通信信道的每一端都可以是发送端,也可以是接收端。但同一时刻里,信息只能有一个传输方向。通常地,在半双工通信中,单一的主控设备通过一根总线实现与至少一个从机通信。由于是单一的主机占用总线与从机之间通信,因此不会发生数据错乱。

目前,在一些场景(工业控制场景、农业控制场景)中,需要多个主控设备通过一根总线与至少一个从机之间通信时,若不同的主控设备同时对总线具有占用需求,则会导致数据错乱,使得主控设备与从机之间无法正常通信。



技术实现要素:

本申请实施例的目的在于提供一种总线资源分配方法及装置,用以解决不同的主控设备同时对总线具有占用需求,则会导致数据错乱,使得主控设备与从机之间无法正常通信的问题。

第一方面,本申请实施例的目的在于提供一种总线资源分配方法,应用于目标主控设备,目标主控设备与其他主控设备通过总线与至少一个从机通信。该方法包括:向服务器发送总线占用请求,总线占用请求携带有占用时长,其中,服务器用于为主控设备分配占用总线的时间段;接收来自服务器的分配给目标主控设备的占用时间段。

本申请提供的总线资源分配方法,目标主控设备可以向服务器发送总线占用请求。其中,总线占用请求携带有占用时长;然后接收来自服务器的分配给目标主控设备的占用时间段。进而,目标主控设备可以在占用时间段占用总线,当目标主控设备仅在占用时间段占用总线时,不会与其他主控设备占用总线的时间发生冲突,避免了数据错乱,保证了主控设备与从机之间的正常通信。

可选地,在接收来自服务器的分配给目标主控设备的占用时间段之后,所述方法还包括:在到达占用时间段的起始时刻时,向服务器发送占用总线指令;接收来自服务器的允许占用指令;基于允许占用指令,在占用时间段占用总线。这样,使得目标主控设备仅能在占用时间段时,才能占用总线,保证了目标主控设备占用总线不会与其他主控设备占用总线发生冲突。

可选地,在占用时间段占用总线之后,该方法还包括:若在占用时间段的开始之前或占用时间段的结束之前总线占用需求结束,向服务器发送停止占用指令。这样,当取消在占用时间段或在占用时间段的结束时刻之前提前结束占用总线时,可以及时通知服务器总线已经提前停止占用。进而,服务器可以将占用时间段的结束时刻更新为接收到总线已经停止占用的通知的时刻。

可选地,目标主控设备包括外接设备和主机,向服务器发送总线占用请求,包括:主机向外接设备发送总线占用请求,外接设备向服务器发送总线占用请求;在到达占用时间段的起始时刻时,向服务器发送占用总线指令;接收来自服务器的允许占用指令;基于允许占用指令,在占用时间段占用总线包括:在到达占用时间段的起始时刻时,外接设备向服务器发送占用总线指令;外接设备接收来自服务器的允许占用指令;外接设备指示主机占用总线;主机响应于指示而占用总线。可以理解地,外接设备相当于解耦了主机和服务器之间的通讯方式,主机只需要在将发送总线占用请求至外接设备后,开启串口接受中断,以及接收来自外接设备发送的指示,最后占用总线即可,节省了主机的制造成本和处理资源。

第二方面,本申请实施例还提供一种总线资源分配方法,应用于服务器,服务器分别与多个主控设备通信连接,多个主控设备通过总线与至少一个从机通信连接。所述方法包括:接收来自多个主控设备中目标主控设备的总线占用请求,其中,总线占用请求携带有占用时长;基于已分配的总线占用时间段以及接收的所有的总线占用请求,确定分配给所述目标主控设备的占用总线的占用时间段。控制目标主控设备在占用时间段占用总线。

可选地,控制目标主控设备在占用时间段占用总线包括:

在到达占用时间段的起始时刻时,接收目标主控设备发送的占用总线指令;发送允许占用指令至目标主控设备,以控制目标主控设备在占用时间段占用总线。

可选地,若在占用时间段开始前或结束前,接收停止占用指令,则将分配给目标主控设备的占用时间段中尚未使用的时间段作为空闲时间段。

第三方面,本申请实施例还提供一种总线资源分配装置,目标主控设备与其他主控设备通过总线与至少一个从机通信,该装置包括:

信息发送单元,用于向服务器发送总线占用请求,总线占用请求携带有占用时长。其中,服务器用于为主控设备分配占用总线的时间段。

信息接收单元,用于接收来自服务器的分配给目标主控设备的占用时间段。

第四方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。

第五方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

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

图1为本申请实施例提供的半双工通信系统的交互示意图;

图2为本申请实施例提供的总线资源分配方法的流程图一;

图3为本申请实施例提供的总线资源分配方法的流程图二;

图4为本申请实施例提供的总线资源分配装置的功能模块框图一;

图5为本申请实施例提供的总线资源分配装置的功能模块框图二;

图6为本申请实施例提供的电子设备的功能模块框图。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。

本申请实施例提供了一种总线资源分配方法,应用于目标主控设备101。目标主控设备101位于半双工通信系统。其中,如图1所示,半双工通信系统包括服务器100、多个主控设备、至少一个从机104(图1中为多个从机104)。本申请实施例中,从多个主控设备中选取任意一个来介绍总线资源分配方法,为便于描述,将选取的主控设备称之为目标主控设备,多个主控设备中其余主控设备均可采用后文中目标主控设备的方式参与总线资源分配。服务器100与多个主控设备通信连接,服务器100用于为主控设备分配占用总线的时间段。目标主控设备101与其他主控设备通过总线与至少一个从机104通信。其中,多个主控设备与多个从机104之间可以是基于串行通信协议modbus通信,也可以是基于扩频技术的远距离无线传输技术lora通信,还可以是基于i2c或者spi串行总线通信,在此不作限定。如图2所示,该总线资源分配方法包括:

s201:目标主控设备101向服务器发送总线占用请求。

其中,总线占用请求携带有占用时长。其中,占用时长可以为但不限于100ms、200ms、300ms等,在此不作限定。当目标主控设备101具有对从机104的数据读写需求时,可以基于数据读写的数据量,确定占用时长。然后,向服务器100发送携带有占用时长的总线占用请求。

s202:目标主控设备101接收来自服务器100的分配给目标主控设备101的占用时间段。

服务器100用于接收到总线占用请求后,可以根据已经分配给其他主控设备的占用总线的占用时间段,确定目标主控设备101的占用总线的占用时间段。例如,分配给除目标主控设备101的其他主控设备的占用时间段为第100ms-第600ms,而上述的占用时长为200ms的情况下,则确定的占用时间段为第601ms-800ms。再例如,分配给除目标主控设备101的其他主控设备的占用时间段为第100ms-第200ms、第401ms-第600ms,而上述的占用时长为200ms的情况下,确定的分配给目标主控设备101的占用时间段可以为第201ms-400ms。

本申请实施例提供的总线资源分配方法,目标主控设备可以向服务器发送总线占用请求。其中,总线占用请求携带有占用时长;然后接收来自服务器的分配给目标主控设备的占用时间段。进而,目标主控设备可以在占用时间段占用总线,当目标主控设备仅在占用时间段占用总线时,不会与其他主控设备占用总线的时间发生冲突,避免了数据错乱,保证了主控设备与从机之间的正常通信。

可以理解地,一种实施方式中,在s202之后,该方法还可以包括:

s203:目标主控设备101在占用时间段占用总线。如,可以在上述的第601ms-800ms占用总线。其中,s203可以包括:

步骤1:目标主控设备101在到达占用时间段的起始时刻时,向服务器100发送占用总线指令。

例如,在到达占用时间段的起始时刻时,说明总线当前处于空闲状态,目标主控设备101占用总线,不会与其他主控设备占用总线发生冲突。因此,可以向服务器100发生占用总线指令。

步骤2:目标主控设备101接收来自服务器100的允许占用指令。

步骤3:目标主控设备101基于允许占用指令,在占用时间段占用总线。

当服务器100接收到目标主控设备101发送的占用总线指令后,判断是否处于占用时间段,如果处于占用时间段,则发送允许占用指令至目标主控设备101;如果未处于占用时间段,则不会发送允许占用指令(或者发送禁止占用指令)至目标主控设备101。进而,使得目标主控设备101仅能在占用时间段时,才能占用总线,保证了目标主控设备101占用总线不会与其他主控设备占用总线发生冲突。

一种实施方式中,目标主控设备101可以包括外接设备103和主机102。外接设备103的作用是帮助主机102处理与服务器100之间的通信,而且外接设备103与主机102可以进行串口中断,即保证了时效性又不占用主机102的业务功能代码。外接设备103可以包括通信模块和微处理器,其中,通信模块可以为4g模块或者wifi模块。微处理器可以为但不限于型号为stm32f103的微处理器或者型号为sim76004g的微处理器。外接设备103可以通过通信模块与服务器100通信连接,外接设备103的微处理器可以通过usart串口与主机102进行通讯。主机102通过总线与至少一个从机104通信。

另外,服务器100可以通过外接设备103检测主机102是否出现故障,当其中一个主机102出现故障时,可以控制通过另一个外接设备103控制另一个主机102占用总线,即未出现故障的主机102可以作为备份。

再者,当多个主机102中的目标主机占用总线读取多个从机104中的目标从机的数据时,其他主机102通过对应的外接设备可以向目标主机发出数据获取请求,目标主机可以将目标从机的数据通过对应的外接设备103发送至其他主机102,实现数据共享。

基于上述,目标主控设备101向服务器100发送总线占用请求的具体实现方式可以为:通过主机102向外接设备103发送总线占用请求,然后,外接设备103向服务器100发送总线占用请求。上述的步骤1-步骤3可以具体实现为:在到达占用时间段的起始时刻时,外接设备103向服务器100发送占用总线指令;外接设备103接收来自服务器100的允许占用指令;外接设备103发送指示至主机102;主机102响应于指示而占用总线。可以理解地,外接设备103相当于解耦了主机102和服务器100之间的通讯方式,主机100只需要在将发送总线占用请求至外接设备后,开启串口接受中断,以及接收来自外接设备103发送的指示,最后占用总线即可,节省了主机100的制造成本和处理资源。

一种实施方式中,该方法还可以包括:

若在占用时间段的开始之前或占用时间段的结束之前总线占用需求结束,则目标主控设备101向服务器100发送停止占用指令。

在目标主控设备101包括外接设备103和主机102的情况下,主机102可以发送结束指示至外接设备103,外接设备103接收到结束指示后,发送停止占用指令至服务器100。

需要说明的是,在占用时间段的起始时刻之前,目标主控设备101取消对总线的占用时(即,在占用时间段总线未被占用),则目标主控设备101可以向服务器100发送停止占用指令的。或者,在占用时间段的起始时刻与结束时刻之间,目标主控设备101提前结束对总线的占用时,(即占用总线的时间段小于占用时间段)。这样,当取消在占用时间段或在占用时间段的结束时刻之前提前结束占用总线时,可以及时通知服务器100总线已经提前停止占用。进而,服务器100可以将占用时间段的结束时刻更新为接收到总线已经停止占用的通知的时刻。

另外,当目标主控设备101占用总线的时长等于占用时间段的时长时,也可以发送停止占用指令至服务器100,以通知服务器100当前已经停止占用总线。可选地,若服务器100在占用时间段的结束时刻,未接收到目标主控设备101发送的停止占用指令,则可以发送禁止占用通知至目标主控设备101。目标主控设备101接收到禁止占用通知后,停止占用总线。

请参阅图3,本申请实施例还提供另一种总线资源分配方法,应用于服务器100。如图2所示,服务器100分别与多个主控设备通信连接,多个主控设备通过总线与至少一个从机104(图2中包含多个从机104)通信连接。需要说明的是,本申请实施例所提供的总线资源分配方法,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本申请实施例部分未提及之处,可参考上述的实施例中相应内容。所述方法包括:

s301:服务器100接收来自多个主控设备中目标主控设备101的总线占用请求。

其中,总线占用请求携带有占用时长。上述的外接设备103的微处理器可以响应于主机102发起的数据读写命令,通过通信模块向服务器100发送总线占用请求。其中,数据读写命令用于通过总线在从机104完成数据读写。占用时长可以为但不限于100ms、200ms、300ms等,在此不作限定。进而,可以接收来自目标主控设备101的总线占用请求。

s302:基于已分配的总线占用时间段以及接收的所有的总线占用请求,确定分配给目标主控设备101的占用总线的占用时间段。

其中,已分配的总线占用时间段是根据已经分配给其他主控设备的占用总线的时间段确定的。

一种可选的实施方式中,可以在每接收到一个总线占用请求时,基于已经分配的总线占用时间段,确定分配给目标主控设备101的占用总线的占用时间段。例如,已分配的总线占用时间段为第1ms-第600ms,当接收到第1个总线占用请求时,第1个总线占用请求携带的占用时长为50ms,则确定分配给发出第1个总线占用请求的目标主控设备101的占用总线的占用时间段为第601ms-第650ms。当再次接收到第2个总线占用请求时,第2个总线占用请求携带的占用时长为100ms,则确定分配给发出第2个总线占用请求的目标主控设备101的占用总线的占用时间段为第651ms-第750ms,以此类推。可以理解地,上述的方式中,每接收到一个总线占用请求,就马上为发出总线占用请求的目标主控设备101分配占用总线的占用时间段,时效性高。

另一种可选的实施方式中,可以在每间隔预设的时间段或同一时刻根据接收到的所有总线占用请求以及已经分配的总线占用时间段,确定分配给目标主控设备101的占用总线的占用时间段。例如,已分配的总线占用时间段为第1ms-第400ms、第451ms-第600ms,在预设的时间段或同一时刻接收到第1个目标主控设备101的总线占用请求1、第2个目标主控设备101的总线占用请求2以及第3个目标主控设备101的总线占用请求3。若总线占用请求1携带的占用时长为100ms、总线占用请求2携带的占用时长为50ms、总线占用请求3携带的占用时长为50ms,则分配给第2个目标主控设备101的占用总线的占用时间段可以为第401ms-第450ms,分配给第1个目标主控设备101的占用总线的占用时间段可以为第601ms-第700ms,分配给第3个目标主控设备101的占用总线的占用时间段可以为第701ms-第750ms。通过该分配方式,可以优化时间分配,提高总线的利用率。

另外,若总线占用请求1携带有优先级参数1、总线占用请求2携带有优先级参数2、总线占用请求3携带有优先级参数3,且优先级参数3高于优先级参数2,优先级参数2高于优先级参数1,则分配给第3个目标主控设备101的占用总线的占用时间段可以为第401ms-第450ms,分配给第2个目标主控设备101的占用总线的占用时间段可以为第601ms-第700ms,分配给第1个目标主控设备101的占用总线的占用时间段可以为第701ms-第750ms。通过该分配方式,可以根据总线占用需求的优先级,优化时间分配,更符合实际业务需求。当然地,为了兼顾时效性,上述的时间段的时长可以小于预设的时长(如6s)。

s303:服务器100控制目标主控设备101在占用时间段占用总线。

其中,总线连接有多个主控设备和至少一个从机104,多个主控设备包括目标主控设备101。其中,当目标主控设备101包括外接设备103和主机102时,外接设备103向主机102发送占用时间段;主机102基于占用时间段占用总线。

具体地,s303可以具体包括:在到达占用时间段的起始时刻时,服务器100接收目标主控设备101发送的占用总线指令,发送允许占用指令至目标主控设备101,以控制目标主控设备101在占用时间段占用总线。

另外,所述方法还可以包括:

服务器100若在占用时间段开始前或结束前,接收停止占用指令,则将分配给目标主控设备101的占用时间段中尚未使用的时间段作为空闲时间段。由此,可以将目标主控设备101的占用时间段中尚未使用的时间段释放,这样若有新的目标主控设备具有对总线的占用需求时,可以将释放的时间段作为新的目标主控设备的占用总线的占用时间段或者占用时间段的一部分。

请参阅图4,本申请实施例提供了一种总线资源分配装置400,应用于目标主控设备101。目标主控设备101与其他主控设备通过总线与至少一个从机104通信。需要说明的是,本申请实施例所提供的总线资源分配装置400,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本申请实施例部分未提及之处,可参考上述的实施例中相应内容。该总线资源分配装置400包括:信息发送单元401、信息接收单元402,其中,

信息发送单元401,用于向服务器发送总线占用请求,总线占用请求携带有占用时长。其中,服务器100用于为主控设备分配占用总线的时间段。

信息接收单元402,用于接收来自服务器100的分配给目标主控设备101的占用时间段。

一种可选的实施方式中,信息发送单元401还可以用于在到达所述占用时间段的起始时刻时,向服务器发送占用总线指令。信息接收单元402,还可以用于接收来自服务器的允许占用指令。该总线资源分配装置400,还可以包括:总线占用单元403,用于基于允许占用指令,在占用时间段占用总线。

一种可选的实施方式中,信息发送单元401,还可以用于若在占用时间段的开始之前或占用时间段的结束之前总线占用需求结束,向服务器100发送停止占用指令。

请参阅图5,本申请实施例还提供另一种总线资源分配装置500,应用于服务器100。如图2所示,服务器100分别与目标主控设备101、其他主控设备通信连接,目标主控设备101、其他主控设备通过总线与至少一个从机104(图2中包含多个从机104)通信连接。需要说明的是,本申请实施例所提供的总线资源分配方法,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本申请实施例部分未提及之处,可参考上述的实施例中相应内容。该装置500包括信息接收单元501、信息确定单元502、资源分配单元503,其中,

信息接收单元501,用于接收来自多个主控设备中目标主控设备101的总线占用请求。

信息确定单元502,用于基于已分配的总线占用时间段以及接收的所有的总线占用请求,确定分配给目标主控设备101的占用总线的占用时间段。

其中,已分配的总线占用时间段是根据已经分配给多个主控设备中,除目标主控设备101的其他主控设备的占用时间段确定的。

资源分配单元503,用于控制目标主控设备101在占用时间段占用总线。

一种可选地实施方式中,资源分配单元503,可以具体用于在到达占用时间段的起始时刻时,接收目标主控设备101发送的占用总线指令。发送允许占用指令至目标主控设备101,以控制目标主控设备101在占用时间段占用总线。

一种可选地实施方式中,信息接收单元501,还可以用于若在占用时间段的开始之前或占用时间段的结束之前总线占用需求结束,接收目标主控设备101发送的停止占用指令。

以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。

请参照图6,图6为本申请实施例提供的一种用于执行总线资源分配方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器110,例如cpu,至少一个通信接口120,至少一个存储器130和至少一个通信总线140。其中,通信总线140用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口120用于与其他节点设备进行信令或数据的通信。存储器130可以是高速ram存储器,也可以是非易失性的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器130可选的还可以是至少一个位于远离前述处理器的存储装置。存储器130中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器110执行时,电子设备执行上述图1、图3所示方法过程。

可以理解,图1、图3所示的结构仅为示意,所述电子设备还可包括比图1、图3中所示更多或者更少的组件,或者具有与图1、图3所示不同的配置。图1、图3中所示的各组件可以采用硬件、软件或其组合实现。

该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与上述图1、图3方法实施例对应的装置,能够执行图1、图3方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。

需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。

本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如图1、图3所示方法实施例中电子设备所执行的方法过程。

本实施例公开一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括向服务器发送总线占用请求,总线占用请求携带有占用时长,其中,服务器用于为主控设备分配占用总线的时间段;接收来自服务器的分配给目标主控设备的占用时间段。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

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

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