Patent Description:
In the related art, a vehicle program rewriting system including a first control unit and a second control unit is known (for example, see <CIT> (Reference <NUM>)).

Reference <NUM> discloses an electric control unit (ECU) including a main microcomputer (first control unit) and a sub microcomputer (second control unit). The ECU includes a serial communication line. The serial communication line couples the main microcomputer and the sub microcomputer.

In the ECU of Reference <NUM>, when programs of the main microcomputer and the sub microcomputer are rewritten, the programs of the main microcomputer and the sub microcomputer are rewritten based on reception of a repro program for the main microcomputer and a repro program for the sub microcomputer transmitted from a rewriting tool.

The main microcomputer of Reference <NUM> is configured to receive the repro program for the main microcomputer and the repro program for the sub microcomputer, and then transmit the received repro program for the sub microcomputer via the serial communication line to the sub microcomputer. The sub microcomputer rewrites the program of the sub microcomputer based on the repro program for the sub microcomputer received from the main microcomputer.

However, in the ECU of Reference <NUM>, when the program of the sub microcomputer is rewritten, the sub microcomputer acquires the repro program for the sub microcomputer transmitted from the rewriting tool via the main microcomputer. In this case, it is necessary for the main microcomputer to execute processing of determining which of repro programs is the repro program for the sub microcomputer, for the main microcomputer to execute processing of confirming whether the sub microcomputer can receive the repro program for the sub microcomputer, and the like. Therefore, in the ECU of Reference <NUM>, there is a disadvantage that a processing time required for rewriting the program of the sub microcomputer increases. Therefore, in the ECU of Reference <NUM>, a processing time for rewriting (updating) the programs of the main microcomputer and the sub microcomputer may increase.

Document <CIT> discloses a relay device communicating with a plurality of control devices that belong to on-vehicle networks. This relay device is provided with a storage unit configured to store therein a plurality of update programs for simultaneous update required for the plurality of control devices, and topologies of the on-vehicle networks, an in-vehicle communication unit configured to transmit the plurality of update programs to the corresponding control devices, respectively, and a control unit configured to control the in-vehicle communication unit such that, as for control devices that belong to a plurality of on-vehicle networks that are individually connected to the relay device and are independent from each other, the plurality of update programs corresponding to the control devices are transmitted in parallel with each other.

A need thus exists for a vehicle program rewriting system and a shift device capable of shortening a processing time for updating programs of a first control unit and a second control unit.

In order to achieve the above object, a vehicle program rewriting system according to a first aspect of this disclosure includes: a first control unit (<NUM>) configured to execute a first control program for controlling a vehicle; a second control unit (<NUM>) provided separately from the first control unit (<NUM>) and configured to execute a second control program for controlling the vehicle; and a first communication line (C1, C3, C5, C8) configured to connect, when rewriting of at least one of the first control program and the second control program is executed, the first control unit (<NUM>) and a program update unit (<NUM>), the program update unit (<NUM>) being configured to transmit program update information to the first control unit (<NUM>); characterized by a second communication line (C11) branching from the first communication line (C1, C3, C5, C8) and configured to connect the second control unit (<NUM>) and the program update unit (<NUM>), wherein the second control unit (<NUM>) is configured to, when the program update information for updating the second control program is transmitted from the program update unit (<NUM>), intercept communication content between the program update unit (<NUM>) and the first control unit (<NUM>) via the second communication line (C11), determining whether update unit identification information (<NUM>) identifying the program update unit (<NUM>) is included in the communication content, when it is determined that the update unit identification information (<NUM>) is included, determining whether second identification information (312b) identifying program update information for the second control program is included in the communication content, and when it is determined that the second identification information (312b) is included, acquiring the program update information for the second control program from the communication content.

In the vehicle program rewriting system according to the first aspect of this disclosure, as described above, the second control unit executes control of, when the program update information for updating the second control program is transmitted from the program update unit, acquiring the program update information for the second control program from among the communication contents between the program update unit and the first control unit acquired via the second communication line. Accordingly, since the second control unit can acquire the program update information for the second control program without going through the first control unit, an amount of processing required for updating the second control program of the second control unit can be reduced by an amount not going through the first control unit. As a result, a processing time for updating programs of the first control unit and the second control unit can be shortened.

In the vehicle program rewriting system according to the first aspect of this disclosure, the first control unit preferably executes control of updating the first control program based on acquisition of the program update information for updating the first control program for controlling a motor from the program update unit.

In the above vehicle program rewriting system according to the first aspect preferably further includes: a first communication unit configured to establish communication between the program update unit and the first control unit, in which the second communication line branches from a portion of the first communication line between the first communication unit and the first control unit.

