一种总线通信方法、通信基本周期确定方法及装置

文档序号:1616976 发布日期:2020-01-10 浏览:24次 >En<

阅读说明:本技术 一种总线通信方法、通信基本周期确定方法及装置 (Bus communication method, communication basic cycle determining method and device ) 是由 王鹏 于 2019-09-29 设计创作,主要内容包括:本发明提供一种总线通信方法、通信基本周期确定方法及装置,在获得第一通信节点通过Canfd总线发送的第一报文情况下,响应于第一报文指示的第一通信机制,从当前通信基本周期中确定第二通信节点对应的时间片,通过Canfd总线在所确定的时间片内发送第二通信节点对应的报文。其中当前通信基本周期中每个第二通信节点对应的时间片相互独立,由此每个第二通信节点可以在各自的时间片内通过Canfd总线传输各自的报文,实现在一个通信基本周期内传输所有第二通信节点对应的报文,降低报文延时,并且一个通信基本周期中每个第二通信节点对应的时间片相互独立,使得每个第二通信节点占用Canfd总线的时间不会存在冲突,防止通过Canfd总线传输报文导致的报文冲突。(The invention provides a bus communication method, a communication basic cycle determining method and a device, under the condition of obtaining a first message sent by a first communication node through a Canfd bus, responding to a first communication mechanism indicated by the first message, determining a time slice corresponding to a second communication node from the current communication basic cycle, and sending the message corresponding to the second communication node in the determined time slice through the Canfd bus. The time slices corresponding to each second communication node in the current communication basic period are mutually independent, so that each second communication node can transmit respective messages in the respective time slices through the Canfd bus, the messages corresponding to all the second communication nodes can be transmitted in one communication basic period, the message delay is reduced, and the time slices corresponding to each second communication node in one communication basic period are mutually independent, so that the time that each second communication node occupies the Canfd bus cannot conflict, and the message conflict caused by message transmission through the Canfd bus is prevented.)

一种总线通信方法、通信基本周期确定方法及装置

技术领域

本发明属于总线控制技术领域,尤其涉及一种总线通信方法、通信基本周期确定方法及装置。

背景技术

Canfd(CAN with Flexible Data rate)总线是在CAN(Controller AreaNetwork,控制器局域网络)总线基础上演变而来的,其集成CAN总线的主要特性,并弥补了CAN总线在带宽和数据场的长度这两方面的制约,例如Canfd总线中每帧报文的数据场的长度最长为64个字节。

如果多个通信节点通过Canfd总线进行通信,若多个通信节点在同一个时间发送报文,这些报文会依据通信节点的优先级依次在Canfd总线上传输,由此通过通信节点的优先级设置可以防止多个通信节点同时发送报文导致的冲突,但是这种方式会使得一些通信节点的报文延时传输,如会使得优先级低的通信节点的报文延时传输。

发明内容

有鉴于此,本发明的目的在于提供一种总线通信方法、通信基本周期确定方法及装置,用于降低通过Canfd总线传输的报文延时。技术方案如下:

本发明提供了一种总线通信方法,所述方法包括:

获得第一通信节点通过Canfd总线发送的第一报文,所述第一报文用于指示第二通信节点采用第一通信机制发送报文;

响应于所述第一通信机制,从当前通信基本周期中确定第二通信节点对应的时间片,所述当前通信基本周期的时间长度由所述第一通信节点根据多个所述第二通信节点对应的报文的报文参数确定,一个所述当前通信基本周期中每个所述第二通信节点对应的时间片相互独立;

通过所述Canfd总线在所确定的时间片内发送所述第二通信节点对应的报文。

优选的,所述方法还包括:如果所述第二通信节点通过所述Canfd总线接收到用于指示报文缺失的第一响应,获得所述第二通信节点发送的与所述第一响应对应的报文中的第一内容,所述第一内容是与所述第一响应对应的报文中没有通过Canfd总线传输的内容;

