通信系统和通信装置的制作方法

文档序号:11637119阅读:279来源:国知局
通信系统和通信装置的制造方法

本发明涉及多个通信装置进行报文的发送接收的通信系统以及构成该系统的通信装置。



背景技术:

以往,在搭载于车辆的多个ecu(electroniccontrolunit,电子控制单元)之间的通信中,广泛采用can(controllerareanetwork,控制器局域网)的通信协议。采用了can的通信协议的通信系统成为多个ecu与公共的can总线连接的结构,通过接收侧的ecu取得发送侧的ecu输出到can总线的信号,进行报文的发送接收。另外,在多个ecu同时进行报文发送并且在can总线上多个报文发生了冲突的情况下,在通信装置间进行基于附于报文中的can-id的仲裁处理(仲裁处理)。通过仲裁处理,先进行附有优先级高的can-id的报文的发送,附有优先级低的can-id的报文的发送延迟。由于仲裁处理,报文有可能发生延迟,所以在接收到报文的ecu中,无法知道该报文的生成时刻(或者最初将要发送报文的时刻)。

在专利文献1中,提出了如下结构的分散控制系统:发动机控制用电子控制装置在从进气节流阀传感器取得传感器信息的同时,对致动器驱动用电子控制装置发送指示在同一定时取得进气门冲程传感器的传感器信息的时间同步报文,致动器驱动用电子控制装置根据由时间同步报文指示的定时,从进气门冲程传感器取得传感器信息,将所取得的传感器信息与取得时刻一起发送给发动机控制用电子控制装置。

专利文献

专利文献1:日本特开2006-316739号公报



技术实现要素:

发明所要解决的课题

然而,在专利文献1所记载的分散控制系统中,需要将时刻信息赋予给报文来发送,所以存在必须进一步使用报文的有限的有效负荷这样的问题。另外,为了实现该分散控制系统,关于报文的发送侧和接收侧这两方,通信装置具有的can控制器等需要具有进行附有时刻信息的报文的发送接收的功能。根据情况,通信系统中包括的所有通信装置的can控制器等都需要具有该功能。因此,对于既有的can的通信系统,为了实现专利文献1所记载的分散控制系统,需要增加相当高的成本,存在缺乏实现性这样的问题。

本发明是鉴于上述情形而完成的,其目的在于,提供能够通过接收节点推定报文的延迟时间或者生成时刻等并且能够以低成本实现该推定功能的通信系统和通信装置。

用于解决课题的技术方案

本发明涉及一种通信系统,具备仲裁单元和经由公共的通信线而相互连接并具有报文生成部、报文发送部及报文接收部的多个通信装置,所述多个通信装置经由公共的通信线而相互进行报文的发送接收,所述报文生成部生成附有与优先级相关的信息的报文,所述报文发送部通过将与该报文生成部生成的报文相应的信号输出到所述通信线来发送该报文,所述报文接收部通过对所述通信线的采样来取得信号并根据所述信息而接收与该信号相关的报文,所述仲裁单元在所述多个通信装置的报文发送发生了冲突的情况下根据该报文的优先级而对发送顺序进行仲裁,所述通信系统的特征在于,至少1个通信装置具有:判定部,判定所述报文接收部接收到的报文是否为与其他报文连续地发送了的报文;以及延迟时间推定部,在所述判定部判定为接收报文是连续地发送了的报文的情况下,根据在所述接收报文之前连续的一个或者多个报文的优先级,推定所述接收报文由于所述仲裁单元的仲裁而延迟了的时间。

另外,在本发明的通信系统中,其特征在于,所述延迟时间推定部根据在所述接收报文之前连续的优先级高的其他报文的发送时间来推定延迟时间。

另外,在本发明的通信系统中,其特征在于,所述至少1个通信装置具有生成时刻推定部,该生成时刻推定部根据所述延迟时间推定部推定出的时间,推定所接收到的报文被所述报文生成部生成的时刻。

另外,在本发明的通信系统中,其特征在于,所述生成时刻推定部根据从所述报文生成部生成报文至所述报文发送部发送报文的延迟时间、所述延迟时间推定部推定出的延迟时间、从报文的发送开始至发送完成的时间及从发送侧的通信装置的报文发送完成至接收侧的通信装置的报文接收完成的延迟时间,来推定报文的生成时刻。

另外,在本发明的通信系统中,其特征在于,所述判定部在一个报文的发送完成时刻与下一个报文的发送开始时刻的间隔不满足规定时间的情况下,判定为两个报文的发送是连续的。

另外,在本发明的通信系统中,其特征在于,所述至少1个通信装置具有履历存储部,该履历存储部对于由所述连续发送检测部检测出至少被连续地发送了这一情况的报文,存储包括该报文的发送时刻和与优先级相关的信息在内的报文发送的履历,所述判定部根据所述履历存储部中存储的履历来进行判定。