According to this configuration, since the communication between the program update unit and the first control unit is established, a signal transmitted from the program update unit can be converted into a signal which can be identified in the first control unit in the first communication unit. Therefore, the program update information transmitted from the program update unit and acquired via the second communication line can also be identified in the second control unit.

The vehicle program rewriting system according to the first aspect preferably further includes: a second communication unit configured to communicate with the second control unit; a third communication line that connects the second communication unit and the second control unit; and a fourth communication line branching from the third communication line and connected to the first control unit, in which the second communication unit executes control of, based on acquisition of an update completion notification of the second control program from the second control unit based on the program update information, returning the update completion notification to the second control unit and transmitting the update completion notification via the fourth communication line to the first control unit.

According to this configuration, it is possible to transmit the update completion notification of the second control unit transmitted via the fourth communication line to the first control unit via the first control unit to the program update unit while causing the second control unit to confirm via the third communication line that the second communication unit receives the update completion notification, and thus it is possible to efficiently execute processing of the second communication unit.

In this case, the first control unit is preferably configured to execute control of transmitting, to the program update unit, the update completion notification of the second control unit acquired via the fourth communication line as it is.

According to this configuration, the first control unit only needs to transmit the update completion notification of the second control unit as it is to the program update unit, and thus an increase in an amount of processing in the first control unit can be prevented.

The vehicle program rewriting system according to the first aspect preferably further includes: a motor controlled by the first control unit and the second control unit, in which the first control unit executes control of, based on acquisition of the program update information for updating the first control program for controlling the motor from the program update unit, updating the first control program, and the second control unit executes control of, based on acquisition of the program update information for updating the second control program from the program update unit via the second communication line, updating the second control program.

According to this configuration, since the second control unit can acquire the program update information for the second control program without going through the first control unit, an amount of processing required for updating the second control program of the second control unit can be reduced by an amount not going through the first control unit. As a result, a processing time for updating programs of the first control unit and the second control unit can be shortened.

A shift device according to a second aspect of this disclosure includes the vehicle program rewriting system (<NUM>) according to the above mentioned aspects.

In the shift device according to the second aspect of this disclosure, as described above, the second control unit executes control of, when the program update information for updating the second control program is transmitted from the program update unit, acquiring the program update information for the second control program from among the communication contents between the program update unit and the first control unit acquired via the second communication line. Accordingly, since the second control unit can acquire the program update information for the second control program without going through the first control unit, an amount of processing required for updating the second control program of the second control unit can be reduced by an amount not going through the first control unit. As a result, it is possible to obtain a shift device capable of shortening a processing time for updating the programs of the first control unit and the second control unit.

In the vehicle program rewriting system according to the first aspect, the following configuration is also conceivable.

That is, the program update information includes first control program update information for updating the first control program and second control program update information for updating the second control program, and the program update unit transmits the second control program update information when transmitting the first control program update information.

According to this configuration, since the first control program and the second control program can be updated at the same time, it is possible to prevent a problem caused by updating only one of the first control program and the second control program.

In the vehicle program rewriting system, preferably, a vehicle conversion device includes the first control program update information and the second control program update information, the program update unit includes transmission destination information of the first control unit for transmitting the program update information to the first control unit, and the program update unit transmits both the first control program update information and the second control program update information to the first control unit based on the transmission destination information of the first control unit.

According to this configuration, since the program update unit only needs to transmit both the first control program update information and the second control program update information to the first control unit, it is not necessary to newly provide a communication line or the like for connecting the program update unit and the second control unit. As a result, it is possible to prevent an increase in the number of components in the vehicle program rewriting system.

In the vehicle program rewriting system, preferably, both the first control program update information and the second control program update information are transmitted to the first control unit, and the program update information includes first identification information for identifying the program update information of the first control unit and second identification information for identifying the program update information of the second control unit.

According to this configuration, each of the first control unit and the second control unit can reliably identify its own program update information.

The foregoing and additional features and characteristics of this disclosure will become more apparent from the following detailed description considered with the reference to the accompanying drawings, wherein:.

Hereinafter, an embodiment disclosed here will be described with reference to the drawings.

A configuration of a shift device <NUM> will be described with reference to <FIG>.