所述通过所述Canfd总线在所确定的时间片内发送所述第二通信节点对应的报文包括:通过所述Canfd总线在所确定的时间片内发送与所述第一响应对应的报文中的第一内容。

优选的,所述第二通信节点对应的时间片的长度根据该第二通信节点对应的报文中数据位的字节数、一个字节传输所用时间和该第二通信节点对应的报文中非数据位的传输时间确定;

所述当前通信基本周期的时间长度由每个所述第二通信节点对应的时间片的长度和所述第二通信节点的数量而定。

优选的,所述方法还包括:获得所述第一通信节点通过所述Canfd总线发送的第二报文,所述第二报文用于指示所述第二通信节点采用第二通信机制发送报文,所述第二通信机制与所述第一通信机制不同;

响应于所述第二通信机制,获得所述第二通信节点的优先级,并基于所述第二通信节点的优先级通过所述Canfd总线发送所述第二通信节点对应的报文。

本发明还提供一种通信基本周期确定方法,所述方法包括:

获得多个第二通信节点对应的报文的报文参数;

基于所述多个第二通信节点对应的报文的报文参数,确定每个第二通信节点对应的时间片的长度;

基于所述每个第二通信节点对应的时间片的长度,获得所述通信基本周期以及所述通信基本周期的时间长度,所述通信基本周期包括所述每个第二通信节点对应的时间片且所述通信基本周期的时间长度不小于每个第二通信节点对应的时间片的长度之和;

通过Canfd总线向所述每个第二通信节点通知所述通信基本周期内每个第二通信节点对应的时间片以及每个第二通信节点对应的时间片的长度。

本发明又提供了一种总线通信装置,所述装置包括:第一获得单元、确定单元和第一发送单元;

第一获得单元,用于获得第一通信节点通过Canfd总线发送的第一报文,所述第一报文用于指示第二通信节点采用第一通信机制发送报文;

确定单元,用于响应于所述第一通信机制,从当前通信基本周期中确定第二通信节点对应的时间片,所述当前通信基本周期的时间长度由所述第一通信节点根据多个所述第二通信节点对应的报文的报文参数确定,一个所述当前通信基本周期中每个所述第二通信节点对应的时间片相互独立;

第一发送单元,用于通过所述Canfd总线在所确定的时间片内发送所述第二通信节点对应的报文。

优选的,所述装置还包括:第二获得单元,用于如果通过所述Canfd总线接收到用于指示报文缺失的第一响应,获得所述第一发送单元发送的与所述第一响应对应的报文中的第一内容,所述第一内容是与所述第一响应对应的报文中没有通过Canfd总线传输的内容;

所述第一发送单元,具体用于通过所述Canfd总线在所确定的时间片内发送与所述第一响应对应的报文中的第一内容。

优选的,所述第二通信节点对应的时间片的长度根据该第二通信节点对应的报文中数据位的字节数、一个字节传输所用时间和该第二通信节点对应的报文中非数据位的传输时间确定;

所述当前通信基本周期的时间长度由每个所述第二通信节点对应的时间片的长度和所述第二通信节点的数量而定。

优选的,所述装置还包括:第三获得单元、第四获得单元和第二发送单元。

第三获得单元,用于获得所述第一通信节点通过所述Canfd总线发送的第二报文,所述第二报文用于指示所述第二通信节点采用第二通信机制发送报文,所述第二通信机制与所述第一通信机制不同;

第四获得单元,用于响应于所述第二通信机制,获得所述第二通信节点的优先级;

第二发送单元,用于基于所述第二通信节点的优先级通过所述Canfd总线发送所述第二通信节点对应的报文。

本发明又提供了一种通信基本周期确定装置,所述装置包括:第一获得模块、确定模块、第二获得模块和通知模块。

第一获得模块,用于获得多个第二通信节点对应的报文的报文参数;

确定模块,用于基于所述多个第二通信节点对应的报文的报文参数,确定每个第二通信节点对应的时间片的长度;