另外,本发明的通信装置涉及一种通信装置,经由公共的通信线而与其他装置连接,具备报文生成部、报文发送部、报文接收部和仲裁单元,并经由公共的通信线而在与其他装置之间进行报文的发送接收,所述报文生成部生成附有与优先级相关的信息的报文,所述报文发送部通过将与该报文生成部生成的报文相应的信号输出到所述通信线来发送该报文,所述报文接收部通过对所述通信线的采样来取得信号并根据所述信息而接收与该信号相关的报文,所述仲裁单元当在与所述其他装置之间报文的发送发生了冲突的情况下根据该报文的优先级而对发送顺序进行仲裁,所述通信装置的特征在于,具备:判定部,判定所述报文接收部接收到的报文是否为与其他报文连续地发送了的报文;以及延迟时间推定部,在所述判定部判定为接收报文是连续地发送了的报文的情况下,根据在所述接收报文之前连续的一个或者多个报文的优先级,推定所述接收报文由于所述仲裁单元的仲裁而延迟了的时间。

在本发明中,通信系统所含的各通信装置生成附有与优先级相关的信息(例如,can-id)的报文并发送给其他通信装置,并且接收其他通信装置所发送的报文。另外,在多个通信装置同时进行报文发送而多个报文发送发生了冲突的情况下,根据报文的优先级来进行发送顺序的仲裁处理(仲裁处理)。在这样的结构的通信系统中,至少1个通信装置进行如下那样的推定报文的延迟时间的处理。

至少1个通信装置检测对通信线的连续的报文发送,在自身接收到报文的情况下判定该接收报文是否为与其他报文连续地发送了的报文。在接收报文是与其他报文连续地发送了的报文的情况下,该接收报文有可能由于仲裁处理而延迟。因此,通信装置调查在接收报文之前连续的一个或者多个报文的优先级,根据各报文的优先级来推定接收报文由于仲裁处理而延迟了的时间。

在这样的推定报文的延迟时间的结构中,发送报文的通信装置不需要进行任何特别的处理,所以只要仅在需要推定接收报文的延迟时间的通信装置中搭载该功能即可。因此,对现有结构的通信系统,只要仅对必要的通信装置进行功能扩展即可,所以能够以低成本实现本通信系统。

关于在接收报文之前连续的其他报文,在其他报文的优先级比接收报文的优先级高的情况下,接收报文有可能由于与这些其他报文的冲突而延迟。与此相对地,在其他报文的优先级比接收报文的优先级低的情况下,由于在仲裁处理中使接收报文的发送优先,所以接收报文不会由于与其他报文的冲突而延迟。因此,在本发明中,根据在接收报文之前连续的优先级高的其他报文的发送时间来推定延迟时间。

由此,通信装置能够推定接收报文是否由于仲裁处理而延迟,并能够推定由仲裁处理导致的延迟时间。

另外,在本发明中,根据接收报文的延迟时间的推定结果,推定该报文被作为该接收报文的发送源的通信装置生成的时刻。

报文生成时刻的推定能够根据例如从发送侧的通信装置的报文生成至报文发送的延迟时间、由仲裁处理导致的延迟时间、从报文发送开始至发送完成的时间(即报文的发送所需的时间)以及从发送侧的通信装置完成报文发送至接收侧的通信装置的报文接收完成的延迟时间来推定。此外,从报文生成至报文发送的延迟时间以及从发送侧的通信装置完成报文发送至接收侧的通信装置的报文接收完成的延迟时间能够预先以设计或者实验方式确定,并作为常数而提供给通信装置。

由此,通信装置能够推定报文的生成时刻,能够使用推定时刻以使推定出的时刻作为与其他通信装置的同步时刻、或者考虑接收时刻与推定时刻之差来进行用于控制的运算处理等。

另外,在本发明中,通信装置以如下方式判断多个报文是否为连续地发送了的报文。通信装置在一个报文的发送完成时刻与接着它的下一个报文的发送开始时刻的间隔不满足规定时间的情况下,判断为这两个报文连续。由此,通信装置能够容易地检测连续的报文发送。

另外,在本发明中,对于被检测出被至少连续地发送了的报文,通信装置预先存储报文的发送时刻以及与优先级相关的信息。由此,通信装置在接收到报文的情况下,能够进行判定接收报文是否为连续地发送了的报文以及基于连续地发送了的其他报文的优先级来推定延迟时间等处理。

发明效果

在本发明的情况下,通过设为推定由仲裁处理导致的报文的延迟时间的结构,不需要对通信系统所含的所有通信装置进行功能扩展,只要仅对需要进行时间推定的通信装置进行功能扩展即可,所以能够以低成本实现能够进行报文生成时刻的推定等的通信系统。

附图说明

图1是示出实施方式1的通信系统的结构的示意图。

