通信帧转发方法、通信节点、多节点通信方法及装置与流程

文档序号:17922638发布日期:2019-06-15 00:12阅读:220来源:国知局
通信帧转发方法、通信节点、多节点通信方法及装置与流程

本申请涉及通信领域,特别涉及通信帧转发方法、通信节点、多节点通信方法及装置。



背景技术:

现有的设备中,存在具有多个串联的通信节点的情况,例如由多个锂电池串联组成的锂电池包。

当设备需要与该多个串联的通信节点进行通信来确定通信节点的工作情况时,需要在多个通信节点之间进行通信帧的传输。

在一些应用场景中,首节点会首先发出通信帧,然后通过从节点逐级接收该通信帧后再转发至特定节点处,例如是某一从节点或者尾节点处,该从节点或者尾节点可以根据该通信帧的指示进行响应,生成并反馈相应的通信帧回首节点。如此可以实现对多个通信节点进行管理。

但是,当通信帧传输过程中需要经过的通信节点较多时,会造成较大的通信延迟,从而限制了通信节点数量的增加。



技术实现要素:

本申请提供一种通信帧转发方法、通信节点、多节点通信方法及装置,可以降低通信帧传输过程中的通信延迟。

本申请实施例提供一种通信帧转发方法,所述方法包括:

接收上一通信节点发送的通信帧的数据,将所接收到的所述通信帧的帧数据进行存储;

从存储的所述帧数据中确定一帧片段,所述帧片段为当前时刻与上一时刻之间所存储的帧数据,其中所述上一时刻为当前通信节点上一次发送帧数据的时刻,或者是接收所述通信帧的起始时刻;

判断所述帧片段的数据大小值是否达到预设值;

若是,则根据通信进程确定需转发的帧数据,将所述帧数据转发给下一通信节点。

可选的,所述预设值为1-2字节。

可选的,所述根据通信进程确定需转发的帧数据,包括:

从存储的所述帧数据中获取所述通信帧的功能码;

根据所述功能码的类型确定需转发的帧数据,所述功能码的类型包括命令类以及请求类;

其中,所述根据所述功能码的类型确定需转发的帧数据包括:

当所述功能码的类型为所述命令类时,将所述帧片段的数据作为需转发的帧数据;或者

当所述功能码的类型为所述请求类时,根据所述帧片段确定需转发的帧数据。

可选的,所述根据所述帧片段确定需转发的帧数据,包括:

若所述帧片段为目标帧片段时,确定当前通信节点的新增数据内容;

将所述新增数据内容与所述帧片段作为需转发的帧数据;

可选的,所述通信帧包括数据内容,所述目标帧片段为上一通信节点发送的最后一段数据内容对应的帧片段;

所述将所述新增数据内容与所述帧片段作为需转发的帧数据,包括:

在所述目标帧片段的数据内容的末尾处添加当前通信节点的新增数据内容,以作为需转发的帧数据。

可选的,所述通信帧包括校验码,所述根据通信进程确定需转发的帧数据,还包括:

若所述帧片段为所述通信帧的校验码,则将上一通信节点的校验码更新为与当前通信节点对应的校验码;

将所述与当前通信节点对应的校验码作为需转发的帧数据;

其中,所述当前通信节点对应的校验码与所述新增数据内容相关。

可选的,所述将所述帧数据转发给下一通信节点,包括:

生成中断指令,基于所述中断指令触发将所述帧数据转发给下一通信节点的动作。

本申请实施例还提供一种多节点通信方法,应用于多节点通信装置,所述多节点通信装置包括相互串联通信的首节点、至少一个从节点以及尾节点,所述方法包括:

所述首节点经所述至少一个从节点向所述尾节点发送下传通信帧;

所述尾节点当接收到所述首节点发送的所述下传通信帧时,基于所述下传通信帧进行响应,生成上传通信帧;

所述尾节点经所述至少一个从节点向所述首节点发送所述上传通信帧;