The shift device <NUM> is mounted on a vehicle such as an automobile. As shown in <FIG>, in the vehicle, when an occupant (a driver) executes a shift switching operation via an operation portion such as a shift lever (or a shift switch), electrical shift switching control over a transmission mechanism is executed. That is, a position of the shift lever is input at a shift device <NUM> side via a shift sensor provided in the operation portion. Based on control signals transmitted from a dedicated first micro controller unit (MCU) <NUM> (see <FIG>) or a second MCU <NUM> (see <FIG>), which will be described later, provided in the shift device <NUM>, the transmission mechanism is switched to any one of shift positions of a parking (P) position, a reverse (R) position, a neutral (N) position, and a drive (D) position corresponding to a shift operation of the occupant. Such shift switching control is called shift-by-wire (SBW).

The shift device <NUM> includes an actuator unit <NUM> and a shift switching mechanism <NUM> driven by the actuator unit <NUM>. The shift switching mechanism <NUM> is mechanically connected to a manual spool valve (not shown) of a hydraulic valve body in a hydraulic control circuit (not shown) and a parking mechanism in the transmission mechanism. A shift state (the P position, the R position, the N position, and the D position) of a transmission is mechanically switched by driving the shift switching mechanism <NUM>.

As shown in <FIG> and <FIG>, the actuator unit <NUM> includes a motor <NUM>, a drive force transmission mechanism (not shown), a first output shaft sensor <NUM>, a second output shaft sensor <NUM>, a first motor rotation angle sensor <NUM>, a second motor rotation angle sensor <NUM>, a first drive system <NUM>, and a second drive system <NUM>.

As shown in <FIG>, the first output shaft sensor <NUM> is configured to detect a rotation angle of an output shaft <NUM>. For example, the first output shaft sensor <NUM> is implemented by a Hall element. A rotational position (output angle) of the output shaft <NUM> is detected as a continuous output shaft angle. The second output shaft sensor <NUM> is configured to detect a rotation angle of the output shaft <NUM>. For example, the second output shaft sensor <NUM> is implemented by a Hall element. A rotational position (output angle) of the output shaft <NUM> is detected as a continuous output shaft angle.

The first motor rotation angle sensor <NUM> is configured to detect a rotation angle of a rotor (not shown) of the motor <NUM>. For example, the first motor rotation angle sensor <NUM> is implemented by a magneto resistive sensor (MR sensor). The second motor rotation angle sensor <NUM> is configured to detect a rotation angle of the rotor (not shown) of the motor <NUM>. For example, the second motor rotation angle sensor <NUM> is implemented by an MR sensor.

The shift device <NUM> includes a redundant drive system including the first drive system <NUM> and the second drive system <NUM>.

The first drive system <NUM> executes control of, based on measurement values of the first output shaft sensor <NUM> and the first motor rotation angle sensor <NUM>, driving the motor <NUM>. Specifically, the first drive system <NUM> includes the first MCU <NUM> (an example of a "first control unit" in claims), a storage unit (not shown), a first driver <NUM>, and a first inverter <NUM>.

The first MCU <NUM> is configured to control a voltage for driving the motor <NUM>. The first MCU <NUM> is a substrate component in which electronic components are mounted on a substrate. The storage unit is a storage device including memories such as a read only memory (ROM) and a random access memory (RAM). The storage unit stores a first control program for controlling the motor <NUM>. The first driver <NUM> is configured to transmit a signal for controlling the first inverter <NUM>. The first driver <NUM> is an electronic component. The first inverter <NUM> includes a plurality of (six) drive field effect transistors (FETs) <NUM> which can be switched ON or OFF in response to the signal from the first driver <NUM>. In the first inverter <NUM>, by switching ON or OFF of the plurality of drive FETs <NUM>, sine-wave three-phase AC voltages (a U phase, a V phase, and a W phase) are output. The first inverter <NUM> includes an upper arm 163a including a plurality of (three) drive FETs <NUM> and a lower arm 163b including a plurality of (three) drive FETs <NUM>.

The second drive system <NUM> executes control of, based on measurement values of the second output shaft sensor <NUM> and the second motor rotation angle sensor <NUM>, driving the motor <NUM>. Specifically, the second drive system <NUM> includes the second MCU <NUM> (an example of a "second control unit" in claims), a storage unit (not shown), a second driver <NUM>, and a second inverter <NUM>.

The second MCU <NUM> is configured to control a voltage for driving the motor <NUM>. The second MCU <NUM> is a substrate component in which electronic components are mounted on a substrate. The storage unit is a storage device including memories such as a ROM and a RAM. The storage unit stores a second control program for controlling the motor <NUM>. The second driver <NUM> is configured to transmit a signal for controlling the second inverter <NUM>. The second driver <NUM> is an electronic component. The second inverter <NUM> includes a plurality of (six) drive FETs <NUM> which can be switched ON or OFF in response to a signal from the second driver <NUM>. In the second inverter <NUM>, by switching ON or OFF of the plurality of drive FETs <NUM>, sine-wave three-phase AC voltages (a U phase, a V phase, and a W phase) are output. The second inverter <NUM> includes an upper arm 173a including a plurality of (three) drive FETs <NUM> and a lower arm 173b including a plurality of (three) drive FETs <NUM>.