图2是示出ecu的结构的框图。

图3是用于说明ecu的生成时刻推定部的生成时刻推定处理的示意图。

图4是用于说明ecu的延迟时间推定部的延迟时间推定处理的示意图。

图5是示出ecu的报文生成时刻推定处理的步骤的流程图。

图6是示出实施方式2的通信系统的结构的示意图。

图7是示出监视装置的结构的框图。

图8是用于说明监视装置的不正当报文检测处理的示意图。

具体实施方式

(实施方式1)

图1是示出实施方式1的通信系统的结构的示意图。实施方式1的通信系统构成为具备搭载于车辆1的一个或者多个ecu2以及一个或者多个ecu3。ecu2、3经由铺设于车辆1的公共的通信线而连接,能够相互发送接收报文。在本实施方式中,将该通信线设为can总线,ecu2、3进行依照can协议的通信。ecu2、3也可以是各种电子控制装置,例如进行车辆1的发动机的控制的发动机ecu、进行车体的电气安装件的控制的车身ecu、进行与abs(antilockbrakesystem,防抱死制动系统)有关的控制的abs-ecu或者进行车辆1的安全气囊的控制的安全气囊ecu等。

在本实施方式中,在ecu2与ecu3之间,与通信有关的功能有差异。ecu2进行与以往相同的can通信。与此相对地,ecu3除了与以往相同的can通信之外,还具有在接收到报文的情况下推定该报文的生成时刻的功能。此外,在图1中,图示出通信系统具备7个ecu2和1个ecu3的结构,但ecu2、3的搭载数量是一个例子,不限于此。例如,通信系统中包括的ecu也可以全部是ecu3。在通信系统中,至少包括1个ecu3即可。

图2是示出ecu3的结构的框图。此外,在图2中,关于设于车辆1的ecu3,抽出与通信以及报文生成时刻的推定等有关的框来图示。另外,关于ecu2,结构与以往的进行can通信的ecu相同,所以省略框图的图示。本实施方式的ecu3构成为具备处理部31、rom(readonlymemory,只读存储器)32、ram(randomaccessmemory,随机存取存储器)33和can通信部34等。处理部31使用cpu(centralprocessingunit,中央处理单元)或者mpu(micro-processingunit,微处理单元)等运算处理装置来构成。处理部31通过读出rom32中存储的程序32a并执行而进行与车辆1相关的各种信息处理或者控制处理等。

rom32使用闪存存储器或者eeprom(electricallyerasableprogrammablerom,电可擦除可编程rom)等非易失性的存储器元件来构成。rom32存储有处理部31执行的程序32a以及由此进行的处理所需的各种数据。另外,在本实施方式中,在rom32中存储有报文生成时刻的推定中使用的延迟时间常数32b。

ram33使用sram(staticrandomaccessmemory,静态随机存取存储器)或者dram(dynamicrandomaccessmemory,动态随机存取存储器)等可改写数据的存储器元件来构成。ram33存储通过处理部31的处理而生成的各种数据。另外,在本实施方式中,发送履历存储部33a设于ram33,该发送履历存储部33a存储发送到车辆1的can总线上的报文(可能包括自身所发送的报文和其他ecu2所发送的报文这两者)的履历。

can通信部34依照can的通信协议,经由can总线进行与其他ecu2的通信。can通信部34将从处理部31提供的发送用的信息变换成依照can的通信协议的信号,将变换得到的信号输出到can总线,从而进行向其他ecu2的报文发送。can通信部34通过对can总线的电位进行采样,取得其他ecu2所输出的信号,依照can的通信协议而将该信号变换成二进制的信息,从而进行报文的接收,将接收到的报文提供给处理部31。

另外,can通信部34在自身的报文发送与其他ecu2的报文发送发生了冲突的情况下,进行对先发送哪一报文进行仲裁的处理即所谓的仲裁处理。在各ecu2、3发送的报文中,根据报文的类别而预先确定id。该id是作为数值来处理的信息,其值越小则报文发送的优先级越高。因此,在通信系统中,当在can总线上多个报文发送发生了冲突的情况下,进行优先级最高的报文发送,在该报文的发送完成后进行其他报文的发送。此外,can通信部34所进行的仲裁处理是现有技术,所以省略详细的处理步骤的说明。

另外,在本实施方式中,can通信部34具有检测对can总线的连续的报文发送的连续发送检测部34a。连续发送检测部34a监视发送到can总线上的报文,取得从一个报文的发送完成时刻至下一个报文的发送开始时刻的时间,在该时间不满足规定时间的情况下,判断为这两个报文是连续地发送了的报文。详细地说,连续发送检测部34a通过对在上一个报文的eof(endofframe,帧结尾)的7比特的隐性部(recessive)与下一个报文的sof(startofframe,帧开头)之间存在由2比特或者3比特的隐性部构成的ifs(interframespace,帧间隔)的情形进行检测,来检测连续的两个报文发送。在连续发送检测部34a检测到连续的报文发送的情况下,can通信部34将与连续的两个报文有关的信息提供给处理部31。