其中,所述至少一个从节点在转发所述下传通信帧或所述上传通信帧时,执行如上所述任意一实施例的通信帧转发方法。

本申请实施例还提供一种通信节点,所述通信节点包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上所述任意一实施例的通信帧转发方法。

本申请实施例还提供一种多节点通信装置,所述多节点通信装置包括相互串联通信的首节点、至少一个从节点以及尾节点:

所述首节点,用于经所述至少一个从节点向所述尾节点发送下传通信帧;

所述尾节点,用于当接收到所述首节点发送的所述下传通信帧时,基于所述下传通信帧进行响应,生成上传通信帧;经所述至少一个从节点向所述首节点发送所述上传通信帧;以及

所述至少一个从节点,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上所述任意一实施例的通信帧转发方法。

由上可知,本申请实施例在当接收到的帧片段的数据大小值达到预设值后,根据通信进程确定需转发的帧数据,将帧数据转发给下一通信节点,从而实现根据接收时间将通信帧分成若干帧片段分别进行转发,使得通信帧在转发前无需进行完整接收,提高了接收效率,进而大大降低通信帧传输过程中的通信延迟。

附图说明

图1为本申请实施例提供的通信帧转发方法的实现流程图。

图2为本申请实施例提供的根据通信进程确定需转发的帧数据的实现流程图。

图3为本申请实施例提供的通信帧转发方法的应用场景图。

图4为本申请实施例提供的根据通信进程确定需转发的帧数据的另一实现流程图。

图5为本申请实施例提供的烧录文件的生成方法的另一应用场景。

图6为本申请实施例提供的通信节点的结构示意图。

图7为本申请实施例提供的多节点通信装置的结构示意图。

具体实施方式

下面结合附图对本申请的较佳实施例进行详细阐述,以使本申请的优点和特征更易被本领域技术人员理解,从而对本申请的保护范围作出更为清楚的界定。

请参阅图1,图中示出了本申请实施例提供的一种通信帧转发方法的实现流程。

如图1所示,该通信帧转发方法,包括:

101、接收上一通信节点发送的通信帧的数据,将所接收到的通信帧的帧数据进行存储。

102、从存储的帧数据中确定一帧片段,帧片段为当前时刻与上一时刻之间所存储的帧数据,其中上一时刻为当前通信节点上一次发送帧数据的时刻,或者是接收通信帧的起始时刻。

在一些实施例中,若该通信节点首次接收到上一通信节点发送的通信帧的数据后,可以将当前所接收到的通信帧的帧数据作为一帧片段。

若该通信节点在上一时刻已经发送过相关的帧数据给下一通信节点,则可以将该上一时刻记为起始点,将上一时刻开始到当前时刻所接收到的帧数据作为帧片段。

103、判断帧片段的数据大小值是否达到预设值。

在一些实施例中,预设值可以是小于完整的通信帧的数据大小值,以使通信帧可以分为若干段分别进行转发。也即,当接收到数据大小为预设值的帧片段,则将该帧片段进行转发。

在一些实施例中,该预设值为1-2字节。

例如,数据大小值的预设值设为1字节。当通信节点在接收上一通信节点发送的通信帧的过程中,若接收的帧片段的数据大小值到达1字节后,则可以确定该帧片段的数据大小值达到预设值。

在一些实施例中,数据大小值是否达到预设值,可以通过硬件或者软件进行监测判断,具体的实现方式可以根据实际情况而定。

104、若是,则根据通信进程确定需转发的帧数据,将帧数据转发给下一通信节点,需转发的帧数据与帧片段相关。

在一些实施例中,该通信进程可以包括通信帧的下传通信以及上传通信,当处于下传通信时,该需转发的帧数据可以是帧片段,也即当帧片段的数据大小值达到预设值后,将该帧片段直接转发给下一通信节点。