As shown in <FIG>, the shift device <NUM> includes a vehicle program rewriting system <NUM> that updates each of the first control program of the first MCU <NUM> and the second control program of the second MCU <NUM>. Here, update of each of the first control program of the first MCU <NUM> and the second control program of the second MCU <NUM> is executed when the vehicle is inspected at a dealer, a factory, or the like. In a vehicle inspection in a dealer, a factory, or the like, the first control program of the first MCU <NUM> and the second control program of the second MCU <NUM> are updated when a program update unit <NUM> and the vehicle program rewriting system <NUM> are connected by an operator.

As shown in <FIG>, the program update unit <NUM> is a device (repro tool) that updates each of the first control program of the first MCU <NUM> and the second control program of the second MCU <NUM>. The program update unit <NUM> includes a storage unit <NUM>, a central processing unit (CPU) <NUM>, a transmission unit <NUM>, and a reception unit <NUM>.

The storage unit <NUM> is a storage device including memories such as a ROM and a RAM. The storage unit <NUM> stores an update execution program 301a, program update information 301b, and transmission destination information 301c. The CPU <NUM> is configured to process the update execution program 301a. The transmission unit <NUM> is configured to transmit information (data) from the program update unit <NUM>. The reception unit <NUM> is configured to receive information (data) from another device.

As shown in <FIG>, the program update information 301b includes update unit identification information <NUM>, first control program update information <NUM>, and second control program update information <NUM> (an example of "program update information for the second control program" in claims). The update unit identification information <NUM> is a frame ID for identifying the program update unit <NUM>. The first control program update information <NUM> is data for updating the first control program. The second control program update information <NUM> is data for updating the second control program.

The first control program update information <NUM> includes a date and time 311a, first identification information 311b, and first update data 311c. The date and time 311a is a date and time when a program is updated by the program update unit <NUM>. The first identification information 311b is information for identifying the first update data 311c, which is information for updating the first MCU <NUM> itself, from the program update information 301b. The first identification information 311b is a virtual address assigned to the first MCU <NUM>. The first update data 311c is data for updating parameters of the first control program.

The second control program update information <NUM> includes a date and time 312a, second identification information 312b, and second update data 312c. The date and time 312a is a date and time when a program is updated by the program update unit <NUM>. The second identification information 312b is information for identifying the second update data 312c, which is information for updating the second MCU <NUM> itself, from the program update information 301b. The second identification information 312b is a virtual address assigned to the second MCU <NUM>. The second update data 312c is data for updating parameters of the second control program.

The transmission destination information 301c is information for transmitting the program update information 301b to the first MCU <NUM>. The transmission destination information 301c is information based on an ID assigned to the first MCU <NUM>.

As shown in <FIG>, the program update unit <NUM> transmits the program update information 301b to the first MCU <NUM> when the first control program and the second control program are rewritten. That is, the program update unit <NUM> transmits both the first control program update information <NUM> and the second control program update information <NUM> to the first MCU <NUM> based on the transmission destination information 301c for the first MCU <NUM>. Thus, the program update unit <NUM> also transmits the second control program update information <NUM> when transmitting the first control program update information <NUM>.

Here, the vehicle program rewriting system <NUM> includes the motor <NUM> (see <FIG>), the first MCU <NUM>, the second MCU <NUM>, a plurality of communication lines C1 to C12, a first communication unit <NUM>, and a second communication unit <NUM>. Here, the first MCU <NUM>, the second MCU <NUM>, a plurality of communication lines C7 to C12, the first communication unit <NUM>, and the second communication unit <NUM> constitute an electric control unit (ECU). Since the first MCU <NUM> and the second MCU <NUM> are described above, description thereof will be omitted.

The communication lines C1 to C6 are communication lines for constituting a global controller area network (CAN). Each of the communication lines C1 to C6 is a serial communication line. The communication line C1 couples the transmission unit <NUM> of the program update unit <NUM> and the communication line C3. The communication line C2 couples the reception unit <NUM> of the program update unit <NUM> and the communication line C4. The communication line C3 couples the transmission unit <NUM> and another device. The communication line C4 couples another device and the reception unit <NUM>. The communication line C5 branches from the communication line C3 and is connected to a reception unit of the first communication unit <NUM>. The communication line C6 branches from the communication line C4 and is connected to a transmission unit of the first communication unit <NUM>. Here, a combination of the communication line C1, the communication line C3, the communication line C5, and the communication line C8 is an example of a "first communication line" in claims.

