CAN总线控制方法及采用CAN总线的通信系统与流程

文档序号:12809261阅读:2657来源:国知局
CAN总线控制方法及采用CAN总线的通信系统与流程

本发明一般地涉及控制器局域网can总线通信技术领域,并且具体地,涉及can总线通信方法以及采用can总线的通信系统。



背景技术:

can是控制器局域网络(controllerareanetwork,can)的简称。can总线是德国bosch公司为解决汽车监控系统中的复杂技术难题而设计的数字信号通信协议,它属于总线式串行通信网络。can总线是一种极其适用于汽车环境的汽车局域网,其在数据传输方面具备可靠、实时和灵活的优点。

由于现在汽车电子化程度越来越高,通信数据量越来越大,对于can总线的负载承载能力要求也越来越高。但是由于受到硬件制约,在高负载率情况下,can总线通信质量可能不理想,例如会出现信号延时甚至丢帧情况。

因此,所期望的是设计一种能够在当前硬件条件下提高can总线通信负载率,同时保证通信质量的方案。



技术实现要素:

有鉴于此,本发明提供一种can总线控制方法,其包括:将连接到can总线的所有节点设置为采用统一时钟;以及在所有节点全部上电且初始化完成之后使所述所有节点按照统一规划在所述can总线上发送报文。

如上所述的方法,其中,所述统一规划包括:为每个节点设置不同的报文开始发送延迟时间长度。

如上所述的方法,其中,根据每个报文的优先级来设置报文开始发送延迟时间长度。

如上所述的方法,其中,所述统一规划还包括:针对每个节点根据报文的类型设置不同的开始发送延迟时间长度。

如上所述的方法,其中,所述统一规划还包括:为事件性报文设置最小发送时间间隔。

如上所述的方法,其中,所述统一规划还包括:根据报文的重要程度动态地改变报文的发送时间周期。

如上所述的方法,其中,所述报文的重要程度根据报文的功能来确定。

如上所述的方法,其中,所述报文包括事件性报文和周期性报文。

另一方面,本发明还提供了一种采用can总线的通信系统,其包括:can总线;以及连接到所述can总线的多个节点,其中所述多个节点中的每一个均被设置为采用统一时钟,并且所述多个节点中的每一个均在所述多个节点全部上电且初始化完成之后按照统一规划在所述can总线上发送报文。

附图说明

本发明的前述和其他目标、特征和优点根据下面对本发明的实施例的更具体的说明将是显而易见的,这些实施例在附图中被示意。

图1是根据本发明一个示例的can总线控制方法的流程图。

图2是根据本发明一个示例的can总线报文发送情况的示意图。

图3a-3b是根据本发明另一示例的can总线报文发送情况的示意图。

图4是根据本发明一个示例的采用can总线的通信系统。

具体实施方式

现在参照附图描述本发明的示意性示例,相同的附图标号表示相同的元件。下文描述的各示例有助于本领域技术人员透彻理解本发明,且各示例意在示例而非限制。图中各元件、部件、模块、装置及设备本体的图示仅示意性表明存在这些元件、部件、模块、装置及设备本体同时亦表明它们之间的相对关系,但并不用以限定它们的具体形状;流程图中各步骤的关系也不以所给出的顺序为限,可根据实际应用进行调整但不脱离本申请的保护范围。

在本文中,示例而非限制地,将以该can总线控制方法应用在车辆中作为示例来进行阐述,更为具体地,该车辆为电动车辆。术语“节点”指的是车辆中会使用can总线发送报文数据的部件、元件、零件、设备、或系统等。

图1是根据本发明一个示例的can总线控制方法的流程图。如图1所示,首先在步骤11中将连接到can总线的所有节点设置为采用统一时钟;以及在步骤13中在所有节点全部上电且初始化完成之后使所有节点按照统一规划在can总线上发送报文。

在实践中,可为各节点预先设置如上文所述的统一规划,并将所设定的时钟和所规划的报文发送方案预先加载到各个节点,以便在所有连接到can总线的节点上电之后可按照上述统一规划来进行can报文的发送。

简单地说,按照常规的can总线报文发送方式,每条报文,虽然依据其id,它们具有一定的优先级(常规应用中,id值越小优先级越高),但是由于各个节点按照各自的时序在can总线上进行发送,很多具有高优先级的报文还是要依次等待总线上的空闲以被成功发送。这样,绝大多数高优先级的报文还是被延迟了较长时间才发送出去。

can总线上各个节点的通信情况,尤其是针对车内通信而言,常常是可预期的。因此,按照本发明示例的can总线控制方法,依据每个节点的功能,预先为报文发送进行规划可优先避免总线上很多不必要的冲突。

在一些示例中,所述统一规划包括:为每个节点设置不同的报文开始发送延迟时间长度。由于同一条can总线上的所有节点都采用了相同的时钟,这使得每个节点按照规定的时间开始发送报文成为可能。通过使can总线上的各个节点在全部上电之后以不同的延迟时间开始报文发送避免了同一时刻有多个报文同时发送的情况,从而大大缓解总线上的报文堵塞。