第二获得模块,用于基于所述每个第二通信节点对应的时间片的长度,获得所述通信基本周期以及所述通信基本周期的时间长度,所述通信基本周期包括所述每个第二通信节点对应的时间片且所述通信基本周期的时间长度不小于每个第二通信节点对应的时间片的长度之和;

通知模块,用于通过Canfd总线向所述每个第二通信节点通知所述通信基本周期内每个第二通信节点对应的时间片以及每个第二通信节点对应的时间片的长度。

本发明再提供了一种通信节点,包括处理器和存储器;所述存储器中存储有计算机程序代码;所述处理器执行所述计算机程序代码实现如上所述的总线通信方法和/或通信基本周期确定方法。

本发明再提供了一种存储介质,所述存储介质中存储有计算机程序代码,所述计算机程序代码执行时实现如上所述的总线通信方法和/或通信基本周期确定方法。

从上述技术方案可知,在获得第一通信节点通过Canfd总线发送的第一报文情况下,响应于第一报文指示的第一通信机制,从当前通信基本周期中确定第二通信节点对应的时间片,通过Canfd总线在所确定的时间片内发送第二通信节点对应的报文。其中当前通信基本周期中每个第二通信节点对应的时间片相互独立,由此在一个通信基本周期中每个第二通信节点可以在各自的时间片内通过Canfd总线传输各自的报文,实现在一个通信基本周期内传输所有第二通信节点对应的报文,降低报文延时,并且一个通信基本周期中每个第二通信节点对应的时间片相互独立,使得一个通信基本周期中每个第二通信节点占用Canfd总线的时间不会存在冲突,防止通过Canfd总线传输报文导致的报文冲突。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的总线通信方法基于的通信系统的示意图;

图2是本发明实施例提供的一种通信基本周期的示意图;

图3是本发明实施例提供的一种总线通信方法的流程图;

图4是本发明实施例提供的另一种总线通信方法的流程图;

图5是本发明实施例提供的一种通信基本周期确定方法的流程图;

图6是本发明实施例提供的一种总线通信装置的结构示意图;

图7是本发明实施例提供的另一种总线通信装置的结构示意图;

图8是本发明实施例提供的另一种总线通信装置的结构示意图;

图9是本发明实施例提供的另一种总线通信装置的结构示意图;

图10是本发明实施例提供的一种通信基本周期确定装置的结构示意图;

图11是本发明实施例提供的一种通信节点的结构示意图。

具体实施方式

现有多个通信节点通过Canfd总线发送报文时需要基于每个通信节点的优先级进行发送,具体的基于每个通信节点的优先级由高到低的顺序依次通过Canfd总线发送报文,但是这种方式会使得优先级低的报文存在延时。为此本实施例对现有多个通信节点的通信系统进行一定修改,如图1所示,该通信系统包括多个通信节点,多个通信节点通过Canfd总线发送报文,且这多个通信节点中有一个通信节点为第一通信节点,剩余通信节点都为第二通信节点。

第一通信节点,用于计算每个第二通信节点对应的时间片的长度,基于每个第二通信节点对应的时间片的长度,获得一个通信基本周期的时间长度,并在通信基本周期内分布每个第二通信节点对应的时间片,该通信基本周期的结构如图2所示;第一通信节点还用于将每个第二通信节点对应的时间片以及每个第二通信节点对应的时间片的长度通过Canfd总线发送给对应的第二通信节点,第二通信节点通过Canfd总线在各自的时间片内发送报文。

在这里需要说明的一点是:第一通信节点除具备计算通信基本周期的作用之外,还可以具备第二通信节点的功能,也就是说第一通信节点是一个特殊的第二通信节点,该特殊指的是具备计算通信基本周期的作用,由此本实施例中的通信基本周期还可以包括第一通信节点对应的时间片以及第一通信节点对应的时间片的长度,以使得第一通信节点也可以在自身对应的时间片发送报文。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图3,其示出了本发明实施例提供的一种总线通信方法,该总线通信方法以上述第二通信节点作为执行主体,可以包括以下步骤:

301:获得第一通信节点通过Canfd总线发送的第一报文,第一报文用于指示第二通信节点采用第一通信机制发送报文。例如在第一报文中携带有第一通信机制的标识信息,这样第二通信节点在接收到第一报文之后可确定当前需要采用第一通信机制发送报文,第一通信机制的标识信息可以采用但不限于数字方式表示,例如第一通信机制的标识信息可以为0。

在本实施例中,第一报文的一种可行方式是时间同步报文,该时间同步报文用于同步多个第二通信节点的时间,且该时间同步报文还可以表示一个通信基本周期的开始,因此可以将时间同步报文作为第一报文的一种可行方式,这样通过一个时间同步报文既可以同步时间也可以触发第二通信节点采用第一通信机制。

其中时间同步报文中携带有各个第二通信节点的时间片分配信息,任一第二通信节点的时间片分配信息包括该第二通信节点对应的时间片以及该第二通信节点的标识,由此第二通信节点接收到第一通信节点广播的时间同步报文之后,基于自身的标识(如自身的节点名称)从时间同步报文中获取对应的时间片。

302:响应于第一通信机制,从当前通信基本周期中确定第二通信节点对应的时间片,当前通信基本周期的时间长度由第一通信节点根据多个第二通信节点对应的报文的报文参数确定,一个当前通信基本周期中每个第二通信节点对应的时间片相互独立,由此实现每个第二通信节点对应的时间片不重叠。

其中第二通信节点对应的时间片表明该第二通信节点发送报文的开始时间和结束时间,开始时间和结束时间之差为该第二通信节点对应的时间片的长度,且在一个通信基本周期中相邻的两个时间片的开始时间和结束时间不重叠,以此保证一个通信基本周期中每个第二通信节点对应的时间片相互独立。

在本实施例中,第二通信节点对应的报文的报文参数包括但不限于:该第二通信节点对应的报文中数据位的字节数、一个字节传输所用时间和该第二通信节点对应的报文中非数据位的传输时间,由此根据这些参数确定一个第二通信节点对应的时间片的长度,例如通过如下方式得到每个第二通信节点对应的时间片的长度:

T=t1*n+dT*(n/64),其中:t1为一个字节传输所用时间,n为该第二通信节点对应的报文中数据位的字节数,dT为第二通信节点对应的报文中非数据位的传输时间,n/64表示进位取整数。在Canfd总线中规定一个报文的数据场的长度最长为64个字节,由此在计算第二通信节点对应的时间片的长度时n的取值可以小于等于64,n/64的取值为1。在实际应用中n的取值可以根据该总线通信方法使用的应用场景中要传输的报文而定。

在获得每个第二通信节点对应的时间片的长度之后,第二通信节点的数量已知,由此可以根据每个第二通信节点对应的时间片的长度和第二通信节点的数量确定出一个通信基本周期的时间长度,如一个通信基本周期的时间长度为T*M,M为第二通信节点的数量,并且在确定通信基本周期的过程中,在该通信基本周期中配置各个第二通信节点对应的时间片的分布。

其中各个第二通信节点对应的时间片的分布可以基于各个第二通信节点的优先级进行设置,如优先级最高的第二通信节点对应的时间片为通信基本周期的第一个。此外也可以通过第一通信节点设置每个时间片的开始时间和结束时间,以基于每个时间片的开始时间和结束时间设置各个第二通信节点对应的时间片的分布。

在这里需要说明的一点是:如果一个通信基本周期的开始由上述时间同步报文触发,那么当时间同步报文触发通信基本周期开始之后,该通信基本周期中第一个时间片的开始时间可以为通信基本周期的开始时间,第一个时间片的结束时间则是从第一个时间片的开始时间向后推迟该时间片的长度;第二时间片的开始时间可以从第一时间片的结束时间向后推迟预设时间(根据需求设定),第二时间片的结束时间则是从第二时间片的开始时间向后推迟该时间片的长度,以此类推得到每个时间片的开始时间和结束时间。