在本实施方式中,在ecu3的处理部31中,通过执行程序32a,延迟时间推定部41和生成时刻推定部42等被实现为软件的功能框。此外,延迟时间推定部41和生成时刻推定部42等的一部分或者全部也可以实现为基于硬件的功能框。延迟时间推定部41在通过can通信部34接收到其他ecu2所发送的报文的情况下,进行推定该报文由于仲裁处理而延迟的时间的处理。此时延迟时间推定部41根据ram33的发送履历存储部33a中存储的履历信息来进行推定处理。生成时刻推定部42进行根据延迟时间推定部41推定出的延迟时间以及rom32中存储的延迟时间常数32b来推定所接收到的报文被作为发送源的ecu2生成的时刻的处理。

<推定处理>

图3是用于说明ecu3的生成时刻推定部42的生成时刻推定处理的示意图,例如,示出某一个ecu2发送报文m并且ecu3接收该报文m的情况下的时序图。ecu2在通过自身的处理而应该向其他ecu2、3发送信息的条件成立的情况下,生成包括应该发送的信息和can-id等的报文m。在本图中,将ecu2完成该报文m的生成的时刻示为t1。在生成了报文m之后,在ecu2中,例如从处理部向can通信部提供报文m,通过can通信部而开始向can总线输出报文m的最先的比特。在本图中,将从报文m的生成时刻t1至开始该报文m向can总线的最初的输出的时刻即开始报文m的发送尝试的时刻t2的时间示为发送侧内部延迟时间d1。

当在一个ecu2将要发送报文m时其他ecu2、3同时将要发送报文的情况下,多个报文发送发生冲突,在多个ecu2、3之间进行仲裁处理。仲裁处理的结果是,先进行优先级高的报文(can-id的数值小的报文)的发送,优先级低的报文的发送发生延迟。在本图中,将从最初尝试报文m的发送的时刻t2至实际开始了报文m的发送的时刻t3的时间示为仲裁延迟时间d2。如果未发生报文发送的冲突,则t2=t3,d2=0。

开始了报文m的发送的ecu2将与报文m的全部比特对应的信号输出到can总线,从而完成报文m的发送。在本图中,将由ecu2进行报文发送的期间示为报文发送时间d3,将完成了报文m的发送的时刻示为t4。

ecu2所发送的报文m被需要它的ecu2、3接收。ecu3的can通信部34通过对can总线的信号电平进行采样,能够在时刻t4接收ecu2所发送的报文m的全部比特。can通信部34将接收到的报文m提供给处理部31,由此,完成ecu3的报文m的接收处理。在本图中,将从ecu2的报文m的发送完成时刻t4至ecu3的报文m的接收完成的时间示为接收侧内部延迟时间d4。

接收到来自ecu2的报文m的ecu3能够知道该报文m的接收完成时刻t5。ecu3的生成时刻推定部42进行从报文接收完成时刻t5起回溯而推定报文生成时刻t1的处理。详细地说,生成时刻推定部42通过从报文接收完成时刻t5减去4个延迟时间d1~d4,来推定报文生成时刻t1。

发送侧的ecu2的发送侧内部延迟时间d1是根据ecu2的装置结构等来确定的时间。因此,例如在ecu2的设计阶段等,预先计算延迟时间d1的理论值或者设计值等,或者预先在实际的ecu2的动作中测定延迟时间d1并将发送侧内部延迟时间d1的理论值或者测定值等作为延迟时间常数32b存储于rom32。预先存储的发送侧内部延迟时间d1既可以是所有ecu2共同的值,也可以是关于各ecu2而单独的值。生成时刻推定部42通过读出rom32的延迟时间常数32b,能够取得发送侧内部延迟时间d1。

仲裁延迟时间d2是根据发送发生了冲突的报文的数量和发生了冲突的报文的优先级等而大幅变化的时间。因此,ecu3通过延迟时间推定部41进行参照报文的发送履历来推定仲裁延迟时间d2的处理。此外,延迟时间推定部41的推定处理的详细情况在后面叙述。

报文发送时间d3是根据接收到的报文m的比特数唯一地确定的时间。生成时刻推定部42根据接收到的报文的比特数而取得报文发送时间d3。此外,如果是在ecu2、3之间发送接收的报文为固定长度的系统,则生成时刻推定部42也可以将报文发送时间d3作为固定值而预先存储。另外,在ecu3是不按实际时间而按照比特数来处理延迟时间d1~d4的结构的情况下,报文发送时间d3是接收报文m的比特数。

