车载网络系统、电子控制单元及不正常检测方法_5

文档序号:9830139阅读:来源:国知局
性地将与电动车窗120的开闭控制状态相应的数据帧发送到总线200。另外,E⑶4100b接收ECU4100c所发送的表示车辆的状态的数据帧,能够掌握车辆的状态。该车载网络系统13中各ECU按照CAN协议进行帧的授受。各ECU具有判断接收到的数据帧是否为不正常的数据帧的功能。
[0204]【4.2 EClMlOOa的结构】
[0205]图26是EClMlOOa的结构图。EClMlOOa构成为包括:数据帧收发部101、数据帧生成部4102、数据帧生成规则保持部4103、不正常数据帧判断部4104、接收数据帧周期保持部4105、数据帧接收历史记录保持部106、数据帧处理部107、计时器108、传感器值取得部109、MAC生成部3110、MAC密钥保持部3111和计数保持部3112。对EClMlOOa的结构要素中的具有与实施方式I所示的ECUlOOa或实施方式3所示的ECU3100a同样的功能的构成要素标注相同的附图标记而省略说明。这些各构成要素是功能性的构成要素,其各功能通过EClMlOOa中的通信电路、执行在存储器中储存的控制程序的处理器或数字电路等实现。此外,EClMlOOb及ECU4100C也具备与EClMlOOa基本上同样的结构。此外,数据帧生成规则保持部4103、接收数据帧周期保持部4105及数据帧接收历史记录保持部106的各保持内容可以按每个ECU而成为不同的内容。另外,数据帧处理部107的处理内容按每个ECU而不同。
[0206]数据帧生成部4102按照在数据帧生成规则保持部4103中储存的数据帧生成规则,生成数据帧,并向数据帧收发部101发送。数据帧生成部4102从计时器108取得当前时刻。而且,数据帧生成部4102从传感器值取得部109取得关于与EClMlOOa连接的设备(电动车窗开关110)的数据(传感器值)。为了从EClMlOOa周期性地发送数据帧,数据帧生成部4102根据当前时刻和在数据帧生成规则保持部4103中储存的发送周期,决定生成数据帧的定时,周期性地进行数据帧的生成。此外,在由数据帧生成部4102生成数据帧后,该数据帧被通知给数据帧收发部101,数据帧收发部101进行该数据帧的发送。进而,数据帧生成部4102在从传感器值取得部109取得的传感器值产生了变化的时间与周期性的定时为不同的时间的情况下,进行事件驱动数据帧的生成。在生成事件驱动数据帧时,数据帧生成部4102基于在数据帧生成规则保持部4103中储存的每个消息ID的数据帧生成规则的MAC赋予条件(后述)对事件驱动数据帧是否包括MAC进行判断,在判断为包括MAC的情况下,按照事件驱动数据帧格式使MAC包括在数据帧中。MAC与在实施方式3中所说明的MAC是同样的。即,数据帧生成部4102也与实施方式3所示的数据帧生成部3102同样地具有作为在不符合表示发送周期的数据帧生成规则的定时进行数据帧的发送时生成在数据帧中赋予了 MAC这一特定标识符的数据帧的赋予部的功能。作为数据帧生成部4102的数据帧的生成的结果,通过数据帧收发部101从ECU3100a向总线200周期性地发送数据帧,而且,非周期性地发送事件驱动数据帧。另夕卜,数据帧生成部4102在EClMlOOa进行发送的第一次等(例如发动机起动时或起动之前、从休眠状态恢复时等)周期性的发送的起点,以事件驱动数据帧的形式发送数据帧。这是因为,如果在周期性的发送的起点设为不是事件驱动数据帧的周期性的数据帧,则在接收侧不能够进行关于发送周期的条件的判断。此外,在第一次等可以使事件驱动数据帧包括MAC0
[0207]数据帧生成规则保持部4103能够通过存储器等存储介质实现,作为数据帧生成规贝1J,按EClMlOOa发送的每个消息ID而储存有用于周期性地发送数据帧的发送周期、表示MAC的存入位置、数据长等的事件驱动数据帧格式、对事件驱动数据帧赋予MAC的条件即MAC赋予条件。MAC赋予条件针对在车辆的状态为何种情况下应赋予MAC而设定。图27示出了在数据帧生成规则保持部4103中储存的数据帧生成规则的一例。在此,EClMlOOa发送表示电动车窗开关110的状态的数据帧等多个种类的数据帧(每一种类能够通过消息ID来识别的数据帧)。在图27的例子中,示出了关于从E⑶4100a周期性地发送的消息ID为0x100的数据帧,发送周期为50ms,在不遵循该发送周期而作为事件驱动数据帧发送的情况下,仅在车辆的状态处于行驶中时赋予MAC,在赋予MAC时需要在数据段的最低的16位储存MAC。另外,示出了关于消息ID为0x200的数据帧,发送周期为100ms,不发送消息ID为0x200的事件驱动数据帧。另外,示出了关于从EClMlOOa周期性地发送的消息ID为0x300的数据帧,发送周期为70ms,在不遵循该发送周期而作为事件驱动数据帧发送的情况下,仅在车辆的状态处于行驶中时及驻车中时赋予MAC,在赋予MAC时需要在数据段的最低的16位储存MAC。
[0208]不正常数据帧判断部4104对接收到的数据帧是否为正常的数据帧(不是不正常的数据帧)进行判断。即,不正常数据帧判断部4104参照接收数据帧周期保持部4105的周期规则信息,确认是否满足按每个消息ID而预先设定的发送周期的条件,在满足发送周期的条件的情况下判断为是从正规的ECU发送的数据帧(正常的数据帧)。另外,即使是不满足发送周期的条件的数据帧,在车辆状态保持部4113中储存的车辆的状态满足在接收数据帧周期保持部4105中储存的MAC赋予事件驱动数据帧接收条件的情况下,不正常数据帧判断部4104对数据帧是否按照事件驱动数据帧格式包括了 MAC进行验证,由此来判断是否为不正常的数据帧。MAC赋予事件驱动数据帧接收条件是表示在车辆的状态处于何种情况下接收赋予了 MAC的事件驱动数据帧的条件。不正常数据帧判断部4104在车辆的状态满足MAC赋予事件驱动数据帧接收条件的情况下,如果数据段内的MAC的验证成功,则判断为接收到的数据帧是正常的,如果验证失败,则判断为接收到的数据帧为不正常的数据帧。即,不正常数据帧判断部4104与实施方式3所示的不正常数据帧判断部3104同样地具有作为在由数据帧收发部101接收到不符合与表示发送周期的数据帧生成规则呼应的周期规则信息的数据帧的情况下,对该数据帧中的MAC这一特定标识符进行验证的验证部的功能JAC的验证能够通过判别将数据帧的消息ID和数据段的数据域的内容通知给MAC生成部3110而从MAC生成部3110得到的值与数据段内的MAC段I的内容是否一致来进行,在一致的情况下验证成功。不正常数据帧判断部4104在接收到的数据帧不满足预先设定的发送周期的条件,且车辆的状态不满足MAC赋予事件驱动数据帧接收条件的情况下,不进行MAC的验证而将事件驱动数据帧判断为正常的数据帧。也就是说,对于事件驱动数据帧,在车辆的状态满足MAC赋予事件驱动数据帧接收条件的情况下对MAC进行验证,在其他情况下省略验证。但是,在周期性的发送的第一次等在发送侧使事件驱动数据帧包括MAC的情况下,可以在接收侧进行对应的MAC的验证。此外,不正常数据帧判断部4104在接收到满足发送周期的条件的数据帧的情况下,可以将接收时刻作为上次接收时刻记录于数据帧接收历史记录保持部106。在不正常数据帧判断部4104判断为接收到的数据帧是正常的数据帧的情况下,使数据帧处理部107进行该数据帧的处理,在判断为是不正常的数据帧的情况下,舍弃该数据帧(即关于该数据帧,不使数据帧处理部107进行处理)。
[0209]接收数据帧周期保持部4105能够通过存储器等存储介质实现,保持周期规则信息。该周期规则信息是按本设备(EClMlOOa)所接收的每个数据帧的消息ID,将预先设定的发送周期与关于数据帧的接收间隔而表示用于判断为满足发送周期的条件(即与正常的发送周期相符)的容许范围的余裕相关联的信息。在周期规则信息中还包括表示在不满足发送周期的条件的事件驱动数据帧的数据段内储存的MAC的储存位置、数据长度等的事件驱动数据帧格式和MAC赋予事件驱动数据帧接收条件。事件驱动数据帧格式在不正常数据帧判断部4104验证关于事件驱动数据帧的正常性(即对MAC进行验证)时使用。另外,MAC赋予事件驱动数据帧接收条件是关于车辆的状态的条件,表示在车辆的状态处于何种状态下应关于事件驱动数据帧验证MAC。此外,在数据帧的接收侧的E CU的接收数据帧周期保持部4105中保持的周期规则信息中的发送周期,与在该数据帧的发送侧的ECU的数据帧生成规则保持部4103中保持的数据帧生成规则中的发送周期相呼应。另外,在数据帧的接收侧的ECU的接收数据帧周期保持部4105中保持的周期规则信息中的事件驱动数据帧格式,与在该数据帧的发送侧的ECU的数据帧生成规则保持部4103中保持的数据帧生成规则中的事件驱动数据帧格式相呼应。另外,在数据帧的接收侧的ECU的接收数据帧周期保持部4105中保持的周期规则信息中的MAC赋予事件驱动数据帧接收条件,与在该数据帧的发送侧的ECU的数据帧生成规则保持部4103中保持的数据帧生成规则中的MAC赋予条件相呼应。图28是示出在接收从ECU41 OOa发送的数据帧的ECU41 OOb中的接收数据帧周期保持部4105中储存的周期规则信息的一例的图。在该图的例子中,示出了消息ID为0x100的数据帧的发送周期为50ms,消息ID为0x200的数据帧的发送周期为I OOms,消息ID为0x300的数据帧的发送周期为7Oms ο在该图的例子中,余裕对于任一消息ID均为Ims。由于该余裕为Ims,所以对于消息ID为0x100的数据帧,如果发送周期在49ms以上且51ms以下的范围,则E⑶4100b中的不正常数据帧判断部4104判断为满足发送周期的条件。另外,对于图28的例子中的事件驱动数据帧格式,示出了消息ID为0x100及0x300的事件驱动数据帧在数据段的最低的16位被赋予了MAC,不发送消息ID为0x200的事件驱动数据帧。另外,关于图28的例中的MAC赋予事件驱动数据帧接收条件,示出了:消息ID为0x100的事件驱动数据帧在车辆的状态处于行驶中时需要进行MAC的验证,由于不发送消息ID为0x200的事件驱动数据帧所以不需要MAC的验证,消息ID为0x300的事件驱动数据帧在车辆的状态处于行驶中及驻车中的任一状态时需要进行MAC的验证。
[0210]车辆状态保持部4113能够通过存储器等存储介质实现,储存有表示车辆的状态的值。在图29中示出了在车辆状态保持部4113中储存的车辆的状态的一例。在该例子中,示出了车辆的状态处于行驶中。在接收到从ECU4100C发送的数据帧(表示车辆的状态的数据帧),且判定为是正常的数据帧的情况下,通过数据帧处理部107,根据该数据帧的内容来储存(更新)车辆状态保持部4113中的车辆的状态。
[0211]【4.3 E⑶4100a中的数据帧的发送处理】
[0212]以下,设想EClMlOOa向总线200发送数据帧,EClMlOOb从总线200接收数据帧的例子,对E⑶4100a中的数据帧的发送处理进行说明。
[0213]图30是示出E⑶4100a中的数据帧的发送处理的流程图。
[0214]EClMlOOa在遵循数据帧生成规则中的发送周期的发送定时(从上次的发送起经过了发送周期的定时)或者来自传感器值取得部109的传感器值发生了变化的定时,需要生成数据帧,开始进行图30的发送处理。在发送处理中,首先,E⑶4100a判断所要发送的数据帧是事件驱动数据帧还是周期性的数据帧(步骤S4101)。
[0215]EClMlOOa在步骤S4101中判断为所要发送的数据帧是没有遵循数据帧生成规则中的发送周期的事件驱动数据帧的情况下,判断与来自ECU4100C的数据帧相关联地储存在车辆状态保持部4113中的车辆的状态是否满足数据帧生成规则的MAC赋予条件(步骤S4102)。例如,MAC赋予条件表示处于行驶中及驻车中的任一种,在来自EClMlOOa的数据帧所示的车辆的状态(车辆状态保持部4113的车辆的状态)表示行驶中的情况下,判断为车辆的状态满足MAC赋予条件。
[0216]EClMlOOa在步骤S4102中判断为车辆的状态满足MAC赋予条件的情况下,按照数据帧生成规则的事件驱动数据帧格式,对所生成的数据帧的数据段的MAC段I赋予MAC(步骤S4103)。
[0217]EClMlOOa在步骤S4101中判断为所要发送的数据帧是遵循数据帧生成规则中的发送周期的周期性的数据帧的情况下(判断为不是事件驱动数据帧的情况下),跳过步骤S4102、S4103中的处理。另外,E⑶4100a在步骤S4102中判断为车辆的状态不满足MAC赋予条件的情况下,跳过步骤S4103中的处理。
[0218]EClMlOOa在步骤S4103之后或跳过步骤S4103中的处理后,在数据段的数据域设定从传感器值取得部109取得的最新的传感器值,生成所要发送的数据帧,并向总线200发送(步骤S4104)。由此,数据帧在总线200上传播,被E⑶41 OOb接收。
[0219]此外,E⑶4100b也能够执行与图30所示的处理同样的发送处理。
[0220]【4.4 E⑶4100b中的数据帧的接收处理】
[0221 ]以下,设想EClMlOOa向总线200发送数据帧,EClMlOOb从总线200接收数据帧的例子,对E⑶41 OOb中的数据帧的接收处理进行说明。
[0222]图31是示出E⑶41OOb中的数据帧的接收处理的流程图。
[0223]EClMlOOb接收在总线200上出现的数据帧(步骤S4201)。此外,如果是不包括本设备应接收的消息ID的数据帧,则EClMlOOb舍弃该数据帧而结束处理。在接收到包括本设备应接收的消息ID的数据帧的情况下,EClMlOOb判断该接收是否处于由所保持的周期规则信息规定的发送周期范围内(步骤S4202)。此外,E⑶4100b的不正常数据帧判断部4104基于从计时器108、接收数据帧周期保持部4105及数据帧接收历史记录保持部106得到的信息来判断接收到的数据帧的接收间隔(即发送周期)是否处于规定的发送周期的范围内(即是否满足周期规则信息所设定的发送周期的条件)。即,不正常数据帧判断部4104对上次接收时刻与本次接收到的数据帧的接收时刻的差量(接收间隔)是否为从与接收到的数据帧的消息ID相关联地设定的发送周期减去余裕而得到的值以上,并且为在该发送周期加上余裕而得到的值以下进行判断。
[0224]在步骤S4202中数据帧的接收间隔处于发送周期的范围内的情况下,满足了发送周期的条件,EClMlOOb在数据帧接收历史记录保持部106所保持的列表中,与接收到的数据帧的消息ID相关联地记录该数据帧的接收时刻,作为上次接收时刻(即更新上次接收时刻)(步骤S4204)。然后,紧接着步骤S4204中的处理之后,由EClMlOOb的不正常数据帧判断部4104判断为接收到的数据帧为正常的数据帧(步骤S4206),由数据帧处理部107进行与该数据帧相对应的处理。
[0225]另外,在步骤S4202中数据帧的上次接收时刻与本次接收时刻的差量不在发送周期的范围内的情况下,EClMlOOb判断车辆的状态是否满足MAC赋予事件驱动数据帧接收条件(步骤S4203)。即,EClMlOOb对与来自ECU4100c的数据帧相关联地储存于车辆状态保持部4113中的车辆的状态是否满足MAC赋予事件驱动数据帧接收条件进行判断。
[0226]在步骤S4203中判断为车辆的状态满足MAC赋予事件驱动数据帧接收条件的情况下,EClMlOOb按照在接收数据帧周期保持部4105中储存的事件驱动数据帧格式将数据帧的数据段分为MAC段I和数据域,通过对根据数据域及消息ID算出的MAC与MAC段所包括的MAC进行比较,来对数据帧的正常性(MAC为正确)进行验证(步骤S4205)。如果算出的MAC与MAC段所包括的MAC—致,则MAC的验证(即MAC的正常性的验证)成功,判断为接收到的数据帧是正常的数据帧(步骤S4206),由数据帧处理部107进行与该数据帧相对应的处理。
[0227]在步骤S4205中算出的MAC与MAC段所包括的MAC不一致的情况下(MAC的验证不成功的情况下),ECU4100b判断接收到的数据帧是不正常的数据帧而舍弃数据帧(步骤S4207)。因此,E⑶4100b不对由不正常的E⑶发送的不正常的数据帧进行处理。
[0228]另外,在步骤S4203中判断为车辆的状态不满足MAC赋予事件驱动数据帧接收条件的情况下,EClMlOOb判断为接收到的数据帧是正常的数据帧(步骤S4206),由数据帧处理部107进行与该数据帧相对应的处理。
[0229]此外,在步骤S4202中判断数据帧的接收间隔(即发送周期)是否处于规定的发送周期的范围内时,在第一次等未保存有上次接收时刻的情况下,将接收到的数据帧当作事件驱动数据帧来处理,在MAC的验证成功时,在将该数据帧的接收时刻作为上次接收时刻进行记录之后能够进行步骤S4206的处理。在该情况下,作为例外,在发送侧的ECU中,在第一次等周期性的发送的起点发送赋予了MAC的事件驱动数据帧。另外,在各ECU例如进入休眠状态等而存在使数据帧的周期性的发送停止的期间的情况下,在之后的周期性的发送再次开始时可以将数据帧作为事件驱动数据帧发送。在该情况下,在接收侧的ECU中,在从上次接收时刻起的一定时间以上的期间,发送侧的ECU进入休眠状态而周期性的发送中断了的情况下,使上次接收时刻无效而将下次作为第一次,将接收到的数据帧当作事件驱动数据帧来处理,能够对其正常性进行判断。
[0230]另外,E⑶4100a也能够执行与图31所示的处理同样的接收处理。
[0231]【4.5 E⑶4100c中的表示车辆的状态的数据帧的发送处理】
[0232]以下,对ECU4100c取得车辆的状态而将表示车辆的状态的数据帧向总线200发送的发送处理进行说明。
[0233]图32是示出ECU4100C中的表示车辆的状态的数据帧的发送处理的流程图。通过E⑶4100c反复执行该图所示的处理。
[0234]ECU4100c从传感器取得所连接的传动装置4130的状态(步骤S4301)。
[0235]ECU4100C判断所取得的传动装置4130的状态是否从上次取得的状态发生了变化(步骤S4302),在传动装置4130的状态发生了变化的情况下,基于预先设定的传动装置4130的状态(例如,关于传动装置档位的驻车、I档、2档等)和车辆的状态(行驶中、驻车中等)的对应关系,确定车辆的状态而生成包括该车辆的状态作为数据段的内容的数据帧,并作为事件驱动数据帧向总线200发送(步骤S4303)。
[0236]此外,ECU4100C可以对事件驱动数据帧赋予MAC而发送,在该情况下,EClMlOOa及ECU4100b对从总线200接收到的事件驱动数据帧的MAC进行验证,仅在验证成功了的情况下取得车辆的状态并将其储存于车辆状态保持部4113。
[0237]【4.6 E⑶4100b中的数据帧的接收处理的变形例】
[0238]在上述数据帧的接收处理(参照图31)中,在步骤S4203中车辆的状态不满足MAC赋予事件驱动数据帧接收条件的情况下,将接收到的数据帧判断为是正常的,但是可以变形为,在车辆的状态不满足MAC赋予事件驱动数据帧接收条件的情况下,将接收到的数据帧判断为是不正常的数据帧而进行舍弃。以下,表示接收处理的变形例。
[0239]图33是示出EClMlOOb中的数据帧的接收处理的变形例的流程图。
[0240]EClMlOOb接收在总线200上出现的数据帧(步骤S4401 KEClMlOOb在接收到包括本设备应接收的消息ID的数据帧的情况下,判断该接收是否处于由所保持的周期规则信息规定的发送周期范围内(步骤S4402)。在步骤S4402中数据帧的接收间隔处于发送周期的范围内的情况下,EClMlOOb在数据帧接收历史记录保持部106所保持的列表中,与接收到的数据帧的消息ID相关联地记录该数据帧的接收时刻,作为上次接收时刻(步骤S4404)。然后,紧接着步骤S4404中的处理之后,由EClMlOOb的不正常数据帧判断部4104判断为接收到的数据帧为正常的数据帧(步骤S4406),由数据帧处理部107进行与该数据帧相对应的处理。
[0241]另外,在步骤S4402中判断为数据帧的接收不在所规定的发送周期范围内的情况下,EClMlOOb判断车辆的状态是否满足MAC赋予事件驱动数据帧接收条件(步骤S4403)。
[0242]在步骤S4403中判断为车辆的状态满足MAC赋予事件驱动数据帧接收条件的情况下,EClMlOOb基于在接收数据帧周期保持部4105中储存的事件驱动数据帧格式,通过对根据数据域及消息ID算出的MAC与在MAC段中包括的MAC进行比较,来对数据帧的正常性(MAC为正确)进行验证(步骤S4405) ο在验证为MAC是正确的情况下,EClMlOOb将接收到的数据帧判断为是正常的数据帧(步骤S4406),由数据帧处理部
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1