303:通过Canfd总线在所确定的时间片内发送第二通信节点对应的报文。在一个通信基本周期结束时,第二通信节点发送的报文无论是否发送成功,该第二通信节点都需要停止该报文的发送,且在一个第二通信节点对应的时间片内,该第二通信节点通过Canfd总线发送报文其他第二通信节点可以在该时间片内接收报文。

任一通信节点接收到报文之后,该通信节点需要判断所接收到的报文是否完整,如果所接收到的报文完整则该通信节点执行所接收到的报文中携带的指令,如果所接收到的报文有缺失则该通信节点执行预设指令,例如不执行任何动作,对于预设指令触发通信节点执行何种操作本实施例不加以限定。

在这里需要指出的一点是:一个通信基本周期结束时,所有第二通信节点停止发送报文,但是对于第一通信节点来说仍可以发送报文,这是因为第一通信节点需要触发通信基本周期的开始。

从上述技术方案可知,在获得第一通信节点通过Canfd总线发送的第一报文情况下,响应于第一报文指示的第一通信机制,从当前通信基本周期中确定第二通信节点对应的时间片,通过Canfd总线在所确定的时间片内发送第二通信节点对应的报文。其中当前通信基本周期中每个第二通信节点对应的时间片相互独立,由此在一个通信基本周期中每个第二通信节点可以在各自的时间片内通过Canfd总线传输各自的报文,实现在一个通信基本周期内传输所有第二通信节点对应的报文,降低报文延时,并且一个通信基本周期中每个第二通信节点对应的时间片相互独立,使得一个通信基本周期中每个第二通信节点占用Canfd总线的时间不会存在冲突,防止通过Canfd总线传输报文导致的报文冲突。

上述指出通过Canfd总线传输存在报文有缺失的情况,发送该报文的第二通信节点获得用于指示报文缺失的第一响应,相对应的本实施例提供的总线通信方法还可以包括以下步骤:

如果第二通信节点获得用于指示报文缺失的第一响应,获得第二通信节点发送的与第一响应对应的报文中的第一内容,第一内容是与第一响应对应的报文中没有通过Canfd总线传输的内容,以通过Canfd总线在当前通信基本周期所确定的时间片内发送与第一响应对应的报文中的第一内容。

其中没有通过Canfd总线传输的内容特指与当前通信基本周期相邻的上一个通信基本周期中没有通过Canfd总线传输的内容,由此可以通过相邻的至少两个通信基本周期传输同一个报文中的不同内容,在保证报文完整的情况下降低内容重复传输的概率。

如果通过相邻的至少两个通信基本周期传输同一个报文中的不同内容,在相邻的至少两个通信基本周期所传输的内容中需要加入报文标识信息,以通过该报文标识信息表示内容所属报文,这样就可以将相邻的至少两个通信基本周期传输的不同内容进行组合,得到一个报文的完整内容。

或者在通过Canfd总线传输存在报文有缺失的情况,本实施例提供的总线通信方法还可以包括以下步骤:

如果第二通信节点获得用于指示报文缺失的第一响应,向第一通信节点发送时间片调整指令,所述时间片调整指令用于指示第一通信节点调整时间片长度,尤其调整接收到第一响应的第二通信节点对应的时间片长度,例如增大接收到第一响应的第二通信节点对应的时间片长度,至于增大多少本实施例不进行限定,例如在第二通信节点对应的时间片基础上再次分配用于传输第一内容的时间片,第一内容是与第一响应对应的报文中没有通过Canfd总线传输的内容,即缺失的内容。

当然除了在第二通信节点获得第一响应的情况下,通知第一通信节点调整时间片长度之外,第二通信节点还能够在获得用于指示报文完整的第二响应的情况下向第一通信节点发送时间片调整指令,尤其是第二通信节点获得第二响应且第二通信节点对应的时间片有剩余(说明第二通信节点对应的时间片没有被占完)的情况下向第一通信节点发送时间片调整指令。