Thus, the transmission unit <NUM> of the program update unit <NUM> and a reception unit of the first MCU <NUM> are connected to each other via the communication line C1, the communication line C3, the communication line C5, and the communication line C8. The reception unit <NUM> of the program update unit <NUM> and a transmission unit of the first MCU <NUM> are connected to each other via the communication line C2, the communication line C4, the communication line C6, and the communication line C7. The program update unit <NUM> and the first MCU <NUM> communicate with each other via the CAN via the first communication unit <NUM>.

The communication lines C7 to C12 are communication lines for constituting a CAN. Each of the communication lines C7 to C12 is a serial communication line. The communication line C7 couples the reception unit of the first communication unit <NUM> and the transmission unit of the first MCU <NUM>. The communication line C8 couples the transmission unit of the first communication unit <NUM> and the reception unit of the first MCU <NUM>. The communication line C9 couples a reception unit of the second communication unit <NUM> and a transmission unit of the second MCU <NUM>. The communication line C10 (an example of a "third communication line" in claims) couples a transmission unit of the second communication unit <NUM> and a reception unit of the second MCU <NUM>. The communication line C11 (an example of a "second communication line" in claims) branches from the communication line C8 and is connected to the reception unit of the second MCU <NUM>. That is, the communication line C11 branches from a portion of the communication line C1, the communication line C3, the communication line C5, and the communication line C8 between the first communication unit <NUM> and the first MCU <NUM>. The communication line C12 (an example of a "fourth communication line" in claims) branches from the communication line C10 and is connected to the reception unit of the first MCU <NUM>.

Thus, the first communication unit <NUM> and the first MCU <NUM> communicate with each other via the communication line C7. The first communication unit <NUM> and the second MCU <NUM> communicate with each other via the communication line C11. The second communication unit <NUM> and the second MCU <NUM> communicate with each other via the communication line C9. The second communication unit <NUM> and the first MCU <NUM> communicate with each other via the communication line C12.

The first communication unit <NUM> is configured to establish communication between the program update unit <NUM> and the first MCU <NUM>. The first communication unit <NUM> is a CAN IC. The first communication unit <NUM> is configured to convert a signal from the program update unit <NUM> into a signal which can be identified by the first MCU <NUM>. That is, the first communication unit <NUM> converts CAN High and CAN Low signals transmitted from the program update unit <NUM> into recessive (<NUM>) and dominant (<NUM>) signals, respectively. Conversely, the first communication unit <NUM> converts the recessive (<NUM>) and dominant (<NUM>) signals transmitted from the first MCU <NUM> into the CAN High and CAN Low signals, respectively.

The second communication unit <NUM> is configured to communicate with the second MCU <NUM>. The second communication unit <NUM> is configured to establish communication between another device and the second MCU <NUM>. The second communication unit <NUM> is a CAN IC. The second communication unit <NUM> is configured to convert a signal from the other device into a signal which can be identified by the second MCU <NUM>. That is, the second communication unit <NUM> converts CAN High and CAN Low signals transmitted from the other device into recessive (<NUM>) and dominant (<NUM>) signals, respectively. Conversely, the second communication unit <NUM> converts the recessive (<NUM>) and dominant (<NUM>) signals transmitted from the second MCU <NUM> into the CAN High and CAN Low signals, respectively.

As shown in <FIG>, in the vehicle program rewriting system <NUM> according to the present embodiment, the second MCU <NUM> can acquire the second control program update information <NUM> without using the first MCU <NUM>. Here, when the second MCU <NUM> acquires the second control program update information <NUM> via the first MCU <NUM>, it is necessary for the first MCU <NUM> to execute processing of determining which piece of the program update information 301b is the second control program update information <NUM>, for the first MCU <NUM> to execute processing of determining whether the second MCU <NUM> can receive the second control program update information <NUM>, and the like. Therefore, a processing time required for the program update increases.

Therefore, the second MCU <NUM> executes control of, when the second control program update information <NUM> (program update information) for updating the second control program is transmitted from the program update unit <NUM>, acquiring the second control program update information <NUM> (program update information) for the second control program from among communication contents between the program update unit <NUM> and the first MCU <NUM> acquired via the communication line C11.