接收侧的ecu3的接收侧内部延迟时间d4是根据ecu3的装置结构等来确定的时间。因此,与发送侧内部延迟时间d1同样地,例如在ecu3的设计阶段等,预先计算延迟时间d4的理论值或者设计值等,或者预先在实际的ecu3的动作中测定延迟时间d4,并将发送侧内部延迟时间d4的理论值或者测定值等作为延迟时间常数32b而存储于rom32。生成时刻推定部42通过读出rom32的延迟时间常数32b,能够取得接收侧内部延迟时间d4。此外,在处理部31能够取得从can通信部34接收到报文m的时刻(即报文发送完成时刻t4)的情况下,生成时刻推定部42也可以不使用接收侧内部延迟d4,而是从报文发送完成时刻t4起回溯而推定报文生成时刻t1。

此外,与仲裁延迟时间d2和报文发送时间d3相比,发送侧内部延迟时间d1和接收侧内部延迟时间d4是非常小的值。因此,生成时刻推定部42也可以构成为视为d1=0并且d4=0来推定报文生成时刻t1(=t2)。

图4是用于说明ecu3的延迟时间推定部41的延迟时间推定处理的示意图,以两个图案示出发送到can总线上的报文的一个例子。在本图中,被示为长方形区域的是报文,该长方形区域内所记载的数值是can-id。另外,ecu3接收附加阴影线而示出的can-id为6的报文,延迟时间推定部41推定该报文的由于仲裁导致的延迟时间d2。

ecu3的can通信部34通过连续发送检测部34a进行对can总线的连续的报文发送的检测。连续发送检测部34a在从一个报文的发送完成时刻至下一个报文的发送开始时刻的时间不满足规定时间的情况下,判断为这两个报文是连续地发送了的报文。连续发送检测部34a在检测到报文的连续发送的情况下,将与连续的报文有关的信息通知给处理部31。此时连续发送检测部34a将例如连续的报文的发送开始时刻、发送完成时刻(或者报文长度)、can-id等信息通知给处理部31。处理部31将所通知的信息作为履历而存储于ram33的发送履历存储部33a。此外,发送履历存储部33a中存储的信息也可以在经过了规定时间的情况等下删除。

ecu3的延迟时间推定部41在接收到来自ecu2的报文的情况下,通过参照发送履历存储部33a中存储的履历,判定是否存在在接收报文之前连续的其他报文。在之前不存在连续的其他报文的情况下,延迟时间推定部41判断为仲裁延迟时间d2=0。在之前存在连续的其他报文的情况下,延迟时间推定部41调查该一个或者多个其他报文的can-id,进行与接收报文的can-id的比较。延迟时间推定部41检索在接收报文之前不中断而连续的优先级高的报文,从它们当中取得最前发送的报文的发送开始时刻,将从该发送开始时刻至接收报文的发送开始时刻的时间推定为仲裁延迟时间d2。

例如,在图4上部所示的例子中,是依次发送can-id为2、3、1、6的4个报文并且ecu3接收到can-id为6的报文的情况。由于在接收报文之前发送的3个报文全部是优先级高的报文,所以ecu3的延迟时间推定部41根据履历取得在3个报文中最前发送的can-id为2的报文的发送开始时刻。延迟时间推定部41将从can-id为2的报文的发送开始时刻至can-id为6的接收报文的发送开始时刻的时间推定为仲裁延迟时间d2。

另外,例如在图4中断所示的例子中,是依次发送can-id为8、2、1、6的4个报文并且ecu3接收到can-id为6的报文的情况。ecu3的延迟时间推定部41判断为在接收报文之前发送的3个报文中的、在接收报文之前不中断而连续的优先级高的报文是can-id为2、1的两个报文。延迟时间推定部41根据履历取得这两个报文中的、最前发送的can-id为2的报文的发送开始时刻。延迟时间推定部41将从can-id为2的报文的发送开始时刻至can-id为6的接收报文的发送开始时刻的时间推定为仲裁延迟时间d2。

另外,例如在图4下部所示的例子中,是依次发送can-id为2、8、1、6的4个报文并且ecu3接收到can-id为6的报文的情况。ecu3的延迟时间推定部41判断为在接收报文之前发送的3个报文中的、在接收报文之前不中断而连续的优先级高的报文仅为can-id为1的报文。延迟时间推定部41将从can-id为1的报文的发送开始时刻至can-id为6的接收报文的发送开始时刻的时间推定为仲裁延迟时间d2。