在本实施例中,如果第二通信节点获得第一响应可以立即向第一通信节点发送时间片调整指令,以防止后续报文也会缺失,而如果第二通信节点获得第二响应则可以在等待一段时间(换句话说在多次得到第二响应)时向第一通信节点发送时间片调整指令,以防止反复调整时间片。对于第二通信节点来说,其在对应的时间片内能够自检,如果自检到报文成功信息说明获得第二响应,如果没有自检到报文成功信息说明获得第一响应。

请参阅图4,其示出了本发明实施例提供的另一种总线通信方法,在上述图3基础上还可以包括以下步骤:

304:获得第一通信节点通过Canfd总线发送的第二报文,第二报文用于指示第二通信节点采用第二通信机制发送报文,第二通信机制与第一通信机制不同,例如在第二报文中携带有第二通信机制的标识信息,这样第二通信节点在接收到第二报文之后可确定当前需要采用第二通信机制发送报文,第二通信机制的标识信息可以采用但不限于数字方式表示,例如第二通信机制的标识信息可以为1,对于第二报文的可行方式本实施例不加以限定。

305:响应于第二通信机制,获得第二通信节点的优先级,并基于第二通信节点的优先级通过Canfd总线发送第二通信节点对应的报文。其中基于第二通信节点的优先级通过Canfd总线发送报文的过程,可参照现有Canfd总线标准,对此本实施例不再详述。

从上述技术方案可知,如果第二通信节点获得指示采用第一通信机制的第一报文,则第二通信节点能够从通信基本周期中确定自身对应的时间片,通过Canfd总线在所确定的时间片内发送报文,如果第二通信节点获得指示采用第二通信机制的第二报文,则第二通信节点通过Canfd总线基于自身的优先级来发送报文,使得第二通信节点能够采用两种通信机制发送报文,且Canfd总线也能够具备两种通信机制,这样就可以满足不同通信要求。

请参阅图5,其示出了本发明实施例提供的一种通信基本周期确定方法,该通信基本周期确定方法由上述第一通信节点执行,包括以下步骤:

501:获得多个第二通信节点对应的报文的报文参数。

502:基于多个第二通信节点对应的报文的报文参数,确定每个第二通信节点对应的时间片的长度。

503:基于每个第二通信节点对应的时间片的长度,获得通信基本周期以及通信基本周期的时间长度,通信基本周期包括每个第二通信节点对应的时间片且通信基本周期的时间长度不小于每个第二通信节点对应的时间片的长度之和。

在本实施例中,第一通信节点确定每个第二通信节点对应的时间片的长度、获得通信基本周期以及通信基本周期的时间长度的说明请参阅上述方法实施例中的相关说明,对此本实施例不再阐述。

504:通过Canfd总线向每个第二通信节点通知通信基本周期内每个第二通信节点对应的时间片以及每个第二通信节点对应的时间片的长度,这样每个第二通信节点可以在各自对应的时间片内发送报文,防止报文冲突,并且在一个通信基本周期内每个第二通信节点均可以发送报文,降低报文延时。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

请参见图6,其示出了本发明实施例提供的一种总线通信装置,包括:第一获得单元601、确定单元602和第一发送单元603。

第一获得单元601,用于获得第一通信节点通过Canfd总线发送的第一报文,第一报文用于指示第二通信节点采用第一通信机制发送报文。例如在第一报文中携带有第一通信机制的标识信息,这样位于第二通信节点中的总线通信装置的第一获得单元601在接收到第一报文之后可确定当前需要采用第一通信机制发送报文,第一通信机制的标识信息可以采用但不限于数字方式表示,例如第一通信机制的标识信息可以为0。

在本实施例中,第一报文的说明请参阅上述方法实施例中的相关说明,对此本实施例不再阐述。

确定单元602,用于响应于所述第一通信机制,从当前通信基本周期中确定第二通信节点对应的时间片,当前通信基本周期的时间长度由第一通信节点根据多个第二通信节点对应的报文的报文参数确定,一个当前通信基本周期中每个第二通信节点对应的时间片相互独立,由此实现每个第二通信节点对应的时间片不重叠。