Specifically, the second MCU <NUM> is configured to execute control of acquiring the communication contents between the program update unit <NUM> and the first MCU <NUM> always via the communication line C11. The second MCU <NUM> executes control of, based on acquisition of the update unit identification information <NUM> from among the communication contents, recognizing that the program update unit <NUM> is connected. The second MCU <NUM> executes control of, based on the acquisition of the second identification information 312b, acquiring the date and time 312a and the second update data 312c related to the second identification information 312b from among the program update information 301b. The second MCU <NUM> executes control of, based on the second update data 312c, updating the second control program.

The second MCU <NUM> is configured to execute control of transmitting an update completion notification to the program update unit <NUM> after updating the second control program. Here, in the vehicle program rewriting system <NUM>, the update completion notification is transmitted from the second MCU <NUM> to the program update unit <NUM> using an echo back function of the second communication unit <NUM>.

Specifically, the second MCU <NUM> is configured to execute control of transmitting the update completion notification via the communication line C9 to the second communication unit <NUM> after updating the second control program. The second communication unit <NUM> executes control of, based on acquisition of the update completion notification of the second control program from the second MCU <NUM> based on the second control program update information <NUM> (program update information), returning the update completion notification via the communication line C10 to the second MCU <NUM> and transmitting the update completion notification via the communication line C12 to the first MCU <NUM>.

The first MCU <NUM> is configured to execute control of transmitting, to the program update unit <NUM>, the update completion notification of the second MCU <NUM> acquired via the communication line C12 as it is. Specifically, the first MCU <NUM> is configured to execute control of transmitting the update completion notification of the second MCU <NUM> via the communication line C7 to the first communication unit <NUM>. The first communication unit <NUM> transmits, based on acquisition of the update completion notification of the second MCU <NUM> from the first MCU <NUM>, the update completion notification of the second MCU <NUM> via the communication line C2, the communication line C4, and the communication line C6 to the program update unit <NUM>.

Thus, the program update unit <NUM> recognizes completion of the update of the second control program of the second MCU <NUM>.

The first MCU <NUM> executes control of, when the first control program update information <NUM> (program update information) for updating the first control program is transmitted from the program update unit <NUM>, updating the first control program based on acquisition of the first control program update information <NUM>.

Specifically, the first MCU <NUM> executes control of recognizing that the program update unit <NUM> is connected, based on the acquisition of the update unit identification information <NUM> from the program update unit <NUM>. The first MCU <NUM> executes control of, based on the acquisition of the first identification information 311b, acquiring the date and time 311a and the first update data 311c related to the first identification information 311b from among the program update information 301b. The first MCU <NUM> is configured to execute control of updating the first control program based on the first update data 311c.

The first MCU <NUM> is configured to execute control of transmitting an update completion notification to the program update unit <NUM> after updating the first control program.

Specifically, the first MCU <NUM> is configured to execute control of transmitting the update completion notification via the communication line C7 to the first communication unit <NUM> after updating the first control program. The first communication unit <NUM> transmits, based on acquisition of the update completion notification of the first MCU <NUM> from the first MCU <NUM>, the update completion notification of the first MCU <NUM> via the communication line C1, the communication line C2, the communication line C3, the communication line C4, the communication line C5, and the communication line C6 to the program update unit <NUM>.

Thus, the program update unit <NUM> recognizes completion of the update of the first control program of the first MCU <NUM>.

Thus, in the vehicle program rewriting system <NUM>, the update of the first control program of the first MCU <NUM> and the update of the second control program of the second MCU <NUM> can be continuously executed.

In the following, with reference to <FIG>, the program rewriting processing indicating the update of the first control program of the first MCU <NUM> and the update of the second control program of the second MCU <NUM> will be described.

First, program rewriting processing on a first MCU <NUM> side will be described.

In step S101, the first MCU <NUM> determines whether the update unit identification information <NUM> is acquired from the program update unit <NUM>. When the update unit identification information <NUM> is acquired, the processing proceeds to step S102, and when the update unit identification information <NUM> is not acquired, step S101 is repeated. In step S102, the first MCU <NUM> determines whether the first identification information 311b is acquired. When the first identification information 311b is acquired, the processing proceeds to step S103, and when the first identification information 311b is not acquired, step S102 is repeated.

In step S103, the first MCU <NUM> executes control of, based on the acquisition of the first identification information 311b, acquiring the first update data 311c related to the first identification information 311b from among the program update information 301b. In step S104, the first MCU <NUM> updates the first control program based on the first update data 311c. In step S105, the first MCU <NUM> transmits completion of the update via the first communication unit <NUM> to the program update unit <NUM>.

