WO2021095498A1 - 車載システム、中継装置、車載装置及びプログラム置換方法 - Google Patents
車載システム、中継装置、車載装置及びプログラム置換方法 Download PDFInfo
- Publication number
- WO2021095498A1 WO2021095498A1 PCT/JP2020/040074 JP2020040074W WO2021095498A1 WO 2021095498 A1 WO2021095498 A1 WO 2021095498A1 JP 2020040074 W JP2020040074 W JP 2020040074W WO 2021095498 A1 WO2021095498 A1 WO 2021095498A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- application
- unit
- vehicle
- defect
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
Definitions
- the present disclosure relates to an in-vehicle system, a relay device, an in-vehicle device, and a program replacement method for replacing a program in which a defect is detected.
- Patent Document 1 proposes a communication relay device that recovers from an abnormal state based on an operating state before the occurrence of an abnormality when an abnormality occurs in communication between an in-vehicle device and a portable terminal device. ..
- the first method is a method of replacing a defective application program by, for example, downloading an application program from a server device outside the vehicle.
- the second method is to replace the application program with a tool provided in the vehicle dealer.
- these methods cannot always be implemented depending on the surrounding environment of the vehicle and the like, and it has been difficult to recover from a defect in the application program at an early stage.
- the communication relay device described in Patent Document 1 cannot solve this problem either.
- an object of the present invention is to provide an in-vehicle system, a relay device, an in-vehicle device, and a program replacement method that can be expected to recover from a defect in an application program of the in-vehicle device.
- the in-vehicle system is an in-vehicle system in which a plurality of in-vehicle devices are connected via a network, and a detection unit that detects a defect related to a program executed by the in-vehicle device and the detection unit detect a defect. It is provided with a search unit for searching for another in-vehicle device having a program that can be substituted for the program, and an instruction unit for instructing the other in-vehicle device searched by the search unit to transmit the substitutable program.
- the in-vehicle device receives the substitutable program transmitted by the other in-vehicle device in response to the instruction, and replaces the program in which the defect is detected with the substitutable program.
- the present application can be realized not only as a device such as a relay device or an in-vehicle device provided with such a characteristic processing unit, but also as a program replacement method in which such a characteristic processing is a step, or such a step can be realized. It can be realized as a computer program to be executed by a computer. It can be realized as a semiconductor integrated circuit that realizes a part or all of these devices, or can be realized as another device or system including these devices.
- FIG. 1 It is a schematic diagram for demonstrating the outline of the in-vehicle system which concerns on this Embodiment. It is a block diagram which shows the structure of GW which concerns on Embodiment 1.
- FIG. It is a schematic diagram which shows one configuration example of a substitution table. It is a block diagram which shows the structure of the ECU which concerns on this embodiment. It is a flowchart which shows an example of the procedure of the process performed by GW which concerns on this Embodiment. It is a flowchart which shows an example of the procedure of the process performed by GW which concerns on this Embodiment. It is a flowchart which shows an example of the procedure of the process performed by GW which concerns on this Embodiment. It is a flowchart which shows an example of the procedure of application replacement processing performed by the ECU which concerns on Embodiment 1.
- FIG. 1 It is a schematic diagram for demonstrating the outline of the in-vehicle system which concerns on this Embodiment. It is a block
- FIG. It is a flowchart which shows an example of the procedure of application transmission processing performed by the ECU which concerns on Embodiment 1.
- FIG. It is a block diagram which shows the structure of the ECU which concerns on Embodiment 2.
- FIG. It is a schematic diagram which shows one structural example of the substitution table which concerns on Embodiment 2.
- the in-vehicle system is an in-vehicle system in which a plurality of in-vehicle devices are connected via a network, and a detection unit for detecting a defect related to a program executed by the in-vehicle device and the detection unit
- a search unit that searches for another in-vehicle device that has a program that can be substituted for the program that detected the defect, and an instruction unit that instructs the other in-vehicle device that the search unit has searched to transmit the substitutable program.
- the in-vehicle device receives the substitutable program transmitted by the other in-vehicle device in response to the instruction, and replaces the program in which the defect is detected with the substitutable program.
- the in-vehicle system can replace the defective program by exchanging the program between a plurality of in-vehicle devices existing in the vehicle, and recovery from the defect can be expected.
- the in-vehicle device has an operation confirmation unit for confirming the operation of the received alternative program, and the in-vehicle device replaces the program when normal operation is confirmed by the operation confirmation unit. It is preferable to do.
- the in-vehicle device that has received the substitutable program is replaced after confirming the operation of the received program.
- the in-vehicle device has an adjusting unit for adjusting parameters used by the received substitutable program, and the operation checking unit operates the substitutable program with parameters adjusted by the adjusting unit. It is preferable to confirm.
- the in-vehicle device that has received the substitutable program adjusts the parameters used by the received program. This makes it possible to perform processing suitable for the own device using a substitutable program.
- the in-vehicle device having the program in which the defect is detected limits a part of the functions of the program.
- the in-vehicle device in which a defect is detected in the program is executed by limiting a part of the functions of this program. As a result, it is possible to prevent a defect that occurs in the program in one in-vehicle device from adversely affecting another in-vehicle device.
- the relay device includes a relay device that relays communication between a plurality of in-vehicle devices, and the relay device has the detection unit, the search unit, and the instruction unit.
- processing such as detection of a program defect, search for an in-vehicle device having an alternative program, and an instruction to transmit an alternative program to the in-vehicle device is relayed through communication between a plurality of in-vehicle devices.
- the relay device does. As a result, it is not necessary for each in-vehicle device to perform the above processing, so that the processing load of the in-vehicle device can be reduced.
- the in-vehicle device preferably has the detection unit, the search unit, and the instruction unit.
- each in-vehicle device performs processing such as detection of a program defect, search for an in-vehicle device having a substitutable program, and an instruction to transmit an alternative program to the in-vehicle device.
- processing such as detection of a program defect, search for an in-vehicle device having a substitutable program, and an instruction to transmit an alternative program to the in-vehicle device.
- the relay device is a relay device that relays communication between a plurality of in-vehicle devices and includes a processing unit, and the processing unit detects a defect related to a program executed by the in-vehicle device. Then, another in-vehicle device having a program that can be substituted for the program in which the defect is detected is searched, and the other in-vehicle device that has been searched is instructed to transmit the substitutable program.
- the defective program can be replaced, and recovery from the defect can be expected.
- the in-vehicle device is an in-vehicle device connected to another in-vehicle device via a network and includes a processing unit, which detects a defect related to a program to be executed and has a defect. Searches for another in-vehicle device having a program that can be substituted for the detected program, instructs the searched other in-vehicle device to transmit the substitutable program, and in response to the instruction, the other in-vehicle device. Upon receiving the substitutable program transmitted by the device, the program in which the defect is detected is replaced with the substitutable program.
- the defective program can be replaced, and recovery from the defect can be expected.
- the program replacement method detects a defect related to a program executed by the in-vehicle device, searches for another in-vehicle device having a program that can substitute for the program in which the defect is detected, and searches for the other in-vehicle device.
- the in-vehicle device is instructed to transmit the substitutable program, and the in-vehicle device receives the substitutable program transmitted by the other in-vehicle device in response to the instruction, and the defect is detected.
- the program is replaced with the alternative program.
- the defective program can be replaced, and recovery from the defect can be expected.
- FIG. 1 is a schematic diagram for explaining an outline of an in-vehicle system according to the present embodiment.
- the in-vehicle system according to the present embodiment is a system in which the GW (gateway) 2 mounted on the vehicle 1 and the plurality of ECUs 4A to 4D communicate with each other via the communication lines 1a and 1b.
- the vehicle 1 is provided with two bus-type communication lines 1a and 1b.
- the GW2 and the two ECUs 4A and 4B are connected to the first communication line 1a.
- the GW2 and the two ECUs 4C and 4D are connected to the second communication line 1b.
- the GW 2 performs a process in which two communication lines 1a and 1b are connected together and communication between the two communication lines 1a and 1b is relayed. As a result, the four ECUs 4A to 4C can communicate with each other via the communication lines 1a and 1b and the GW2.
- the application (application program) stored in the flash memory or the like is executed by a processor such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), whereby the vehicle 1 Various processes such as running control are performed.
- a processor such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit), whereby the vehicle 1 Various processes such as running control are performed.
- the ECU 4B executes the application 101
- the ECU 4C executes the application 102.
- the application executed by the ECUs 4A and 4D is not shown.
- the in-vehicle system according to the present embodiment, defects related to the applications executed by the ECUs 4A to 4D are detected.
- the in-vehicle system searches for another application 102 that can substitute for the application 101 and another ECU 4C having this application.
- the ECU 4C transmits the application 102 to the ECU 4B.
- the ECU 4B receives the application 102 transmitted from the ECU 4C and replaces it with its own application 101. After that, the in-vehicle system is restored by executing the application 102 replaced by the ECU 4B.
- the ECU that controls each camera is provided with an application for camera control.
- the camera control application provided by each of these ECUs is often the same application or a similar application, and if a problem occurs in the camera control application in one of the ECUs, it is replaced with the application of the other ECU. It can be expected that the problem will be solved.
- a plurality of sensors for detecting obstacles around the vehicle are mounted on the vehicle 1, it can be expected that the problem can be solved by replacing the application in the same manner.
- the replacement of the application is not limited to the ECU that controls the camera, the sensor, and the like.
- the vehicle 1 may be equipped with devices having the same or similar configuration at a plurality of locations, and the application may be replaced between these devices.
- some configurations may be adopted as to which device performs processing such as detection of a defect in the application and search for a substitute application.
- the configuration in which the GW2 performs these processes will be described in the first embodiment, and the configuration in which the ECUs 4A to 4D perform these processes will be described in the second embodiment.
- FIG. 2 is a block diagram showing a configuration of GW2 according to the first embodiment.
- the GW 2 includes a processing unit (processor) 21, a storage unit (storage) 22, two communication units (transceivers) 23, and the like.
- the processing unit 21 is configured by using an arithmetic processing unit such as a CPU (Central Processing Unit) or an MPU (Micro-Processing Unit).
- the processing unit 21 can perform various processes by reading and executing the program stored in the storage unit 22.
- the processing unit 21 reads the program 22a stored in the storage unit 22 and executes the program to relay the message between the communication lines 1a and 1b and the program of the ECUs 4A to 4D in which a problem occurs. Performs various processes such as a process of replacing.
- the storage unit 22 is configured by using a non-volatile memory element such as a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory).
- the storage unit 22 stores various programs executed by the processing unit 21 and various data required for processing by the processing unit 21.
- the storage unit 22 stores the program 22a executed by the processing unit 21, a program that can replace the program in which the problem has occurred, and a replacement table 22b for searching the ECUs 4A to 4D having the program. ing.
- the program 22a may be written to the storage unit 22 at the manufacturing stage of the GW2, for example, or the GW2 may acquire what is distributed by a remote server device or the like by communication, or may be, for example, a memory card or an optical disk.
- the program recorded on the recording medium 99 such as the above may be read by the GW 2 and stored in the storage unit 22, or the writing device may read the program recorded on the recording medium 99 and write it in the storage unit 22 of the GW 2. Good.
- the program 22a may be provided in the form of distribution via the network, or may be provided in the form recorded on the recording medium 99.
- FIG. 3 is a schematic diagram showing a configuration example of the replacement table 22b.
- the replacement table 22b for example, information about ECUs 4A to 4D and an application provided therein is associated with information regarding an application that can be replaced when a problem occurs in this application and ECUs 4A to 4D including the application. Is remembered.
- ECU 4A includes apps A1 and A2.
- the application A1 of the ECU 4A can be replaced with the application B1 provided by the ECU 4B and the application C1 provided by the ECU 4C.
- the application A2 of the ECU 4A can be replaced with the application D1 of the ECU 4D.
- the ECU 4B includes the application B1.
- the application B1 of the ECU 4B can be replaced with the application A1 of the ECU 4A and the application C1 of the ECU 4C.
- the replacement table 22b is stored in the storage unit 22 in advance at the design stage, the manufacturing stage, or the like of the vehicle 1 and the in-vehicle system. Further, when the applications of ECUs 4A to 4D are updated or changed after manufacturing, the information in the replacement table 22b is updated.
- the replacement table 22b may be updated, for example, by the GW2, by receiving information transmitted by, for example, an external device, or by manually rewriting the information, for example.
- the two communication units 23 are connected to the communication lines 1a or 1b and communicate with the ECUs 4A to 4D via the communication lines 1a and 1b.
- the communication unit 23 transmits / receives data according to, for example, a communication standard of CAN (Controller Area Network).
- the communication unit 23 can be configured by using, for example, an IC of a CAN controller.
- the communication standard used by the communication unit 23 is not limited to CAN, and the communication unit 23 may perform communication using a communication standard other than CAN, for example, a communication standard such as Ethernet (registered trademark).
- the communication unit 23 transmits data by outputting the data given by the processing unit 21 as an electric signal to the communication lines 1a and 1b. Further, the communication unit 23 converts the electric signals on the communication lines 1a and 1b into digital data by sampling and acquiring the potentials of the communication lines 1a and 1b, and gives the converted data to the processing unit 21 as reception data. ..
- the GW 2 reads and executes the program 22a stored in the storage unit 22, so that the relay processing unit 21a, the defect detection unit 21b, the replacement search unit 21c, the replacement instruction unit 21d, etc. Is realized in the processing unit 21 as a software-like functional unit.
- the relay processing unit 11a performs a process of relaying data between the communication lines 1a and 1b by transmitting the data received by one of the two communication units 23 from the other communication unit 23.
- the defect detection unit 21b performs a process of detecting a defect related to the application included in the ECUs 4A to 4D by monitoring the data transmitted by each of the ECUs 4A to 4D.
- the defect detection unit 21b stores the ID and transmission cycle of the data periodically transmitted by each application of each ECU 4A to 4D, and whether or not the data transmission cycle by each application is a defined transmission cycle. Judge whether there is a defect based on.
- the defect detection unit 21b stores an appropriate range of information such as a sensor detection value or an actuator control value included in the data transmitted by each application of each ECU 4A to 4D, and stores the appropriate range of information in the data transmitted by each application. The presence or absence of a defect is determined based on whether or not the contained information is within the appropriate range.
- the method for detecting a defect in the application by the defect detection unit 21b is not limited to the above, and any method may be adopted.
- the replacement search unit 21c performs a process of searching for an application that can be replaced with respect to the application in which the defect is detected by the defect detection unit 21b.
- the replacement search unit 21c searches for the presence or absence of an application that can be replaced by the application in which the defect is detected, and the ECUs 4A to 4D having the replaceable application. ..
- the replacement instruction unit 21d performs a process of giving an instruction to replace the application in which a defect is detected with a replaceable application based on the search result of the replacement search unit 21c.
- the replacement instruction unit 21d gives an instruction to the ECUs 4A to 4D having the replaceable application to transmit the replaceable application to the ECUs 4A to 4D in which the defect of the application is detected.
- the replaceable application is transmitted to the defective ECUs 4A to 4D, and the received ECUs 4A to 4D can replace the defective application with the received application.
- FIG. 4 is a block diagram showing the configuration of the ECU 4 according to the present embodiment.
- the ECU 4 includes a processing unit (processor) 41, a storage unit (storage) 42, a communication unit (transceiver) 43, and the like.
- the processing unit 41 is configured by using an arithmetic processing unit such as a CPU or an MPU.
- the processing unit 41 can perform various processes by reading and executing the program stored in the storage unit 42.
- the processing unit 41 reads and executes the program 42a and the application 42b stored in the storage unit 42, thereby performing various control processing related to the running of the vehicle 1 and replacement processing of the application in which a problem occurs. Is processed.
- the storage unit 42 is configured by using a non-volatile memory element such as a flash memory or EEPROM.
- the storage unit 42 stores various programs executed by the processing unit 41 and various data required for processing by the processing unit 41.
- the storage unit 42 stores the program 42a and the application 42b executed by the processing unit 41 and the parameter 42c necessary for executing the application 42b.
- the program 42a is a computer program that performs processing at a lower level than the application program, such as an operating system or firmware.
- the program 42a provides an execution environment for the application 42b by interposing between the hardware of the ECU 4 and the application 42b and performing processing such as communication with another ECU 4 for example.
- the application 42b is an application program that performs processing such as running control of the vehicle 1 or provision of services to the occupants of the vehicle 1, and is a computer program that performs processing at a higher level than the program 42a.
- one application 42b is stored in the storage unit 42, but a plurality of types of applications 42b may be stored in the storage unit 42 of the ECU 4.
- Parameter 42c is the data used in the execution of the application 42b.
- information such as the mounting position of the camera or the shooting direction of the camera in the vehicle 1 is stored as the parameter 42c.
- the parameter 42c is determined at the design stage, the manufacturing stage, or the like of the vehicle 1 or the ECU 4, and is stored in the storage unit 42 in advance.
- the program 42a, the application 42b, and the parameter 42c may be written in the storage unit 42, for example, at the manufacturing stage of the ECU 4, or may be acquired by the ECU 4 by communication, for example, as being delivered by a remote server device or the like. Further, for example, the ECU 4 may read out the program 42a, the application 42b and the parameter 42c recorded on a recording medium such as a memory card or an optical disk and store them in the storage unit 42. May read and write to the storage unit 42 of the ECU 4.
- the program 42a, the application 42b, and the parameter 42c may be provided in a mode of distribution via a network, or may be provided in a mode recorded on a recording medium.
- the communication unit 43 is connected to the communication lines 1a or 1b and communicates with the GW 2 and other ECU 4 via the communication lines 1a and 1b.
- the communication unit 43 transmits / receives data according to, for example, a CAN communication standard.
- the communication unit 43 can be configured by using, for example, an IC of a CAN controller.
- the communication standard used by the communication unit 43 is not limited to CAN, and the communication unit 43 may perform communication using a communication standard other than CAN, for example, a communication standard such as Ethernet.
- the communication unit 43 transmits data by outputting the data given by the processing unit 41 as an electric signal to the communication lines 1a and 1b. Further, the communication unit 43 converts the electric signals on the communication lines 1a and 1b into digital data by sampling and acquiring the potentials of the communication lines 1a and 1b, and gives the converted data to the processing unit 41 as reception data. ..
- the ECU 4 reads and executes the program 42a stored in the storage unit 42 by the processing unit 41, so that the application execution unit 41a, the application transmission unit 41b, the application reception unit 41c, and the parameter adjustment unit 41d
- the operation confirmation unit 41e, the mode switching unit 41f, and the like are realized in the processing unit 41 as software-like functional units.
- the application execution unit 41a performs a process related to the execution of the application 42b stored in the storage unit 42.
- the application execution unit 41a performs, for example, processing such as starting and stopping the application 42b, and managing execution schedules of a plurality of applications 42b.
- the application transmission unit 41b performs a process of transmitting the application 42b stored in the storage unit 42 to another ECU 4 in response to an instruction given from the GW 2.
- the GW 2 gives the ECU 4 a transmission instruction including information such as, for example, the ID or name of the application to be transmitted and the ID of the destination ECU 4.
- the application transmission unit 41b of the ECU 4 reads the designated application 42b from the storage unit 42, divides the application 42b into an appropriate data size, and sequentially transmits the application 42b to the designated ECU 4.
- the application receiving unit 41c performs a process of receiving an application transmitted as a substitute from another ECU 4 when a problem occurs in its own application 42b.
- the application receiving unit 41c receives the divided data of the application 42b transmitted by the other ECU 4 in the communication unit 43, and stores the received data in the free area of the storage unit 42.
- the application receiving unit 41c restores the alternative application to the storage unit 42 by receiving and combining all the divided data.
- the parameter adjusting unit 41d replaces the parameter 42c stored in the storage unit 42 with the parameter of the alternative application. Performs the process of adjusting.
- the operation check unit 41e performs a process of confirming whether or not the substitute application operates correctly by operating the substitute application stored in the storage unit 42 on a trial basis.
- the operation check unit 41e stores, for example, information that combines the expected values of the test input pattern and the output pattern for the alternative application, inputs a predetermined input pattern to the alternative application, and substitutes. Whether or not the alternative application operates correctly is determined depending on whether or not the output pattern output by the application matches the expected value.
- the operation confirmation method performed by the operation confirmation unit 41e is not limited to the above method, and any method may be adopted.
- the mode switching unit 41f performs a process of switching the operation mode of the ECU 4.
- the ECU 4 can switch between a normal operation mode in which normal operation is performed and a degenerate mode in which functions are restricted more than usual.
- the mode switching unit 41f changes the operation mode from the normal operation mode to the degraded mode, for example, when receiving a notification from GW2 that a defect has been detected for its own application 42b, or when detecting a defect by itself. Switch. Further, the mode switching unit 41f has detected that the degenerate mode is switched to the normal operation mode according to an instruction from, for example, a terminal device provided in the dealer of the vehicle 1 or a maintenance shop, or, for example, the problem is solved by itself. Do it in some cases.
- the ECU 4 limits and executes at least a part of the functions of the application 42b in which the defect is detected.
- the defect detection unit 21b of the processing unit 21 of the GW 2 according to the present embodiment detects a defect of the application 42b of the ECU 4 by examining the transmission cycle, the value of the data, etc. of the data received by the communication unit 23. Perform the process (step S1).
- the defect detection unit 21b determines whether or not there is a defect in the application 42b of the ECU 4 by the defect detection process (step S2). If there is no defect (S2: NO), the defect detection unit 21b returns the process to step S1 and continues the defect detection process.
- the processing unit 21 When it is determined that there is a problem in the application 42b of the ECU 4 (S2: YES), the processing unit 21 causes a problem by displaying a message regarding the problem of the application on a display provided near the driver's seat of the vehicle 1, for example. Notify the user. In response to this notification, the user of the vehicle 1 stops the running of the vehicle 1, and the processing unit 21 of the GW 2 that confirms the stop of the vehicle 1 goes to the recovery preparation state for performing the recovery processing of the application 42b of the ECU 4 in which the problem has occurred. The in-vehicle system is migrated (step S3). The processing unit 21 notifies the ECU 4 in which the defect of the application 42b is detected to switch the ECU 4 to the degenerate mode (step S4).
- the replacement search unit 21c of the processing unit 21 refers to the replacement table 22b of the storage unit 42, and searches for the app 42b that can be replaced with respect to the application 42b in which the defect is detected (step S5).
- the replacement search unit 21c determines whether or not there is a replaceable application 42b in the application 42b for which a defect has been detected by the search process (step S6).
- the processing unit 21 cannot perform recovery by replacing the application 42b, so that recovery using a dealer or the like or recovery using communication with a server device outside the vehicle is used.
- the in-vehicle system is shifted to the recovery standby state waiting for the implementation of the above (step S10), and the process is terminated.
- the recovery standby state for example, the ECU 4 in which a defect is detected operates in the degenerate mode or is stopped, and the function of the vehicle 1 is partially restricted.
- the replacement instruction unit 21d of the processing unit 21 stores the ECU 4 by exchanging information with the ECU 4 having the application 42b in which the defect is detected.
- a process for confirming the free space of the unit 42 is performed (step S7).
- the replacement instruction unit 21d determines whether or not the storage unit 42 of the ECU 4 that replaces the application 42b has free space for storing the replacement application 42b (step). S8).
- the processing unit 21 shifts the in-vehicle system to the recovery standby state, which waits for the execution of recovery by a dealer or the like or recovery using communication with a server device outside the vehicle. (Step S10), and the process is terminated.
- the replacement instruction unit 21d has a defect in the application 42b with respect to another ECU 4 having the replaceable application 42b.
- An instruction to transmit to the detected ECU 4 is given (step S9).
- the application 42b is transmitted from the normal ECU 4 to the ECU 4 in which the defect is detected, and the application 42b in which the defect is detected is replaced by the received application 42b in the ECU 4 that has received the application 42b.
- the ECU 4 checks the operation of the received application 42b, replaces it when it is determined by the operation check that it is an appropriate application 42b, and does not replace it when it is determined that it is not an appropriate application 42b.
- the processing unit 21 determines whether or not the replacement is completed by the ECU 4 that has received the application 42b (step S11). When the replacement of the application 42b is not completed (S11: NO), the processing unit 21 returns to step S5 and searches for another application 42b that can be replaced with respect to the application 42b in which the defect is detected.
- the processing unit 21 When the replacement of the application 42b is completed in the ECU 4 (S11: YES), the processing unit 21 has recovered from the problem of the application 42b by displaying a message on a display provided near the driver's seat of the vehicle 1, for example. Is notified to the user, and the in-vehicle system is shifted to the restored state indicating that the defect of the application 42b has been restored (step S12), and the process is terminated.
- the processing unit 21 may shift the ECU 4 from the degenerate mode to the normal operation mode in step S12, but may maintain the degenerate mode.
- the recovery state is a state in which information indicating that the recovery process has been performed by replacing the application 42b in the vehicle 1 is retained, and the running or the like of the vehicle 1 may be the same as the normal state. For example, if it is confirmed that there is no problem due to replacement when an inspection is performed by a dealer or the like after the recovery state is reached, the recovery state is canceled by the operation of a worker such as the dealer, and the in-vehicle system is normally used. Transition to the state of.
- FIG. 7 is a flowchart showing an example of the procedure of the application replacement process performed by the ECU 4 according to the first embodiment.
- the mode switching unit 41f of the processing unit 41 of the ECU 4 according to the first embodiment switches from the normal operation mode to the degraded mode in response to receiving a notification from the GW2 that a defect of the application 42b has been detected (the mode switching unit 41f). Step S21).
- the application receiving unit 41c of the processing unit 41 determines whether or not the replacement application 42b has been received from another ECU 4 by the application 42b in which the defect has been detected (step S22). When the application 42b is not received (S22: NO), the application receiving unit 41c waits until the replacement application 42b is received (step S22).
- the application receiving unit 41c stores the received replacement application 42b in the free area of the storage unit 42 (step S23).
- the parameter adjusting unit 41d of the processing unit 41 adjusts the parameters to be applied to the application 42b that has received the parameter 42c stored in the storage unit 42 (step S24).
- the operation confirmation unit 41e of the processing unit 41 performs an operation using a predetermined test pattern on the replacement application 42b whose parameters have been adjusted, and compares the operation result with the expected value. (Step S25).
- the operation confirmation unit 41e determines whether or not the operation of the replacement application 42b is normal based on the result of the operation confirmation process (step S26).
- the processing unit 41 When the operation of the replacement application 42b is normal (S26: YES), the processing unit 41 excludes the application 42b in which the defect is detected from the execution target, and the replacement application stored in the free area of the storage unit 42. By targeting 42b as an execution target, the application 42b is replaced (step S27). After that, the processing unit 41 notifies the GW2 of the completion of the replacement of the application 42b (step S28), and ends the processing.
- the processing unit 41 erases the replacement application 42b stored in the free area of the storage unit 42 (step S29). After that, the processing unit 41 requests the GW2 to transmit another application 42b for replacement by notifying the GW2 that the replacement of the application 42b has not been completed normally (step S30), and processes to step S22. And wait for the reception of another application 42b.
- FIG. 8 is a flowchart showing an example of the procedure of the application transmission processing performed by the ECU 4 according to the first embodiment.
- the application transmission unit 41b of the processing unit 41 of the ECU 4 according to the first embodiment determines whether or not the transmission instruction of the application 42b has been received from the GW 2 (step S41). When the transmission instruction is not received (S41: NO), the application transmission unit 41b waits until the transmission instruction is received. When the transmission instruction is received (S41: YES), the application transmission unit 41b reads the application 42b specified in the transmission instruction from the storage unit 42 (step S42). The application transmission unit 41b transmits the application 42b read from the storage unit 42 to the ECU 4 designated in the transmission instruction (step S43), and ends the process.
- the GW 2 detects a defect of the application 42b executed by the ECU 4, searches for another ECU 4 having an application 42b that can be substituted for the detected application 42b, and causes the searched other ECU 4 to search. On the other hand, the transmission of the alternative application 42b is instructed.
- the ECU 4 in which the defect of the application 42b is detected receives the application 42b transmitted by another ECU 4 and replaces the defective application 42b with the received application 42b.
- the in-vehicle system can replace the application 42b in which the defect is detected by exchanging the application 42b between the plurality of ECUs 4 existing in the vehicle 1, and recovery from the defect can be expected.
- the ECU 4 replaces the application 42b after confirming the operation of the replacement application 42b received from the other ECU 4. As a result, it can be expected that the occurrence of new problems due to the execution of the received application 42b can be suppressed.
- the ECU 4 performs a parameter adjustment process for applying the parameter 42c stored in its own storage unit 42 to the replacement application 42b received from the other ECU 4.
- the ECU 4 can perform processing suitable for its own device by using the application 42b received from another ECU 4.
- the ECU 4 limits at least a part of the functions of the application 42b in which the defect is detected by switching to the degenerate mode when the defect is detected in the application 42b. As a result, it is possible to prevent a defect that occurs in the application 42b of one ECU 4 from adversely affecting the other ECU 4.
- GW2 In the in-vehicle system according to the second embodiment, processing such as detection of a defect of the application 42b, search for another ECU 4 having the replacement application 42b, and transmission instruction of the replacement application 42b to the other ECU 4 is performed by GW2. Instead, it is a configuration performed by each ECU 4.
- the GW2 according to the second embodiment does not include the defect detection unit 21b, the replacement search unit 21c, and the replacement instruction unit 21d, and does not store the replacement table 22b in the storage unit 22.
- the GW 2 according to the second embodiment performs a communication relay process.
- FIG. 9 is a block diagram showing the configuration of the ECU 4 according to the second embodiment.
- the processing unit 41 executes the program 42a stored in the storage unit 42
- the defect detection unit 41g and the replacement search unit 41h And the replacement instruction unit 41i and the like are provided in the processing unit 41 as software-like functional units.
- the replacement table 42d is stored in the storage unit 42 of the ECU 4 according to the second embodiment.
- the defect detection unit 41g performs a process of detecting a defect related to the application 42b executed by the application execution unit 41a. For example, the defect detection unit 41g monitors the input / output data to the application 42b and determines whether or not there is a defect depending on whether or not the application 42b outputs appropriate data with respect to the input data. Further, for example, the defect detection unit 41g determines the presence or absence of a defect in the data periodically transmitted by the application 42b to the other ECU 4 based on whether or not the transmission cycle is the defined transmission cycle.
- the defect detection unit 41g determines the presence or absence of a defect based on whether or not the information such as the sensor detection value or the actuator control value included in the data transmitted by the application 42b is within an appropriate range.
- the method of detecting the defect of the application 42b by the defect detection unit 41g is not limited to the above, and any method may be adopted.
- the replacement search unit 41h performs a process of searching for another ECU 4 having the app 42b that can be replaced with respect to the application 42b in which the defect is detected by the defect detection unit 41g.
- the replacement search unit 41h determines whether or not there is an application that can be replaced with the application 42b in which the defect is detected, and another ECU 4 having the replaceable application 42b. Explore.
- FIG. 10 is a schematic view showing a configuration example of the replacement table 42d according to the second embodiment.
- the illustrated replacement table 42d is a replacement table 42d stored in the ECU 4A, and corresponds to a replacement table 22b shown in FIG. 3 in which only information about the ECU 4A is extracted.
- the replacement table 42d stored in the storage unit 42 by the ECU 4 according to the second embodiment stores information on the replaceable application and other ECUs having the replaceable application 42b only for the application 42b executed by itself as alternative information. ..
- the replacement instruction unit 41i gives an instruction to transmit the replaceable application 42b to the defect-detected application 42b to the other ECU 4 having the replaceable application 42b based on the search result of the replacement search unit 41h.
- the other ECU 4 reads out the replaceable application 42b stored in the storage unit 42, and transmits the application 42b to the instruction source ECU 4.
- each ECU 4 detects a defect of its own application 42b, searches for another ECU 4 having an application 42b that can be replaced with the application 42b in which the defect is detected, and searches for another ECU 4 Is instructed to send the replacement application 42b.
- the other ECU 4 that has received this instruction transmits its own replaceable application 42b to the supporting ECU 4.
- the ECU 4 that has received the replaceable application 42b adjusts the parameters based on the parameter 42c stored in the storage unit 42, confirms the operation of the received application 42b, and then replaces it with the application 42b in which the defect is detected. Do.
- the GW2 performs processing such as detection of a defect in the application 42b, search for another ECU 4 having the replacement application 42b, and transmission instruction of the replacement application 42b to the other ECU 4.
- each ECU 4 performs the operation. These processes are not performed by either the GW 2 or the ECU 4, but the GW 2 and the ECU 4 may cooperate with each other.
- each ECU 4 performs a process of detecting a defect of the application 42b.
- the GW 2 performs processing such as searching for another ECU 4 having the replacement application 42b and transmitting an instruction for the replacement application 42b to the other ECU 4. Therefore, the ECU 4 according to the modified example does not have to have, for example, a defect detection unit 41g, a replacement search unit 41h, a replacement instruction unit 41i, and a replacement table 42d.
- the GW 2 according to the modified example has, for example, a replacement search unit 21c, a replacement instruction unit 21d, and a replacement table 22b, and does not have to have a defect detection unit 21b.
- each ECU 4 When each ECU 4 according to the modified example detects a defect of the application 42b executed by itself, it switches to the degenerate mode and requests the GW2 to transmit an application 42b that can be replaced with the application 42b that has detected the defect. Upon receiving this request, the GW 2 according to the modified example searches for another ECU 4 having the application 42b that can be replaced with the application 42b in which the defect is detected, and transmits the application 42b to the other ECU 4 found by the search. Instruct. The requesting ECU 4 that has received the application 42b transmitted by the other ECU 4 adjusts the parameters and confirms the operation of the received application 42b, and detects the problem stored in its own storage unit 42. Replace with the application 42b received from another ECU 4.
- the network configuration shown in FIG. 1, the number of ECUs 4A to 4D mounted, the configuration of the replacement table 22b shown in FIG. 3, the processing procedure shown in FIGS. 5 to 8, and FIG. 10 are shown.
- the configuration of the substitution table 42d and the like is an example and is not limited to this.
- Each device in the in-vehicle system includes a computer including a microprocessor, ROM, RAM, and the like.
- An arithmetic processing unit such as a microprocessor reads a computer program including a part or all of each step of a sequence diagram or a flowchart as shown in FIGS. 5 to 8 from a storage unit such as a ROM or a RAM and executes the program. You can.
- the computer programs of these plurality of devices can be installed from an external server device or the like. Further, the computer programs of these plurality of devices are distributed in a state of being stored in a recording medium such as a CD-ROM, a DVD-ROM, or a semiconductor memory, respectively.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mechanical Engineering (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
車載装置のアプリケーションプログラムの不具合からの復旧が期待できる車載システム、中継装置、車載装置及びプログラム置換方法を提供する。 本実施の形態に係る車載システムは、複数の車載装置がネットワークを介して接続された車載システムであって、前記車載装置が実行するプログラムに係る不具合を検出する検出部と、前記検出部が不具合を検出したプログラムに代替可能なプログラムを有する他の車載装置を探索する探索部と、前記探索部が探索した前記他の車載装置に対して前記代替可能なプログラムの送信を指示する指示部とを備え、前記車載装置は、前記指示に応じて前記他の車載装置が送信する前記代替可能なプログラムを受信して、前記不具合が検出されたプログラムを前記代替可能なプログラムで置き換える置換部を有する。
Description
本開示は、不具合が検出されたプログラムを置き換える車載システム、中継装置、車載装置及びプログラム置換方法に関する。
近年、車両の自動運転又は運転補助等の技術が研究開発されており、車両の高機能化が推し進められている。車両の高機能化に伴って、車両に搭載されるECU(Electronic Control Unit)などの情報処理装置においては、様々なアプリケーションプログラムが実行されている。車載の装置においてアプリケーションプログラムに不具合又は故障等が発生した場合、速やかに復旧が行われることが望まれる。
特許文献1においては、車載装置及び携帯可能な端末装置の間の通信に異常が発生した場合に、異常発生前の動作状態に基づいて異常状態からの復旧を行う通信中継装置が提案されている。
車載装置のアプリケーションプログラムに不具合又は故障等が生じた場合、従来は以下の2つの方法でアプリケーションプログラムの復旧が行われていた。第1の方法は、例えば車外のサーバ装置からアプリケーションプログラムをダウンロードすることで、不具合が生じたアプリケーションプログラムを置き換える方法である。第2の方法は、車両のディーラに備えられたツールを用いてアプリケーションプログラムを置き換える方法である。しかしながら、これらの方法は車両の周辺環境等に応じて必ずしも実施できるとは限らず、アプリケーションプログラムの不具合からの復旧を早期に行うことは難しかった。特許文献1に記載の通信中継装置も、この問題を解決することはできない。
本開示は、斯かる事情に鑑みてなされたものであって、その目的とするところは、車載装置のアプリケーションプログラムの不具合からの復旧が期待できる車載システム、中継装置、車載装置及びプログラム置換方法を提供することにある。
本態様に係る車載システムは、複数の車載装置がネットワークを介して接続された車載システムであって、前記車載装置が実行するプログラムに係る不具合を検出する検出部と、前記検出部が不具合を検出したプログラムに代替可能なプログラムを有する他の車載装置を探索する探索部と、前記探索部が探索した前記他の車載装置に対して前記代替可能なプログラムの送信を指示する指示部とを備え、前記車載装置は、前記指示に応じて前記他の車載装置が送信する前記代替可能なプログラムを受信して、前記不具合が検出されたプログラムを前記代替可能なプログラムで置き換える。
本願は、このような特徴的な処理部を備える中継装置又は車載装置等の装置として実現することができるだけでなく、かかる特徴的な処理をステップとするプログラム置換方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。これらの装置の一部又は全部を実現する半導体集積回路として実現したり、これらの装置を含むその他の装置又はシステムとして実現したりすることができる。
上記によれば、車載装置のアプリケーションプログラムの不具合からの復旧が期待できる。
[本開示の実施の形態の説明]
最初に本開示の実施態様を列記して説明する。以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
最初に本開示の実施態様を列記して説明する。以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
(1)本態様に係る車載システムは、複数の車載装置がネットワークを介して接続された車載システムであって、前記車載装置が実行するプログラムに係る不具合を検出する検出部と、前記検出部が不具合を検出したプログラムに代替可能なプログラムを有する他の車載装置を探索する探索部と、前記探索部が探索した前記他の車載装置に対して前記代替可能なプログラムの送信を指示する指示部とを備え、前記車載装置は、前記指示に応じて前記他の車載装置が送信する前記代替可能なプログラムを受信して、前記不具合が検出されたプログラムを前記代替可能なプログラムで置き換える。
本態様にあっては、車載装置が実行するプログラムに係る不具合を検出し、不具合を検出したプログラムに代替可能なプログラムを有する他の車載装置を探索して、探索した他の装置に代替可能なプログラムの送信を指示する。プログラムの不具合が検出された車載装置は、他の車載装置が送信した代替可能なプログラムを受信して、不具合のあるプログラムを受信したプログラムに置き換える。これにより車載システムは、車両内に存在する複数の車載装置の間でプログラムの授受を行うことで、不具合のあるプログラムを置き換えることができ、不具合からの復旧が期待できる。
(2)前記車載装置は、受信した前記代替可能なプログラムの動作を確認する動作確認部を有し、前記車載装置は、前記動作確認部により正常な動作が確認された場合に、プログラムの置き換えを行うことが好ましい。
本態様にあっては、代替可能なプログラムを受信した車載装置は、受信したプログラムの動作を確認した後で置き換えを行う。これにより、受信したプログラムを実行することによる新たな不具合の発生等を抑制することが期待できる。
(3)前記車載装置は、受信した前記代替可能なプログラムが使用するパラメータを調整する調整部を有し、前記動作確認部は、前記調整部が調整したパラメータにて前記代替可能なプログラムの動作を確認することが好ましい。
本態様にあっては、代替可能なプログラムを受信した車載装置は、受信したプログラムが使用するパラメータの調整を行う。これにより、代替可能なプログラムを用いて自装置に適した処理を行わせることが可能となる。
(4)不具合が検出されたプログラムを有する前記車載装置は、前記プログラムの機能の一部を制限することが好ましい。
本態様にあっては、プログラムに不具合が検出された車載装置は、このプログラムの機能の一部を制限して実行する。これにより、一の車載装置にてプログラムに生じた不具合が他の車載装置へ悪影響を及ぼすことを抑制できる。
(5)複数の車載装置間の通信を中継する中継装置を備え、前記中継装置は、前記検出部、前記探索部及び前記指示部を有することが好ましい。
本態様にあっては、プログラムの不具合の検出、代替可能なプログラムを有する車載装置の探索及びこの車載装置に対する代替可能なプログラムの送信指示等の処理を、複数の車載装置の間の通信を中継する中継装置が行う。これにより、上記の処理を各車載装置が行う必要がないため、車載装置の処理負荷等を低減することができる。
(6)前記車載装置は、前記検出部、前記探索部及び前記指示部を有することが好ましい。
本態様にあっては、プログラムの不具合の検出、代替可能なプログラムを有する車載装置の探索及びこの車載装置に対する代替可能なプログラムの送信指示等の処理を、各車載装置がそれぞれ行う。これにより、自身のプログラムの不具合を各車載装置が精度よく検出することができると共に、これらの処理の負荷が中継装置等の1つの装置に集中することを避けることができる。
(7)本態様に係る中継装置は、複数の車載装置の間の通信を中継する中継装置であって、処理部を備え、前記処理部は、前記車載装置が実行するプログラムに係る不具合を検出し、不具合が検出されたプログラムに代替可能なプログラムを有する他の車載装置を探索し、探索した前記他の車載装置に対して前記代替可能なプログラムの送信を指示する。
本態様にあっては、態様(1)と同様に、不具合のあるプログラムを置き換えることができ、不具合からの復旧が期待できる。
(8)本態様に係る車載装置は、ネットワークを介して他の車載装置に接続された車載装置であって、処理部を備え、前記処理部は、実行するプログラムに係る不具合を検出し、不具合が検出されたプログラムに代替可能なプログラムを有する他の車載装置を探索し、探索した前記他の車載装置に対して前記代替可能なプログラムの送信を指示し、前記指示に応じて前記他の車載装置が送信する前記代替可能なプログラムを受信して、前記不具合が検出されたプログラムを前記代替可能なプログラムで置き換える。
本態様にあっては、態様(1)と同様に、不具合のあるプログラムを置き換えることができ、不具合からの復旧が期待できる。
(8)本態様に係るプログラム置換方法は、車載装置が実行するプログラムに係る不具合を検出し、不具合が検出されたプログラムに代替可能なプログラムを有する他の車載装置を探索し、探索した前記他の車載装置に対して前記代替可能なプログラムの送信を指示し、前記車載装置が、前記指示に応じて前記他の車載装置が送信する前記代替可能なプログラムを受信して、前記不具合が検出されたプログラムを前記代替可能なプログラムで置き換える。
本態様にあっては、態様(1)と同様に、不具合のあるプログラムを置き換えることができ、不具合からの復旧が期待できる。
[本開示の実施形態の詳細]
本開示の実施形態に係る車載システムの具体例を、以下に図面を参照しつつ説明する。本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
本開示の実施形態に係る車載システムの具体例を、以下に図面を参照しつつ説明する。本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
<システム概要>
図1は、本実施の形態に係る車載システムの概要を説明するための模式図である。本実施の形態に係る車載システムは、車両1に搭載されたGW(ゲートウェイ)2及び複数のECU4A~4Dが通信線1a,1bを介して通信を行うシステムである。図示の例では、車両1にバス型の2つの通信線1a,1bが設けられている。第1の通信線1aには、GW2及び2つのECU4A,4Bが接続されている。第2の通信線1bには、GW2及び2つのECU4C,4Dが接続されている。GW2は、2つの通信線1a,1bが共に接続され、この2つの通信線1a,1b間の通信を中継する処理を行う。これにより4つのECU4A~4Cは、通信線1a,1b及びGW2を介して通信を行うことができる。
図1は、本実施の形態に係る車載システムの概要を説明するための模式図である。本実施の形態に係る車載システムは、車両1に搭載されたGW(ゲートウェイ)2及び複数のECU4A~4Dが通信線1a,1bを介して通信を行うシステムである。図示の例では、車両1にバス型の2つの通信線1a,1bが設けられている。第1の通信線1aには、GW2及び2つのECU4A,4Bが接続されている。第2の通信線1bには、GW2及び2つのECU4C,4Dが接続されている。GW2は、2つの通信線1a,1bが共に接続され、この2つの通信線1a,1b間の通信を中継する処理を行う。これにより4つのECU4A~4Cは、通信線1a,1b及びGW2を介して通信を行うことができる。
本実施の形態に係るECU4A~4Dは、それぞれフラッシュメモリ等に記憶されたアプリ(アプリケーションプログラム)をCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等のプロセッサが実行することにより、車両1の走行制御等の種々の処理を行っている。図示の例では、ECU4Bはアプリ101を実行し、ECU4Cはアプリ102を実行する。ECU4A及び4Dが実行するアプリについては、図示を省略する。
ここで、ECU4Bのアプリ101に、何らかの不具合が発生したとする。不具合は、例えばプログラムコードの破損又は不正な書き換え等により引き起こされ得る。本実施の形態に係る車載システムでは、各ECU4A~4Dが実行するアプリに関する不具合の検出が行われる。ECU4Bのアプリ101に不具合が検出された場合、本実施の形態に係る車載システムでは、このアプリ101について代替可能な他のアプリ102及びこのアプリを有する他のECU4Cが探索される。ECU4Cは、アプリ102をECU4Bへ送信する。ECU4Bは、ECU4Cから送信されるアプリ102を受信して、自身のアプリ101と置き換える。以後、ECU4Bが置き換えたアプリ102を実行することによって、車載システムの復旧がなされる。
例えば、車外を撮影するためのカメラが車両1に複数搭載されている場合、各カメラを制御するECUはカメラ制御のためのアプリを備える。これらの各ECUが備えるカメラ制御のアプリは、同じアプリ又は類似のアプリが用いられることが多く、いずれかのECUにてカメラ制御のアプリに不具合が発生した場合に、他のECUのアプリで置き換えることで不具合を解消することが期待できる。また例えば、車両周辺の障害物を検知するためのセンサが車両1に複数搭載されている場合も同様に、アプリの置き換えで不具合を解消することが期待できる。なおアプリの置き換えは、カメラ及びセンサ等を制御するECU間に限らない。車両1には、同じ又は類似の構成をなす装置が複数箇所に搭載されていることがあり、これらの装置間でアプリの置き換えが行われ得る。
本実施の形態に係る車載システムにおいて、アプリの不具合の検出及び代替可能なアプリの探索等の処理をいずれの装置が行うかについて、いくつかの構成が採用され得る。以下、実施の形態1においてはこれらの処理をGW2が行う構成について説明し、実施の形態2においてはこれらの処理を各ECU4A~4Dが行う構成について説明する。
<実施の形態1>
図2は、実施の形態1に係るGW2の構成を示すブロック図である。本実施の形態に係るGW2は、処理部(プロセッサ)21、記憶部(ストレージ)22、及び、2つの通信部(トランシーバ)23等を備えて構成されている。処理部21は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成されている。処理部21は、記憶部22に記憶されたプログラムを読み出して実行することにより、種々の処理を行うことができる。本実施の形態において処理部21は、記憶部22に記憶されたプログラム22aを読み出して実行することにより、通信線1a,1bの間のメッセージを中継する処理及び不具合が生じたECU4A~4Dのプログラムを置き換える処理等の種々の処理を行う。
図2は、実施の形態1に係るGW2の構成を示すブロック図である。本実施の形態に係るGW2は、処理部(プロセッサ)21、記憶部(ストレージ)22、及び、2つの通信部(トランシーバ)23等を備えて構成されている。処理部21は、例えばCPU(Central Processing Unit)又はMPU(Micro-Processing Unit)等の演算処理装置を用いて構成されている。処理部21は、記憶部22に記憶されたプログラムを読み出して実行することにより、種々の処理を行うことができる。本実施の形態において処理部21は、記憶部22に記憶されたプログラム22aを読み出して実行することにより、通信線1a,1bの間のメッセージを中継する処理及び不具合が生じたECU4A~4Dのプログラムを置き換える処理等の種々の処理を行う。
記憶部22は、例えばフラッシュメモリ又はEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子を用いて構成されている。記憶部22は、処理部21が実行する各種のプログラム、及び、処理部21の処理に必要な各種のデータを記憶する。本実施の形態において記憶部22は、処理部21が実行するプログラム22aと、不具合が生じたプログラムを置き換えることができるプログラム及びこれを有するECU4A~4Dを探索するための置換テーブル22bとを記憶している。
なおプログラム22aは、例えばGW2の製造段階において記憶部22に書き込まれてもよく、また例えば遠隔のサーバ装置などが配信するものをGW2が通信にて取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体99に記録されたプログラムをGW2が読み出して記憶部22に記憶してもよく、また例えば記録媒体99に記録されたものを書込装置が読み出してGW2の記憶部22に書き込んでもよい。プログラム22aは、ネットワークを介した配信の態様で提供されてもよく、記録媒体99に記録された態様で提供されてもよい。
図3は、置換テーブル22bの一構成例を示す模式図である。本実施の形態に係る置換テーブル22bには、例えばECU4A~4D及びこれが備えるアプリに関する情報と、このアプリに不具合が生じた場合に代替可能なアプリ及びこれを備えるECU4A~4Dに関する情報とが対応付けて記憶されている。図示の例では、例えばECU4AはアプリA1及びA2を備えている。ECU4AのアプリA1は、ECU4Bが備えるアプリB1及びECU4Cが備えるアプリC1と代替可能である。ECU4AのアプリA2は、ECU4DのアプリD1と代替可能である。また例えばECU4Bは、アプリB1を備えている。ECU4BのアプリB1は、ECU4AのアプリA1及びECU4CのアプリC1と代替可能である。本実施の形態において置換テーブル22bは、車両1及び車載システムの設計段階又は製造段階等において予め記憶部22に記憶される。また製造後にECU4A~4Dのアプリの更新又は変更等が行われた場合には、置換テーブル22bの情報が更新される。置換テーブル22bの更新は、例えばGW2が行ってもよく、また例えば外部の装置が送信する情報を受信することで行われてもよく、また例えば人手により情報の書換が行われてもよい。
2つの通信部23は、通信線1a又は1bが接続され、通信線1a,1bを介したECU4A~4Dとの通信を行う。本実施の形態において通信部23は、例えばCAN(Controller Area Network)の通信規格に従うデータの送受信を行う。通信部23は、例えばCANコントローラのICを用いて構成され得る。ただし通信部23が用いる通信規格はCANに限らず、通信部23はCAN以外の通信規格、例えばイーサネット(登録商標)等の通信規格を用いて通信を行ってもよい。通信部23は、処理部21から与えられたデータを電気信号として通信線1a,1bへ出力することによりデータ送信を行う。また通信部23は、通信線1a,1bの電位をサンプリングして取得することにより、通信線1a,1b上の電気信号をデジタルデータに変換し、変換したデータを受信データとして処理部21へ与える。
また本実施の形態にGW2は、記憶部22に記憶されたプログラム22aを処理部21が読み出して実行することにより、中継処理部21a、不具合検出部21b、置換探索部21c及び置換指示部21d等が処理部21にソフトウェア的な機能部として実現される。中継処理部11aは、2つの通信部23の一方にて受信したデータを、他方の通信部23から送信することで、通信線1a,1bの間でデータを中継する処理を行う。
不具合検出部21bは、各ECU4A~4Dが送信するデータを監視することによって、ECU4A~4Dが備えるアプリに関する不具合を検出する処理を行う。例えば不具合検出部21bは、各ECU4A~4Dの各アプリが周期的に送信するデータのID及び送信周期を記憶しておき、各アプリによるデータ送信の周期が定められた送信周期であるか否かに基づいて不具合の有無を判断する。また例えば不具合検出部21bは、各ECU4A~4Dの各アプリが送信するデータに含まれるセンサの検出値又はアクチュエータの制御値等の情報の適正範囲を記憶しておき、各アプリが送信したデータに含まれる情報が適正範囲内であるか否かに基づいて不具合の有無を判断する。不具合検出部21bによるアプリの不具合の検出方法は、上記のものに限らず、どのような方法が採用されてもよい。
置換探索部21cは、不具合検出部21bにて不具合が検出されたアプリについて、置き換えることが可能なアプリを探索する処理を行う。置換探索部21cは、記憶部22に記憶された置換テーブル22bを参照することによって、不具合が検出されたアプリに置換可能なアプリの有無、及び、置換可能なアプリを有するECU4A~4Dを探索する。
置換指示部21dは、置換探索部21cの探索結果に基づき、不具合が検出されたアプリを、置換可能なアプリで置換する指示を与える処理を行う。置換指示部21dは、置換可能なアプリを有するECU4A~4Dに対して、アプリの不具合が検出されたECU4A~4Dに置換可能なアプリを送信する指示を与える。これにより置換可能なアプリが不具合を有するECU4A~4Dに対して送信され、これを受信したECU4A~4Dは不具合が検出されたアプリを受信したアプリで置き換えることができる。
図4は、本実施の形態に係るECU4の構成を示すブロック図である。なお以下においては、車載システムが備える複数のECUについて、これらを区別する必要がある場合にはECU4A~4Dのように個別の符号を付し、これらに共通の機能の場合にはECU4の符号を付して説明を行う。本実施の形態に係るECU4は、処理部(プロセッサ)41、記憶部(ストレージ)42及び通信部(トランシーバ)43等を備えて構成されている。処理部41は、例えばCPU又はMPU等の演算処理装置を用いて構成されている。処理部41は、記憶部42に記憶されたプログラムを読み出して実行することにより、種々の処理を行うことができる。本実施の形態において処理部41は、記憶部42に記憶されたプログラム42a及びアプリ42bを読み出して実行することにより、車両1の走行に係る制御処理及び不具合が生じたアプリの置換処理等の種々の処理を行う。
記憶部42は、例えばフラッシュメモリ又はEEPROM等の不揮発性のメモリ素子を用いて構成されている。記憶部42は、処理部41が実行する各種のプログラム、及び、処理部41の処理に必要な各種のデータを記憶する。本実施の形態において記憶部42は、処理部41が実行するプログラム42a及びアプリ42bと、アプリ42bの実行に必要なパラメータ42cとを記憶している。
本実施の形態においてプログラム42aは、例えばオペレーティングシステム又はファームウェア等のように、アプリケーションプログラムよりも下位レベルでの処理を行うコンピュータプログラムである。プログラム42aは、ECU4のハードウェアとアプリ42bとの間に介在し、例えば他のECU4との通信等の処理を行うことによって、アプリ42bの実行環境を提供する。
アプリ42bは、車両1の走行制御又は車両1の乗員へのサービス提供等の処理を行うアプリケーションプログラムであり、プログラム42aよりも上位レベルでの処理を行うコンピュータプログラムである。図示の例では記憶部42にアプリ42bが1つ記憶されているが、ECU4の記憶部42には複数種類のアプリ42bが記憶されてよい。
パラメータ42cは、アプリ42bの実行において用いられるデータである。例えば車両1のカメラを制御するアプリ42bの場合、この車両1におけるカメラの搭載位置又はカメラの撮影方向等の情報がパラメータ42cとして記憶される。パラメータ42cは、車両1又はECU4の設計段階又は製造段階等において決定され、予め記憶部42に記憶される。
なおプログラム42a、アプリ42b及びパラメータ42cは、例えばECU4の製造段階において記憶部42に書き込まれてもよく、また例えば遠隔のサーバ装置などが配信するものをECU4が通信にて取得してもよく、また例えばメモリカード又は光ディスク等の記録媒体に記録されたプログラム42a、アプリ42b及びパラメータ42cをECU4が読み出して記憶部42に記憶してもよく、また例えば記録媒体に記録されたものを書込装置が読み出してECU4の記憶部42に書き込んでもよい。プログラム42a、アプリ42b及びパラメータ42cは、ネットワークを介した配信の態様で提供されてもよく、記録媒体に記録された態様で提供されてもよい。
通信部43は、通信線1a又は1bが接続され、通信線1a,1bを介してGW2及び他のECU4との通信を行う。本実施の形態において通信部43は、例えばCANの通信規格に従うデータの送受信を行う。通信部43は、例えばCANコントローラのICを用いて構成され得る。ただし通信部43が用いる通信規格はCANに限らず、通信部43はCAN以外の通信規格、例えばイーサネット等の通信規格を用いて通信を行ってもよい。通信部43は、処理部41から与えられたデータを電気信号として通信線1a,1bへ出力することによりデータ送信を行う。また通信部43は、通信線1a,1bの電位をサンプリングして取得することにより、通信線1a,1b上の電気信号をデジタルデータに変換し、変換したデータを受信データとして処理部41へ与える。
また本実施の形態にECU4は、記憶部42に記憶されたプログラム42aを処理部41が読み出して実行することにより、アプリ実行部41a、アプリ送信部41b、アプリ受信部41c、パラメータ調整部41d、動作確認部41e及びモード切替部41f等が処理部41にソフトウェア的な機能部として実現される。アプリ実行部41aは、記憶部42に記憶したアプリ42bの実行に係る処理を行う。アプリ実行部41aは、例えばアプリ42bの起動及び停止等の処理、並びに、複数のアプリ42bの実行スケジュールの管理等を行う。
アプリ送信部41bは、GW2から与えられる指示に応じて、記憶部42に記憶したアプリ42bを他のECU4へ送信する処理を行う。GW2は、例えば送信対象のアプリのID又は名称等、及び、送信先のECU4のID等の情報を含む送信指示をECU4へ与える。この指示を受信したECU4のアプリ送信部41bは、指定されたアプリ42bを記憶部42から読み出し、アプリ42bを適宜のデータサイズに分割して、指定されたECU4に対して順次送信する。
アプリ受信部41cは、自身のアプリ42bに不具合が生じた場合に、他のECU4から代替用として送信されたアプリを受信する処理を行う。アプリ受信部41cは、他のECU4が送信したアプリ42bの分割データを通信部43にて受信し、受信したデータを記憶部42の空き領域に記憶する。アプリ受信部41cは、分割された全データを受信して結合することにより、記憶部42に代替用のアプリを復元する。
パラメータ調整部41dは、アプリ受信部41cが受信した代替用のアプリにパラメータが付随している場合、記憶部42に記憶した自らのパラメータ42cとの置き換えを行うことにより、代替用のアプリのパラメータを調整する処理を行う。
動作確認部41eは、記憶部42に記憶した代替用のアプリを試験的に動作させることによって、代替用のアプリが正しく動作するか否かを確認する処理を行う。動作確認部41eは、例えば代替用のアプリに対する試験用の入力パターン及び出力パターンの期待値等を組み合わせた情報を記憶しており、代替用のアプリに所定の入力パターンを入力し、代替用のアプリが出力する出力パターンが期待値と一致するか否かに応じて、代替用のアプリが正しく動作するか否かを判断する。なお動作確認部41eが行う動作確認の方法は、上記の方法に限らず、どのような方法が採用されてもよい。
モード切替部41fは、ECU4の動作モードを切り替える処理を行う。本実施の形態においてECU4は、通常の動作を行う通常動作モードと、通常よりも機能を制限した縮退モードとを切り替えることが可能である。モード切替部41fは、例えばGW2から自身のアプリ42bについて不具合が検出された旨の通知を受信した場合、及び、自身で不具合を検出した場合等に、動作モードを通常動作モードから縮退モードへと切り替える。またモード切替部41fは、縮退モードから通常動作モードへの切り替えを、例えば車両1のディーラ又は整備工場等に備えられた端末装置からの指示に応じて、また例えば自身で不具合の解消を検出した場合等に行う。本実施の形態において縮退モードでは、ECU4は不具合が検出されたアプリ42bの機能の少なくとも一部を制限して実行する。
図5及び図6は、本実施の形態に係るGW2が行う処理の手順の一例を示すフローチャートである。本実施の形態に係るGW2の処理部21の不具合検出部21bは、通信部23にて受信したデータについて、送信周期及びデータの値等を調べることにより、ECU4のアプリ42bについての不具合を検出する処理を行う(ステップS1)。不具合検出部21bは、不具合検出処理によりECU4のアプリ42bに不具合があるか否かを判定する(ステップS2)。不具合がない場合(S2:NO)、不具合検出部21bは、ステップS1へ処理を戻し、不具合検出処理を継続して行う。
ECU4のアプリ42bに不具合があると判定した場合(S2:YES)、処理部21は、例えば車両1の運転席近傍に設けられたディスプレイにアプリの不具合に関するメッセージを表示することによって、不具合の発生をユーザに通知する。この通知に応じて車両1のユーザは車両1の走行を停止し、車両1の停止を確認したGW2の処理部21は、不具合が発生したECU4のアプリ42bの復旧処理を行う復旧準備状態へ、車載システムを移行させる(ステップS3)。処理部21は、アプリ42bの不具合が検出されたECU4に対して通知を行うことにより、ECU4を縮退モードに切り替えさせる(ステップS4)。
処理部21の置換探索部21cは、記憶部42の置換テーブル22bを参照して、不具合が検出されたアプリ42bについて置換可能なアプリ42bの探索処理を行う(ステップS5)。置換探索部21cは、探索処理により不具合が検出されたアプリ42bに置換可能なアプリ42bが存在するか否かを判定する(ステップS6)。置換可能なアプリ42bが存在しない場合(S6:NO)、処理部21は、アプリ42bの置き換えによる復旧を行うことができないため、ディーラ等での復旧又は車外のサーバ装置との通信を利用した復旧等の実施を待機する復旧待機状態へ、車載システムを移行させ(ステップS10)、処理を終了する。復旧待機状態においては、例えば不具合が検出されたECU4は縮退モードで動作するか又は動作が停止され、車両1の機能が一部制限された状態となる。
置換可能なアプリ42bが存在する場合(S6:YES)、処理部21の置換指示部21dは、不具合が検出されたアプリ42bを有するECU4との間で情報交換を行うことにより、このECU4の記憶部42の空き容量を確認する処理を行う(ステップS7)。置換指示部21dは、空き容量の確認処理の結果に基づいて、アプリ42bの置き換えを行うECU4の記憶部42に、置き換え用のアプリ42bを記憶する空き容量があるか否かを判定する(ステップS8)。十分な空き容量がない場合(S8:NO)、処理部21は、ディーラ等での復旧又は車外のサーバ装置との通信を利用した復旧等の実施を待機する復旧待機状態へ、車載システムを移行させ(ステップS10)、処理を終了する。
不具合が検出されたECU4の記憶部42に十分な空き容量がある場合(S8:YES)、置換指示部21dは、置換可能なアプリ42bを有する別のECU4に対して、このアプリ42bを不具合が検出されたECU4へ送信する指示を与える(ステップS9)。これにより、正常なECU4から不具合が検出されたECU4へアプリ42bの送信が行われ、アプリ42bを受信したECU4にて不具合が検出されたアプリ42bを受信したアプリ42bで置き換える処理が行われる。ただしECU4では受信したアプリ42bの動作確認が行われ、動作確認により適性なアプリ42bと判断された場合に置き換えが行われ、適正なアプリ42bではないと判断された場合には置き換えが行われない。処理部21は、アプリ42bを受信したECU4にて置き換えが完了したか否かを判定する(ステップS11)。アプリ42bの置き換えが完了しなかった場合(S11:NO)、処理部21は、ステップS5へ処理を戻し、不具合が検出されたアプリ42bに対して置き換え可能な別のアプリ42bを探索する。
ECU4にてアプリ42bの置き換えが完了した場合(S11:YES)、処理部21は、例えば車両1の運転席近傍に設けられたディスプレイにメッセージを表示することによって、アプリ42bの不具合が復旧したことをユーザへ通知すると共に、アプリ42bの不具合を復旧した状態であることを示す復旧状態へ車載システムを移行させ(ステップS12)、処理を終了する。なお処理部21は、ステップS12においてECU4を縮退モードから通常動作モードへ移行させてもよいが、縮退モードを維持させてもよい。復旧状態は、車両1にてアプリ42bの置き換えによる復旧処理がなされたことを示す情報を保持した状態であり、車両1の走行等に関しては通常の状態と同じであってよい。例えば、復旧状態となって以降に、ディーラ等で検査が行われた際に置き換えによる不具合がないことが確認された場合、ディーラ等の作業者の操作によって復旧状態が解除され、車載システムは通常の状態へ移行する。
図7は、実施の形態1に係るECU4が行うアプリ置換処理の手順の一例を示すフローチャートである。実施の形態1に係るECU4の処理部41のモード切替部41fは、GW2からアプリ42bの不具合が検出された旨の通知を受信することに応じて通常動作モードから縮退モードへの切り替えを行う(ステップS21)。処理部41のアプリ受信部41cは、不具合が検出されたアプリ42bに置き換え用のアプリ42bを他のECU4から受信したか否かを判定する(ステップS22)。アプリ42bを受信していない場合(S22:NO)、アプリ受信部41cは、置き換え用のアプリ42bを受信するまで待機する(ステップS22)。
置き換え用のアプリ42bを受信した場合(S22:YES)、アプリ受信部41cは、受信した置き換え用のアプリ42bを記憶部42の空き領域に記憶する(ステップS23)。処理部41のパラメータ調整部41dは、記憶部42に記憶されたパラメータ42cを受信したアプリ42bに適用するパラメータ調整を行う(ステップS24)。次いで処理部41の動作確認部41eは、パラメータの調整がなされた置き換え用のアプリ42bに対して、所定のテストパターンを用いた動作を行い、その動作結果と期待値とを比較する動作確認処理を行う(ステップS25)。動作確認部41eは、動作確認処理の結果に基づいて、置き換え用のアプリ42bの動作が正常であるか否かを判定する(ステップS26)。
置き換え用のアプリ42bの動作が正常である場合(S26:YES)、処理部41は、不具合が検出されたアプリ42bを実行対象から外し、記憶部42の空き領域に記憶された置き換え用のアプリ42bを実行対象とすることによって、アプリ42bの置き換えを行う(ステップS27)。その後、処理部41は、アプリ42bの置き換えの完了をGW2へ通知し(ステップS28)、処理を終了する。
置き換え用のアプリ42bの動作が正常でない場合(S26:NO)、処理部41は、記憶部42の空き領域に記憶した置き換え用のアプリ42bを消去する(ステップS29)。その後、処理部41は、アプリ42bの置き換えが正常に完了しなかったことをGW2へ通知することにより、置き換え用の別のアプリ42bの送信をGW2へ要求し(ステップS30)、ステップS22へ処理を戻し、別のアプリ42bの受信を待機する。
図8は、実施の形態1に係るECU4が行うアプリ送信処理の手順の一例を示すフローチャートである。実施の形態1に係るECU4の処理部41のアプリ送信部41bは、GW2からアプリ42bの送信指示を受信したか否かを判定する(ステップS41)。送信指示を受信していない場合(S41:NO)、アプリ送信部41bは、送信指示を受信するまで待機する。送信指示を受信した場合(S41:YES)、アプリ送信部41bは、送信指示において指定されたアプリ42bを記憶部42から読み出す(ステップS42)。アプリ送信部41bは、送信指示において指定されたECU4へ記憶部42から読み出したアプリ42bを送信し(ステップS43)、処理を終了する。
以上の構成の実施の形態1に係るGW2は、ECU4が実行するアプリ42bの不具合を検出し、検出したアプリ42bに代替可能なアプリ42bを有する他のECU4を探索し、探索した他のECU4に対して代替用のアプリ42bの送信を指示する。アプリ42bの不具合が検出されたECU4は、他のECU4が送信したアプリ42bを受信して、不具合のあるアプリ42bを受信したアプリ42bに置き換える。これにより車載システムは、車両1内に存在する複数のECU4の間でアプリ42bの授受を行うことで、不具合が検出されたアプリ42bを置き換えることができ、不具合からの復旧が期待できる。
また実施の形態1に係るECU4は、他のECU4から受信した置き換え用のアプリ42bの動作を確認した後で、アプリ42bの置き換えを行う。これにより受信したアプリ42bを実行することによる新たな不具合の発生等を抑制することが期待できる。
また実施の形態1に係るECU4は、他のECU4から受信した置き換え用のアプリ42bに対して、自身の記憶部42に記憶されたパラメータ42cを適用するパラメータ調整処理を行う。これによりECU4は、他のECU4から受信したアプリ42bを用いて、自装置に適した処理を行わせることができる。
また実施の形態1に係るECU4は、アプリ42bに不具合が検出された場合に縮退モードへの切り替えを行うことによって、不具合が検出されたアプリ42bの機能の少なくとも一部を制限する。これにより、一のECU4のアプリ42bにて生じた不具合が、他のECU4へ悪影響を及ぼすことを抑制できる。
<実施の形態2>
実施の形態2に係る車載システムでは、アプリ42bの不具合の検出、置き換え用のアプリ42bを有する他のECU4の探索、及び、他のECU4に対する置き換え用のアプリ42bの送信指示等の処理を、GW2ではなく、各ECU4が行う構成である。実施の形態2に係るGW2は、不具合検出部21b、置換探索部21c及び置換指示部21dを備えず、記憶部22に置換テーブル22bを記憶していない。実施の形態2に係るGW2は、通信の中継処理を行う。
実施の形態2に係る車載システムでは、アプリ42bの不具合の検出、置き換え用のアプリ42bを有する他のECU4の探索、及び、他のECU4に対する置き換え用のアプリ42bの送信指示等の処理を、GW2ではなく、各ECU4が行う構成である。実施の形態2に係るGW2は、不具合検出部21b、置換探索部21c及び置換指示部21dを備えず、記憶部22に置換テーブル22bを記憶していない。実施の形態2に係るGW2は、通信の中継処理を行う。
図9は、実施の形態2に係るECU4の構成を示すブロック図である。実施の形態2に係るECU4は、処理部41が記憶部42に記憶されたプログラム42aを実行することによって、アプリ実行部41a~モード切替部41fに加えて、不具合検出部41g、置換探索部41h及び置換指示部41i等がソフトウェア的な機能部として処理部41に設けられる。また実施の形態2に係るECU4の記憶部42には、置換テーブル42dが記憶されている。
不具合検出部41gは、アプリ実行部41aが実行するアプリ42bに関する不具合を検出する処理を行う。例えば不具合検出部41gは、アプリ42bへの入出力データを監視して、入力データに対して適正なデータをアプリ42bが出力しているか否かに応じて不具合の有無を判断する。また例えば不具合検出部41gは、アプリ42bが他のECU4へ周期的に送信するデータについて、その送信周期が定められた送信周期であるか否かに基づいて不具合の有無を判断する。また例えば不具合検出部41gは、アプリ42bが送信するデータに含まれるセンサの検出値又はアクチュエータの制御値等の情報が適正範囲内であるか否かに基づいて不具合の有無を判断する。不具合検出部41gによるアプリ42bの不具合の検出方法は、上記のものに限らず、どのような方法が採用されてもよい。
置換探索部41hは、不具合検出部41gにて不具合が検出されたアプリ42bについて、置き換えることが可能なアプリ42bを有する他のECU4を探索する処理を行う。置換探索部41hは、記憶部42に記憶された置換テーブル42dを参照することによって、不具合が検出されたアプリ42bに置換可能なアプリの有無、及び、置換可能なアプリ42bを有する他のECU4を探索する。
図10は、実施の形態2に係る置換テーブル42dの一構成例を示す模式図である。図示の置換テーブル42dは、ECU4Aが記憶する置換テーブル42dであり、図3に示した置換テーブル22bからECU4Aに関する情報のみを抜き出したものに相当する。実施の形態2に係るECU4が記憶部42に記憶する置換テーブル42dは、自身が実行するアプリ42bについてのみ、置き換え可能なアプリ及びこれを有する他のECUの情報を代替情報として記憶したものである。
置換指示部41iは、置換探索部41hの探索結果に基づき、置換可能なアプリ42bを有する他のECU4に対して、不具合が検出されたアプリ42bに置換可能なアプリ42bを送信する指示を与える。この指示に応じて他のECU4は、自身が記憶部42に記憶している置換可能なアプリ42bを読み出して、指示元のECU4に対してアプリ42bを送信する。
即ち、実施の形態2に係る車載システムでは、各ECU4が自身のアプリ42bの不具合を検出し、不具合が検出されたアプリ42bに置き換え可能なアプリ42bを有する他のECU4を探索し、他のECU4に対して置き換え用のアプリ42bの送信を指示する。この指示を受信した他のECU4は、自身が有する置き換え可能なアプリ42bを、支持元のECU4に対して送信する。置き換え可能なアプリ42bを受信したECU4は、記憶部42に記憶されたパラメータ42cに基づくパラメータ調整を行い、受信したアプリ42bの動作確認を行った後、不具合が検出されたアプリ42bとの置き換えを行う。
実施の形態2に係る車載システムのその他の構成は、実施の形態1に係る車載システムと同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
(変形例)
アプリ42bの不具合の検出、置き換え用のアプリ42bを有する他のECU4の探索、及び、他のECU4に対する置き換え用のアプリ42bの送信指示等の処理を、実施の形態1に係る車載システムではGW2が行い、実施の形態2に係る車載システムでは各ECU4が行っている。これらの処理はGW2又はECU4のいずれか一方が行うのではなく、GW2及びECU4が協働して行ってもよい。
アプリ42bの不具合の検出、置き換え用のアプリ42bを有する他のECU4の探索、及び、他のECU4に対する置き換え用のアプリ42bの送信指示等の処理を、実施の形態1に係る車載システムではGW2が行い、実施の形態2に係る車載システムでは各ECU4が行っている。これらの処理はGW2又はECU4のいずれか一方が行うのではなく、GW2及びECU4が協働して行ってもよい。
変形例に係る車載システムでは、アプリ42bの不具合を検出する処理を各ECU4が行う。また変形例に係る車載システムでは、置き換え用のアプリ42bを有する他のECU4の探索、及び、他のECU4に対する置き換え用のアプリ42bの送信指示等の処理をGW2が行う。このため変形例に係るECU4は、例えば不具合検出部41gを有し、置換探索部41h、置換指示部41i及び置換テーブル42dを有していなくてよい。また変形例に係るGW2は、例えば置換探索部21c、置換指示部21d及び置換テーブル22bを有し、不具合検出部21bを有していなくてよい。
変形例に係る各ECU4は、自身が実行するアプリ42bの不具合を検出した場合、縮退モードへの切り替えを行うと共に、不具合を検出したアプリ42bに置換可能なアプリ42bの送信をGW2に要求する。この要求を受けた変形例に係るGW2は、不具合が検出されたアプリ42bに置き換え可能なアプリ42bを有する他のECU4を探索し、探索により見い出された他のECU4に対してアプリ42bの送信を指示する。他のECU4が送信するアプリ42bを受信した要求元のECU4は、受信したアプリ42bに対してパラメータ調整及び動作確認を行い、自身の記憶部42に記憶されている不具合が検出されたアプリ42bを他のECU4から受信したアプリ42bに置き換える。
なお本実施の形態において図1に示したネットワーク構成及びECU4A~4Dの搭載数、図3に示した置換テーブル22bの構成、図5~図8に示した処理手順、並びに、図10に示した置換テーブル42dの構成等は、一例であってこれに限るものではない。
車載システムにおける各装置は、マイクロプロセッサ、ROM及びRAM等を含んで構成されるコンピュータを備える。マイクロプロセッサ等の演算処理部は、図5~図8に示すような、シーケンス図又はフローチャートの各ステップの一部又は全部を含むコンピュータプログラムを、ROM、RAM等の記憶部からそれぞれ読み出して実行してよい。これら複数の装置のコンピュータプログラムは、それぞれ、外部のサーバ装置等からインストールすることができる。また、これら複数の装置のコンピュータプログラムは、それぞれ、CD-ROM、DVD-ROM、半導体メモリ等の記録媒体に格納された状態で流通する。
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
1 車両
1a,1b 通信線
2 GW
4,4A~4D ECU
21 処理部
21a 中継処理部
21b 不具合検出部(検出部)
21c 置換探索部(探索部)
21d 置換指示部(指示部)
22 記憶部
22a プログラム
22b 置換テーブル
23 通信部
41 処理部(置換部)
41a アプリ実行部
41b アプリ送信部
41c アプリ受信部
41d パラメータ調整部(調整部)
41e 動作確認部
41f モード切替部
41g 不具合検出部
41h 置換探索部
41i 置換指示部
42 記憶部
42a プログラム
42b アプリ
42c パラメータ
43 通信部
99 記録媒体
1a,1b 通信線
2 GW
4,4A~4D ECU
21 処理部
21a 中継処理部
21b 不具合検出部(検出部)
21c 置換探索部(探索部)
21d 置換指示部(指示部)
22 記憶部
22a プログラム
22b 置換テーブル
23 通信部
41 処理部(置換部)
41a アプリ実行部
41b アプリ送信部
41c アプリ受信部
41d パラメータ調整部(調整部)
41e 動作確認部
41f モード切替部
41g 不具合検出部
41h 置換探索部
41i 置換指示部
42 記憶部
42a プログラム
42b アプリ
42c パラメータ
43 通信部
99 記録媒体
Claims (9)
- 複数の車載装置がネットワークを介して接続された車載システムであって、
前記車載装置が実行するプログラムに係る不具合を検出する検出部と、
前記検出部が不具合を検出したプログラムに代替可能なプログラムを有する他の車載装置を探索する探索部と、
前記探索部が探索した前記他の車載装置に対して前記代替可能なプログラムの送信を指示する指示部と
を備え、
前記車載装置は、前記指示に応じて前記他の車載装置が送信する前記代替可能なプログラムを受信して、前記不具合が検出されたプログラムを前記代替可能なプログラムで置き換える、
車載システム。 - 前記車載装置は、受信した前記代替可能なプログラムの動作を確認する動作確認部を有し、
前記車載装置は、前記動作確認部により正常な動作が確認された場合に、プログラムの置き換えを行う、
請求項1に記載の車載システム。 - 前記車載装置は、受信した前記代替可能なプログラムが使用するパラメータを調整する調整部を有し、
前記動作確認部は、前記調整部が調整したパラメータにて前記代替可能なプログラムの動作を確認する、
請求項2に記載の車載システム。 - 不具合が検出されたプログラムを有する前記車載装置は、前記プログラムの機能の一部を制限する、請求項1から請求項3までのいずれか1つに記載の車載システム。
- 複数の車載装置間の通信を中継する中継装置を備え、
前記中継装置は、前記検出部、前記探索部及び前記指示部を有する、
請求項1から請求項4までのいずれか1つに記載の車載システム。 - 前記車載装置は、前記検出部、前記探索部及び前記指示部を有する、
請求項1から請求項4までのいずれか1つに記載の車載システム。 - 複数の車載装置の間の通信を中継する中継装置であって、
処理部を備え、
前記処理部は、
前記車載装置が実行するプログラムに係る不具合を検出し、
不具合が検出されたプログラムに代替可能なプログラムを有する他の車載装置を探索し、
探索した前記他の車載装置に対して前記代替可能なプログラムの送信を指示する、
中継装置。 - ネットワークを介して他の車載装置に接続された車載装置であって、
処理部を備え、
前記処理部は、
実行するプログラムに係る不具合を検出し、
不具合が検出されたプログラムに代替可能なプログラムを有する他の車載装置を探索し、
探索した前記他の車載装置に対して前記代替可能なプログラムの送信を指示し、
前記指示に応じて前記他の車載装置が送信する前記代替可能なプログラムを受信して、前記不具合が検出されたプログラムを前記代替可能なプログラムで置き換える、
車載装置。 - 車載装置が実行するプログラムに係る不具合を検出し、
不具合が検出されたプログラムに代替可能なプログラムを有する他の車載装置を探索し、
探索した前記他の車載装置に対して前記代替可能なプログラムの送信を指示し、
前記車載装置が、前記指示に応じて前記他の車載装置が送信する前記代替可能なプログラムを受信して、前記不具合が検出されたプログラムを前記代替可能なプログラムで置き換える、
プログラム置換方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019204179A JP2021077169A (ja) | 2019-11-11 | 2019-11-11 | 車載システム、中継装置、車載装置及びプログラム置換方法 |
JP2019-204179 | 2019-11-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021095498A1 true WO2021095498A1 (ja) | 2021-05-20 |
Family
ID=75898047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/040074 WO2021095498A1 (ja) | 2019-11-11 | 2020-10-26 | 車載システム、中継装置、車載装置及びプログラム置換方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2021077169A (ja) |
WO (1) | WO2021095498A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230112759A1 (en) * | 2020-03-26 | 2023-04-13 | Sumitomo Wiring Systems, Ltd. | Onboard ecu, program, and information processing method |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001109635A (ja) * | 1999-10-07 | 2001-04-20 | Mitsubishi Electric Corp | 障害対処方法及びコンピュータシステム読み取り可能な記録媒体 |
JP2003256228A (ja) * | 2002-02-28 | 2003-09-10 | Denso Corp | プログラム書換装置 |
JP2007126024A (ja) * | 2005-11-04 | 2007-05-24 | Denso Corp | 車両用の電子制御装置 |
JP2008168649A (ja) * | 2007-01-05 | 2008-07-24 | Mazda Motor Corp | 車両用制御システム |
JP2017059210A (ja) * | 2015-09-14 | 2017-03-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、ファームウェア更新方法及び制御プログラム |
JP2019139473A (ja) * | 2018-02-09 | 2019-08-22 | 株式会社デンソー | 配布対象データの配布システム、及び配布対象データの取得方法 |
-
2019
- 2019-11-11 JP JP2019204179A patent/JP2021077169A/ja active Pending
-
2020
- 2020-10-26 WO PCT/JP2020/040074 patent/WO2021095498A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001109635A (ja) * | 1999-10-07 | 2001-04-20 | Mitsubishi Electric Corp | 障害対処方法及びコンピュータシステム読み取り可能な記録媒体 |
JP2003256228A (ja) * | 2002-02-28 | 2003-09-10 | Denso Corp | プログラム書換装置 |
JP2007126024A (ja) * | 2005-11-04 | 2007-05-24 | Denso Corp | 車両用の電子制御装置 |
JP2008168649A (ja) * | 2007-01-05 | 2008-07-24 | Mazda Motor Corp | 車両用制御システム |
JP2017059210A (ja) * | 2015-09-14 | 2017-03-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、ファームウェア更新方法及び制御プログラム |
JP2019139473A (ja) * | 2018-02-09 | 2019-08-22 | 株式会社デンソー | 配布対象データの配布システム、及び配布対象データの取得方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230112759A1 (en) * | 2020-03-26 | 2023-04-13 | Sumitomo Wiring Systems, Ltd. | Onboard ecu, program, and information processing method |
Also Published As
Publication number | Publication date |
---|---|
JP2021077169A (ja) | 2021-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018025685A1 (ja) | 車載更新装置、車載更新システム及び通信装置の更新方法 | |
US11084462B2 (en) | Method for modifying safety and/or security-relevant control devices in a motor vehicle | |
JP7160111B2 (ja) | 監視装置、監視プログラム及び監視方法 | |
WO2020080273A1 (ja) | 車載更新装置、更新処理プログラム及び、プログラムの更新方法 | |
KR101638609B1 (ko) | 전자제어장치의 업데이트 시스템 및 그 방법 | |
US7054728B2 (en) | Rewrite control apparatus for onboard program | |
WO2018088505A1 (ja) | 車載更新システム、車載更新装置及びゲートウェイ | |
CN110709932A (zh) | 记录控制装置 | |
WO2021095498A1 (ja) | 車載システム、中継装置、車載装置及びプログラム置換方法 | |
JP4487007B2 (ja) | 車載プログラムの書き換え制御システム | |
JP7183884B2 (ja) | 電子制御装置 | |
JP6508092B2 (ja) | 車両用ゲートウェイ装置及びプログラム | |
JP2019209945A (ja) | 車載制御装置、制御プログラム及び制御方法 | |
JP7310570B2 (ja) | 車載更新装置、プログラム及び、プログラムの更新方法 | |
JP2007028411A (ja) | ネットワーク診断装置及びネットワーク診断方法 | |
JP4961814B2 (ja) | 故障診断装置及び方法 | |
JP4237167B2 (ja) | 故障検知診断対処装置、故障検知診断対処システムおよび故障検知診断対処方法 | |
JP7081462B2 (ja) | 車両電子制御装置及び診断システム | |
JP2019177709A (ja) | 故障診断装置 | |
JP7167579B2 (ja) | 電子制御装置 | |
JP7205245B2 (ja) | 電子制御装置 | |
WO2019208159A1 (ja) | 車両用ソフトウェア配信システム、装置、方法及びプログラム | |
JP4734096B2 (ja) | エレベーター用制御システム | |
JP2004142511A (ja) | 車両用電子制御装置,電子制御ユニット,プログラム及び記録媒体 | |
JP2006279498A (ja) | ノード診断システム及びノード |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20886195 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20886195 Country of ref document: EP Kind code of ref document: A1 |