此外,延迟时间推定部41推定的仲裁延迟时间d2只不过是推定值,可能有时与实际的延迟时间不一致。例如在图4上部,在can-id为2的报文和作为推定对象的can-id为6的报文被同时发送而进行了仲裁处理的情况下,所推定出的仲裁延迟时间d2与实际的延迟时间一致。与此相对地,例如在图4上部,在发送can-id为2的报文时,作为推定对象的can-id为6的报文未被发送,在与以后的can-id为3或者1的报文的发送同时地首次发送了作为推定对象的can-id为6的报文的情况下,实际的延迟时间比所推定出的仲裁延迟时间d2短。另外,例如,也有可能紧接着can-id为1的报文发送完成之后首次发送了作为推定对象的can-id为6的报文。即,延迟时间推定部41推定的仲裁延迟时间d2是接收报文的最大延迟时间,实际的延迟时间在0~d2的范围内。

根据延迟时间推定部41推定出的仲裁延迟时间d2、作为延迟时间常数32b而存储于rom32中的发送侧内部延迟d1和接收侧内部延迟d4以及接收报文的报文发送时间d3,生成时刻推定部42能够推定接收报文的生成时刻t1。

图5是示出ecu3的报文生成时刻推定处理的步骤的流程图。ecu3的处理部31判定是否通过can通信部34从其他ecu2接收到期望的报文(步骤s1)。在未接收到报文的情况下(s1:“否”),处理部31待机直至接收到报文为止。在接收到期望的报文的情况下(s1:“是”),处理部31的延迟时间推定部41参照ram33的发送履历存储部33a中存储的发送履历(步骤s2)。延迟时间推定部41根据所存储的发送履历,判定是否存在在步骤s1中接收到的接收报文之前连续地发送了的其他报文(步骤s3)。在不存在连续地发送了的其他报文的情况下(s3:“否”),延迟时间推定部41认为仲裁延迟时间d2=0(步骤s8),使处理前进到步骤s9。

当存在在接收报文之前连续地发送了的其他报文的情况下(s3:“是”),延迟时间推定部41根据发送履历存储部33a中存储的履历信息,调查连续的其他报文的优先级(步骤s4)。延迟时间推定部41判定在接收报文之前连续的一个或者多个其他报文中是否存在优先级比接收报文的优先级高的报文(步骤s5)。在不存在高优先级的报文的情况下(s5:“否”),延迟时间推定部41认为仲裁延迟时间d2=0(步骤s8),使处理前进到步骤s9。

在存在高优先级的报文的情况下(s5:“是”),延迟时间推定部41根据发送履历存储部33a中存储的发送履历取得在接收报文之前不中断而连续的高优先级的报文中的、最前(即,发送开始时刻最早)的报文的发送开始时刻(步骤s6)。延迟时间推定部41根据在步骤s6中取得的最前的高优先级报文的发送开始时刻与在步骤s1中接收到的接收报文的发送开始时刻之差来计算仲裁延迟时间d2(步骤s7),使处理前进到步骤s9。

接下来,处理部31的生成时刻推定部42取得rom32的作为延迟时间常数32b而存储的发送侧内部延迟时间d1和接收侧内部延迟时间d4(步骤s9),并且取得在步骤s1中接收到的接收报文的发送时间d3(步骤s10)。生成时刻推定部42根据发送侧内部延迟时间d1、仲裁延迟时间d2、报文发送时间d3、接收侧内部延迟时间d4以及接收报文的接收完成时刻t4,计算出接收报文的生成时刻t1(步骤s11),结束处理。

在以上的结构的本实施方式的通信系统中,至少1个ecu3具备进行推定由仲裁处理导致的报文的延迟时间d2的处理的功能。在ecu3中,can通信部34的连续发送检测部34a检测ecu2对can总线的连续的报文发送,延迟时间推定部41判定自身接收到的报文是否为与其他报文连续地发送了的报文。在接收报文是与其他报文连续地发送了的报文的情况下,该接收报文有可能由于仲裁处理而延迟,所以延迟时间推定部41调查在接收报文之前连续的一个或者多个其他报文的优先级(can-id),根据各报文的优先级来推定接收报文由于仲裁处理而延迟了的时间。

在这样的推定接收报文的由仲裁处理导致的延迟时间的结构中,报文发送侧的ecu2不需要进行任何特别的处理,所以只要仅对需要推定接收报文的延迟时间的ecu3搭载该功能即可。因此,对以往的进行基于can协议的通信的通信系统,只要仅对必要的通信装置进行功能扩展即可,所以能够以低成本实现本实施方式的通信系统。

关于在接收报文之前连续的其他报文,在其他报文的优先级比接收报文的优先级高的情况下,接收报文由于与这些其他报文的冲突而发送有可能延迟了。与此相对地,在其他报文的优先级比接收报文的优先级低的情况下,在仲裁处理中使接收报文的发送优先,所以接收报文不会因与其他报文的冲突而延迟。因此,延迟时间推定部41调查在接收报文之前不中断而连续的优先级高的报文,根据在它们当中最前的其他报文的发送开始时刻来推定延迟时间。由此,能够推定接收报文由于与优先级高的其他报文的仲裁处理而延迟了的时间。