其中第二通信节点对应的时间片表明该第二通信节点发送报文的开始时间和结束时间,开始时间和结束时间之差为该第二通信节点对应的时间片的长度,且在一个通信基本周期中相邻的两个时间片的开始时间和结束时间不重叠,以此保证一个通信基本周期中每个第二通信节点对应的时间片相互独立。第二通信节点对应的时间片的长度根据该第二通信节点对应的报文中数据位的字节数、一个字节传输所用时间和该第二通信节点对应的报文中非数据位的传输时间确定;当前通信基本周期的时间长度由每个第二通信节点对应的时间片的长度和所述第二通信节点的数量而定。

在本实施例中,第一通信节点确定每个第二通信节点对应的时间片的长度、获得通信基本周期以及通信基本周期的时间长度的说明请参阅上述方法实施例中的相关说明,对此本实施例不再阐述。

第一发送单元603,用于通过Canfd总线在所确定的时间片内发送第二通信节点对应的报文。在一个通信基本周期结束时,第一发送单元603发送的报文无论是否发送成功,该第一发送单元603都需要停止该报文的发送,且在一个第二通信节点对应的时间片内,该第二通信节点借助于其内的总线通信装置中的第一发送单元603通过Canfd总线发送报文其他第二通信节点可以在该时间片内接收报文。

任一通信节点接收到报文之后,该通信节点需要判断所接收到的报文是否完整,如果所接收到的报文完整则该通信节点执行所接收到的报文中携带的指令,如果所接收到的报文有缺失则该通信节点执行预设指令,例如不执行任何动作,对于预设指令触发通信节点执行何种操作本实施例不加以限定。

从上述技术方案可知,在获得第一通信节点通过Canfd总线发送的第一报文情况下,响应于第一报文指示的第一通信机制,从当前通信基本周期中确定第二通信节点对应的时间片,通过Canfd总线在所确定的时间片内发送第二通信节点对应的报文。其中当前通信基本周期中每个第二通信节点对应的时间片相互独立,由此在一个通信基本周期中每个第二通信节点借助于其内的总线通信装置中的第一发送单元603可以在各自的时间片内通过Canfd总线传输各自的报文,实现在一个通信基本周期内传输所有第二通信节点对应的报文,降低报文延时,并且一个通信基本周期中每个第二通信节点对应的时间片相互独立,使得一个通信基本周期中每个第二通信节点占用Canfd总线的时间不会存在冲突,防止通过Canfd总线传输报文导致的报文冲突。

上述指出通过Canfd总线传输存在报文有缺失的情况,发送该报文的第二通信节点中的总线通信装置还可以获得用于指示报文缺失的第一响应,相对应的本发明实施例提供了另一种总线通信装置,请参阅图7,在图6示出装置的基础上,还包括第二获得单元604。

第二获得单元604用于如果通过Canfd总线接收到用于指示报文缺失的第一响应,获得第一发送单元603发送的与第一响应对应的报文中的第一内容,第一内容是与第一响应对应的报文中没有通过Canfd总线传输的内容,以使第一发送单元603通过Canfd总线在当前通信基本周期所确定的时间片内发送与第一响应对应的报文中的第一内容。

其中没有通过Canfd总线传输的内容特指与当前通信基本周期相邻的上一个通信基本周期中没有通过Canfd总线传输的内容,由此可以通过相邻的至少两个通信基本周期传输同一个报文中的不同内容,在保证报文完整的情况下降低内容重复传输的概率。

如果通过相邻的至少两个通信基本周期传输同一个报文中的不同内容,在相邻的至少两个通信基本周期所传输的内容中需要加入报文标识信息,以通过该报文标识信息表示内容所属报文,这样就可以将相邻的至少两个通信基本周期传输的不同内容进行组合,得到一个报文的完整内容。

或者在通过Canfd总线传输存在报文有缺失的情况,本发明实施例通过另一种总线通信装置解决这一问题,如图8所示,在图7示出装置的基础上,还包括发送指令单元605。