在一些示例中,根据报文的优先级来设置报文开始发送延迟时间长度。在这种情况下,在具有多个高优先级报文要发送的情况下,也可按照预先规划的时间顺序来发送,换句话说,预先规划时将不同优先级的报文彼此错开从而避免了现有can总线报文发送时存在的冲突(burst)情况。

举例来说,车辆行驶过程中的包含刹车信息的报文与包含油门信息的报文都具有高优先级,按照常规的can总线发送方式,它们可能会要求同时发送,从而出现冲突情况,这种情况下,后续通过can总线报文发送的方式,这两个报文将一直出现冲突。但是按照本发明,会预先规划好在什么时间点发送包含刹车信息的报文,在什么时间点发送包含油门信息的报文,具体而言,预先规划好在t0时间发送包含刹车信息的报文,而在t0+σ1时间发送包含油门信号的报文,由此避免了两者的冲突。需要说明的是,预先规划的t0与t0+σ1指的是can总线上电后第一次发送这两个报文的时间。因为每条报文的发送周期一定,因此,后续发送中同样可避免冲突。

针对每个节点,还可根据报文的类型进一步设置不同的开始发送延迟时间长度。例如,可以将事件性报文(例如含刹车信息、碰撞信息等并不是一直发生的信息的报文)确定为比周期性报文(例如包含轮速的报文)具有更高的优先级,因此为事件性报文设置比周期性报文小的开始发送延迟时间长度。也就是说,每个节点在上电之后针对不同的首先要发送的报文也具有不同的报文开始发送延迟时间。由此,可以避免预先设置的延迟使得本身具有高优先级的报文不合理地被延迟发送。

例如,对于周期性的报文,在为其规划时间时,可能它的发送周期是t1,而对于事件性报文,其发送周期可能要比t1小。

当节点开始进行报文发送之后,还可以进一步根据报文的重要程度来改变报文的发送时间周期。图2是在此类情况下的can总线报文发送的示意图。举例来说,对于一些周期性报文,它们被预先确定为以时间长度t1为周期进行发送。然而,在通信过程中,这些报文的重要程度可能会发生改变,例如重要程度升高,从而导致这些报文的优先级提高。在这种情况下,可以将发送这些报文的节点配置为以更短的时间长度t2为周期来发送这些报文。以上文提到的包含刹车信息的报文为例,该报文在车辆行驶过程中,具有极高的优先权,但是当车辆处于充电等状态时,则该报文具有低优先级,相应地,针对它的发送周期会被调整得较长。

报文的变周期发送同样可以预先配置或规划在节点中,也就是说各节点各可以基于车辆的形式状态、模式等来基于预先配置或规划在节点中的报文发送规划来调整报文发送的周期等。换句话说,例如可以根据报文在can总线上实现的功能来进行重要程度排序,并且相应地确定报文的发送周期。这可以例如以列表的形式存储在节点上。每个节点可以各自按照总线上的报文重要程度来调整相应的发送周期。这样做能够明显地降低负载率,从而进一步提高通信质量。

进一步地,还可以为事件性报文设置最小发送时间间隔。图3a和3b示出了没有采用该设置以及采用该设置的情况下can总线报文发送的示意图。典型地,事件性报文通常会以最快的速度在can总线上被发送,由此导致总线上其他报文的周期受影响。图3a是事件性报文不设置与前一报文最小时间间隔的报文时序。如图3a所示,当事件性报文以非常短的时间间隔t2不断被发送时,原本以时间周期t2来发送的周期性报文由于事件性报本的持续发送而无法保持之前的发送时序,其两个报文之间的间隔被延长为t3,造成周期的延迟从而通信质量被降低。

图3b是在为事件性报文设置最小发送时间间隔之后的报文时序,其中事件性报文被设置为在每个报文之间至少以时间间隔t2被发送,由此保证了周期为t1的周期性报文在事件性报文发送过程中周期不会被延时,从而提高通信质量。

图4是根据本发明一个示例的采用can总线的通信系统。根据本发明的can总线通信系统可以被用在典型的网络拓扑结构中。在这样的网络拓扑结构中可以包含多路can总线,不同can之间通信通过网关进行转载。在每一路can上,可以将连接到该can总线的多个节点(a,b,c,…)中的每一个均被设置为采用统一时钟,并且这每一个节点均在该can总线上的所有节点全部上电且初始化完成之后按照统一规划在同一can总线上发送报文。在上文中所描述的所有其他设置也均适用于图4所示的示例。

应当说明的是,以上具体实施方式仅用以说明本发明的技术方案而非对其进行限制。尽管参照上述具体实施方式对本发明进行了详细的说明,本领域的普通技术人员应当理解,依然可以对本发明的具体实施方式进行修改或对部分技术特征进行等同替换而不脱离本发明的实质,其均涵盖在本发明请求保护的范围中。

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