In step S106, the first MCU <NUM> determines whether the completion of the update is received from the second MCU <NUM> via the second communication unit <NUM>. When the completion of the update is received, the processing proceeds to step S107, and when the completion of the update is not received, step S106 is repeated. In step S107, the first MCU <NUM> transmits an update completion notification of the second MCU <NUM> as it is, via the first communication unit <NUM>, to the program update unit <NUM>. Accordingly, the program rewriting processing on the first MCU <NUM> side ends.

Next, program rewriting processing on a second MCU <NUM> side will be described.

In step S201, the second MCU <NUM> intercepts communication contents between the program update unit <NUM> and the first MCU <NUM> to determine whether the update unit identification information <NUM> is acquired from the program update unit <NUM>. When the update unit identification information <NUM> is acquired, the processing proceeds to step S202, and when the update unit identification information <NUM> is not acquired, step S201 is repeated. In step S202, the second MCU <NUM> determines whether the second identification information 312b is acquired. When the second identification information 312b is acquired, the processing proceeds to step S203, and when the second identification information 312b is not acquired, step S202 is repeated.

In step S203, the second MCU <NUM> executes control of, based on the acquisition of the second identification information 312b, acquiring the second update data 312c related to the second identification information 312b from among the program update information 301b. In step S204, the second MCU <NUM> updates the second control program based on the second update data 312c. In step S205, the second MCU <NUM> transmits completion of the update to the second communication unit <NUM>. Accordingly, the program rewriting processing on the second MCU <NUM> side ends.

In the present embodiment, the following effects can be attained.

In the present embodiment, as described above, the second MCU <NUM> executes control of, when the program update information 301b for updating the second control program is transmitted from the program update unit <NUM>, acquiring the second control program update information <NUM> (program update information for the second control program) from among communication contents between the program update unit <NUM> and the first MCU <NUM> acquired via the communication line C11 and the communication line C1. Accordingly, since the second MCU <NUM> can acquire the second control program update information <NUM> without going through the first MCU <NUM>, an amount of processing required for updating the second control program of the second MCU <NUM> can be reduced by an amount not going through the first MCU <NUM>. As a result, a processing time for updating the programs of the first MCU <NUM> and the second MCU <NUM> can be shortened.

In the present embodiment, as described above, the vehicle program rewriting system <NUM> includes the first communication unit <NUM> which establishes communication between the program update unit <NUM> and the first MCU <NUM>. The communication line C11 branches from the portion of the communication line C1, the communication line C2, the communication line C3, the communication line C4, the communication line C5, the communication line C6, and the communication line C8 between the first communication unit <NUM> and the first MCU <NUM>. Accordingly, since the communication between the program update unit <NUM> and the first MCU <NUM> is established, a signal transmitted from the program update unit <NUM> can be converted into a signal which can be identified in the first MCU <NUM> in the first communication unit <NUM>. Therefore, the program update information 301b transmitted from the program update unit <NUM> and acquired via the communication line C11 can also be identified in the second MCU <NUM>.

In the present embodiment, as described above, the vehicle program rewriting system <NUM> includes the second communication unit <NUM> which communicates with the second MCU <NUM>, the communication line C10 which couples the second communication unit <NUM> and the second MCU <NUM>, and the communication line C12 branching from the communication line C10 and connected to the first MCU <NUM>. The second communication unit <NUM> executes control of, based on acquisition of the update completion notification of the second control program from the second MCU <NUM> based on the program update information 301b, returning the update completion notification to the second MCU <NUM> and transmitting the update completion notification via the communication line C12 to the first MCU <NUM>. Accordingly, it is possible to transmit the update completion notification of the second MCU <NUM> transmitted via the communication line C12 to the first MCU <NUM> via the first MCU <NUM> to the program update unit <NUM> while causing the second MCU <NUM> to confirm via the communication line C10 that the second communication unit <NUM> receives the update completion notification, and thus it is possible to efficiently execute processing of the second communication unit <NUM>.

In the present embodiment, as described above, the first MCU <NUM> is configured to execute control of transmitting the update completion notification of the second MCU <NUM> as it is, acquired via the communication line C12, to the program update unit <NUM>. Accordingly, the first MCU <NUM> only needs to transmit the update completion notification of the second MCU <NUM> as it is to the program update unit <NUM>, and thus an increase in an amount of processing in the first MCU <NUM> can be prevented.

