1.本公开涉及控制装置、车载系统、控制方法以及非暂时性计算机可读记录介质。
背景技术:2.以往,在被搭载于车辆的车载系统所使用的ecu(electronic control unit;电子控制单元)间的通信中使用了can(controller area network)。伴随着车辆的case(connected、autonomous、shared and services、electric)应对,通过can以外的例如以太网(注册商标)等的通信协议进行通信的车载系统的多协议化正在发展。
3.can是静态地决定进行何种通信的网络,将这样的通信称为信号指向通信。以太网是动态地决定进行何种通信的网络,将这样的通信称为服务指向通信。在将can与以太网组合了的车载系统中,存在使用信号服务变换功能来使用can的通信数据作为以太网的通信数据的用例。
4.在日本特开2017-163344号公报中,关于车载系统的多协议化,公开了一种变换通信方式而能够实现ecu间的通信的技术。
5.然而,日本特开2017-163344号公报所公开的技术仅限于变换通信方式,即便是因ecu的追加、ecu的功能的更新等而在被中继的通信的构成内容中产生了变更的情况,也无法动态地变更构成内容。
技术实现要素:6.本公开是鉴于上述的问题点而完成的,其目的在于,提供能够动态地变更被中继的通信的构成内容的控制装置、车载系统、控制方法以及非暂时性计算机可读记录介质。
7.第1方式的控制装置具备:第1通信部,与第1通信总线连接;第2通信部,与第2通信总线连接;以及控制部,对是否将在上述第1通信总线中通信的数据中继至上述第2通信总线进行控制,在上述第2通信部接受到在上述第1通信总线中通信的数据的请求的情况下,上述控制部切换为将上述第1通信部接收到的上述数据向上述第2通信总线中继。
8.当从与第2通信总线连接的装置接受到在第1通信总线通信的数据的请求的情况下,第1方式的控制装置切换为将从第1通信总线接收到的数据向第2通信总线中继。根据第1方式的控制装置,能够动态地切换为将从第1通信总线接收到的数据向第2通信总线中继。
9.第2方式的控制装置是在第1方式的控制装置的基础上完成的,还具备存储部,该存储部存储将在上述第1通信总线中通信的数据的识别信息与是否中继至上述第2通信总线的信息建立了关联的管理信息,上述控制部基于上述管理信息来控制是否将在上述第1通信总线中通信的数据中继至上述第2通信总线。
10.第2方式的控制装置基于存储于存储器的管理信息来切换为将从第1通信总线接收到的数据向第2通信总线中继。根据第2方式的控制装置,能够基于管理信息动态地切换为将从第1通信总线接收到的数据向第2通信总线中继。
11.第3方式的控制装置是在第2方式的控制装置的基础上完成的,当上述第2通信部
接受到在上述第1通信总线中通信的数据的请求的情况下,上述控制部以将上述第1通信部接收到的上述数据向上述第2通信总线中继的方式更新上述管理信息。
12.当接受到在第1通信总线中通信的数据的请求的情况下,第3方式的控制装置更新被存储于存储器的管理信息。根据第3方式的控制装置,能够动态地更新管理信息的内容。
13.第4方式的控制装置是在第2方式的控制装置的基础上完成的,当上述第2通信部接受到在上述第1通信总线中通信的数据的请求的情况下,上述控制部在上述数据为规定的数据时不进行将上述第1通信部接收到的上述数据向上述第2通信总线中继那样的切换。
14.当存在规定的数据的请求的情况下,第4方式的控制装置不进行该数据的中继。根据第4方式的控制装置,能够控制为当存在规定的数据的请求的情况下不中继数据。
15.第5方式的控制装置是在第4方式的控制装置的基础上完成的,上述控制部不进行中继上述规定的数据那样的上述管理信息的更新。
16.第5方式的控制装置在存在规定的数据的请求的情况下不更新被存储于存储器的管理信息。根据第5方式的控制装置,能够为了在存在规定的数据的请求的情况下不中继数据而控制为不更新管理信息。
17.第6方式的控制装置是在第1方式的控制装置的基础上完成的,上述第1通信部接收数据的识别信息以及在上述第1通信总线中通信的数据,上述第2通信部接收包括上述识别信息与数据的信息作为在上述第1通信总线中通信的数据的请求。
18.第6方式的控制装置接收包括数据的识别信息与数据的信息作为在第1通信总线中通信的数据的请求。根据第6方式的控制装置,可以不仅仅为了请求就准备新的识别码。
19.第7方式的控制装置是在第1方式的控制装置的基础上完成的,该控制装置被在车载系统中使用。
20.根据第7方式的控制装置,在车载系统中,能够动态地切换为将从第1通信总线接收到的数据向第2通信总线中继。
21.第8方式的车载系统具有:第1方式的控制装置;第1电子控制单元,与上述第1通信总线连接;以及第2电子控制单元,与上述第2通信总线连接,当上述第2通信部接受到在上述第1通信总线中通信的数据的请求的情况下,上述控制装置的上述控制部切换为将上述第1通信部接收到的上述数据向上述第2通信总线中继。
22.当从第2通信总线接受到在第1通信总线中通信的数据的请求的情况下,第8方式的车载系统切换为将从第1通信总线接收到的数据向第2通信总线中继。根据第8方式的车载系统,能够动态地切换为将从第1通信总线接收到的数据向第2通信总线中继。
23.第9方式的控制方法使计算机执行如下处理:对是否将在第1通信总线中通信的数据中继至第2通信总线进行控制,当接受到在上述第1通信总线中通信的数据的请求的情况下,切换为将从上述第1通信总线接收到的上述数据向上述第2通信总线中继。
24.当从与第2通信总线连接的装置接受到在第1通信总线中通信的数据的请求的情况下,第9方式的控制方法切换为将从第1通信总线接收到的数据向第2通信总线中继。根据第9方式的控制方法,能够动态地切换为将从第1通信总线接收到的数据向第2通信总线中继。
25.第10方式的计算机程序使计算机执行如下处理:对是否将在第1通信总线中通信的数据中继至第2通信总线进行控制,当接受到在上述第1通信总线中通信的数据的请求的
情况下,切换为将从上述第1通信总线接收到的上述数据向上述第2通信总线中继。
26.当从与第2通信总线连接的装置接受到在第1通信总线中通信的数据的请求的情况下,第10方式的非暂时性计算机可读记录介质切换为将从第1通信总线接收到的数据向第2通信总线中继。根据第10方式的非暂时性计算机可读记录介质,能够动态地切换为将从第1通信总线接收到的数据向第2通信总线中继。
27.根据本公开,能够提供当从与第1通信总线不同的第2通信总线接受到在第1通信总线中通信的数据的请求的情况下通过切换为将从第1通信总线接收到的数据向第2通信总线中继来动态地变更被中继的通信的构成内容的控制装置、车载系统、控制方法、以及非暂时性记录介质。
附图说明
28.基于以下的附图来对本发明的示例性实施例详细地进行说明,其中:
29.图1是表示本实施方式所涉及的车载系统的简要结构的图。
30.图2是表示cgw的硬件结构的框图。
31.图3是表示cgw的功能结构的例子的框图。
32.图4是表示cgw的存储部所存储的信息的例子的图。
33.图5是表示第1ecu的硬件结构例的图。
34.图6是表示第2ecu的硬件结构例的图。
35.图7是表示车载系统的动作例的时序图。
36.图8是表示cgw的存储部所存储的信息的例子的图。
37.图9是表示cgw的cpu的动作例的流程图。
38.图10是表示车载系统的动作例的时序图。
具体实施方式
39.以下,参照附图对本公开的实施方式的一个例子进行说明。其中,在各附图中对相同或者等效的构件以及部分标注相同的参照附图标记。另外,为了便于说明,存在附图的尺寸比率被夸大而与实际的比率不同的情况。
40.图1是表示本实施方式所涉及的车载系统的简要结构的图。图1所示的车载系统1具有中央网关(cgw)100、第1ecu200a、第2ecu200b、第3ecu200c。cgw100与第1ecu200a通过第1通信总线10a连接。cgw100与第2ecu200b通过第2通信总线10b连接。第2ecu200b与第3ecu200c通过第3通信总线10c连接。
41.第1通信总线10a与第2通信总线10b是传送相同通信协议的信号的总线,第3通信总线10c是传送与第1通信总线10a以及第2通信总线10b不同的通信协议的信号的总线,在本实施方式中,第1通信总线10a以及第2通信总线10b是供can的信号流动的通信总线,第3通信总线10c是供以太网的信号流动的通信总线。cgw100以及第1ecu200a~第3ecu200c将车载电池作为电源来动作。
42.此外,在图1中仅示出第1ecu200a作为与第1通信总线10a连接的ecu,但也可以还有其他的ecu与第1通信总线10a连接。同样,与第2ecu200b不同的ecu可以和第2通信总线10b连接。另外,同样,与第3ecu200c不同的ecu可以和第3通信总线10c连接。
43.cgw100是ecu的一种,具有对车载系统1中的各通信总线进行中继的功能。cgw100是本公开的控制装置的一个例子。即,cgw100具有对在ecu间交换的数据进行中继的功能。例如,cgw100具有对是否将在第1通信总线10a中通信的数据中继至第2通信总线10b进行控制的功能。
44.图2是表示cgw100的硬件结构的框图。
45.如图2所示,cgw100具有第1通信收发器102、第2通信收发器104、通信控制器106、cpu108、ram110、rom112以及通信电路114。第1通信收发器102、第2通信收发器104、通信控制器106、cpu108、ram110、rom112以及通信电路114通过总线101连接。
46.通信控制器106对第1通信收发器102以及第2通信收发器104涉及的数据的收发进行控制。cpu108控制cgw100整体,rom112储存cpu108执行的网关用程序,ram110是存储器的例示,在执行cgw100的控制时被作为cpu108的工作区域而使用。
47.第1通信收发器102与第1通信总线10a连接,通过通信驱动器的控制来将来自通信电路114的数据发送至第1通信总线10a,并且接收来自第1通信总线10a的数据并输入至通信电路114。由此,第1通信收发器102与第1ecu200a之间进行信号的收发。
48.通信电路114经由第1通信总线10a与第1ecu200a之间进行串行通信,并且经由第2通信总线10b与第2ecu200b之间进行串行通信。通信电路114从第1通信收发器102或者第2通信收发器104发送来自cpu108的数据,并且将被从第1通信收发器102以及第2通信收发器104输入的数据输入至cpu108。
49.cpu108是硬件处理器的一个例子,执行由通信电路114执行的通信处理等控制cgw100整体的处理。
50.在执行上述的网关用程序时,cgw100使用上述的硬件资源来实现各种功能。对cgw100所实现的功能结构进行说明。
51.图3是表示cgw100的功能结构的例子的框图。
52.如图3所示,cgw100具有第1通信部121、第2通信部122、控制部123以及存储部124作为功能结构。各功能结构通过cpu108读出并执行存储于rom112的网关用程序来实现。
53.第1通信部121和与第1通信总线10a连接的第1ecu200a之间通信。第2通信部122和与第2通信总线10b连接的第2ecu200b之间通信。
54.控制部123对cgw100以及与cgw100电连接的第1ecu200a及第2ecu200b的动作进行控制。在本实施方式中,控制部123对是否将在第1通信总线10a中通信的数据中继至第2通信总线10b进行控制。而且,当控制部123接受到在第1通信总线10a中通信的数据的请求的情况下,控制部123切换为将第1通信部121接收到的数据向第2通信总线10b中继。
55.存储部124存储与控制部123对数据的中继相关的信息。例如,存储部124存储与在第1通信总线10a以及第2通信总线10b通信的数据的路由相关的信息。详细而言,存储部124存储将在第1通信总线10a通信的数据的识别信息与是否中继至第2通信总线10b的信息建立了关联的路由表。路由表是本公开的管理信息的一个例子。
56.图4是表示存储部124存储的路由表的例子的图。图4中的canid是数据的识别信息。在图4中,示出了canid:0030的数据以及canid:0031的数据被从第1通信总线10a向第2通信总线10b路由或者反向地路由。即,图4所示的canid的数据以外的数据不被从第1通信总线10a向第2通信总线10b路由或者反向地路由。
57.当接受到在第1通信总线10a通信的数据的请求的情况下,控制部123可以更新存储于存储部124的路由表。另外,在将存储于存储部124的路由表更新为对被请求的数据进行中继之后,当在规定时间以上未进行该数据的请求的情况下,控制部123可以从路由表删除与该数据相关的信息。
58.第2通信部122能够接收包括识别信息和数据的信息作为在第1通信总线10a通信的数据的请求。参照存储于存储部124的路由表,若是被登记在路由表的识别信息,则控制部123切换为将第1通信部121接收到的数据向第2通信总线10b中继。
59.cgw100通过具有图3所示的结构,能够动态地变更从第1通信总线10a向第2通信总线10b中继的通信的构成内容。
60.接下来,对第1ecu200a的硬件结构进行说明。
61.图5是表示第1ecu200a的硬件结构例的图。
62.如图5所示,第1ecu200a具有通信收发器202a和微控制器204a。在微控制器204a安装有通信电路206a、cpu208a、ram210a以及rom212a。cpu208a控制第1ecu200a整体,ram210a是存储器的一个例子,在控制第1ecu200a时被作为cpu208a的工作区域而使用,rom212a存储cpu208a所执行的第1ecu用程序。
63.通信收发器202a与第1通信总线10a连接,通过通信驱动器的控制将来自通信电路206a的数据发送至第1通信总线10a,并且接收来自第1通信总线10a的数据并输入至通信电路206a。由此,通信收发器202a与cgw100之间进行信号的收发。
64.通信电路206a与通信收发器202a连接,经由第1通信总线10a与cgw100之间进行串行通信。通信电路206a从通信收发器202a发送来自cpu208a的数据,并且将被从通信收发器202a输入的数据输入至cpu208a。
65.cpu208a是硬件处理器的一个例子,与通信电路206a连接,执行控制由通信电路206a执行的通信处理等第1ecu200a整体的处理。
66.接下来,对第2ecu200b的硬件结构进行说明。
67.图6是表示第2ecu200b的硬件结构例的图。
68.如图6所示,第2ecu200b具有第1通信收发器202b、第2通信收发器203b以及微控制器204b。在微控制器204b安装有通信电路206b、cpu208b、ram210b以及rom212b。cpu208b控制第2ecu200b整体,ram210b是存储器的一个例子,在控制第2ecu200b时被作为cpu208b的工作区域使用,rom212b存储cpu208b所执行的第2ecu用程序。
69.第1通信收发器202b与第2通信总线10b连接,通过通信驱动器的控制将来自通信电路206b的数据发送至第2通信总线10b,并且接收来自第2通信总线10b的数据并输入至通信电路206b。由此,第1通信收发器202b与cgw100之间进行信号的收发。
70.第2通信收发器203b与第3通信总线10c连接,通过通信驱动器的控制将来自通信电路206b的数据发送至第3通信总线10c,并且接收来自第3通信总线10c的数据并输入至通信电路206b。由此,第2通信收发器203b与第3ecu200c之间进行信号的收发。
71.通信电路206b与第1通信收发器202b连接,经由第2通信总线10b与cgw100之间进行串行通信。通信电路206b从第1通信收发器202b发送来自cpu208b的数据,并且将被从第1通信收发器202b输入的数据输入至cpu208b。
72.另外,通信电路206b与第2通信收发器203b连接,经由第3通信总线10c与第
3ecu200c之间进行通信。通信电路206b从第2通信收发器203b发送来自cpu208b的数据,并且将被从第2通信收发器203b输入的数据输入至cpu208b。
73.cpu208b是硬件处理器的一个例子,与通信电路206b连接,执行控制由通信电路206b执行的通信处理等第2ecu200b整体的处理。
74.接下来,对车载系统1的作用进行说明。
75.图7是表示车载系统1的动作例的时序图。在cgw100中,通过cpu108从rom112读出网关用程序并在ram110展开而执行,来进行图7所示的处理。
76.在图7所示的例子中,首先,第3ecu200c通过第3通信总线10c对于第2ecu200b发送在第1通信总线10a通信的服务的请求(步骤s101)。从第3ecu200c发送的、在第1通信总线10a通信的服务的请求中包括想从第1通信总线10a路由的can信号的信息(例如canid)。
77.接收到来自第3ecu200c的服务的请求的第2ecu200b对于cgw100进行远程帧的定期发送(步骤s102)。在步骤s102中从第2ecu200b发送的远程帧中包括想从第1通信总线10a路由的can信号的信息(例如canid)。
78.接收到从第2ecu200b定期发送的远程帧的cgw100的cpu108将远程帧所包括的can信号的信息存储于路由表(步骤s103)。如上所述,路由表被存储于存储部124。图8是通过步骤s103存储了can信号的信息的路由表的信息的例子。
79.紧接着步骤s103,通过第1通信总线10a从第1ecu200a向cgw100发送can信号(步骤s104)。若在步骤s104发送的信号是被登记在路由表的信号,则cgw100的cpu108将来自第1ecu200a的信号通过第2通信总线10b向第2ecu200b发送(步骤s105)。
80.接收到从cgw100通过第2通信总线10b发送的信号的第2ecu200b通过第3通信总线10c向第3ecu200c传送服务(步骤s106)。
81.车载系统1的cgw100通过执行图7所示的动作,能够将在第1通信总线10a通信的信号向第2通信总线10b路由。
82.当在规定时间未接收到来自第2ecu200b的远程帧的情况下、即在ttl(time to live:生存时间)用尽的情况下,cgw100的cpu108可以将因来自第2ecu200b的远程帧而被登记至路由表的信息删除。
83.图9是表示cgw100的cpu108的动作的流程图。
84.cpu108对从来自第2ecu200b的远程帧的接收起是否经过了规定的时间而计时器超时进行判断(步骤s111)。
85.若步骤s111的判断的结果是超时(步骤s111;是),则cpu108将通过来自第2ecu200b的远程帧的接收而存储于路由表的路由设定从路由表删除(步骤s112)。另一方面,若步骤s111的判断的结果是未超时(步骤s111;否),则cpu108跳过步骤s112的处理。
86.若从第2ecu200b接收到包括can信号的信息的远程帧,则cgw100可以对该can信号是否是规定的数据、例如可以路由的can信号进行判断。而且,cpu108可以若是可以路由的can信号,则在路由表存储can信号的信息,若是不可路由的can信号,则不在路由表存储can信号的信息。
87.图10是表示车载系统1的动作例的时序图。在cgw100中,通过cpu108从rom112读出网关用程序并在ram110展开而执行,来进行图10所示的处理。
88.在图10所示的例子中,首先第3ecu200c通过第3通信总线10c对于第2ecu200b发送
在第1通信总线10a通信的服务的请求(步骤s121)。从第3ecu200c发送的、在第1通信总线10a通信的服务的请求中包括想从第1通信总线10a路由的can信号的信息(例如canid)。
89.接收到来自第3ecu200c的服务的请求的第2ecu200b对于cgw100进行远程帧的定期发送(步骤s122)。在步骤s122中从第2ecu200b发送的远程帧包括想从第1通信总线10a路由的can信号的信息(例如canid)。
90.接收到从第2ecu200b定期发送的远程帧的cgw100的cpu108对被请求了路由的can信号是否是可以向第2通信总线10b路由的信号进行判断(步骤s123)。在步骤s123的判断时,cpu108可以参照预先存储于存储部124的、可路由的服务的列表。该情况下,若是存在于列表的服务则cpu108判断为可路由,若不是存在于列表的服务则cpu108判断为不可路由。
91.若步骤s123的判断的结果是被请求路由的can信号不是可以向第2通信总线10b路由的信号(步骤s123;否),则cpu108直接结束处理。
92.另一方面,若步骤s123的判断的结果是被请求了路由的can信号为可以向第2通信总线10b路由的信号(步骤s123;是),则cpu108将远程帧所包括的can信号的信息存储于路由表(步骤s124)。
93.紧接着步骤s124,第1ecu200a通过第1通信总线10a向cgw100发送can信号(步骤s125)。若在步骤s125中发送的信号是被登记在路由表的信号,则cgw100的cpu108将来自第1ecu200a的信号通过第2通信总线10b向第2ecu200b发送(步骤s126)。
94.接收到从cgw100通过第2通信总线10b发送的信号的第2ecu200b通过第3通信总线10c向第3ecu200c传送服务(步骤s127)。
95.车载系统1的cgw100通过执行图10所示的动作,能够将在第1通信总线10a通信且可向第2通信总线10b路由的信号向第2通信总线10b路由。
96.在上述实施方式中,将设置于车载系统1的cgw100作为控制装置的一个例子进行了说明,但本公开并不限定于该例子。只要是接受来自通过与在和控制装置连接的通信总线中使用的通信协议不同的通信协议进行通信的通信总线的信号的请求那样的通信系统,则同样能够应用cgw100的结构。
97.此外,上述各实施方式中由cpu读入软件(程序)来执行的处理也可以由cpu以外的各种处理器执行。作为该情况下的处理器,可例示fpga(field-programmable gate array)等在制造后能够变更电路结构的具有pld(programmable logic device)以及asic(application specific integrated circuit)等为了执行特定的处理而设计成专用的电路结构的处理器亦即专用电路等。另外,上述处理可以由这些各种处理器中的1个执行,也可以由同种类或者不同种类的2个以上处理器的组合(例如多个fpga、以及cpu与fpga的组合等)来执行。另外,这些各种处理器的硬件构造更详细是组合了半导体元件等电路元件的电路。
98.另外,在上述各实施方式中,对上述处理的程序被预先存储(安装)于rom或者储存器的方式进行了说明,但并不限定于此。程序也可以以记录于cd-rom(compact disk read only memory)、dvd-rom(digital versatile disk read only memory)、以及usb(universal serial bus)存储器等非暂时性(non-transitory)记录介质的方式提供。另外,也可以是程序经由网络从外部装置下载的方式。