另外,ecu3的生成时刻推定部42根据延迟时间推定部41推定出的延迟时间,推定所接收到的报文被作为发送源的ecu2生成的时刻。生成时刻推定部42根据从发送侧的ecu2的报文生成至报文发送的延迟时间d1、推定出的由仲裁处理导致的延迟时间d2、报文的发送时间d3以及从发送侧的ecu2的报文发送完成至接收侧的ecu3的报文接收完成的延迟时间d4,来推定报文的生成时刻t1。就发送侧内部延迟时间d1和接收侧内部延迟时间d4而言,将设计值或者实测值等作为延迟时间常数32b而存储于ecu3的rom32中。

由此,ecu3能够推定接收到的报文的生成时刻。例如,在ecu2发送车速或者温度等的传感器的检测值作为报文并且ecu3根据报文中包括的检测值而进行反馈控制等的系统的情况下,通过报文的延迟时间以及ecu3推定报文的生成时刻,能够进行精度更好的控制。另外,例如在ecu3根据来自ecu2的报文而进行同步处理的情况下,通过推定报文的延迟时间,能够实现精度更好的同步。

另外,连续发送检测部34a在一个报文的发送完成时刻与接着它的下一个报文的发送开始时刻的间隔不满足规定时间(例如,与ifs的2比特或者3比特相应的规定时间)的情况下,判断为两个报文连续。ecu3对于连续发送检测部24a判断为连续的报文,将发送开始时刻和优先级等信息存储于ram33的发送履历存储部33a中。由此,延迟时间推定部41能够进行接收报文是否为连续地发送了的报文的判定以及基于连续地发送了的其他报文的优先级来推定延迟时间等处理。

此外,在本实施方式中,构成为处理部31(所谓的cpu等)进行延迟时间推定部41的延迟时间推定处理以及生成时刻推定部42的生成时刻推定处理等处理,但不限于此,也可以构成为can通信部53(所谓的can控制器等)进行这些处理。另外,也可以构成为连续发送检测部34a的报文的连续发送的检测处理不由can通信部34进行而是由处理部31进行。

另外,ecu3构成为将关于连续发送检测部34a判断为连续的报文的信息存储在发送履历存储部33a中,但不限于此,例如,也可以存储发送到can总线上的所有报文的履历。在该情况下,can通信部34不需要进行连续发送检测部34a实施的处理,在处理部31进行延迟时间的推定处理时,只要判断发送履历存储部33a中存储的报文是否连续即可。

另外,在本实施方式中,以搭载于车辆1的通信系统为例进行了说明,但通信系统不限于搭载于车辆1,既可以搭载于例如飞机或者船舶等移动体,另外,例如也可以不设置于移动体而设置于工厂、办公室或者学校等。

(实施方式2)

图6是示出实施方式2的通信系统的结构的示意图。实施方式2的通信系统构成为具备搭载于车辆1的多个ecu2以及1个监视装置203。ecu2和监视装置203经由铺设于车辆1的can总线而连接,能够相互发送接收报文。监视装置203是监视对车内网络的不正当的报文发送的装置。监视装置203既可以作为监视专用的装置而设置,也可以是例如对网关等装置附加了监视的功能的结构,另外,也可以是例如对实施方式1的ecu3附加了监视的功能的结构。

本实施方式的ecu2周期性地进行如下处理:取得传感器等检测到的信息或者来自作为控制对象的设备的反馈信息等信息,制作包括所取得的信息的can协议的报文,对can总线发送所制作的报文。此外,报文的发送周期对每个can-id而确定,ecu2能够以对每个can-id而不同的周期进行发送。

图7是示出监视装置203的结构的框图。实施方式2的监视装置203具有与实施方式1的ecu3相同的延迟时间推定功能和生成时刻推定功能等,并且处理部31具备对不正当的报文发送进行监视处理的监视处理部43。

作为不正当的报文,考虑例如对can总线不正当地连接不正当的通信装置,该通信装置将不正当的报文发送到can总线上。另外,考虑例如对搭载于车辆1的某个ecu2进行不正当的改造或者改变等,该ecu2发送不正当的报文。这些是不正当的报文的一个例子,监视装置203检测的不正当的报文也可以由这些以外的原因引起。

不正当的通信装置能够依照can协议而发送附加了特定的can-id的不正当报文。这样的附加于不正当报文的can-id使用在车辆1的通信系统中利用的正当的can-id,但不正当报文中包括的其他数据为不正当的数据。在根据can-id而ecu2接收到不正当报文的情况下,ecu2将进行基于不正当的数据的处理。在实施方式2的通信系统中,检测附加有正规的can-id的不正当报文即所谓的假冒报文。