发送指令单元605,用于如果接收到用于指示报文缺失的第一响应,向第一通信节点发送时间片调整指令,所述时间片调整指令用于指示第一通信节点调整时间片长度,尤其调整接收到第一响应的第二通信节点对应的时间片长度,例如增大接收到第一响应的第二通信节点对应的时间片长度,至于增大多少本实施例不进行限定,例如在第二通信节点对应的时间片基础上再次分配用于传输第一内容的时间片,第一内容是与第一响应对应的报文中没有通过Canfd总线传输的内容,即缺失的内容。

在本实施例中,发送指令单元的工作过程说明请参阅上述方法实施例中的相关说明,对此本实施例不再阐述。

请参阅图9,其示出了本发明实施例提供的另一种总线通信装置,在上述图6示出装置的基础上还包括:第三获得单元606、第四获得单元607和第二发送单元608。

第三获得单元606,用于获得第一通信节点通过Canfd总线发送的第二报文,第二报文用于指示第二通信节点采用第二通信机制发送报文,第二通信机制与第一通信机制不同,例如在第二报文中携带有第二通信机制的标识信息,这样第二通信节点在接收到第二报文之后可确定当前需要采用第二通信机制发送报文,第二通信机制的标识信息可以采用但不限于数字方式表示,例如第二通信机制的标识信息可以为1,对于第二报文的可行方式本实施例不加以限定。

第四获得单元607,用于响应于第二通信机制,获得第二通信节点的优先级;

第二发送单元608,用于基于第二通信节点的优先级通过Canfd总线发送所述第二通信节点对应的报文。其中基于第二通信节点的优先级通过Canfd总线发送报文的过程,可参照现有Canfd总线标准,对此本实施例不再详述。

从上述技术方案可知,如果第一获得单元601获得指示采用第一通信机制的第一报文,则确定单元602能够从通信基本周期中确定自身对应的时间片,第一发送单元603通过Canfd总线在所确定的时间片内发送报文,如果第三获得单元606获得指示采用第二通信机制的第二报文,则第二发送单元608通过Canfd总线基于自身的优先级来发送报文,使得第二通信节点通过上述总线通信装置能够采用两种通信机制发送报文,且Canfd总线也能够具备两种通信机制,这样就可以满足不同通信要求。

请参阅图10,其示出了本发明实施例提供的一种通信基本周期确定装置,包括:第一获得模块1001、确定模块1002、第二获得模块1003和通知模块1004。

第一获得模块1001,用于获得多个第二通信节点对应的报文的报文参数。

确定模块1002,用于基于多个第二通信节点对应的报文的报文参数,确定每个第二通信节点对应的时间片的长度。

第二获得模块1003,用于基于每个第二通信节点对应的时间片的长度,获得通信基本周期以及所述通信基本周期的时间长度,通信基本周期包括所述每个第二通信节点对应的时间片且通信基本周期的时间长度不小于每个第二通信节点对应的时间片的长度之和。

在本实施例中,通信基本周期确定装置确定每个第二通信节点对应的时间片的长度、获得通信基本周期以及通信基本周期的时间长度的说明请参阅上述方法实施例中的相关说明,对此本实施例不再阐述。

通知模块1004,用于通过Canfd总线向每个第二通信节点通知通信基本周期内每个第二通信节点对应的时间片以及每个第二通信节点对应的时间片的长度。这样每个第二通信节点可以在各自对应的时间片内发送报文,防止报文冲突,并且在一个通信基本周期内每个第二通信节点均可以发送报文,降低报文延时。

请参阅图11,其示出了本发明实施例提供的一种通信节点,包括处理器1101和存储器1102。存储器1102中存储有计算机程序代码;处理器1101执行计算机程序代码实现如上述的总线通信方法。

本发明实施例再提供了一种存储介质,存储介质中存储有计算机程序代码,计算机程序代码执行时实现如上所述的总线通信方法。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

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

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种交换设备端口数据的快速转发方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!