例如,数据大小值的预设值设为1字节。当通信节点在接收上一通信节点发送的通信帧的过程中,若接收的帧片段的数据大小值到达1字节后,将该1字节对应的帧片段向下一通信节点进行转发,使得该通信节点无需接收完毕再转发,提高了通信帧的通信效率,降低了通信延迟。

在一些实施例中,当处于上传通信时,可以根据当前帧片段的内容对需转发的帧数据进行确定,例如当帧片段为帧头时,可以将该该帧片段直接转发给下一通信节点;或者,当帧片段为数据内容时,若此时需要增加与当前通信节点相关的内容时,可以将该需要增加的内容与帧片段共同作为需转发的帧数据。

在一些实施例中,将帧数据转发给下一通信节点,包括:

生成中断指令,基于中断指令触发将帧数据转发给下一通信节点的动作。

该中断指令可以是通过硬件的中断管脚生成,也可以是软件生成的中断指令。

请参阅图2,图中示出了本申请实施例提供的通信帧转发方法的应用场景。

在该应用场景中,依次包括首节点、第一从节点、第二从节点、第三从节点以及尾节点,每一通信节点还包括时序1-8共8个时序。

其中,该通信帧的内容形式可以包括帧头f1、功能码a0、数据内容01、03以及校验码cs。该帧头f1、功能码a0、数据内容01、03以及校验码cs的数据大小值均为1字节。

当在时序1时,首节点将帧头f1向第一从节点进行发送,该第一从节点接收到相应的帧头f1的帧数据。

当在时序2时,此时首节点将功能码a0向第一从节点进行发送,该第一从节点对帧头f1的数据接收完毕,也即接收完1字节的帧数据后,将该1字节的帧数据作为帧片段。此时通信节点产生中断指令,利用该中断指令将该帧片段向第二从节点进行转发,并同时或相近时间接收首节点发送的功能码a0。

当在时序3时,此时第一从节点在转发完帧头并接收完1字节的功能码后,可以将当前时刻到上一时刻(接收完帧头f1)之间接收到的该功能码a0作为帧片段,将该功能码a0进行发送。

如此类推,每一从节点完成对1字节的帧数据的接收后,将该接收的1字节的帧数据作为帧片段进行转发,可以使得通信帧在传输过程中花费的总时长为:传输总时长=通信帧的字节数+从节点的个数-1(设传输1字节的时长为1),从而大幅降低通信帧在传输过程中的通信延迟。

由上可知,本申请实施例在当接收到的帧片段的数据大小值达到预设值后,根据通信进程确定需转发的帧数据,将帧数据转发给下一通信节点,从而实现根据接收时间将通信帧分成若干帧片段分别进行转发,使得通信帧在转发前无需进行完整接收,提高了接收效率,进而大大降低通信帧传输过程中的通信延迟。

请参阅图3,图中示出了本申请实施例提供的根据通信进程确定需转发的帧数据的实现流程。

如图3所示,根据通信进程确定需转发的帧数据,包括:

201、从存储的帧数据中获取通信帧的功能码;

202、根据功能码的类型确定需转发的帧数据,所述功能码的类型包括命令类以及请求类。

203、若功能码的类型为命令类,将帧片段的数据作为需转发的帧数据。

当功能码的类型为命令类型时,通信节点只要执行所传输的通信帧,因此只需将帧片段的数据作为需转发的帧数据,对其进行转发即可。

204、若功能码的类型为请求类,则判断帧片段是否为目标帧片段。

该目标帧片段可以是位于预设位置的通信帧的数据,例如通信帧可以包括帧头、功能码、数据内容以及校验码,该目标帧片段可以是帧头、功能码、数据内容或者校验码所代表的帧片段。

205、若帧片段为目标帧片段,则确定当前通信节点的新增数据内容。

当功能码的类型为请求类时,通信节点需反馈与该请求内容对应的数据内容。

因此,通信节点可以基于通信帧的帧头或者是数据内容获取相应的新增数据内容。