实施方式2的监视装置203对于应该周期性地发送的报文,通过判断是否以正确的周期发送该报文,进行不正当的报文的检测。图8是用于说明监视装置203的不正当报文检测处理的示意图。监视装置203对在通信系统内发送接收的报文中附加的每个can-id,确定允许具有该can-id的报文的发送的允许期间。在图8中,关于附加有某一个can-id的报文,图示出监视装置203所确定的允许期间等。此外,在实施方式2中,不会出现多个ecu2利用1个can-id即多个ecu2发送附加有同一can-id的报文的情形。

在本例子中,监视装置203设为监视对象的报文的发送周期是t。监视装置203的监视处理部43通过在与发送该报文的ecu2之间进行规定的手续,确定报文发送的基准时刻ta。例如,监视装置203对ecu2发送包括进行用于确定基准时刻ta的处理的请求的报文。接收到该报文的ecu2向监视装置203发送响应报文,并且将该响应报文的生成时刻设为基准时刻ta。接收到来自ecu2的响应报文的监视装置203按照与实施方式1的ecu3相同的步骤,关于响应报文而进行延迟时间推定部41的延迟时间推定处理以及生成时刻推定部42的生成时刻推定处理。监视装置203将关于响应报文而推定出的报文生成时刻设为基准时刻ta。

此外,在本例子中,将基准时刻ta设为响应报文的生成时刻(图3中,t1),但也可以将它以外的时刻设为基准时刻ta。例如,也可以将ecu2开始响应报文的发送尝试的时刻(图3中,t2)设为基准时刻ta。另外,例如在延迟时间推定部41推定出的延迟时间为规定时间以上的情况下,ecu2和监视装置203也可以重新进行确定基准时刻ta的处理。

监视装置203的监视处理部43将基准时刻ta加上发送周期t而得到的时刻tb设为报文的发送预定时刻tb。同样地,监视处理部43将基准时刻ta加上发送周期t的2倍而得到的时刻tc设为发送预定时刻tc。关于之后的发送预定时刻也一样。监视处理部43将对发送预定时刻tb设置了规定的期间a和期间b的宽限期而得到的期间确定为允许期间。监视处理部43将tb-a≤t≤tb+b的期间确定为允许期间。关于发送预定时刻tc及之后的时刻也一样。此外,用于确定允许期间的期间a和期间b例如根据通信系统的仿真或者实际设备中的测定结果等来预先确定。期间a和期间b既可以对于所有的报文而使用相同的值,也可以例如对每个can-id而使用不同的值。期间a能够根据监视装置203与发送该报文的ecu2的时钟误差等来确定。期间b考虑该报文由于仲裁处理而延迟的时间来确定。

监视装置203的can通信部34监视对can总线的报文的发送,在检测出报文发送的情况下通知给处理部31。处理部31的监视处理部43根据来自can通信部34的通知,取得所发送的报文的can-id以及与报文发送的开始时刻或者结束时刻有关的信息。另外,监视处理部43判定被检测出发送的报文是否为在允许期间内发送了的报文。在报文不是在允许期间内发送了的报文的情况下,监视处理部43判断为该报文是不正当报文,对与can总线连接的ecu2,进行废弃该报文的处理。

在本实施方式的通信系统中发送接收的报文是依照can协议的报文,构成为包括can报头、数据字段、crc(cyclicredundancycheck,循环冗余校验)字段、ack字段和eof(endofframe)等。can报头包括以往的can协议中的sof(startofframe)、仲裁字段和控制字段等,对仲裁字段设定上述can-id。数据字段储存有在ecu2间应该交换的信息的主体例如对ecu2的控制指示或者传感器探测结果等。crc字段、ack字段和eof与以往的can协议中使用的相同,所以省略详细的说明。crc字段储存用于进行错误检测的信息。ack字段是用于接收该帧的ecu2的接收响应的字段。eof是表示字段结束的特定的比特列。

监视装置203的监视处理部43对于判定为不允许发送的报文,在该报文的eof的输出期间中,对can总线发送错误帧。通过该错误帧,与can总线连接的所有ecu2能够废弃接收中的不正当的报文。

以上的结构的实施方式2的通信系统中监视装置203检测由不正当的装置对can总线的不正当的报文发送,能够提高车辆1的可靠性。在与监视处理所需的ecu2的基准时刻确定处理中,监视装置203推定从ecu2接收到的响应报文的报文生成时刻,将推定出的时刻设为基准时刻ta。由此,能够使监视装置203的基准时刻ta与ecu2的基准时刻ta高精度地一致,能够高精度地进行监视装置203的监视处理。

附图标记说明

1车辆

2ecu(通信装置)

3ecu(至少一个通信装置)

31处理部(报文生成部、判定部)

32rom

32a程序

32b延迟时间常数

33ram

33a发送履历存储部(履历存储部)

34can通信部(报文发送部、报文接收部、仲裁单元)

34a连续发送检测部

41延迟时间推定部

42生成时刻推定部

43监视处理部

203监视装置(通信控制装置)

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