In the present embodiment, as described above, the vehicle program rewriting system <NUM> includes the motor <NUM> controlled by the first MCU <NUM> and the second MCU <NUM>. The first MCU <NUM> executes control of, based on the acquisition of the program update information 301b for updating the first control program for controlling the motor <NUM> from the program update unit <NUM>, updating the first control program. The second MCU <NUM> executes control of, based on the acquisition of the program update information 301b for updating the second control program for controlling the motor <NUM> from the program update unit <NUM> via the communication line C11, updating the second control program. Accordingly, since the second MCU <NUM> can acquire the second control program update information <NUM> (program update information for the second control program) for controlling the motor <NUM> without going through the first MCU <NUM>, an amount of processing required for updating the second control program of the second MCU <NUM> can be reduced by an amount not going through the first MCU <NUM>. As a result, a processing time for updating the programs of the first MCU <NUM> and the second MCU <NUM> for controlling the motor <NUM> can be shortened.

In the present embodiment, as described above, in the shift device <NUM>, the second MCU <NUM> executes control of, when the program update information 301b for updating the second control program is transmitted from the program update unit <NUM>, acquiring the second control program update information <NUM> (program update information for the second control program) from among communication contents between the program update unit <NUM> and the first MCU <NUM> acquired via the communication line C11. Accordingly, since the second MCU <NUM> can acquire the second control program update information <NUM> without going through the first MCU <NUM>, an amount of processing required for updating the second control program of the second MCU <NUM> can be reduced by an amount not going through the first MCU <NUM>. As a result, it is possible to obtain the shift device <NUM> capable of shortening a processing time for updating the programs of the first MCU <NUM> and the second MCU <NUM>.

It should be considered that the above embodiment disclosed here is an example in all respects and is not restrictive. The scope of invention is defined in the appended claims.

For example, in the above embodiment, the shift device <NUM> executes rewriting of both the first control program and the second control program, but this disclosure is not limited to this example. This disclosure may be configured to execute rewriting of either the first control program or the second control program.

In the above embodiment, each of the first control program and the second control program is a program for controlling the motor <NUM>, but this disclosure is not limited to this example. In this disclosure, each of the first control program and the second control program may be a program for executing programming required for controlling a vehicle (for example, failure diagnosis of a device mounted on the vehicle).

In the above embodiment, an example in which the update completion notification is transmitted from the second MCU <NUM> (second control unit) via the second communication unit <NUM> and the first MCU <NUM> (first control unit) to the program update unit <NUM> using the echo back function of the second communication unit <NUM> is described, but this disclosure is not limited to this example. In this disclosure, a communication line that connects the first control unit and the second control unit may be provided, and the update completion notification may be transmitted from the second control unit via the first control unit to the program update unit.

In the above embodiment, an example is shown in which the shift device <NUM> disclosed here is applied to a shift device for an automobile, but this disclosure is not limited to this example. In this disclosure, the shift device may be applied to a shift device other than the shift device for an automobile, such as a shift device for a train.

In the above embodiment, for convenience of description, an example is shown in which control processing of the first MCU <NUM> (the first control unit) and the second MCU <NUM> (the second control unit) is described using a flow-driven flowchart for sequentially executing processing according to a processing flow, but this disclosure is not limited to this example. In this disclosure, the control processing of the first control unit and the second control unit may be executed by an event-driven processing for executing processing in event units. In this case, the processing may be executed in a completely event-driven manner, or may be executed by combining the event-driven processing and the flow-driven processing.

Claim 1:
A vehicle program rewriting system (<NUM>) comprising:
a first control unit (<NUM>) configured to execute a first control program for controlling a vehicle;
a second control unit (<NUM>) provided separately from the first control unit (<NUM>) and configured to execute a second control program for controlling the vehicle; and
a first communication line (C1, C3, C5, C8) configured to connect, when rewriting of at least one of the first control program and the second control program is executed, the first control unit (<NUM>) and a program update unit (<NUM>), the program update unit (<NUM>) being configured to transmit program update information to the first control unit (<NUM>); characterized by
a second communication line (C11) branching from the first communication line (C1, C3, C5, C8) and configured to connect the second control unit (<NUM>) and the program update unit (<NUM>), wherein
the second control unit (<NUM>) is configured to, when the program update information for updating the second control program is transmitted from the program update unit (<NUM>), intercept communication content between the program update unit (<NUM>) and the first control unit (<NUM>) via the second communication line (C11), determining whether update unit identification information (<NUM>) identifying the program update unit (<NUM>) is included in the communication content, when it is determined that the update unit identification information (<NUM>) is included, determining whether second identification information (312b) identifying program update information for the second control program is included in the communication content, and when it is determined that the second identification information (312b) is included, acquiring the program update information for the second control program from the communication content.