206、将新增数据内容与帧片段作为需转发的帧数据。

在一些实施例中,该新增数据内容与帧片段可以同时进行发送,或者发送具有先后顺序。

在一些实施例中,为了让所传输的通信帧的格式更加规范,提高识别效率,将新增数据内容与帧片段作为需转发的帧数据,包括:

在目标帧片段的数据内容的末尾处添加当前通信节点的新增数据内容,以作为需转发的帧数据。

例如,若通信帧的内容包括帧头f1、功能码a0、数据内容01、03以及校验码cs。该帧头f1、功能码a0、数据内容01、03以及校验码cs,则若将数据内容03作为目标帧片段,当该通信节点接收到该数据内容03以后,将新增数据内容05添加到该03的末尾,并将该数据内容03以及新增数据内容05转发给下一通信节点,通信帧变更为帧头f1、功能码a0、数据内容01、03、05以及校验码cs,从而使通信帧附带本通信节点所反馈的数据内容,提高传输效率。该下一通信节点可以继续往数据内容的末尾添加自身的新增数据内容,以此类推,最终使得到达首节点或者尾节点的通信帧包含各个通信节点增加的数据内容。

207、若帧片段不是目标帧片段,则将帧片段的数据作为需转发的帧数据。

如果帧片段不是目标片段,则继续只转发该帧片段。

在现有技术中,当系统需要请求某通信节点反馈相应的数据,仅能根据该通信节点特定的地址与该通信节点进行单独通信,显然若系统需要所有通信节点均需反馈数据时,需要发送的通信帧的数量应与系统中包含的通信节点数量相当,操作冗余度太高。

由上可知,通过将上述新增数据内容的方式结合了图1所示的实施例后,当通信帧的功能码类型为请求类时,可以只通过发送一次通信帧,即可获得各个通信节点所反馈的数据内容,无需多次发送通信帧对各个通信节点进行依次获取,大大降低了操作冗余度,从而大大降低通信帧传输过程中的通信延迟。

请参阅图4,图中示出了本申请实施例提供的根据通信进程确定需转发的帧数据的另一实现流程。

图4中包括以下步骤:

301、判断帧片段是否为通信帧的校验码。

302、将上一通信节点的校验码更新为与当前通信节点对应的校验码。

303、将与当前通信节点对应的校验码作为需转发的帧数据。

其中,当前通信节点对应的校验码与新增数据内容相关。

在一些实施例中,与当前通信节点对应的校验码,可以包括在添加了新增数据内容后该通信帧的数据内容的字节数和/或新的数据内容特征,从而通过校验码使得下一通信节点在接收完该通信帧后,会对当前通信节点的新增数据内容进行校验,从而实现逐级校验。

如此可以使得通信帧在多节点之间进行传输、逐级接收新增数据内容的过程中,保持数据内容的完整性与正确性。

请参阅图5,图中示出了本申请实施例提供的多节点通信方法的实现流程。

该多节点通信方法,应用于多节点通信装置,其中多节点通信装置包括相互串联通信的首节点、至少一个从节点以及尾节点。

该方法包括:

401、首节点经至少一个从节点向尾节点发送下传通信帧。

402、尾节点当接收到首节点发送的下传通信帧时,基于下传通信帧进行响应,生成上传通信帧。

403、尾节点经至少一个从节点向首节点发送上传通信帧。

其中,至少一个从节点在转发下传通信帧或上传通信帧时,执行通信帧转发方法的实施例。

该通信帧转发方法可以参考如图1-4所述的通信帧转发方法的实施例,本申请在此不再赘述。

当首节点需要获取各个从节点以及尾节点的反馈信息时,可以将功能码类型为请求类的下传通信帧经各个从节点发送给尾节点,并通过尾节点对下传通信帧进行响应,生成上传通信帧。

上传通信帧在上传的过程中,可以通过在每一从节点处添加相应的新增数据内容,使得首节点仅发送一次下传通信帧即可完成对每一从节点的数据获取,结合通信帧的逐字节转发,可以大大降低通信帧传输过程中的通信延迟。

