WO2019187535A1 - 制御装置、制御方法、およびコンピュータプログラム - Google Patents
制御装置、制御方法、およびコンピュータプログラム Download PDFInfo
- Publication number
- WO2019187535A1 WO2019187535A1 PCT/JP2019/001716 JP2019001716W WO2019187535A1 WO 2019187535 A1 WO2019187535 A1 WO 2019187535A1 JP 2019001716 W JP2019001716 W JP 2019001716W WO 2019187535 A1 WO2019187535 A1 WO 2019187535A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage area
- program
- vehicle
- ecu
- control
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Definitions
- the present invention relates to a control device, a control method, and a computer program.
- This application claims priority based on Japanese Patent Application No. 2018-061058 filed on Mar. 28, 2018, and incorporates all the contents described in the above Japanese application.
- ECUs Electronic Control Units
- the types of ECUs include, for example, those related to the traveling system that controls the engine, brakes, EPS (Electric Power Steering), etc. for the operation of the accelerator, brake, and steering wheel.
- body-type ECUs that control the turning on / off of lights and the sounding of alarm devices
- meter-type ECUs that control the operation of meters arranged near the driver's seat.
- the ECU is configured by an arithmetic processing device such as a microcomputer, and the control of the in-vehicle device is realized by reading and executing a control program stored in a ROM (Read Only Memory).
- the ECU control program needs to be rewritten from the old version of the control program to the new version of the control program in accordance with the version upgrade. Further, it is necessary to rewrite data necessary for execution of the control program such as map information and control parameters.
- Patent Document 1 and Patent Document 2 describe a program to be executed when writing of a new version of a control program is completed in one memory area in an ECU having a memory including a plurality of areas.
- a technique for switching a memory area to be read from a memory area in which a current version of a control program is written to a memory area in which a new version of a control program is written is disclosed.
- a control device is a control device that instructs each of a plurality of in-vehicle devices to start a program update process, and the in-vehicle devices include the following first storage area and second
- the update process includes information indicating a read target of a program to be executed after a new version of the program is written in the second storage area, and information indicating the first storage area.
- First storage area storage area in which the current version of the program is stored
- Second storage area storage area in which the program can be rewritten to a new version
- a control method is a method for instructing each of a plurality of in-vehicle devices to start a program update process
- the in-vehicle device includes: A second storage area, and the update process stores information indicating a read target of a program to be executed after a new version of the program is written in the second storage area in the first storage area.
- a plurality of in-vehicle devices including a rewriting process for rewriting the information to be indicated to the information indicating the second storage area, and a switching process for switching the read target from the first storage area to the second storage area.
- First storage area storage area in which the current version of the program is stored
- Second storage area storage area in which the program can be rewritten to a new version
- a computer program is a computer program for causing a computer to function as a control device that instructs each of a plurality of in-vehicle devices to start program update processing.
- Rewriting process for rewriting information from information indicating the first storage area to information indicating the second storage area, and switching process for switching the read target from the first storage area to the second storage area
- a step that includes the steps of transmitting the generated the start instruction for each of the vehicle device, is running.
- First storage area storage area in which the current version of the program is stored
- Second storage area storage area in which the program can be rewritten to a new version
- the present disclosure can be realized not only as a control device including such a characteristic processing unit, a control method using the characteristic process as a step, and a computer program for causing a computer to execute the step, It can be realized as a semiconductor integrated circuit that realizes part or all of the control device.
- a control device is a control device that instructs each of a plurality of in-vehicle devices to start a program update process, and the in-vehicle device includes the following first storage area and The update process indicates information indicating a read target of a program to be executed after the new version of the program is written in the second storage area.
- the control device includes: An in-vehicle communication unit that communicates with a plurality of in-vehicle devices is provided, and the in-vehicle communication unit transmits a start instruction to start the rewriting process in the plurality of in-vehicle devices at a predetermined synchronization timing.
- First storage area storage area in which the current version of the program is stored
- Second storage area storage area in which the program can be rewritten to a new version
- the said control apparatus is further provided with the control part which controls the said in-vehicle communication part, and the said control part calculates the waiting time from the reception of the said start instruction
- the start instruction includes the waiting time calculated for the in-vehicle device that is the destination.
- the in-vehicle device that has received such a start instruction waits for the standby time and the start of the rewrite process, and starts the rewrite process after the lapse of the period. Therefore, the rewrite process can be started at the synchronization timing by a plurality of in-vehicle devices.
- the said control apparatus is further provided with the control part which controls the said in-vehicle communication part,
- the control unit calculates, for each in-vehicle device, a waiting time from the scheduled transmission time of the start instruction until the in-vehicle device transmits the start instruction for reception at the synchronization timing, and the in-vehicle communication unit
- the start instruction is transmitted after elapse of the standby time calculated for the in-vehicle device that is the destination. Since the in-vehicle device that has received the start instruction starts the rewrite process at the timing when the start instruction is received, the rewrite process can be started at the synchronization timing by a plurality of in-vehicle devices. At this time, the in-vehicle device can eliminate the need for a timer for measuring the standby time.
- a control part determines standby time based on the communication delay time between an own apparatus and vehicle equipment.
- the rewriting process can be started at the synchronization timing with high accuracy by a plurality of in-vehicle devices.
- a control part determines standby
- the control method included in the present embodiment instructs each of a plurality of in-vehicle devices in the control device according to any one of (1) to (5) to start a program update process. It is a method to do. This control method has the same effects as the control devices (1) to (5).
- the computer program included in the present embodiment causes the computer to function as the control device described in any one of (1) to (5).
- Such a computer program has the same effects as the control devices (1) to (5).
- FIG. 1 is a schematic diagram showing an overall configuration of a program update system and a vehicle configuration according to the present embodiment.
- the program update system includes a vehicle 1 and a server 5 that can communicate via a wide area network 2 such as the Internet.
- the server 5 manages the update information of the vehicle 1 and stores an update program.
- the server 5 can communicate with many vehicles 1 registered in advance.
- vehicle 1 includes an in-vehicle communication device 15 for communicating with an out-of-vehicle device, a plurality of ECUs (Electronic Control Units) 30A, 30B, 30C,.
- Relay device 10 that is an ECU that relays communication with a plurality of ECUs 30A, 30B, 30C,.
- the ECUs 30A, 30B, 30C,... Are examples of in-vehicle devices.
- the plurality of ECUs 30A, 30B, 30C,... When distinguishing each of the plurality of ECUs 30, they are also expressed as ECU-1, ECU-2, ECU-3,.
- Each ECU 30 is connected by in-vehicle communication lines 16A and 16B that terminate in the relay device 10 and constitutes the in-vehicle communication system 4 together with the relay device 10.
- the plurality of in-vehicle communication lines 16A and 16B are also referred to as in-vehicle communication lines 16.
- the communication system 4 includes a bus communication system (for example, CAN (Controller Area Network)) in which the ECUs 30A and 30B are connected to the in-vehicle communication line 16A and the ECU 30C is connected to the in-vehicle communication line 16B.
- CAN Controller Area Network
- information is stored and transmitted in a format called a communication frame.
- the communication frame is composed of a series of two kinds of signals of high level or low level.
- the communication system 4 has not only CAN but also communication standards such as LIN (Local Interconnect Network), CANFD (CAN with Flexible Data Rate), Ethernet (registered trademark), or MOST (Media Oriented Systems Transport: MOST is a registered trademark). It may be a network to be adopted.
- LIN Local Interconnect Network
- CANFD CAN with Flexible Data Rate
- Ethernet registered trademark
- MOST Media Oriented Systems Transport: MOST is a registered trademark. It may be a network to be adopted.
- the ECU 30 is, for example, a power train ECU that controls the engine, brakes, EPS (Electric Power Steering), etc. in response to accelerator, brake, and steering wheel operations, and lighting / extinguishing of interior lighting and headlights according to switch operations. And a body system ECU that controls the alarm and the like, and a meter system ECU that controls the operation of meters provided near the driver's seat.
- EPS Electrical Power Steering
- the relay device 10 is further connected to the vehicle communication device 15 via a communication line of a predetermined standard.
- the relay device 10 may be equipped with the external communication device 15.
- the vehicle exterior communication device 15 communicates wirelessly with the vehicle exterior device via the wide area communication network 2 such as the Internet.
- the vehicle exterior device is, for example, the server 5 that stores an update program for the ECU 30.
- the vehicle exterior communication device 15 may have a plug (not shown) and communicate with a vehicle exterior device connected to the plug by wire.
- the out-of-vehicle communication device 15 may be a device owned by the user, such as a mobile phone, a smartphone, a tablet terminal, or a notebook computer (Personal Computer).
- the relay device 10 relays information received by the external communication device 15 from the external device to the ECU 30. Further, the relay device 10 relays the information received from the ECU 30 to the vehicle exterior communication device 15. The vehicle exterior communication device 15 wirelessly transmits the relayed information to the vehicle exterior device.
- FIG. 2 is a block diagram illustrating an internal configuration of the relay apparatus 10.
- relay device 10 includes control unit 11, storage unit 12, in-vehicle communication unit 13, and the like.
- the control unit 11 of the relay apparatus 10 includes an MCU (Micro Controller Unit) equipped with a CPU (Central Processing Unit).
- the CPU of the control unit 11 has a function for reading one or more programs stored in the storage unit 12 and executing various processes.
- the CPU of the control unit 11 can execute a plurality of programs in parallel by switching and executing a plurality of programs in a time division manner, for example.
- the CPU of the control unit 11 includes one or a plurality of large scale integrated circuits (LSIs).
- LSIs large scale integrated circuits
- the plurality of LSIs cooperate to realize the function of the CPU.
- the computer program executed by the CPU of the control unit 11 can be transferred while being recorded on a recording medium such as a CD-ROM or DVD-ROM, or can be transferred by downloading from a computer device such as a server computer. .
- the storage unit 12 includes a nonvolatile memory element such as a flash memory or an EEPROM (Electrically Erasable Programmable Read Only Memory).
- the storage unit 12 has a storage area for storing a program executed by the CPU of the control unit 11 or data necessary for execution.
- An in-vehicle communication line 16 is connected to the in-vehicle communication unit 13.
- the in-vehicle communication unit 13 includes a communication device that communicates with the ECU 30 in accordance with a predetermined communication standard such as CAN.
- the in-vehicle communication unit 13 transmits information given from the CPU of the control unit 11 to a predetermined ECU 30, and the ECU 30 gives information of the transmission source to the CPU of the control unit 11.
- the vehicle exterior communication device 15 includes a wireless communication device including an antenna and a communication circuit that performs transmission and reception of a wireless signal from the antenna.
- the external communication device 15 can communicate with an external device by being connected to a wide area communication network 2 such as a mobile phone network.
- the outside communication device 15 transmits information given from the CPU of the control unit 11 to the outside device such as the server 5 via the wide area communication network 2 formed by a base station (not shown), and information received from the outside device. To the CPU of the control unit 11.
- FIG. 3 is a block diagram showing an internal configuration of the ECU 30.
- ECU 30 includes a control unit 31, a storage unit 32, an in-vehicle communication unit 33, and the like.
- the control unit 31 of the ECU 30 includes an MCU equipped with a CPU.
- the MCU of the control unit 31 has a function for reading one or more programs stored in the storage unit 32 and executing various processes.
- the MCU of the control unit 31 can execute a plurality of programs in parallel by switching and executing a plurality of programs in a time division manner, for example.
- the MCU of the control unit 31 includes one or a plurality of large scale integrated circuits (LSIs).
- LSIs large scale integrated circuits
- the plurality of LSIs cooperate to realize the function of the MCU.
- the computer program executed by the MCU of the control unit 31 can be transferred while being recorded on a recording medium such as a CD-ROM or DVD-ROM, or can be transferred by downloading from a computer device such as a server computer. .
- the storage unit 32 includes a nonvolatile memory element such as a flash memory or an EEPROM.
- the storage unit 32 has a storage area for storing a program executed by the MCU of the control unit 31 and data necessary for the execution.
- the storage unit 32 stores a first firmware (FW) storage area 321 and a second FW storage area 322 as areas for storing computer programs executed by the MCU of the control unit 31, and a control program executed by the MCU.
- FW firmware
- FW startup version
- storage area 323 as an area for storing the storage area.
- An in-vehicle communication line 16 is connected to the in-vehicle communication unit 33.
- the in-vehicle communication unit 33 includes a communication device that communicates with the relay device 10 and the other ECU 30 in accordance with a predetermined communication standard such as CAN.
- the in-vehicle communication unit 33 transmits information given from the MCU of the control unit 31 to a predetermined ECU or relay device 10, and the predetermined ECU or relay device 10 gives information of the transmission source to the MCU of the control unit 31.
- [Update processing] 4A to 4C are diagrams for explaining control program update processing in the ECU 30 by using state transitions of the storage areas 321, 322, and 323.
- the first FW storage area 321 and the second FW storage area 322 are storage areas for storing control programs
- the activation Ver storage area 323 is information for specifying a storage area from which the control program executed by the control unit 31 is read (hereinafter also referred to as activation information). Is a storage area for storing.
- the activation information is information indicating the first FW storage area 321 or the second FW storage area 322 (storage area information ( ⁇ 1> or ⁇ 2>)), and version information of the control program. is there.
- the activation information may be either storage area information or version information.
- the update process updates the storage area that is not the storage area in which the control program before update (current version) is written, out of the first FW storage area 321 and the second FW storage area 322 included in the storage unit 32.
- the new version writes information indicating the later (new version) control program write process (write process) and the control program read target (first FW storage area 321 or second FW storage area 322) executed by the control unit 31.
- the ECU 30 is reset.
- FIG. 4A to 4C show the state transition of each of the storage areas 321, 322, and 323 along the flow of the update process.
- FIG. 4A shows before the write process and the rewrite process
- FIG. 4B shows the write process and the rewrite process
- FIG. 4C shows after the process and before the switching process, and after the switching process.
- the current version of the control program is version 2 (V2)
- the control program is written in the first FW storage area 321.
- the activation Ver storage area 323 stores information ⁇ 1> for specifying the first FW storage area 321 and the current version V2 of the control program as activation information.
- the first FW storage area 321 is a storage area (first storage area) for storing the current version of the control program
- the second FW storage area 322 is rewritten to the new version. This is a possible storage area (second storage area).
- the control unit 31 reads out and executes the control program from the first FW storage area 321 according to the activation information stored in the activation Ver storage area 323. For this reason, the ECU 30 executes a version 2 (V2) control program.
- V2 version 2
- the control program of the new version 3 (V3) is written in the second FW storage area 322 with reference to FIG.
- the activation information in the area 323 is rewritten with the information ⁇ 2> for specifying the second FW storage area 322 and the new version V3 of the control program. Since the writing process is performed while the control unit 31 before the rewriting process is executing the current version of the control program, the control unit 31 follows the startup information stored in the startup Ver storage area 323 at the stage of FIG. 4B.
- the control program is read from the first FW storage area 321 and executed. For this reason, the ECU 30 executes a version 2 (V2) control program.
- the ECU 30 is reset according to rewriting of the activation Ver storage area 323 by the rewriting process after the writing process, and the first storage area and the second storage area are switched after the restart. That is, the second FW storage area 322 becomes the first storage area, and the first FW storage area 321 becomes the second storage area.
- the control unit 31 reads and executes the control program from the second FW storage area 322 according to the activation information stored in the activation Ver storage area 323 rewritten by the rewriting process. For this reason, the ECU 30 executes a version 3 (V3) control program.
- V3 version 3
- an update program is downloaded from the server 5 to the relay device 10 via the wide area communication network 2, and an update process is executed by the ECU 30 in accordance with an instruction from the relay device 10.
- the ECU that updates the control program among the plurality of ECUs 30 is referred to as a target ECU.
- the plurality of ECUs 30 include a plurality of ECUs that require that the versions of the control programs have a specified combination.
- the plurality of ECUs are also referred to as ECU groups in the following description.
- the ECU group is, for example, an ECU group that controls a plurality of mechanisms for realizing a certain function.
- the update process is completed when each target ECU is activated by the new version of the control program by the switching process. Executing update processing at the same time indicates executing switching processing at the same time. By completing the switching process at the same time, the version of the control program is maintained in the prescribed combination within the ECU group.
- the ECU 30 may reset the CPU of the control unit 11 at an unexpected timing. If the update process is not completed in the ECU group at the reset timing, the version of the control program may not match the specified combination in the ECU group.
- the relay device 10 functions as an update control device, and executes update control processing when executing update processing in the ECU group.
- the update control process is a process for instructing the start of the update process in each target ECU so that the start of the rewrite process is synchronized (matched) with a predetermined synchronization timing.
- the synchronization (matching) here includes not only completely matching the start time of update processing in each target ECU but also belonging to an extremely short period even if they do not match. That is, the synchronization timing includes not only a complete point of time but also a time belonging to an extremely short period.
- the control of the update process includes a process (decision process) for determining a waiting time, which will be described later, for each target ECU to be a timing at which the update process is simultaneously started in a plurality of target ECUs (hereinafter also referred to as synchronization timing) It includes a process (instruction process) that generates an instruction (rewrite instruction) for synchronizing the start of the rewrite process in the target ECU with the synchronization timing and instructs each target ECU to execute the update process together with the update program.
- the control unit 11 includes a determination unit 111 that executes the determination process and an instruction unit 112 that executes the instruction process.
- the instruction unit 112 includes a generation unit 113 that generates a rewrite instruction, and an output unit 114 that outputs the rewrite instruction to the in-vehicle communication unit 13. These functions are realized by the CPU of the control unit 11 reading and executing a program stored in the storage unit 12.
- the standby time indicates a period from the time when the rewrite instruction is received from the relay device 10 to the time when the rewrite process is started, and is determined using the communication delay time between the relay device 10 and each target ECU.
- the determining unit 111 determines the standby time of each target ECU based on the delay time information D.
- the delay time information D is information in which the communication delay time DL of each ECU 30 is stored.
- the determination unit 111 stores delay time information D in advance.
- the determination unit 111 may measure and store the communication delay time of each ECU 30 in advance, or may measure and update the delay time information D every time the communication status changes. Further, the determination unit 111 may measure the communication delay time of each ECU 30 a plurality of times, and use a statistical value such as an average value or a median value as the delay time information D.
- the instruction unit 112 gives an update program to each target ECU to instruct the start of the rewrite process (rewrite instruction), and also instructs the standby time determined for the target ECU and the start of the rewrite process.
- the generation unit 112 generates a communication frame (control frame) including an update program for the target ECU, a rewrite command for the target ECU, and a standby time for the target ECU.
- the update program, the rewrite command, and the waiting time may be different communication frames.
- the output unit 114 passes the communication frame to the in-vehicle communication unit 13 and instructs transmission.
- the instruction unit 112 instructs each target ECU to execute a switching process (switching instruction).
- the control part 31 of ECU30 has the update process part 311 which is a function which performs an update process (FIG. 3).
- the update processing unit 311 receives a rewrite instruction from the relay device 10 together with the update program, the update processing unit 311 executes a rewrite process according to the instruction.
- the update processing unit 311 executes the write process at a predetermined timing when the rewrite instruction is received, and then the rewrite process until the standby time elapses. Wait without starting.
- the standby time elapses the rewriting process is started.
- the update processing unit 311 receives a switching instruction from the relay device 10
- the update processing unit 311 executes the switching process according to the instruction.
- FIG. 5 is a diagram for explaining an example of a determination method of the standby time in the determination unit 111.
- FIG. 5 is a diagram for explaining a method of determining the standby times dA, dB, and dC of the ECUs 30A, 30B, and 30C when the relay device 10 transmits a rewrite instruction in the order of the ECUs 30A, 30B, and 30C. .
- the rewrite instruction may not be transmitted by broadcast to all target ECUs.
- relay device 10 transmits a rewrite instruction to ECU 30A at time T1, transmits a rewrite instruction to ECU 30B after elapse of time interval t1 from time T1, and further transmits a rewrite instruction to ECU 30C after elapse of time interval t2. It shall be.
- the standby time dC in the ECU 30C that finally transmits the rewrite instruction is arbitrarily determined.
- the waiting time dC may be zero.
- the ECU 30C instructed the standby time dC from the relay device 10 executes the writing process as soon as it receives the rewrite instruction from the relay device 10, and rewrites the time T2 after the standby time dC elapses from the time when the rewrite instruction is received. Is started.
- the standby times dA and dB are determined so that the start time of the rewrite process is the same time T2 as the start time of the rewrite process in the ECU 30C. That is, the standby times dA and dB are determined so that the start of the rewriting process of each target ECU is synchronized with the time T2 as the synchronization timing.
- T2 T1 + da + dA
- T2 T1 + t1 + db + dB
- T2 T1 + t1 + t2 + dc + dC (3)
- Equation (3) dC + dC ⁇ da
- Equation (4) t2 + dc + dC ⁇ db
- the ECU 30A executes the writing process immediately upon receiving the rewrite instruction from the relay device 10, and rewrites the time T2 after the standby time dA has elapsed from the time when the rewrite instruction is received. Start processing.
- the ECU 30B instructed by the relay device 10 for the standby time dB executes the writing process immediately upon receiving the rewrite instruction from the relay device 10, and at a time T2 after the standby time dB has elapsed from the time of receiving the rewrite instruction. Start rewriting process.
- FIG. 6 is a sequence diagram illustrating a flow of update control processing executed by the relay apparatus 10 in control program update processing in the program update system according to the first embodiment.
- relay device 10 when receiving the update program (firmware) of the new version of the control program from server 5 (step S1), relay device 10 starts an update control process. And the control part 11 of the relay apparatus 10 performs the determination process which determines standby
- the plurality of target ECUs are ECUs 30A, 30B, and 30C, and the control unit 11 outputs a rewrite instruction in that order.
- the control unit 11 of the relay device 10 determines the standby times dA, dB, dC of the ECUs 30A, 30B, 30C by the method shown in FIG.
- step S2 the control unit 11 of the relay apparatus 10 generates a rewrite instruction, and sequentially communicates with the ECUs 30A, 30B, 30C at predetermined time intervals t1, t2.
- the rewrite instruction is transmitted to the unit 13 (steps S3A, S3B, S3C).
- the control unit 11 causes the in-vehicle communication unit 13 to transmit a communication frame including the corresponding standby times dA, dB, and dC to each target ECU together with the corresponding update program and rewrite command.
- the ECU 30A that has received the rewrite instruction transmitted from the relay device 10 in step S3A executes the write process at a predetermined timing, and executes the rewrite process after the standby time dA has elapsed from the reception time of the rewrite instruction (step S4A).
- the ECU 30B that has received the rewrite instruction transmitted from the relay device 10 in step S3B executes the write process at a predetermined timing, and executes the rewrite process after the standby time dB has elapsed from the reception time of the rewrite instruction (step S4B). .
- the ECU 30C that has received the rewrite instruction transmitted from the relay device 10 in step S3C executes the write process at a predetermined timing, and executes the rewrite process after the standby time dC has elapsed from the reception time of the rewrite instruction (step S4C). .
- Each target ECU notifies the relay device 10 of completion when the rewriting process is completed.
- the relay device 10 transmits a switching instruction to each target ECU and instructs the start of the switching process (step S5).
- the ECUs 30A, 30B, 30C that have received the switching instruction from the relay device 10 in step S5 execute the switching process all at once (steps S6A, S6B, S6).
- the ECU group including the plurality of ECUs 30A, 30B, and 30C is simultaneously activated by the new version of the control program.
- each ECU of the ECU group executes the rewrite process after the standby time instructed from the relay device 10. Therefore, the rewriting process in each ECU of the ECU group starts at a predetermined synchronization timing.
- the rewriting process is a process for rewriting the information indicating the reading target stored in the activation Ver storage area 323, and is an extremely short time process. Therefore, the rewriting process is completed at substantially synchronized timing in the ECU group. Therefore, in the program update system according to the present embodiment, it is possible to suppress a period in which the versions of the control program written in the storage area to be read written in the storage area in the ECU group do not match.
- FIG. 7 is a sequence diagram showing the flow of the update process of the control program in the program update system according to the comparative example in which the update control process is not executed.
- the effect of the update control process in this embodiment will be described in comparison with the update process flow of FIG.
- the program update system according to the comparative example when relay device 10 receives the update program (firmware) for the new version of the control program from server 5 in step S1, each of the target ECUs 30A, 30B, and 30C receives the update program.
- an update program is delivered and a rewrite instruction is transmitted (steps S31, S31B, S31C).
- the target ECU that has received the rewrite instruction from the relay device 10 immediately executes the writing process and the rewriting process (steps S41A, S41B, and S41C).
- the rewrite instruction Since a communication delay time is generated from the relay device 10 to each target ECU, the rewrite instruction is not received simultaneously by all the target ECUs. Further, as described above, depending on the communication protocol, the rewrite instruction is not transmitted by broadcast, but is sequentially transmitted to the target ECU at predetermined time intervals. Therefore, in the program update system according to the comparative example, the timing for starting execution of the rewrite process differs for each target ECU.
- the rewriting process is first executed by the ECU 30A (step S41A), and the rewriting process is finally executed by the ECU 30C (step S41C). Therefore, in the period P from when the rewriting process is completed by the ECU 30A to when the rewriting process is completed by the ECU 30C, the control written in the storage area of the read target written in the storage area of each target ECU 30A, 30B, 30C.
- the program version is different.
- the switching process is executed in accordance with the switching instruction from the relay device 10 in step S5, and each target ECU is activated by the new version of the control program.
- the ECU 30 may reset at an unintended timing.
- the program update system according to the comparative example shown in FIG. 7 when any of the target ECUs is unintentionally reset during the above period P, it is written in the storage area to be read within the ECU group. Control program version mismatch occurs. This mismatch becomes more likely as the period P is longer.
- the relay device 10 executes the update control process, and is written in the storage area to be read written in the storage area of each ECU. It is possible to suppress a period in which the versions of the control programs that do not match. Therefore, the possibility that a mismatch of the versions of the control program occurs in the ECU group by resetting any ECU 30 at an unintended timing is greatly suppressed.
- the relay device 10 when the relay device 10 executes the determination process and determines the standby time for each target ECU, the relay device 10 rewrites after waiting for the standby time in addition to the transmission time interval t1 or t2 for each target ECU.
- An instruction may be sent. That is, the relay apparatus 10 may wait for the determined waiting time and transmission of a rewrite instruction.
- the rewriting instruction does not include the standby time, and the target ECU starts the rewriting process immediately after receiving the rewriting instruction from the relay device 10.
- relay device 10 instructs each target ECU to execute a writing process prior to the rewriting instruction. Therefore, the target ECU that has received the rewrite instruction from the relay device 10 immediately starts the rewrite process.
- FIG. 8 is a sequence diagram illustrating the flow of the update control process executed by the relay apparatus 10 in the control program update process in the program update system according to the second embodiment.
- each target ECU receives a rewrite instruction from the relay device 10 at a predetermined synchronization timing.
- control unit 11 of relay apparatus 10 executes a determination process for determining the standby time by the method shown in FIG. 5 (step S2). ), Standby times dA, dB, dC of the ECUs 30A, 30B, 30C are determined.
- step S2 the control unit 11 of the relay device 10 generates a rewrite instruction including an update program, and instructs the in-vehicle communication unit 13 to rewrite the ECUs 30A, 30B, 30C. Transmit (steps S32A, S32B, S32C).
- the control unit 11 generates a communication frame (control frame) that does not include the standby times dA, dB, and dC.
- control unit 11 transmits the standby times dA, dB, dC to the time intervals t1, t2 defined in advance to the in-vehicle communication unit 13 with respect to the ECUs 30A, 30B, 30C.
- Send rewrite instruction the standby times dA, dB, dC to the time intervals t1, t2 defined in advance to the in-vehicle communication unit 13 with respect to the ECUs 30A, 30B, 30C.
- the relay device 10 transmits a rewrite instruction to the target ECU 30A after the standby time dA has elapsed with respect to the scheduled time T1 (see FIG. 5) for transmitting the rewrite instruction.
- the ECU 30A receives a rewrite instruction at a time T2 delayed by a delay time da from the time of transmission of the relay device 10 (see FIG. 5), and starts a rewrite process at the time T2 (step S4A).
- the ECU 30B receives a rewrite instruction at a time T2 delayed by a delay time db from the time of transmission of the relay device 10 (see FIG. 5), and starts a rewrite process at the time T2 (step S4B).
- the ECU 30C receives the rewrite instruction at time T2 delayed by the delay time dc from the time of transmission of the relay device 10 (see FIG. 5), and starts the rewrite process at time T2 (step S4C).
- each ECU does not need to keep track of the standby time.
- a timer for measuring the time can be eliminated.
- the update control device is not limited to the relay device 10 and may be another in-vehicle device.
- any ECU may be used.
- the disclosed features are realized by one or more modules.
- the feature can be realized by a circuit element or other hardware module, by a software module that defines processing for realizing the feature, or by a combination of a hardware module and a software module.
- a program that is a combination of one or more software modules for causing a computer to execute the above-described operation.
- a program is recorded on a computer-readable recording medium such as a flexible disk attached to the computer, a CD-ROM (Compact Disk-Read Only Memory), a ROM, a RAM, and a memory card, and provided as a program product.
- the program can be provided by being recorded on a recording medium such as a hard disk built in the computer.
- a program can also be provided by downloading via a network.
- the program according to the present disclosure is a program module that is provided as a part of a computer operating system (OS) and calls necessary modules in a predetermined arrangement at a predetermined timing to execute processing. Also good. In that case, the program itself does not include the module, and the process is executed in cooperation with the OS. Such a program that does not include a module may also be included in the program according to the present disclosure.
- OS computer operating system
- the program according to the present disclosure may be provided by being incorporated in a part of another program. Even in this case, the program itself does not include the module included in the other program, and the process is executed in cooperation with the other program.
- a program incorporated in such another program may also be included in the program according to the present disclosure.
- the provided program product is installed in a program storage unit such as a hard disk and executed.
- the program product includes the program itself and a recording medium on which the program is recorded.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Stored Programmes (AREA)
Abstract
制御装置は、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置であって、前記車載装置は、以下の第1の記憶領域と第2の記憶領域とを有し、前記更新処理は、前記第2の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第1の記憶領域を示す情報から前記第2の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第1の記憶領域から前記第2の記憶領域へ切り替える切替処理と、を含み、前記制御装置は、前記複数の車載装置と通信する車内通信部を備え、前記車内通信部は、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を送信する。 第1の記憶領域:プログラムの現バージョンが記憶された記憶領域 第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域
Description
この発明は制御装置、制御方法、およびコンピュータプログラムに関する。本出願は、2018年3月28日出願の日本出願第2018-061058号に基づく優先権を主張し、前記日本出願に記載された全ての内容を援用するものである。
近年、自動車の技術分野においては、車両の高機能化が進行しており、多種多様な車載機器が車両に搭載されている。従って、車両には、各車載機器を制御するための制御装置である、所謂ECU(Electronic Control Unit)が多数搭載されている。
ECUの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、EPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどがある。
ECUの種類には、例えば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、EPS(Electric Power Steering)等の制御を行う走行系に関わるもの、乗員によるスイッチ操作に応じて車内照明やヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどがある。
一般的にECUは、マイクロコンピュータ等の演算処理装置によって構成されており、ROM(Read Only Memory)に記憶した制御プログラムを読み出して実行することにより、車載機器の制御が実現される。
ECUの制御プログラムは、バージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。また、たとえば地図情報や制御用のパラメータなど、制御プログラムの実行に必要なデータも書き換える必要がある。
ECUの制御プログラムは、バージョンアップに対応して、旧バージョンの制御プログラムを新バージョンの制御プログラムに書き換える必要がある。また、たとえば地図情報や制御用のパラメータなど、制御プログラムの実行に必要なデータも書き換える必要がある。
制御プログラムの更新方法としては、たとえば、特許文献1および特許文献2は、複数領域を含むメモリを有したECUにおいて、1つのメモリ領域に新バージョンの制御プログラムの書き込みが完了すると、実行するプログラムを読み出すメモリ領域を、現バージョンの制御プログラムが書き込まれているメモリ領域から新バージョンの制御プログラムが書き込まれているメモリ領域に切り替える技術を開示している。
本開示の一態様に係る制御装置は、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置であって、前記車載装置は、以下の第1の記憶領域と第2の記憶領域とを有し、前記更新処理は、前記第2の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第1の記憶領域を示す情報から前記第2の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第1の記憶領域から前記第2の記憶領域へ切り替える切替処理と、を含み、前記制御装置は、前記複数の車載装置と通信する車内通信部を備え、前記車内通信部は、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を送信する。
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域
また、本開示の一の態様に係る制御方法は、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する方法であって、前記車載装置は、以下の第1の記憶領域と第2の記憶領域とを有し、前記更新処理は、前記第2の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第1の記憶領域を示す情報から前記第2の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第1の記憶領域から前記第2の記憶領域へ切り替える切替処理と、を含み、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を生成するステップと、生成された前記開始指示を前記車載装置ごとに送信するステップと、を備える。
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域
また、本開示の一の態様に係るコンピュータプログラムは、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、前記車載装置は、以下の第1の記憶領域と第2の記憶領域とを有し、前記更新処理は、前記第2の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第1の記憶領域を示す情報から前記第2の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第1の記憶領域から前記第2の記憶領域へ切り替える切替処理と、を含み、前記コンピュータに、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を生成するステップと、生成された前記開始指示を前記車載装置ごとに送信するステップと、を実行させる。
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域
本開示は、このような特徴的な処理部を備える制御装置、かかる特徴的な処理をステップとする制御方法、及びかかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現することができるだけでなく、制御装置の一部又は全部を実現する半導体集積回路として実現することができる。
<本開示が解決しようとする課題>
車両の高機能化に伴って、1つの機能または互いに関連する複数の機能を複数のECUが協働して実現する場合がある。この場合、複数のECUの制御プログラムを同じタイミングで更新する必要がある。しかしながら、特許文献1,2に開示されている技術では、複数のECUのそれぞれにおいて、制御プログラムの書き換えが完了したタイミングで制御プログラムを読み出すメモリ領域の切替が行われると、現バージョンの制御プログラムが実行されるECUと新バージョンの制御プログラムが実行されるECUとが混在する場合がある。各ECU間で制御プログラムのバージョンが一致しないと、対象の機能によっては当該機能が適切に実現されない可能性があるという課題がある。
車両の高機能化に伴って、1つの機能または互いに関連する複数の機能を複数のECUが協働して実現する場合がある。この場合、複数のECUの制御プログラムを同じタイミングで更新する必要がある。しかしながら、特許文献1,2に開示されている技術では、複数のECUのそれぞれにおいて、制御プログラムの書き換えが完了したタイミングで制御プログラムを読み出すメモリ領域の切替が行われると、現バージョンの制御プログラムが実行されるECUと新バージョンの制御プログラムが実行されるECUとが混在する場合がある。各ECU間で制御プログラムのバージョンが一致しないと、対象の機能によっては当該機能が適切に実現されない可能性があるという課題がある。
<本開示の効果>
本開示によれば、複数の車載装置において、プログラムのバージョンの不一致の発生を抑えることができる。
本開示によれば、複数の車載装置において、プログラムのバージョンの不一致の発生を抑えることができる。
<本発明の実施形態の概要>
以下、本発明の実施形態の概要を列記して説明する。
(1) 本実施形態に係る制御装置は、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置であって、前記車載装置は、以下の第1の記憶領域と第2の記憶領域とを有し、前記更新処理は、前記第2の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第1の記憶領域を示す情報から前記第2の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第1の記憶領域から前記第2の記憶領域へ切り替える切替処理と、を含み、前記制御装置は、前記複数の車載装置と通信する車内通信部を備え、前記車内通信部は、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を送信する。
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域
上記の開始指示によって、複数の車載装置での書換処理が同期タイミングに開始する。その結果、複数の車載装置において、記憶領域に書き込まれているプログラムのバージョンが不一致である期間を抑えることができる。このため、たとえ意図しないタイミングで車載装置において切替処理が実行された場合であっても、各車載装置のプログラムのバージョンが不一致となる可能性を抑えることができる。
以下、本発明の実施形態の概要を列記して説明する。
(1) 本実施形態に係る制御装置は、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置であって、前記車載装置は、以下の第1の記憶領域と第2の記憶領域とを有し、前記更新処理は、前記第2の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第1の記憶領域を示す情報から前記第2の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第1の記憶領域から前記第2の記憶領域へ切り替える切替処理と、を含み、前記制御装置は、前記複数の車載装置と通信する車内通信部を備え、前記車内通信部は、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を送信する。
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域
上記の開始指示によって、複数の車載装置での書換処理が同期タイミングに開始する。その結果、複数の車載装置において、記憶領域に書き込まれているプログラムのバージョンが不一致である期間を抑えることができる。このため、たとえ意図しないタイミングで車載装置において切替処理が実行された場合であっても、各車載装置のプログラムのバージョンが不一致となる可能性を抑えることができる。
(2)好ましくは、前記制御装置は、前記車内通信部を制御する制御部をさらに備え、前記制御部は、前記開始指示の受信から前記同期タイミングまでの待機時間を前記車載装置ごとに算出し、前記開始指示は、宛先である前記車載装置に対して算出された前記待機時間を含む。
かかる開始指示を受信した車載装置は、待機時間、書換処理の開始を待機し、当該期間の経過後に書換処理を開始する。そのため、複数の車載装置で書換処理を同期タイミングに開始させることができる。
かかる開始指示を受信した車載装置は、待機時間、書換処理の開始を待機し、当該期間の経過後に書換処理を開始する。そのため、複数の車載装置で書換処理を同期タイミングに開始させることができる。
(3)好ましくは、前記制御装置は、前記車内通信部を制御する制御部をさらに備え、
前記制御部は、前記開始指示の送信予定時刻から、前記車載装置が前記同期タイミングに受信するための前記開始指示を送信するまでの待機時間を前記車載装置ごとに算出し、前記車内通信部は、宛先である前記車載装置に対して算出された前記待機時間の経過後に前記開始指示を送信する。
当該開始指示を受信した車載装置は、当該開始指示を受信したタイミングで書換処理を開始するため、複数の車載装置で書換処理を同期タイミングに開始させることができる。また、このとき、車載装置では待機時間を計時するためのタイマを不要とすることができる。
前記制御部は、前記開始指示の送信予定時刻から、前記車載装置が前記同期タイミングに受信するための前記開始指示を送信するまでの待機時間を前記車載装置ごとに算出し、前記車内通信部は、宛先である前記車載装置に対して算出された前記待機時間の経過後に前記開始指示を送信する。
当該開始指示を受信した車載装置は、当該開始指示を受信したタイミングで書換処理を開始するため、複数の車載装置で書換処理を同期タイミングに開始させることができる。また、このとき、車載装置では待機時間を計時するためのタイマを不要とすることができる。
(4)好ましくは、制御部は、自装置と車載装置との間の通信遅延時間に基づいて待機時間を決定する。
このように同期タイミングが決定されることによって、複数の車載装置で書換処理を高精度で同期タイミングに開始させることができる。
このように同期タイミングが決定されることによって、複数の車載装置で書換処理を高精度で同期タイミングに開始させることができる。
(5)好ましくは、制御部は、車載装置に対する開始指示の送信間隔を用いて待機時間を決定する。
このように同期タイミングが決定されることによって、複数の車載装置で書換処理をより高精度で同期タイミングに開始させることができる。
このように同期タイミングが決定されることによって、複数の車載装置で書換処理をより高精度で同期タイミングに開始させることができる。
(6)本実施の形態に含まれる制御方法は、(1)~(5)のいずれか1つに記載の制御装置における、複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する方法である。
かかる制御方法は、上記(1)~(5)の制御装置と同様の効果を奏する。
かかる制御方法は、上記(1)~(5)の制御装置と同様の効果を奏する。
(7)本実施の形態に含まれるコンピュータプログラムは、コンピュータを(1)~(5)のいずれか1つに記載の制御装置として機能させる。
かかるコンピュータプログラムは、上記(1)~(5)の制御装置と同様の効果を奏する。
かかるコンピュータプログラムは、上記(1)~(5)の制御装置と同様の効果を奏する。
<本発明の実施形態の詳細>
以下、図面を参照しつつ、本発明の実施形態の詳細を説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
以下、図面を参照しつつ、本発明の実施形態の詳細を説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。なお、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
<第1の実施の形態>
[システムの全体構成]
図1は本実施の形態にかかるプログラム更新システムの全体構成および車両の構成を表した概略図である。図1を参照して、プログラム更新システムは、インターネットなどの広域通信網2を介して通信可能な車両1およびサーバ5を含む。サーバ5は、車両1の更新情報を管理するとともに、更新用プログラムを保存する。サーバ5は、予め登録された多数の車両1と通信可能である。
[システムの全体構成]
図1は本実施の形態にかかるプログラム更新システムの全体構成および車両の構成を表した概略図である。図1を参照して、プログラム更新システムは、インターネットなどの広域通信網2を介して通信可能な車両1およびサーバ5を含む。サーバ5は、車両1の更新情報を管理するとともに、更新用プログラムを保存する。サーバ5は、予め登録された多数の車両1と通信可能である。
[車両構成]
図1を参照して、本実施の形態にかかる車両1は、車外装置と通信するための車外通信機15と、複数のECU(Electronic Control Unit)30A,30B,30C,…と、車外装置と複数のECU30A,30B,30C,…との通信を中継するECUである中継装置10と、を含む。ECU30A,30B,30C,…は車載装置の一例である。複数のECU30A,30B,30C,…を代表させてECU30とも称する。複数のECU30それぞれを区別するときには、ECU-1,ECU-2,ECU-3,…とも表現する。
図1を参照して、本実施の形態にかかる車両1は、車外装置と通信するための車外通信機15と、複数のECU(Electronic Control Unit)30A,30B,30C,…と、車外装置と複数のECU30A,30B,30C,…との通信を中継するECUである中継装置10と、を含む。ECU30A,30B,30C,…は車載装置の一例である。複数のECU30A,30B,30C,…を代表させてECU30とも称する。複数のECU30それぞれを区別するときには、ECU-1,ECU-2,ECU-3,…とも表現する。
各ECU30は、中継装置10において終端する車内通信線16A,16Bによって接続されて、中継装置10とともに車内の通信システム4を構成する。複数の車内通信線16A,16Bを代表させて車内通信線16とも称する。通信システム4は、一例として、車内通信線16AにECU30A,30Bが接続され、車内通信線16BにECU30Cが接続される、バス型の通信システム(たとえば、CAN(Controller Area Network))よりなる。CANでは、通信フレームと呼ばれるフォーマットに情報を格納して送受信される。通信フレームは、ハイレベルまたはローレベルの2種類の信号の連続からなる。
通信システム4は、CANだけでなく、LIN(Local Interconnect Network)、CANFD(CAN with Flexible Data Rate)、Ethernet(登録商標)、又はMOST(Media Oriented Systems Transport:MOSTは登録商標)などの通信規格を採用するネットワークであってもよい。
ECU30は、たとえば、アクセル、ブレーキ、ハンドルの操作に対してエンジンやブレーキ、EPS(Electric Power Steering)等の制御を行うパワー・トレイン系ECU、スイッチ操作に応じて車内照明やヘッドライトの点灯/消灯と警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECUなどである。
中継装置10は、さらに、所定規格の通信線を介して車外通信機15と接続されている。または、中継装置10は、車外通信機15を搭載していてもよい。車外通信機15は、インターネット等の広域通信網2を介して、車外装置と無線通信する。車外装置は、たとえば、ECU30の更新用プログラムを保存するサーバ5である。または、車外通信機15は図示しないプラグを有し、当該プラグに接続された車外装置と有線にて通信してもよい。車外通信機15は、ユーザが所有する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置であってもよい。
中継装置10は、車外装置から車外通信機15が受信した情報をECU30に中継する。また、中継装置10は、ECU30から受信した情報を車外通信機15に中継する。車外通信機15は、中継された情報を車外装置に無線送信する。
[中継装置の構成]
図2は、中継装置10の内部構成を示すブロック図である。
図を参照して、中継装置10は、制御部11、記憶部12、および車内通信部13などを備える。
図2は、中継装置10の内部構成を示すブロック図である。
図を参照して、中継装置10は、制御部11、記憶部12、および車内通信部13などを備える。
中継装置10の制御部11は、CPU(Central Processing Unit)を搭載したMCU(Micro Controller Unit)を含む。制御部11のCPUは、記憶部12に記憶された1または複数のプログラムを読み出して、各種処理を実行するための機能を有している。
制御部11のCPUは、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。
制御部11のCPUは、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。
制御部11のCPUは、1または複数の大規模集積回路(LSI)を含む。複数のLSIを含むCPUでは、複数のLSIが協働して当該CPUの機能を実現する。
制御部11のCPUが実行するコンピュータプログラムは、CD-ROMやDVD-ROMなどの記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からのダウンロードによって譲渡することもできる。
記憶部12は、フラッシュメモリ若しくはEEPROM(Electrically Erasable Programmable Read Only Memory)などの不揮発性のメモリ素子よりなる。
記憶部12は、制御部11のCPUが実行するプログラムまたは実行に必要なデータなどを記憶する記憶領域を有する。
記憶部12は、制御部11のCPUが実行するプログラムまたは実行に必要なデータなどを記憶する記憶領域を有する。
車内通信部13には車内通信線16が接続されている。車内通信部13は、CANなどの所定の通信規格に則って、ECU30と通信する通信装置よりなる。
車内通信部13は、制御部11のCPUから与えられた情報を所定のECU30宛てに送信し、ECU30が送信元の情報を制御部11のCPUに与える。
車内通信部13は、制御部11のCPUから与えられた情報を所定のECU30宛てに送信し、ECU30が送信元の情報を制御部11のCPUに与える。
車外通信機15は、アンテナと、アンテナからの無線信号の送受信を実行する通信回路とを含む無線通信機よりなる。車外通信機15は、携帯電話網等の広域通信網2に接続されることにより車外装置との通信が可能である。
車外通信機15は、図示しない基地局により形成される広域通信網2を介して、制御部11のCPUから与えられた情報をサーバ5等の車外装置に送信するとともに、車外装置から受信した情報を制御部11のCPUに与える。
車外通信機15は、図示しない基地局により形成される広域通信網2を介して、制御部11のCPUから与えられた情報をサーバ5等の車外装置に送信するとともに、車外装置から受信した情報を制御部11のCPUに与える。
[ECUの構成]
図3は、ECU30の内部構成を示すブロック図である。
図3を参照して、ECU30は、制御部31、記憶部32、および車内通信部33などを備える。
図3は、ECU30の内部構成を示すブロック図である。
図3を参照して、ECU30は、制御部31、記憶部32、および車内通信部33などを備える。
ECU30の制御部31は、CPUを搭載したMCUを含む。制御部31のMCUは、記憶部32に記憶された1または複数のプログラムを読み出して、各種処理を実行するための機能を有している。
制御部31のMCUは、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。
制御部31のMCUは、たとえば時分割で複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行可能である。
制御部31のMCUは、1または複数の大規模集積回路(LSI)を含む。複数のLSIを含むMCUでは、複数のLSIが協働して当該MCUの機能を実現する。
制御部31のMCUが実行するコンピュータプログラムは、CD-ROMやDVD-ROMなどの記録媒体に記録した状態で譲渡することもできるし、サーバコンピュータなどのコンピュータ装置からのダウンロードによって譲渡することもできる。
記憶部32は、フラッシュメモリ若しくはEEPROMなどの不揮発性のメモリ素子よりなる。
記憶部32は、制御部31のMCUが実行するプログラムおよび実行に必要なデータなどを記憶する記憶領域を有する。詳しくは、記憶部32は、制御部31のMCUが実行するコンピュータプログラムを記憶する領域として第1ファームウェア(FW)記憶領域321および第2FW記憶領域322と、MCUが実行する制御プログラムを記憶している記憶領域を記憶する領域として起動バージョン(Ver)記憶領域323と、を含む。
記憶部32は、制御部31のMCUが実行するプログラムおよび実行に必要なデータなどを記憶する記憶領域を有する。詳しくは、記憶部32は、制御部31のMCUが実行するコンピュータプログラムを記憶する領域として第1ファームウェア(FW)記憶領域321および第2FW記憶領域322と、MCUが実行する制御プログラムを記憶している記憶領域を記憶する領域として起動バージョン(Ver)記憶領域323と、を含む。
車内通信部33には車内通信線16が接続されている。車内通信部33は、CANなどの所定の通信規格に則って、中継装置10および他のECU30と通信する通信装置よりなる。
車内通信部33は、制御部31のMCUから与えられた情報を所定のECUまたは中継装置10宛てに送信し、所定のECUまたは中継装置10が送信元の情報を制御部31のMCUに与える。
車内通信部33は、制御部31のMCUから与えられた情報を所定のECUまたは中継装置10宛てに送信し、所定のECUまたは中継装置10が送信元の情報を制御部31のMCUに与える。
[更新処理]
図4A~図4Cは、ECU30における制御プログラムの更新処理を、各記憶領域321,322,323の状態の遷移を用いて説明するための図である。第1FW記憶領域321および第2FW記憶領域322は制御プログラムを記憶する記憶領域であり、起動Ver記憶領域323は制御部31が実行する制御プログラムを読み出す記憶領域を特定する情報(以下、起動情報とも称する)を記憶する記憶領域である。図4A~図4Cの例では、起動情報は、第1FW記憶領域321または第2FW記憶領域322を示す情報(記憶領域情報(<1>または<2>))、および、制御プログラムのバージョン情報である。起動情報は、記憶領域情報とバージョン情報とのいずれか一方であってもよい。
図4A~図4Cは、ECU30における制御プログラムの更新処理を、各記憶領域321,322,323の状態の遷移を用いて説明するための図である。第1FW記憶領域321および第2FW記憶領域322は制御プログラムを記憶する記憶領域であり、起動Ver記憶領域323は制御部31が実行する制御プログラムを読み出す記憶領域を特定する情報(以下、起動情報とも称する)を記憶する記憶領域である。図4A~図4Cの例では、起動情報は、第1FW記憶領域321または第2FW記憶領域322を示す情報(記憶領域情報(<1>または<2>))、および、制御プログラムのバージョン情報である。起動情報は、記憶領域情報とバージョン情報とのいずれか一方であってもよい。
更新処理は、記憶部32に含まれる第1FW記憶領域321と第2FW記憶領域322とのうちの、更新前(現バージョン)の制御プログラムが書き込まれている記憶領域ではない方の記憶領域に更新後(新バージョン)の制御プログラムを書き込む処理(書込処理)と、制御部31が実行する制御プログラムの読出対象(第1FW記憶領域321または第2FW記憶領域322)を示す情報を新バージョンが書き込まれた記憶領域を示す情報に書き換える処理(書換処理)と、第1FW記憶領域321と第2FW記憶領域322との間で読出対象を切り替える処理(切替処理)と、を含む。切替処理の際にはECU30がリセットされる。
図4A~図4Cは更新処理の流れに沿って各記憶領域321,322,323の状態の遷移を示しており、図4Aは書込処理および書換処理の前、図4Bは書込処理および書換処理の後、かつ、切替処理の前、ならびに、図4Cは切替処理の後を示している。
本例において、書込処理および書換処理の前は、図4Aを参照して、制御プログラムの現バージョンはバージョン2(V2)であり、当該制御プログラムは第1FW記憶領域321に書き込まれている。この場合、起動Ver記憶領域323には、起動情報として、第1FW記憶領域321を特定する情報<1>と制御プログラムの現バージョンV2とが記憶されている。第1FW記憶領域321および第2FW記憶領域322のうち、第1FW記憶領域321が現バージョンの制御プログラムを記憶する記憶領域(第1の記憶領域)であり、第2FW記憶領域322が新バージョンに書換可能な記憶領域(第2の記憶領域)である。
制御部31は、起動Ver記憶領域323に記憶されている起動情報に従って第1FW記憶領域321から制御プログラムを読み出して実行する。そのため、当該ECU30ではバージョン2(V2)の制御プログラムが実行されている。
書込処理および書換処理の後、かつ、切替処理の前は、図4Bを参照して、第2FW記憶領域322に新バージョンであるバージョン3(V3)の制御プログラムが書き込まれるとともに、起動Ver記憶領域323の起動情報が、第2FW記憶領域322を特定する情報<2>および制御プログラムの新バージョンV3に書き換えられる。書込処理は、書換処理前の制御部31が現バージョンの制御プログラムの実行中に行われるため、図4Bの段階では、制御部31は、起動Ver記憶領域323に記憶されていた起動情報に従って第1FW記憶領域321から制御プログラムを読み出して実行している。そのため、当該ECU30ではバージョン2(V2)の制御プログラムが実行されている。
切替処理では、書込処理の後の書換処理によって起動Ver記憶領域323が書き換えられたことに従ってECU30がリセットし、再起動後に上記第1の記憶領域と第2の記憶領域とが切り替わる。すなわち、第2FW記憶領域322が第1の記憶領域となり、第1FW記憶領域321が第2の記憶領域となる。
切替処理の後、図4Cを参照して、制御部31は、書換処理によって書き換えられた起動Ver記憶領域323に記憶されている起動情報に従って第2FW記憶領域322から制御プログラムを読み出して実行する。そのため、当該ECU30ではバージョン3(V3)の制御プログラムが実行されている。
[更新制御処理]
本実施の形態にかかるプログラム更新システムでは、広域通信網2を介してサーバ5から更新用プログラムが中継装置10にダウンロードされ、中継装置10からの指示に従ってECU30で更新処理が実行される。以降の説明において、複数のECU30のうち、制御プログラムの更新を行うECUを対象ECUという。
本実施の形態にかかるプログラム更新システムでは、広域通信網2を介してサーバ5から更新用プログラムが中継装置10にダウンロードされ、中継装置10からの指示に従ってECU30で更新処理が実行される。以降の説明において、複数のECU30のうち、制御プログラムの更新を行うECUを対象ECUという。
複数のECU30の中には各制御プログラムのバージョンが規定の組合せであることが要求される複数のECUが含まれる。これら複数のECUを、以降の説明ではECUグループとも称する。ECUグループは、たとえば、ある1つの機能を実現するための複数の機構それぞれを制御するECU群である。
ECUグループでは、各制御プログラムのバージョンを上記規定の組合せである状態を維持するために、制御プログラムの更新処理を同時に実行する必要がある。更新処理は、切替処理によって各対象ECUが新バージョンの制御プログラムで起動すると完了する。同時に更新処理を実行することは、同時に切替処理を実行することを指す。同時に切替処理が完了することで、ECUグループ内で制御プログラムのバージョンが上記の規定の組合せに維持される。
しかしながら、ECU30では予期しないタイミングで制御部11のCPUがリセットすることがある。リセットされたタイミングにECUグループ内で更新処理が完了していない場合、ECUグループ内で制御プログラムのバージョンが上記規定の組合せと一致しない場合が生じる。
そこで、本実施の形態にかかる中継装置10は更新制御装置として機能して、ECUグループで更新処理を実行する際に更新制御処理を実行する。更新制御処理は、書換処理の開始を所定の同期タイミングに同期(一致)させるように、各対象ECUでの更新処理の開始を指示する処理である。なお、ここでの同期(一致)は、各対象ECUでの更新処理の開始時を完全に一致させることの他、一致しないまでも極めて短い期間に属することを含む。つまり、同期タイミングは完全な一点の時刻のみならず、極めて短い期間に属する時刻も含む。
更新処理の制御は、複数の対象ECUで更新処理を同時に開始するタイミング(以下、同期タイミングとも言う)とするための各対象ECUの後述する待機時間を決定する処理(決定処理)、および、各対象ECUでの書換処理の開始を同期タイミングに同期させる指示(書換指示)を生成し、各対象ECUに更新用プログラムとともに更新処理の実行を指示する処理(指示処理)を含む。更新制御処理を実行するための機能として、制御部11は、決定処理を実行する決定部111と、指示処理を実行する指示部112とを含む。指示部112は、書換指示を生成する生成部113と、書換指示を車内通信部13に出力させる出力部114と、を含む。これらの機能は、制御部11のCPUが記憶部12に記憶されているプログラムを読み出して実行することによって実現される。
待機時間は、中継装置10からの書換指示の受信時から書換処理の開始時までの期間を指し、中継装置10と各対象ECUとの間の通信遅延時間を用いて決定される。決定部111は、遅延時間情報Dに基づいて、各対象ECUの待機時間を決定する。遅延時間情報Dは、各ECU30の通信遅延時間DLを記憶した情報である。決定部111は、遅延時間情報Dを予め記憶しておく。
ECU30までの通信遅延時間DLは、一例として、当該ECU30への計測用メッセージ(リクエスト)送信時刻P1、当該ECU30での受信時刻P2、中継装置10へのレスポンスの送信時刻P3、および、当該ECU30からのレスポンスの受信時刻P4から、下の式によって算出される。
DL=((P2-P1)+(P4-P3))/2
DL=((P2-P1)+(P4-P3))/2
決定部111は、予め各ECU30の通信遅延時間を測定して記憶しておいてもよいし、通信状況が変化するたびに測定して遅延時間情報Dを更新してもよい。また、決定部111は、各ECU30の通信遅延時間を複数回測定し、その平均値や中央値などの統計値を遅延時間情報Dとして用いてもよい。
指示部112は、各対象ECUに更新用プログラムを渡して書換処理の開始を指示(書換指示)するとともに、当該対象ECUについて決定された待機時間、書換処理の開始の待機を指示する。そのために、生成部112は、対象ECUの更新用プログラムと、当該対象ECUに対する書換命令と、当該対象ECUの待機時間と、を含む通信フレーム(制御フレーム)を生成する。更新用プログラムと書換命令および待機時間とは、異なる通信フレームであってもよい。
出力部114は、通信フレームを車内通信部13に渡して送信を指示する。また、指示部112は、各対象ECUに対して切替処理の実行を指示(切替指示)する。
ECU30の制御部31は、更新処理を実行する機能である更新処理部311を有する(図3)。更新処理部311は、中継装置10から更新用プログラムとともに書換指示を受信すると、当該指示に従って書換処理を実行する。このとき、書換指示である通信フレームに待機時間が含まれる場合、更新処理部311は、書換指示を受信すると所定のタイミングで書込処理を実行しておき、その後、待機時間経過するまで書換処理を開始せず待機する。待機時間経過すると書換処理を開始する。また、更新処理部311は、中継装置10から切替指示を受信すると当該指示に従って切替処理を実行する。
図5は、決定部111での待機時間の決定方法の一例を説明するための図である。図5は、中継装置10が、ECU30A,30B,30Cの順で書換指示を送信する場合の、ECU30A,30B,30Cそれぞれの待機時間dA,dB,dCの決定方法を説明するための図である。通信プロトコルによっては、すべての対象ECUに対して書換指示をブロードキャストで送信することができない場合がある。この場合、中継装置10は、時刻T1にECU30Aに対する書換指示を送信し、時刻T1から時間間隔t1の経過後にECU30Bに対する書換指示を送信し、さらに、時間間隔t2の経過後にECU30Cに対する書換指示を送信するものとする。
なお、最後に書換指示を送信するECU30Cでの待機時間dCは任意に決定される。待機時間dCは0であってもよい。この場合、中継装置10はECU30Cに対して待機時間dC=0での待機を指示する。中継装置10から待機時間dCが指示されたECU30Cでは、中継装置10からの書換指示を受信すると直ちに書込処理を実行し、書換指示を受信した時刻から待機時間dC経過後の時刻T2に書換処理が開始される。
ECU30C以外の対象ECU30A,30Bに対しては、書換処理の開始時刻がECU30Cでの書換処理の開始時刻と同一の時刻T2となるように、それぞれの待機時間dA,dBが決定される。すなわち、時刻T2が同期タイミングとして、各対象ECUの書換処理の開始を同期するように、待機時間dA,dBが決定される。
図5を参照して、各ECUの待機時間を用いて時刻T2を表すと、下の式(1)~(3)となる。
T2=T1+da+dA …(1)
T2=T1+t1+db+dB …(2)
T2=T1+t1+t2+dc+dC …(3)
T2=T1+da+dA …(1)
T2=T1+t1+db+dB …(2)
T2=T1+t1+t2+dc+dC …(3)
dCは任意に決定される定数であるため、式(1),(2)に式(3)を代入することで、ECU30A,30Bの待機時間dA,dBは、下の式(4),(5)で表される。
dA=t1+t2+dc+dC-da …(4)
dB=t2+dc+dC-db …(5)
dA=t1+t2+dc+dC-da …(4)
dB=t2+dc+dC-db …(5)
中継装置10から待機時間dAが指示されたECU30Aは、中継装置10からの書換指示を受信すると直ちに書込処理を実行し、書換指示を受信した時刻から待機時間dA経過後である時刻T2に書換処理を開始する。また、中継装置10から待機時間dBが指示されたECU30Bは中継装置10からの書換指示を受信すると直ちに書込処理を実行し、書換指示を受信した時刻から待機時間dB経過後である時刻T2に書換処理を開始する。
図6は、第1の実施の形態にかかるプログラム更新システムにおける制御プログラムの更新処理において中継装置10で実行される更新制御処理の流れを示すシーケンス図である。図6を参照して、中継装置10は、サーバ5から新バージョンの制御プログラムの更新用プログラム(ファームウェア)を受信すると(ステップS1)、更新制御処理を開始する。そして、中継装置10の制御部11は、待機時間を決定する決定処理を実行する(ステップS2)。
一例として、複数の対象ECUはECU30A,30B,30Cであり、制御部11は、その順で書換指示を出力する。この場合、ステップS2で中継装置10の制御部11は、図5に示された方法でECU30A,30B,30Cの待機時間dA,dB,dCを決定する。
ステップS2で待機時間dA,dB,dCを決定すると、中継装置10の制御部11は、書換指示を生成し、予め規定している時間間隔t1,t2でECU30A,30B,30Cに順に、車内通信部13に書換指示を送信させる(ステップS3A,S3B,S3C)。このとき、制御部11は、車内通信部13に、各対象ECUに対して、該当する更新用プログラムおよび書換命令とともに、該当する待機時間dA,dB,dCを含む通信フレームを送信させる。
中継装置10からステップS3Aで送信された書換指示を受け取ったECU30Aは所定のタイミングで書込処理を実行し、当該書換指示の受信時刻から待機時間dAの経過後に書換処理を実行する(ステップS4A)。中継装置10からステップS3Bで送信された書換指示を受け取ったECU30Bは所定のタイミングで書込処理を実行し、当該書換指示の受信時刻から待機時間dBの経過後に書換処理を実行する(ステップS4B)。中継装置10からステップS3Cで送信された書換指示を受け取ったECU30Cは所定のタイミングで書込処理を実行し、当該書換指示の受信時刻から待機時間dCの経過後に書換処理を実行する(ステップS4C)。各対象ECUは、書換処理が完了すると中継装置10に完了を通知する。
各対象ECUでの書換処理が完了すると、中継装置10は、各対象ECUに対して切替指示を送信し、切替処理の開始を指示する(ステップS5)。中継装置10からステップS5で切替指示を受け取った各ECU30A,30B,30Cは、一斉に切替処理を実行する(ステップS6A,S6B,S6)。これにより、複数のECU30A,30B,30CからなるECUグループは、同時に新バージョンの制御プログラムで起動する。
[第1の実施の形態の効果]
本実施の形態では、上記の更新制御処理が実行されることによって、ECUグループの各ECUは中継装置10から指示された待機時間の後に書換処理を実行する。そのため、ECUグループの各ECUでの書換処理が、所定の同期タイミングで開始する。書換処理は起動Ver記憶領域323に記憶されている読出対象を示す情報を書き換える処理であって、極めて短時間の処理であるため、ECUグループで概ね同期したタイミングで書換処理が完了する。そのため、本実施の形態にかかるプログラム更新システムでは、ECUグループ内で記憶領域に書き込まれた読出対象の記憶領域に書き込まれている制御プログラムのバージョンが一致していない期間を抑えることができる。
本実施の形態では、上記の更新制御処理が実行されることによって、ECUグループの各ECUは中継装置10から指示された待機時間の後に書換処理を実行する。そのため、ECUグループの各ECUでの書換処理が、所定の同期タイミングで開始する。書換処理は起動Ver記憶領域323に記憶されている読出対象を示す情報を書き換える処理であって、極めて短時間の処理であるため、ECUグループで概ね同期したタイミングで書換処理が完了する。そのため、本実施の形態にかかるプログラム更新システムでは、ECUグループ内で記憶領域に書き込まれた読出対象の記憶領域に書き込まれている制御プログラムのバージョンが一致していない期間を抑えることができる。
これに対して、図7は、上記の更新制御処理を実行しない比較例にかかるプログラム更新システムでの制御プログラムの更新処理の流れを表わしたシーケンス図である。本実施の形態での更新制御処理の効果を、図7の更新処理の流れと比較して説明する。
図7を参照して、比較例にかかるプログラム更新システムでは、中継装置10がステップS1でサーバ5から新バージョンの制御プログラムの更新用プログラム(ファームウェア)を受信すると、各対象ECU30A,30B,30Cに対して更新用プログラムを渡すとともに書換指示を送信する(ステップS31,S31B,S31C)。中継装置10から書換指示を受け取った対象ECUは、直ちに書込処理および書換処理を実行する(ステップS41A,S41B,S41C)。
図7を参照して、比較例にかかるプログラム更新システムでは、中継装置10がステップS1でサーバ5から新バージョンの制御プログラムの更新用プログラム(ファームウェア)を受信すると、各対象ECU30A,30B,30Cに対して更新用プログラムを渡すとともに書換指示を送信する(ステップS31,S31B,S31C)。中継装置10から書換指示を受け取った対象ECUは、直ちに書込処理および書換処理を実行する(ステップS41A,S41B,S41C)。
中継装置10から各対象ECUまでには通信遅延時間が発生するため、書換指示はすべての対象ECUにおいて同時には受信されない。また、上記のように、通信プロトコルによっては書換指示をブロードキャストで送信せずに、所定の時間間隔で順次対象ECUに送信する。そのため、比較例にかかるプログラム更新システムでは、書換処理の実行を開始するタイミングが対象ECUごとに異なる。
図7の例では、ECU30Aで最初に書換処理が実行され(ステップS41A)、ECU30Cで最後に書換処理が実行される(ステップS41C)。そのため、ECU30Aで書換処理が完了してからECU30Cで書換処理が完了するまでの期間Pにおいては、各対象ECU30A,30B,30Cの記憶領域に書き込まれた読出対象の記憶領域に書き込まれている制御プログラムのバージョンが異なる。
対象ECUでは、ステップS5での中継装置10からの切替指示に従って切替処理が実行され、新バージョンの制御プログラムで各対象ECUが起動する。しかしながら、中継装置10からの切替指示と関わらず、意図しないタイミングでECU30がリセットする場合がある。図7に示された比較例にかかるプログラム更新システムにおいて、上記の期間Pでいずれかの対象ECUが意図せずリセットしてしまった場合、ECUグループ内で読出対象の記憶領域に書き込まれている制御プログラムのバージョンの不一致が生じる。この不一致は、期間Pが長いほど生じる可能性が高くなる。
一方、図6に示された本実施の形態にかかるプログラム更新システムでは、中継装置10が更新制御処理を実行することによって、各ECUの記憶領域に書き込まれた読出対象の記憶領域に書き込まれている制御プログラムのバージョンが一致していない期間を抑えることができる。そのため、いずれかのECU30が意図しないタイミングでリセットすることによってECUグループ内で制御プログラムのバージョンの不一致が生じる可能性が大幅に抑えられる。
<第2の実施の形態>
他の例として、中継装置10は、決定処理を実行して対象ECUごとに待機時間を決定すると、対象ECUごとに、送信の時間間隔t1またはt2に加えて当該待機時間を待機してから書換指示を送信してもよい。つまり、中継装置10側で、決定した待機時間、書換指示の送信を待機してもよい。この場合、書換指示には待機時間が含まれず、対象ECUは中継装置10から書換指示を受信すると直ちに書換処理を開始する。なお、この例では、好ましくは、中継装置10は書換指示に先だって書込処理の実行を各対象ECUに指示しておく。そのため、中継装置10からの書換指示を受信した対象ECUでは、直ちに書換処理が開始される。
他の例として、中継装置10は、決定処理を実行して対象ECUごとに待機時間を決定すると、対象ECUごとに、送信の時間間隔t1またはt2に加えて当該待機時間を待機してから書換指示を送信してもよい。つまり、中継装置10側で、決定した待機時間、書換指示の送信を待機してもよい。この場合、書換指示には待機時間が含まれず、対象ECUは中継装置10から書換指示を受信すると直ちに書換処理を開始する。なお、この例では、好ましくは、中継装置10は書換指示に先だって書込処理の実行を各対象ECUに指示しておく。そのため、中継装置10からの書換指示を受信した対象ECUでは、直ちに書換処理が開始される。
図8は、第2の実施の形態にかかるプログラム更新システムにおける制御プログラムの更新処理において中継装置10で実行される更新制御処理の流れを示すシーケンス図である。第2の実施の形態にかかるプログラム更新システムでは、各対象ECUが中継装置10から書換指示を所定の同期タイミングに受信させる。
図8を参照して、第2の実施の形態にかかるプログラム更新システムでも、中継装置10の制御部11は図5に示された方法で待機時間を決定する決定処理を実行して(ステップS2)、ECU30A,30B,30Cの待機時間dA,dB,dCを決定する。
ステップS2で待機時間dA,dB,dCが決定されると、中継装置10の制御部11は、更新用プログラムを含む書換指示を生成し、車内通信部13にECU30A,30B,30Cに書換指示を送信する(ステップS32A,S32B,S32C)。第2の実施の形態において制御部11は、待機時間dA,dB,dCを含まない通信フレーム(制御フレーム)を生成する。第2の実施の形態において制御部11は、予め規定している時間間隔t1,t2に待機時間dA,dB,dCを加えた送信タイミングで、車内通信部13にECU30A,30B,30Cに対して書換指示を送信させる。
詳しくは、中継装置10は、対象ECU30Aに対しては、書換指示を送信する予定時刻T1(図5参照)に対して待機時間dA経過後に書換指示を送信する。ECU30Aは、中継装置10の送信時から遅延時間da分、遅れた時刻T2に書換指示を受信し(図5参照)、時刻T2に書換処理を開始する(ステップS4A)。
対象ECU30Bに対しては、書換指示を送信する予定時刻(ECU30Aに書換指示を送信する予定時刻T1から間隔t1後(=時刻(T1+t1)))に対して待機時間dB経過後に書換指示を送信する。ECU30Bは、中継装置10の送信時から遅延時間db分、遅れた時刻T2に書換指示を受信し(図5参照)、時刻T2に書換処理を開始する(ステップS4B)。
対象ECU30Cに対しては、書換指示を送信する予定時刻(ECU30Bに書換指示を送信する予定時刻(T1+t1)から間隔t2後(=時刻(T1+t1+t2)))に対して待機時間dC経過後に書換指示を送信する。ECU30Cは、中継装置10の送信時から遅延時間dc分、遅れた時刻T2に書換指示を受信し(図5参照)、時刻T2に書換処理を開始する(ステップS4C)。
これにより、複数の対象ECUでの書換処理は同期タイミングである時刻T2に開始する。それにより、第1の実施の形態にかかるプログラム更新システムと同様にECUグループ内で、記憶領域に書き込まれている制御プログラムのバージョンが一致していない期間を抑えることができる。
第2の実施の形態では、中継装置10側で待機時間を待機してから書換指示を送信する構成とすることによって、各ECUは、待機時間の経過を計時する必要がなく、待機時間の経過を計時するためのタイマを不要とすることができる。
<第3の実施の形態>
更新制御装置は中継装置10に限定されず、他の車載装置であってもよい。たとえば、いずれかのECUであってもよい。
更新制御装置は中継装置10に限定されず、他の車載装置であってもよい。たとえば、いずれかのECUであってもよい。
開示された特徴は、1つ以上のモジュールによって実現される。たとえば、当該特徴は、回路素子その他のハードウェアモジュールによって、当該特徴を実現する処理を規定したソフトウェアモジュールによって、または、ハードウェアモジュールとソフトウェアモジュールとの組み合わせによって実現され得る。
上述の動作をコンピュータに実行させるための、1つ以上のソフトウェアモジュールの組み合わせであるプログラムとして提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD-ROM(Compact Disk-Read Only Memory)、ROM、RAMおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
なお、本開示にかかるプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本開示にかかるプログラムに含まれ得る。
また、本開示にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本開示にかかるプログラムに含まれ得る。提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 車両
2 広域通信網
4 通信システム
5 サーバ
10 中継装置(制御装置)
11 制御部
12 記憶部
13 車内通信部
15 車外通信機
16,16A,16B 車内通信線
30,30A,30B,30C ECU(車載装置)
31 制御部
32 記憶部
33 車内通信部
111 決定部
112 指示部
113 生成部
114 出力部
311 更新処理部
321 第1FW記憶領域(第1の記憶領域、第2の記憶領域)
322 第2FW記憶領域(第1の記憶領域、第2の記憶領域)
323 起動Ver記憶領域
2 広域通信網
4 通信システム
5 サーバ
10 中継装置(制御装置)
11 制御部
12 記憶部
13 車内通信部
15 車外通信機
16,16A,16B 車内通信線
30,30A,30B,30C ECU(車載装置)
31 制御部
32 記憶部
33 車内通信部
111 決定部
112 指示部
113 生成部
114 出力部
311 更新処理部
321 第1FW記憶領域(第1の記憶領域、第2の記憶領域)
322 第2FW記憶領域(第1の記憶領域、第2の記憶領域)
323 起動Ver記憶領域
Claims (7)
- 複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置であって、
前記車載装置は、以下の第1の記憶領域と第2の記憶領域とを有し、
前記更新処理は、前記第2の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第1の記憶領域を示す情報から前記第2の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第1の記憶領域から前記第2の記憶領域へ切り替える切替処理と、を含み、
前記制御装置は、前記複数の車載装置と通信する車内通信部を備え、
前記車内通信部は、前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を送信する、制御装置。
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域 - 前記車内通信部を制御する制御部をさらに備え、
前記制御部は、前記開始指示の受信から前記同期タイミングまでの待機時間を前記車載装置ごとに算出し、
前記開始指示は、宛先である前記車載装置に対して算出された前記待機時間を含む、請求項1に記載の制御装置。 - 前記車内通信部を制御する制御部をさらに備え、
前記制御部は、前記開始指示の送信予定時刻から、前記車載装置が前記同期タイミングに受信するための前記開始指示を送信するまでの待機時間を前記車載装置ごとに算出し、
前記車内通信部は、宛先である前記車載装置に対して算出された前記待機時間の経過後に前記開始指示を送信する、請求項1に記載の制御装置。 - 前記制御部は、自装置と前記車載装置との間の通信遅延時間に基づいて前記待機時間を決定する、請求項2または請求項3に記載の制御装置。
- 前記制御部は、前記車載装置に対する前記開始指示の送信間隔を用いて前記待機時間を決定する、請求項4に記載の制御装置。
- 複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する方法であって、
前記車載装置は、以下の第1の記憶領域と第2の記憶領域とを有し、
前記更新処理は、前記第2の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第1の記憶領域を示す情報から前記第2の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第1の記憶領域から前記第2の記憶領域へ切り替える切替処理と、を含み、
前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を生成するステップと、
生成された前記開始指示を前記車載装置ごとに送信するステップと、を備える、制御方法。
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域 - 複数の車載装置それぞれに対して、プログラムの更新処理の開始を指示する制御装置としてコンピュータを機能させるためのコンピュータプログラムであって、
前記車載装置は、以下の第1の記憶領域と第2の記憶領域とを有し、
前記更新処理は、前記第2の記憶領域において新バージョンのプログラムが書き込まれた後に、実行するプログラムの読出対象を示す情報を、前記第1の記憶領域を示す情報から前記第2の記憶領域を示す情報へ書き換える書換処理と、前記読出対象を、前記第1の記憶領域から前記第2の記憶領域へ切り替える切替処理と、を含み、
前記コンピュータに、
前記複数の車載装置における前記書換処理を所定の同期タイミングに開始させる開始指示を生成するステップと、
生成された前記開始指示を前記車載装置ごとに送信するステップと、
を実行させるための、コンピュータプログラム。
第1の記憶領域:プログラムの現バージョンが記憶された記憶領域
第2の記憶領域:プログラムを新バージョンに書換可能な記憶領域
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019517114A JP6573052B1 (ja) | 2018-03-28 | 2019-01-21 | 制御装置、制御方法、およびコンピュータプログラム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-061058 | 2018-03-28 | ||
JP2018061058 | 2018-03-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019187535A1 true WO2019187535A1 (ja) | 2019-10-03 |
Family
ID=68059004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/001716 WO2019187535A1 (ja) | 2018-03-28 | 2019-01-21 | 制御装置、制御方法、およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2019187535A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113678101A (zh) * | 2019-12-09 | 2021-11-19 | 松下知识产权经营株式会社 | 信息处理装置、移动体以及信息处理方法 |
CN115480811A (zh) * | 2021-05-31 | 2022-12-16 | 比亚迪股份有限公司 | 车辆控制器和控制方法及刷写程序的方法和上位机及车辆 |
WO2023085050A1 (ja) * | 2021-11-09 | 2023-05-19 | 株式会社オートネットワーク技術研究所 | 管理装置、管理システム、管理方法及びコンピュータプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006301960A (ja) * | 2005-04-20 | 2006-11-02 | Denso Corp | 自動車用制御ユニット |
JP2010251929A (ja) * | 2009-04-13 | 2010-11-04 | Hitachi Constr Mach Co Ltd | ネットワークi/oシステム |
JP2011148398A (ja) * | 2010-01-21 | 2011-08-04 | Denso Corp | 車両用プログラム更新システム |
JP2017092565A (ja) * | 2015-11-04 | 2017-05-25 | トヨタ自動車株式会社 | スリープ制御方法 |
-
2019
- 2019-01-21 WO PCT/JP2019/001716 patent/WO2019187535A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006301960A (ja) * | 2005-04-20 | 2006-11-02 | Denso Corp | 自動車用制御ユニット |
JP2010251929A (ja) * | 2009-04-13 | 2010-11-04 | Hitachi Constr Mach Co Ltd | ネットワークi/oシステム |
JP2011148398A (ja) * | 2010-01-21 | 2011-08-04 | Denso Corp | 車両用プログラム更新システム |
JP2017092565A (ja) * | 2015-11-04 | 2017-05-25 | トヨタ自動車株式会社 | スリープ制御方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113678101A (zh) * | 2019-12-09 | 2021-11-19 | 松下知识产权经营株式会社 | 信息处理装置、移动体以及信息处理方法 |
CN115480811A (zh) * | 2021-05-31 | 2022-12-16 | 比亚迪股份有限公司 | 车辆控制器和控制方法及刷写程序的方法和上位机及车辆 |
WO2023085050A1 (ja) * | 2021-11-09 | 2023-05-19 | 株式会社オートネットワーク技術研究所 | 管理装置、管理システム、管理方法及びコンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6376312B1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
JP6380461B2 (ja) | 中継装置、プログラム更新システム、およびプログラム更新方法 | |
WO2018079006A1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
US11288156B2 (en) | Control apparatus, control method, and computer program | |
JP6620891B2 (ja) | 中継装置、中継方法、およびコンピュータプログラム | |
WO2019187535A1 (ja) | 制御装置、制御方法、およびコンピュータプログラム | |
US11704104B2 (en) | Control apparatus, control method, and computer program | |
WO2018185994A1 (ja) | 制御装置、転送方法、およびコンピュータプログラム | |
US11416237B2 (en) | Control apparatus, control method, and computer program | |
JP7207301B2 (ja) | 更新制御装置、制御方法、およびコンピュータプログラム | |
JP6465258B1 (ja) | 制御装置、制御方法、およびコンピュータプログラム | |
WO2018230314A1 (ja) | 制御装置、制御方法、およびコンピュータプログラム | |
CN110574015A (zh) | 车载中继装置、控制程序及存储器共有方法 | |
JP6562133B2 (ja) | 中継装置、プログラム更新システム、およびプログラム更新方法 | |
JP2007251722A (ja) | 通信装置、車載システム、データ保存方法及びプログラム | |
JP2018076040A (ja) | 車載更新システム、車載更新装置及びゲートウェイ | |
WO2018142749A1 (ja) | 制御装置、プログラム更新方法、およびコンピュータプログラム | |
JP2018120438A (ja) | 電子制御装置及びプログラム書換システム | |
JP6573052B1 (ja) | 制御装置、制御方法、およびコンピュータプログラム | |
JP2019212230A (ja) | 車載通信装置及び車載装置起動方法 | |
JP2018074306A (ja) | 車内通信システム、車内通信方法、マネージャ装置、及び車載制御装置 | |
JP2019009678A (ja) | 車載通信ネットワークシステム | |
WO2019155684A1 (ja) | 起動制御装置、起動指示装置、起動制御システム、起動方法、およびコンピュータプログラム | |
JP2009065412A (ja) | 車載用通信システム | |
WO2024214525A1 (ja) | 車載中継装置、車載装置および車載システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2019517114 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19777605 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: 19777605 Country of ref document: EP Kind code of ref document: A1 |