The present invention relates to technology that controls equipment to be installed on a vehicle.
For example, in Patent Literature 1, a gateway apparatus that enables a general-purpose mobile terminal to be used after connecting it to an in-vehicle network is disclosed.
More specifically, Patent Literature 1 discloses technology of the gateway apparatus converting command information between the mobile terminal and on-vehicle devices on in-vehicle networks each corresponding to a different communication protocol, and sending and receiving the command information between the mobile terminal and the on-vehicle device.
Patent Literature 2 discloses a method to add equipment to a communication network of a vehicle.
More specifically, Patent Literature 2 discloses a method of directly calling a dedicated driver to newly added equipment from the communication network (for example, from an internet page of a maker of the driver via the Internet), and providing the equipment with the dedicated driver.
Furthermore, Patent Literature 3 discloses a method of adding equipment to a communication network of a vehicle.
More specifically, Patent Literature 3 discloses a method of reconfiguring network by changing an ID (Identifier) of equipment to be connected, to an ID being associated with an operation order from the ID allocated in advance.
Patent Literature 4 discloses a communication system that calls setting information from an external storage means when equipment is connected to a network.
The setting information of Patent Literature 4 are setting information at an application level, such as volume and track order on audio equipment, a registered location on a car navigation, and a temperature setting of air conditioning equipment.
Patent Literature 5 discloses technology that a device sends device information to an information processing apparatus that is to be a host, and the information processing apparatus, based on the device information received from the device, installs a driver with DLL (Dynamic Link Library) files.
Patent Literature 1: JP2005-236560 A
Patent Literature 2: JP2003-533942 A
Patent Literature 3: JP2006-295426 A
Patent Literature 4: JP2002-051058 A
Patent Literature 5: JP2005-258661 A
The related art (Patent Literature 1) is of a technology of the gateway apparatus converting the command information for the equipment connected to the network.
Therefore, there is a problem that, even if using the technology of Patent Literature 1, controller software of a device to be newly added to an ECU (Electronic Control Unit) cannot be provided to the ECU.
The related art (Patent Literature 2) is of a technology to load the driver of the equipment to be added to the communication network of the vehicle, and as the technology is for IEEE1394, there is a problem that high specification hardware resources are required, which is similar to a problem of Patent Literature 5 that will be later described.
The related art (Patent Literature 3) is of a technology that allocates to a newly added device, a new ID by an ID changing means based on a related operation list owned by a different unit to be added to a network.
Therefore, similar to the problem of Patent Literature 1, there is a problem that, even if using the technology of Patent Literature 3, the controller software of the device to be newly added to the ECU cannot be provided to the ECU.
Since the related art (Patent Literature 4) is of a technology to call the setting information at the application level from the external storage means, there is a problem that the controller software of the device to be newly added to the ECU cannot be provided to the ECU, even if using the technology of Patent Literature 4, which is similar to the problem of Patent Literature 1.
Since the DLL file that the information processing apparatus of the related art (Patent Literature 5) handles uses a dynamic link, there is a problem that high specification hardware resources are required and therefore, the information processing apparatus cannot be applied to an on-vehicle apparatus from a cost point of view.
Since in the related art (Patent Literature 1 through 5), the equipment information is sent from the equipment to be added, a communication function to send data is required in the equipment. Therefore, there is a problem of a rise in the cost of the equipment.
The present invention is conceived in light of such problems described above. The present invention mainly aims to enable an electronic control unit to control a device without a communication function when the device is connected to the electronic control unit, and to enable the electronic control unit to execute a control program without using a dynamic link.
An information processing apparatus according to the present invention includes:
According to the present invention, as the information processing apparatus generates and outputs to the electronic control unit, the new configuration information after the newly connected device is connected, the newly connected device is not required to communicate with the electronic control unit, and even when the device without the communication function is connected to the electronic control unit, the electronic control unit is able to control the device.
According to the present invention, as the information processing apparatus generates and outputs to the electronic control unit the executable file of the new control program after the newly connected device is connected, the electronic control unit is able to execute the control program without using the dynamic link.
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
The on-vehicle apparatus is structured of an ECU 2 installed on a vehicle 1, an external I/F (interface) 3, and a device attachment port 4 to be installed on the vehicle.
The external terminal apparatus 6 is structured of the external I/F 7 which is able to communicate with the vehicle, a device information input-output section 8, a configuration information generation section 11, an executable file generation section 12, and a communication section 16.
The communication section 16 is capable of wireless communication, and the external terminal apparatus 6 is capable of receiving various information from a S/W (software) management server 9 and from an ECU management server 10 by the wireless communication by the communication section 16.
The external I/F 3 installed on the vehicle 1 is such standard external I/F as an OBDII or an external I/F that the ECU 2 has.
On the ECU 2, controller software of the device to be connected to the ECU 2 is implemented.
The controller software is implemented on a rewritable flash memory to be installed on the ECU 2. The device attachment port 4 is integrated with the ECU 2, and each terminal of the device attachment port 4 is physically connected to a microcomputer or a terminal of another IC implemented on the ECU 2.
The ECU management server 10 manages a H/W (hardware) specification of the ECU 2 and a software implementation status of the ECU 2 for each ID that the ECU 2 installed on the vehicle 1 has.
Content that the ECU management server 10 manages is an object file, configuration information, and information of the device attachment port 4, each is implemented on the ECU 2.
The information of the device attachment port 4 is type, number, and status of the ports.
The H/W (hardware) specification that the ECU management server 10 manages is information required in implementing software, such as register information, a memory map, etc.
The ECU management server 10, at the time of updating the software of the ECU 2, also updates the management content.
Further, the ECU management server 10 corresponds to an example of a first management apparatus.
The S/W management server 9 manages an object file that controls a new device 5 and configuration information for the new device 5.
In
Further, the S/W management server 9 corresponds to an example of a second management apparatus.
The external I/F 7 of the external terminal apparatus 6 is connected to the external I/F 3 of the vehicle 1, and similar to the external I/F 3 of the vehicle 1, corresponds to such standard external I/F as the OBDII or an external I/F that the ECU 2 has.
The external I/F 7 outputs to the ECU 2, new configuration information that the configuration information generation section 11 generated, and an executable file of a new control program generated by the executable file generation section 12.
The external I/F 7 corresponds to an example of an output section.
The device information input-output section 8 includes a display section such as a touch panel, etc., and outputs to the display section the information of the device attachment port 4 of the vehicle 1.
Output methods include, for example, displaying and all ports that the device attachment port 4 has, and differentiating an in-use port in a dark color from an unused port in a bright color.
The device information input-output section 8 includes a function to input a port number of the device attachment port 4 that the new device 5 is to be attached to.
Input methods include, for example, touching by an operator on the unused port displayed in the bright color on the above touch panel.
Further, the device information input-output section 8 includes an input function that inputs a device ID of the new device 5.
Inputting of the device ID is done, for example, by the operator inputting manually using a keyboard, etc.
Or, a bar code may be pasted onto a new device, and read by a reader.
The configuration information generation section 11, from configuration information before the new device 5 is attached to the ECU 2, the configuration information of the new device 5, and a specification of the ECU 2, determines whether or not the new device 5 is attachable, and if attachable, generates new configuration information that the new device 5 to be implemented on the ECU 2 is able to use.
The executable file generation section 12 includes a linker function, and from an implementation content of an object file before the new device 5 is attached to the ECU 2, an object file of the new device 5, and the specification of the ECU 2, determines whether or not the new device 5 is attachable, and if attachable, generates a new executable file (the executable file of the control program) that the new device 5 to be implemented on the ECU 2 is able to use.
Next, a flow of operation will be explained.
Details of the entire operation in
Note that in
And in
When both become ready to communicate, the ECU 2 sends an ECU ID that the ECU 2 owns to the ECU management server 10 on an external terminal apparatus side (S60, S61 of
More specifically, for example, the external I/F 3 of the ECU 2 outputs the ECU ID of the ECU 2 to the external I/F 7 of the external terminal apparatus 6, and then the external I/F 7 sends the ECU ID to the ECU management server 10 via the communication section 16.
Alternatively, the ECU 2 may, with another procedure, send the ECU ID to the ECU management server 10.
An operation of the ECU management server 10 will be explained using
The ECU management server 10, upon receiving the ECU ID from the ECU 2 (S50), sends to the executable file generation section 12 an object file of the control program to be implemented on the ECU 2 corresponding to the ECU ID (S51).
Next, the ECU management server 10 sends to the executable file generation section 12 the specification of the ECU 2 of the corresponding ECU ID (S52).
Next, the ECU management server 10 sends to the configuration information generation section 11 the configuration information to be implemented on the ECU 2 corresponding to the ECU ID (S53).
Next, the ECU management server 10 sends to the configuration information generation section 11 a specification of an ECU corresponding to the ECU ID (S54).
Next, the ECU management server 10 notifies the device attachment port information to the device information input-output section 8 (S55).
Next, an operational flow of the device information input-output section 8 will be explained using
The device information input-output section 8 outputs the device attachment port information to the display section (S41), upon obtaining the device attachment port information from the ECU management server 10 via the communication section 16 (S40).
Next, if there is input of the device ID and an attachment port number of the new device 5 from the operator (S42), the device information input-output section 8 notifies the inputted attachment port number to the configuration information generation section 11 (S43), and further, notifies the inputted device ID to the S/W management server 9 (S44).
The S/W management server 9 reads out from a storage area in the S/W management server 9, an object file and configuration information corresponding to the device ID obtained by a notification of the device ID (S44) from the device information input-output section 8.
The object file and the configuration information read out here are the object file and the configuration information to control the new device 5.
The S/W management server 9 sends the read out object file to the executable file generation section 12, and sends the read out configuration information to the configuration information generation section 11.
Next, an operational flow of the configuration information generation section 11 will be explained using
First, the configuration information generation section 11 reads the specification of the ECU 2 sent from the ECU management server 10 at S54 (S10).
The configuration information generation section 11 reads the configuration information implemented on the ECU 2 and sent from the ECU management server 10 at S53 (S11).
The configuration information generation section 11 reads the configuration information of the new device 5 sent from the S/W management server 9 (S12).
Furthermore, the configuration information generation section 11 reads the attachment port number of the new device 5 sent from the device information input-output section 8 (S13).
Here, as an example, the specification of the ECU 2 read at S10 is shown in FIG. 8.
Configuration information implemented on the ECU read at S11 is shown in
The configuration information of the new device 5 read at S12 is shown in
Furthermore, the attachment port number of the new device 5 read at S13 is shown in
Further,
Next, the configuration information generation section 11 performs a configuration generation determination process (S14) based on the information read at S10 through S13.
Details of the configuration generation determination process (S14) will be explained using
The attachment port number of the new device 5 read at S13 is, according to
Since the attachment port number of the new device 5 is 2, the configuration information generation section 11 confirms status of use of the port number 2 of the configuration information implemented on the ECU 2 (
Since the status of use of the port number 2 of the configuration information implemented on the ECU 2 (
Since
Next, the configuration information generation section 11 checks whether or not there is an unused resource in the timer resources of the ECU 2 (S22).
Since in
Accordingly, since the input port and the interrupt that the new device 5 requires become usable, the configuration information generation section 11 determines that new device registration is OK (S23).
Now return again to
The configuration information generation section 11, when the registration of the new device is OK (S15), generates the new configuration information (S16).
The new configuration information generated here is shown in
In newly generated configuration information, the device ID of the new device 5 is registered in the status of use of the I/O port 2, and a value to be used as an input is registered in the setting value (here, the case to be used as the input is shown as “0x0101”).
The device ID of the new device 5 is registered in the status of use of a second interrupt vector, and an integer name described in
The configuration information generation section 11 sends to the ECU 2, the newly generated configuration information (S17).
Next, an operational flow of the executable file generation section 12 will be explained using
The executable file generation section 12, first reads the specification of the ECU 2 (S30), and continues to read the object file implemented on the ECU 2 and sent from the ECU management server 10 (S31).
Furthermore, the executable file generation section 12 reads the object file for the new device 5 sent from the S/W management server 9 (S32).
Here, the executable file generation section 12, based on the specification obtained at S30, determines whether or not linking is executable on the object file read at S31 and the object file read at S32 (S33).
Specific item of the present determination process is, for example, checking whether or not physical address mapping is possible from the memory map that the ECU 2 has as its specification, if an execution of linking is performed on the object files of S31 and S32.
If the file after the execution of linking (the executable file) overflows from a flash memory area of the ECU 2 allotted as a ROM area, the execution of linking becomes NG, and if the file is capable of being accommodated in the flash memory area allotted as the ROM area, the execution of linking becomes OK.
If the execution of linking is possible (S34), the executable file generation section 12 executes linking on the object files of S31 and S32, and generates an executable file (S35).
And then, the executable file generation section 12 sends to the ECU 2 the generated new executable file via the external I/F 7 (S36).
Next, an operational flow of the ECU 2 will be explained using
After the ECU 2 is connected to the external terminal apparatus 6 (S60), the ECU 2 sends the ECU ID to the ECU management server 10 (S61), as previously described.
After sending the ECU ID, the ECU 2 waits to receive the newly generated executable file and the newly generated configuration information (S62, S63).
The ECU 2, upon receiving the newly generated executable file and the newly generated configuration information, writes each of the newly generated executable file and the newly generated configuration information into a flash memory, etc. of the ECU 2 (S64).
Further, when writing, the ECU 2 writes into a predetermined area shown in
In other words, the ECU 2 writes the newly generated executable file into an application code area and the newly generated configuration information into a configuration data area.
The ECU 2, after completing writing in of the newly generated executable file and the newly generated configuration information (S65), notifies the write complete to the executable file generation section 12 (S66) and notifies the write complete to the configuration information generation section 11 (S67).
Further, the configuration information generation section 11, upon receiving the notification of write complete from the ECU 2 (S18 of
The executable file generation section 12, upon receiving the notification of write complete from the ECU 2 (S37 of
The ECU management server 10, upon receiving the updated data sent at S38 (S56 of
The ECU management server 10, upon receiving the updated data sent at S19 (S58), updates configuration information of the corresponding ECU ID based on the updated data received from the configuration information generation section 11 (S59).
A flow showing a process at power-on of the ECU 2 will be explained using
The ECU 2, after power becomes ON (S70), performs a stack setting to a startup program as usual (S71).
Next, the ECU 2 reads the configuration information from the configuration data area described in
The ECU 2, based on the configuration information read at S72, then performs an interrupt vector setting (S73), a data setting (S74), a register setting (S75), and a port input-output setting (S76) carried out in the usual startup program.
As described above, the controller software of the new device 5 is added to the ECU 2 installed on the vehicle 1, and the vehicle 1 becomes capable of using the new device 5.
As described, according to the present embodiment, by generating the configuration information in the external terminal apparatus, the communication function is not necessary on the device to be added, and in the control apparatus (ECU) which is installed on the vehicle, a program is executed using not a dynamic link, but a static link of a software module.
Accordingly, attaching and detaching of a device that requires addition/updates of the controller software in the ECU can be realized with low cost.
By providing the input-output section relating to the device to be added, the communication function to send information is not necessary on the device to be added.
By automatically generating the configuration information in the external terminal apparatus, configuration generation operation by a person is not necessary.
Furthermore, by generating an executable file managed with a physical address from the software module managed with a logical address in the external terminal apparatus, the program is executed using not the dynamic link, but the static link in the ECU which is installed on the vehicle.
As stated above, the external terminal apparatus of the present embodiment including the following was explained:
The ECU according to the present embodiment including the following was explained:
In
The ECU 2 and the device attachment port 4 are connected by a network.
Therefore, each terminal of the device attachment port 4 is logically connected to the microcomputer implemented on the ECU 2 or a terminal of another IC.
The ECU 2 is provided with shared memory 14 and the device attachment port is provided with shared memory 15, for sending and receiving data between the ECU 2 and the device attachment port 4.
The shared memory 15 corresponds to an example of a first memory, and the shared memory 14 corresponds to an example of a second memory.
The shared memory 14 of the ECU 2 and the shared memory 15 of the device attachment port 4 transfer data to each other, synchronizing and periodically updating via the network between the ECU 2 and the device attachment port 4, based on a lay out definition of data previously defined to respective memory space.
If the data layout definition of the memory space and timing of periodic communication via the network can be changed, the device attachment port acquires broader usage and versatility.
For example, for improving accuracy of an A/D (Analog/Digital) conversion or a D/A (Digital/Analog) conversion, a large amount of bits of memory needs to be allotted.
On the contrary, in logical data such as Low/High of the terminal, not a large amount of bits is required.
Since there is a limit to the memory space, an appropriate number of bits needs to be allotted for each signal.
A shared memory configuration information generation section 13 of the ECU 2 includes a means to manage a shared memory as described above.
The S/W management server 9 and the ECU management server 10 of
Where the S/W management server 9 and the ECU management server 10 manage the source code of the control program, the executable file generation section 12 includes a compiler in addition to the linker, compiles the source code, and after generating the object file, executes the linker to generate the executable file.
In Embodiment 1, corresponding to an update of an application code (an executable file of the controller software) only or to an update of the configuration information only, as shown in
Where either of the application code or the configuration information is not required to be updated, a structure in which the area is not separated is applicable.
In this case, as with general embedded equipment, the configuration information is managed in the application code.
In this case, in the power-on process of the ECU 2 (
In Embodiment 1, when the new device 5 is attached, the controller software is added, and when the device is detached, the controller software is deleted.
The present embodiment is realized basically with a similar flow as the flow of adding the device shown in Embodiment 1.
What differs from Embodiment 1 is that the device information input-output section 8 is provided with a means that enables the operator to select a device to be detached from a list of devices.
Specifically, for example, the operator can select the device to be detached by touching the detachable device displayed on the touch panel.
Taking an example of detaching the new device 5 added in Embodiment 1, the configuration information generation section 11 generates the configuration information to be used after the device 5 is detached (
The executable file generation section 12 deletes the object file of a control program for controlling the device 5 to be detached, from the object file of the current control program of the ECU 2, and generates the executable file of a new control program that the ECU 2 executes after the device 5 is detached.
The device information input-output section 8 may be provided with an input means of the ECU ID so that the condition of the device attachment port 4 may be confirmed in advance without connecting the ECU 2 to the external terminal apparatus 6.
Finally, an example of a hardware structure of the external terminal apparatus 6 shown in Embodiments 1 through 6 will be explained referring to
The external terminal apparatus 6 is a computer and each element of the external terminal apparatus 6 may execute a process by a program.
The external terminal apparatus 6 may store the program in a storage medium and may enable the program to be read by the computer from the memory medium.
As for the hardware structure of the external terminal apparatus 6, a calculation apparatus 901, an external storage apparatus 902, a main memory apparatus 903, a communication apparatus 904, an input-output apparatus 905, and an external I/F 906 are connected to a bus.
The calculation apparatus 901 is a CPU (Central Processing Unit) that executes the program.
The external storage apparatus 902 is, for example, a ROM (Read Only Memory) or a flash memory.
The main memory apparatus 903 is a RAM (Random Access Memory).
The communication apparatus 904 is a communication card for wireless communication.
The input-output apparatus 905 is, for example, a touch panel display apparatus.
The external I/F 906 is the external I/F 7 shown in
The program is usually stored in an external storage apparatus 402, and in a condition of being loaded in a main memory apparatus 403, read by the calculation apparatus 901 sequentially, and executed.
The program is the program that realizes a function explained as “. . . section” shown in
Further, in the external storage apparatus 902, an operating system (OS) is also stored, and at least a part of the OS is loaded in the main memory apparatus 903, and the calculation apparatus 901, while executing the OS, executes the program that realizes the function of “. . . section” shown in
In the explanation of Embodiments 1 through 6, information, data, signal values, and variable values that show results of processes that are explained as “decision of . . . ”, “determination of . . . ”, “extraction of . . . ”, “comparison of . . . ”, “updating of . . . ”, “setting of . . . ”, “registration of . . . ”, “selection of . . . ”, “generation of . . . ”, “inputting of . . . ”, “outputting of . . . ”, etc. are stored in the main memory apparatus 903 as a file.
The object file and the configuration information received from the S/W management server 9 and the ECU management server 10 are stored in the external storage apparatus 902 or the main memory apparatus 903.
A decryption key/encryption key, a random value, and a parameter may be stored in the main memory apparatus 903 as a file.
Furthermore, the structure of
By a procedure shown in the flowcharts of Embodiments 1 through 6, an information processing method according to the present invention is realizable.
1: vehicle, 2: ECU, 3: external 1/F, 4: device attachment port, 5: new device, 6: external terminal apparatus, 7: external 1/F, 8: device information input-output section, 9: S/W management server, 10: ECU management server, 11: configuration information generation section, 12: executable file generation section, 13: shared memory configuration information generation section, 14: shared memory, 15: shared memory, 16: communication section
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2012/055479 | 3/2/2012 | WO | 00 | 6/11/2014 |