由上可知,通过在多节点通信装置中每一从节点根据接收时间及接收的数据大小值,将通信帧分成若干帧片段分别进行转发,使得通信帧在转发前无需进行完整接收,提高了接收效率,进而大大降低通信帧传输过程中的通信延迟。

请参阅图6,图中示出了本申请实施例提供的通信节点的结构。

如图6所示,该通信节点500包括处理器501和存储器502,所述存储器502中存储有计算机程序,所述处理器501通过调用所述存储器502中存储的所述计算机程序,用于执行如上所述任意一实施例的通信帧转发方法。例如:

接收上一通信节点500发送的通信帧的数据,将所接收到的所述通信帧的帧数据进行存储;

从存储的所述帧数据中确定一帧片段,所述帧片段为当前时刻与上一时刻之间所存储的帧数据,其中所述上一时刻为当前通信节点500上一次发送帧数据的时刻,或者是接收所述通信帧的起始时刻;

判断所述帧片段的数据大小值是否达到预设值;

若是,则根据通信进程确定需转发的帧数据,将所述帧数据转发给下一通信节点500,所述需转发的帧数据与所述帧片段相关。

其中,该通信节点500可以是包含多个锂电池的锂电池包内的其中一锂电池,也可以是其他包含多个通信节点500的系统中的其中一通信节点500,具体方式可以根据实际情况而定。

由上可知,该通信节点可以通过根据接收时间将通信帧分成若干帧片段分别进行转发,使得通信帧在转发前无需进行完整接收,提高了接收效率,进而大大降低通信帧传输过程中的通信延迟。

请参阅图7,图中示出了本申请实施例提供的多节点通信装置600,该通信装置包括相互串联通信的首节点610、至少一个从节点620以及尾节点630:

所述首节点610,用于经所述至少一个从节点620向所述尾节点630发送下传通信帧;

所述尾节点630,用于当接收到所述首节点610发送的所述下传通信帧时,基于所述下传通信帧进行响应,生成上传通信帧;经所述至少一个从节点620向所述首节点610发送所述上传通信帧;以及

所述至少一个从节点620,包括处理器621和存储器622,所述存储器622中存储有计算机程序,所述处理器621通过调用所述存储器622中存储的所述计算机程序,用于执行如上所述任意一实施例的通信帧转发方法。例如:

接收上一通信节点发送的通信帧的数据,将所接收到的所述通信帧的帧数据进行存储;

从存储的所述帧数据中确定一帧片段,所述帧片段为当前时刻与上一时刻之间所存储的帧数据,其中所述上一时刻为当前通信节点上一次发送帧数据的时刻,或者是接收所述通信帧的起始时刻;

判断所述帧片段的数据大小值是否达到预设值;

若是,则根据通信进程确定需转发的帧数据,将所述帧数据转发给下一通信节点,所述需转发的帧数据与所述帧片段相关。

其中,该通信节点可以是包含多个锂电池的锂电池包,也可以是其他包含多个通信节点的系统,具体方式可以根据实际情况而定。由上可知,该多节点通信装置可以通过根据接收时间将通信帧分成若干帧片段分别进行转发,使得通信帧在转发前无需进行完整接收,提高了接收效率,进而大大降低通信帧传输过程中的通信延迟。

本申请实施例中,所述通信节点、多节点通信装置分别与上文实施例中的通信帧转发方法、多节点通信方法属于同一构思,在所述通信节点、多节点通信装置上可以分别运行通信帧转发方法、多节点通信方法实施例中提供的任一方法步骤,其具体实现过程详见通信帧转发方法、多节点通信方法实施例,并可以采用任意结合形成本申请的可选实施例,此处不再赘述。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

上面结合附图对本申请的实施方式作了详细说明,但是本申请并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本申请宗旨的前提下作出各种变化。

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