WO2013088494A1 - エンジン制御装置 - Google Patents
エンジン制御装置 Download PDFInfo
- Publication number
- WO2013088494A1 WO2013088494A1 PCT/JP2011/078691 JP2011078691W WO2013088494A1 WO 2013088494 A1 WO2013088494 A1 WO 2013088494A1 JP 2011078691 W JP2011078691 W JP 2011078691W WO 2013088494 A1 WO2013088494 A1 WO 2013088494A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- core
- lattice
- engine
- cores
- point
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/2406—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using essentially read only memories
- F02D41/2409—Addressing techniques specially adapted therefor
- F02D41/2416—Interpolation techniques
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Definitions
- the present invention relates to an automotive engine control apparatus that determines a control target value of an actuator based on a plurality of operating conditions, and more specifically, engine control that calculates a control target value of an actuator using a multi-core processor having a plurality of cores. Relates to the device.
- the number of cores used by the microcomputer is smaller than that during engine operation. While the engine control is stopped, no power is generated from the alternator or the like as in the engine operation, and the on-vehicle battery is not charged. For this reason, as the number of cores operating at the time of executing a specific control process increases, the charging power of the battery is consumed more and more.
- One of the advantages of using a multi-core processor is its high processing capacity.
- the multi-core processor can obtain higher processing capability.
- the high processing capability is one motivation for using a multi-core processor for an engine control device. This is because in recent years, the number and types of actuators mounted on engines have increased more and more. In order to appropriately control the operation of the engine, it is necessary to set the control target values of these actuators to appropriate values according to the engine operating conditions. Therefore, optimization calculation is performed in the conventional engine control apparatus, but the calculation load at that time increases as the number and types of actuators increase. For this reason, there has been a concern that the processing capability of the single core processor used in the conventional engine control device will eventually become insufficient for an increasing computational load. The use of a multi-core processor has a great merit for the field of engine control, which is expected to increase the calculation load more and more in the future.
- the processing capacity of a multi-core processor is not simply determined by the number of cores.
- a device for operating the cores is required.
- tasks can be distributed to multiple cores and processed in parallel. There will be a big difference in power.
- An object of the present invention is to make it possible to calculate a control target value of one or a plurality of actuators related to engine control at a high speed and with low power consumption by a multi-core processor. And in order to achieve such a subject, this invention provides the following engine control apparatuses.
- the engine control apparatus provided by the present invention has a multi-core processor in which a plurality of cores are arranged in a grid pattern.
- the lattice here means a planar lattice, but the pattern is not limited. In addition to a general square lattice or rectangular lattice, other patterns such as an oblique lattice may be used as the core arrangement pattern.
- the plurality of cores mounted on the multi-core processor have a pair of lattice points arranged on a three-dimensional orthogonal coordinate system with the first operation condition, the second operation condition, and the third operation condition as axes. 1 associated.
- the first operating condition and the second operating condition are particularly important operating conditions when associating the operation amount of the actuator with the control amount of the engine, and one representative example is a set of the engine speed and the engine load. is there.
- the third operating condition is arbitrary, but may be an operating condition that should be prioritized under the current operating state of the engine.
- the engine water temperature may be set as the third operating condition during engine warm-up, and the third operating condition may be changed to the vehicle speed or the intake air temperature after the warm-up is completed.
- the cores associated with the lattice points on the three-dimensional orthogonal coordinate system may not be all the cores mounted on the multi-core processor.
- the lattice points may be associated only with the cores of an n ⁇ m section that is a part of the core.
- a calculation program for calculating the control value of each actuator at the associated lattice point is assigned in advance to each core associated with the lattice point.
- the assigned control value calculation program can be stored in the local memory.
- an interpolation calculation program for interpolation calculation described later can also be stored in the local memory of each core.
- a core to which a control value calculation program is assigned is referred to as a control value calculation core.
- the control value calculation program is preferably a program that calculates an optimal control value by optimal control.
- a plurality of operation spaces are defined by a plurality of lattice points arranged there. Since the three-dimensional lattice pattern taken by the lattice points on the three-dimensional orthogonal coordinate system is a simple cubic lattice, one operating space is defined by eight adjacent lattice points. The current operating point determined by each current value of each operating condition belongs to any operating space on the three-dimensional orthogonal coordinate system.
- Each control value calculation core when the operation space to which the current operating point belongs is a space defined by adjacent eight grid points including the grid point associated with itself, controls the control value at the grid point associated with itself. It is programmed to be calculated by the calculation program and transmitted to the interpolation calculation core.
- each control value calculation core when the operating space to which the current operating point belongs is not a space defined by the adjacent eight grid points including the grid point associated with itself, the grid point associated with itself Is programmed to pause the computation of the control value in Note that whether or not the operating space to which the current operating point belongs is a space defined by adjacent 8 grid points including the grid points associated with the current operating point is determined at a certain time step for each control value calculation core (for example, At every engine control cycle).
- the interpolation calculation core is programmed to interpolate the control value at the current operating point using the control values at the adjacent 8 grid points that define the operating space to which the current operating point belongs.
- the multi-core processor outputs a control value at the current operating point obtained by the interpolation calculation by the interpolation calculation core as a control target value of the actuator.
- the engine control device calculates the control value at each grid point by using the eight cores associated with the adjacent eight grid points that three-dimensionally surround the current operating point, and based on the calculation result. Control calculation at the current operating point.
- the time required for calculating the control target value of the actuator is significantly larger than when using a conventional single core processor. Shortened.
- the engine control apparatus pauses the calculation of the control value for the cores other than the eight cores associated with the adjacent eight grid points, the power consumption can be suppressed while the control target value of the actuator can be calculated at high speed. Can do.
- the lattice points on the three-dimensional orthogonal coordinate system and the core on the plane can be associated with each other at random or in accordance with a certain rule.
- control value data calculated by each core is passed to the interpolation calculation core, a communication delay corresponding to the physical distance occurs. If this point is taken into consideration, it is preferable to associate the lattice points with the cores according to the following rules.
- a plurality of core groups composed of four adjacent cores are set.
- Each core group is associated with four consecutive lattice points having the same coordinates in the first and second operating conditions and different coordinates in the third operating condition.
- Each core group is arranged in the same arrangement as the lattice points on the two-dimensional orthogonal coordinate system with the first operating condition and the second operating condition as axes.
- the lattice points and the cores are associated with each other according to the rules as described above, it is more preferable that the lattice points assigned to each core are sequentially switched within the core group. According to this, it is possible to prevent the deterioration of the core due to the concentration of the computation load on some cores. It should be noted that the replacement of the grid points assigned to each core may be performed, for example, every predetermined operation trip.
- the core that functions as the interpolation calculation core can be fixed to any core.
- any one of the control value calculation cores may be determined as an interpolation calculation core, or an interpolation calculation core may be selected from cores other than the control value calculation core.
- the lattice points and the cores are associated according to the rules described above, it is more preferable to dynamically change the core functioning as the interpolation calculation core between the control value calculation cores.
- each control value calculation core performs the following processing when the operating space to which the current operating point belongs is a space defined by adjacent 8 grid points including the grid point associated with itself. Programmed.
- each control value calculation core determines whether or not the grid point associated with the control value calculation core corresponds to the representative grid point among the adjacent 8 grid points that define the operation space to which the current operating point belongs.
- the core corresponding to the representative lattice point is referred to as a representative core.
- each control value calculation core transmits a control value at a lattice point associated with the control value calculation core to another core that is a representative core.
- it receives control values calculated by those cores from other cores associated with other grid points that define the operating space to which the current operating point belongs.
- the control value at the current operating point is interpolated by the interpolation calculation program.
- An engine control apparatus to which the present invention is applied is an apparatus that calculates a control target value of an actuator related to engine control using a multi-core processor.
- the engine control device of the present embodiment may be a gasoline engine control device.
- the engine control device calculates control target values for actuators such as a throttle, an ignition device, an injector, an EGR valve, a variable valve mechanism, and a waste gate valve.
- the engine control apparatus of the present embodiment may be a diesel engine control apparatus. In this case, the engine control device calculates control target values for actuators such as an injector, an EGR valve, a diesel throttle, and a variable nozzle turbo.
- FIG. 1 is a diagram showing an array of cores of a multi-core processor included in the engine control apparatus of the present embodiment.
- the multi-core processor 100 according to the present embodiment has a structural feature in which a large number of cores 102 are arranged in a lattice pattern.
- the number of cores 102 is 100 or more, and the multi-core processor 100 is also called a many-core processor.
- FIG. 2 is a diagram showing an outline of the hardware architecture of the multi-core processor 100.
- Each core 102 includes a CPU 104 with a cache and a local memory 106, and the cores 102 are connected to each other via a bus 108.
- the local memory 106 stores various programs executed by the CPU 104 and various data used when the programs are executed.
- a shared memory shared between the cores is also connected to the bus 108.
- FIG. 3 is a diagram showing an outline of the software architecture of the multi-core processor 100.
- different OSs 110 operate on the respective cores 102.
- different applications 112 operate on each OS 110.
- An optimal control value calculation program and an interpolation calculation program to be described later are one of such applications 112.
- the OS 110 and the application 112 related to each core 102 are installed in the local memory 106 for each core 102.
- each core 102 can independently execute the application 112.
- inter-OS communication inter-OS communication
- the engine control apparatus acquires current values for three operating conditions that are important in associating the operation amount of the actuator with the control amount of the engine, and determines the control target value of each actuator based on them. To do. Of the three operating conditions, the first and second operating conditions that are particularly important are the engine speed and the engine load, and the third operating condition is the engine water temperature. If the engine speed, the engine load, and the engine water temperature are determined, the control target value of each actuator that can optimize the operating state of the engine can be specified. This can be done using calibration data obtained by actually testing the engine. However, if it is attempted to obtain conformity data for all combinations of the engine speed, the engine load, and the engine water temperature, the conforming work takes enormous time and man-hours.
- the engine control apparatus performs calculation of actuator control target values using interpolation calculation in parallel by the multicore processor 100.
- FIG. 4 is a diagram showing an array of grid points on a three-dimensional orthogonal coordinate system in which the engine speed is the X axis, the engine load is the Y axis, and the engine water temperature is the Z axis.
- 100 grid points are arranged in 5 rows and 5 columns and 4 rows.
- the three-dimensional lattice pattern taken by the lattice points on the three-dimensional orthogonal coordinate system is a simple cubic lattice, and one operation space is defined by eight lattice points arranged at the vertices of a cube which is a unit lattice.
- Each grid point is associated with matching data adapted to the engine speed, engine load, and engine water temperature at that position.
- the matching data at each grid point is incorporated into the optimum control value calculation program and assigned to the core 102 associated with the grid point.
- FIG. 5 is a diagram showing the association between the lattice points arranged on the three-dimensional orthogonal coordinate system shown in FIG. 4 and the cores 102 on the multi-core processor 100.
- the numbers given to some of the cores 102 mounted on the multi-core processor 100 are the coordinate numbers of lattice points associated with the cores. Therefore, a core with the number (2, 1, 3) is associated with a grid point having an X coordinate of 2, a Y coordinate of 1, and a Z coordinate of 3.
- FIG. 5 shows not only all of the 100 lattice points shown in FIG. 4 but only the association of 36 cores and 3 cores in 3 rows and 3 columns and 4 stages close to the origin, and 36 cores.
- the lattice points and the cores 102 are associated one-to-one.
- the cores 102 may be used.
- the lattice points are arranged on the three-dimensional orthogonal coordinate system, whereas the core 102 is arranged on the two-dimensional orthogonal coordinate system. Therefore, the lattice point array is simply replaced with the core 102 array. I can't.
- the lattice points on the three-dimensional orthogonal coordinate system are associated with the core 102 on the two-dimensional orthogonal coordinate system according to a certain rule.
- FIG. 6 is a diagram for explaining the rules in detail.
- the method of associating the lattice points on the three-dimensional orthogonal coordinate system with the core 102 on the plane adopted in the present embodiment will be described with reference to FIG.
- each core 102 is assigned a coordinate number of a lattice point, and a frame surrounding four adjacent cores is drawn.
- This frame means that one group is formed by the four cores 102 surrounded by the frame.
- the code attached to the center of the frame is an identification number of the core group, and is also a number indicating the contents of the lattice points associated with the core group.
- Each core group is associated with four consecutive lattice points having the same X-axis and Y-axis coordinates and different Z-axis coordinates. For example, the identification number Gr.
- the eleven core groups are associated with four lattice points having an X coordinate of 1, a Y coordinate of 1, and a Z coordinate of 1 to 4.
- each core group is arranged in the same arrangement as lattice points on a two-dimensional orthogonal coordinate system in which the engine speed is the X axis and the engine load is the Y axis. That is, the identification number of the core group is also the coordinates of the core group itself.
- the identification number Gr. 32 means that it is the third core group in the X-axis direction and the second core group in the Y-axis direction.
- the core 102 associated with the grid point is assigned an optimal control value calculation program that uses calibration data adapted to the engine speed, engine load, and engine water temperature of the grid point.
- the optimum control value calculation program is installed in the local memory 106 together with the interpolation calculation program.
- the optimum value calculation program is a program for calculating the optimum control value of the actuator using the engine characteristic model.
- the aforementioned fit data is used as the parameter value of the engine characteristic model.
- only the core 102 associated with the lattice point functions as an optimum value calculation core for calculating the actuator control target value, and the other cores perform other processes necessary for engine control. Take on.
- point A indicates an operating point determined by the current values of engine speed, engine load, and engine water temperature, that is, the current operating point.
- the term “current” here means the current point in time of the start of the current time step.
- 100 lattice points arranged in 5 rows and 5 columns and 4 rows are prepared for calculating the optimum control value in the three-dimensional Cartesian coordinate system. No data is available. Therefore, the optimum control value at the current operating point cannot be directly calculated by the optimum control value calculation program.
- the optimal control values at the eight grid points surrounding the current operating point are calculated, and the optimal control values at the current operating point are interpolated and calculated using them.
- the current operating point A has coordinates (2, 2, 2), coordinates (2, 3, 2), coordinates (3, 2, 2), coordinates (2, 2, 3), It belongs to a space defined by lattice points of coordinates (2, 3, 3), coordinates (3, 2, 3), coordinates (3, 3, 2) and coordinates (3, 3, 3). Therefore, if the optimum control values at these adjacent eight grid points are known, the optimum control value at the current operating point A can be obtained by interpolation calculation using them.
- the optimal control value at the current operating point A is specifically calculated by the following procedure.
- the multi-core processor 100 includes (2, 2, 2), (2, 3, 2), (3, 2, 2) among the cores 102 associated with lattice points.
- the cores (2,2,3), (2,3,3), (3,2,3), (3,3,2) and (3,3,3) are used for the calculation.
- Each of these eight cores calculates the optimum control value at the lattice point associated with itself by the optimum control value calculation program installed in its own local memory 106.
- the calculation of optimum control values by these eight cores is performed in parallel.
- the data of the calculation result is collected in the representative core among the eight cores.
- Each core 102 recognizes the lattice point closest to the origin in the three-dimensional orthogonal coordinate system among the adjacent eight lattice points surrounding the current operating point as a representative lattice point, and sets the core associated with the representative lattice point as the representative core. It is programmed to recognize.
- the (2, 2, 2) core is the representative core.
- the core of (2, 2, 2) which is the representative core, uses its optimal control value data calculated by itself and the optimal control value data received from the other seven cores in its own local memory 106.
- the optimum control value at the current operating point A is interpolated by the installed interpolation calculation program.
- the optimum control values at the adjacent eight grid points necessary for the interpolation calculation are calculated in parallel by different cores.
- the time required to calculate the control target value of the actuator can be significantly reduced as compared with the case where a conventional single core processor is used.
- the lattice points by associating the lattice points with the cores according to the above-described rules, it is possible to perform the calculation of the optimum control values at the adjacent eight lattice points with eight cores physically close to each other. Furthermore, one of the eight cores functions as an interpolation calculation core. According to these, not only the difference in communication delay time that occurs when the data of the optimum control value calculated by each core is passed to the interpolation calculation core, but also the communication delay time itself can be reduced.
- the core 102 acquires current values of the engine speed, the engine load, and the engine water temperature. They are calculated based on the output value of the sensor by a core other than the optimum control value calculation core.
- the core 102 identifies the current operating point from the current values of engine speed, engine load, and engine water temperature, and is defined by eight adjacent grid points including the grid point associated with the current operating point. It is determined whether it is in the space.
- step S102 If the result of the determination in step S102 is negative, the core 102 pauses the calculation of the optimal control value and ends the calculation at the current time step. This is to reduce wasteful power consumption.
- step S104 the core 102 executes the optimal control value calculation program, and calculates the optimal control value at the lattice point associated with itself.
- the core 102 determines whether or not it corresponds to the representative core. Whether it is a representative core can be determined from the positional relationship between the lattice point associated with itself and the current operating point.
- step S106 the core 102 executes the process at step S112.
- step S112 the core 102 transmits the optimal control value data calculated by itself to the representative core. Which core corresponds to the representative core can be determined from the coordinates of the current operating point on the three-dimensional orthogonal coordinate system. With the transmission of the optimal control value data, the calculation at the current time step by the core 102 ends.
- step S106 determines whether the determination result of step S106 is affirmative. If the determination result of step S106 is affirmative, the core 102 executes the process of step S108. In step S ⁇ b> 108, the core 102 receives data of optimal control values calculated in the other seven cores associated with other grid points that define the operating space to which the current operating point belongs.
- the core 102 which is the representative core, interpolates the optimal control value at the current operating point by the interpolation calculation program based on the optimal control value at the adjacent eight grid points including the optimal control value calculated by itself. To do.
- the optimum control value at the current operating point obtained by the interpolation calculation is output as the control target value of the actuator. Thereby, the calculation at the current time step by the core 102 ends.
- the power consumption can be suppressed while the control target value of the actuator can be calculated at high speed.
- the driving frequency is different for each driving condition.
- the operation time before warm-up is shorter than the operation time after warm-up
- the idle operation time is shorter than the operation time of full load.
- a space with high operation frequency and a space with low operation frequency exist even in a three-dimensional orthogonal coordinate system with the engine speed, engine load, and engine water temperature as axes.
- a core associated with a lattice point belonging to a space with a high operation frequency has a relatively higher calculation load than other cores. If the calculation load is concentrated on a specific core, the core is deteriorated and the life of the entire multi-core processor 100 is shortened.
- the grid points assigned to each core are sequentially replaced within the core group. That is, the core allocation rotation is executed.
- the rotation is performed clockwise as indicated by an arrow, but it can also be performed counterclockwise.
- Rotation of core allocation is performed by executing a core allocation rotation routine shown in the flowchart of FIG. 11 in each core 102.
- a core allocation rotation routine shown in the flowchart of FIG. 11 in each core 102.
- the core allocation rotation is performed at the timing of turning on the ignition at the start of the current operation. As described above, by performing the core allocation rotation for each predetermined operation trip, it is possible to prevent the deterioration of the core due to the concentration of the computation load on a part of the cores.
- This routine is executed by an application installed in the local memory 106 of each core 102.
- the interpolation calculation is performed by the representative core selected from the cores that have calculated the optimum control value.
- FIG. 12 and FIG. 13 each show a modification of the above embodiment.
- any one of the cores other than the core 102 associated with the lattice point can be used as the interpolation calculation core.
- any one of the cores 102 associated with the lattice points can be fixed as an interpolation calculation core.
- the communication delay time becomes longer according to the physical distance.
- the calculation of the optimal control value used in the interpolation calculation is performed by physically adjacent cores, the difference in communication delay time between the cores is small. Since the difference in communication delay time is small, the entire multi-core processor can perform computation with high efficiency.
- the cores associated with the lattice points may be part or all of the cores mounted on the multi-core processor. If the grid points are associated with all the cores installed in the multi-core processor, the other processing required for engine control is assigned to the core with a relatively low average load among the cores associated with the grid points. You can do it.
- the number of cores mounted on the multi-core processor is preferably 4 or more, more preferably 9 or more, and there is no specific limitation on the number.
- the number of grid points arranged on the three-dimensional orthogonal coordinate system is not specifically limited as long as it is equal to or less than the number of cores mounted on the multicore processor.
- the third operating condition may be changed depending on the state of the engine.
- the engine water temperature is used as the third operating condition until the engine warm-up is completed, and the intake air temperature is set to the third operating condition after the engine warm-up is completed. You may make it use as. Even when the engine is warmed up, the intake air temperature varies. For this reason, the intake air temperature has a larger influence on the engine state when the warm-up is completed than the engine water temperature. Therefore, when the engine warm-up is completed, the third operating condition is changed from the engine water temperature to the intake air temperature, thereby more effectively utilizing the three-dimensional arrangement of grid points to more accurately control the engine state. It becomes possible.
- the third operating condition after completion of engine warm-up may be the vehicle speed instead of the intake air temperature. This is because the strength of the traveling wind varies depending on the vehicle speed, and the temperature of the exhaust system varies.
- any operation condition that varies continuously is preferable as the third operation condition.
- the atmospheric pressure and the EGR rate are suitable as the third operating condition.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Automation & Control Theory (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Multi Processors (AREA)
Abstract
Description
本発明は上述の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば次のように変形して実施してもよい。
102 コア
104 CPU
106 ローカルメモリ
108 バス
110 OS
112 アプリケーション
Claims (9)
- 複数のコアが格子状に配置されたマルチコアプロセッサを有し、前記マルチコアプロセッサを用いて1又は複数のアクチュエータの制御目標値を演算するエンジン制御装置において、
前記複数のコアの少なくとも一部には、第1の運転条件、第2の運転条件及び第3の運転条件を軸とする3次元直交座標系上に配列された複数の格子点が1対1で関連付けられ、そして、関連付けられた格子点における前記1又は複数のアクチュエータの制御値を演算するための演算プログラムが割り当てられ、
格子点を関連付けられた各コアは、現在の動作点が属する前記3次元直交座標系上の運転空間が自身に関連付けられた格子点を含む隣接8格子点により定義される空間である場合、自身に関連付けられた格子点における制御値を前記演算プログラムにより演算して補間計算コアに送信し、前記運転空間が自身に関連付けられた格子点を含む隣接8格子点により定義される空間ではない場合には、自身に関連付けられた格子点における制御値の演算を休止するようにプログラムされ、
前記補間計算コアは、前記動作点が属する運転空間を定義する隣接8格子点における制御値を用いて前記動作点における制御値を補間計算するようにプログラムされ、
前記マルチコアプロセッサは、前記補間計算で得られた前記動作点における制御値を前記制御目標値として出力することを特徴とするエンジン制御装置。 - 隣接する4つのコアからなる複数のコアグループが設定され、
前記各コアグループには、前記第1及び第2の運転条件の各座標が同一で前記第3の運転条件の座標が異なる4つの連続する格子点が関連付けられ、
前記各コアグループは、前記第1の運転条件と第2の運転条件とを軸とする2次元直交座標系上での格子点と同じ並びで配列されていることを特徴とする請求項1に記載のエンジン制御装置。 - 前記マルチコアプロセッサは、各コアが担当する格子点を前記コアグループ内で順番に入れ替えることを特徴とする請求項2に記載のエンジン制御装置。
- 前記マルチコアプロセッサは、所定の運転トリップ毎に前記入れ替えを実施することを特徴とする請求項3に記載のエンジン制御装置。
- 格子点を関連付けられた各コアは、現在の動作点が属する前記3次元直交座標系上の運転空間が自身に関連付けられた格子点により定義される空間であり、自身が前記運転空間を定義する複数の格子点のうちの代表格子点に関連付けられている場合、前記補間計算コアとして機能するようにプログラムされていることを特徴とする請求項2乃至4の何れか1項に記載のエンジン制御装置。
- 前記第1の運転条件と第2の運転条件はエンジン回転数とエンジン負荷であることを特徴とする請求項2乃至5の何れか1項に記載のエンジン制御装置。
- 前記第3の運転条件はエンジン水温であることを特徴とする請求項6に記載のエンジン制御装置。
- 前記複数のコアのそれぞれは、CPUと当該CPUで実行されるプログラムを記憶したローカルメモリとを備え、
前記ローカルメモリには、前記演算プログラムと当該コアが前記補間計算コアとなった場合に実行される補間計算プログラムとが記憶されていることを特徴とする請求項5に記載のエンジン制御装置。 - 格子点を関連付けられた各コアは、関連付けられた格子点における前記1又は複数のアクチュエータの最適制御値を演算することを特徴とする請求項1乃至8の何れか1項に記載のエンジン制御装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/078691 WO2013088494A1 (ja) | 2011-12-12 | 2011-12-12 | エンジン制御装置 |
JP2013548971A JP5704254B2 (ja) | 2011-12-12 | 2011-12-12 | エンジン制御装置 |
US14/364,388 US9442472B2 (en) | 2011-12-12 | 2011-12-12 | Engine control device |
EP11877581.6A EP2793141B1 (en) | 2011-12-12 | 2011-12-12 | Engine control device |
CN201180075464.3A CN103999073B (zh) | 2011-12-12 | 2011-12-12 | 发动机控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/078691 WO2013088494A1 (ja) | 2011-12-12 | 2011-12-12 | エンジン制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013088494A1 true WO2013088494A1 (ja) | 2013-06-20 |
Family
ID=48611984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/078691 WO2013088494A1 (ja) | 2011-12-12 | 2011-12-12 | エンジン制御装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9442472B2 (ja) |
EP (1) | EP2793141B1 (ja) |
JP (1) | JP5704254B2 (ja) |
CN (1) | CN103999073B (ja) |
WO (1) | WO2013088494A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015060454A1 (en) * | 2013-10-25 | 2015-04-30 | Toyota Jidosha Kabushiki Kaisha | Multi-core control device |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013046363A1 (ja) * | 2011-09-28 | 2013-04-04 | トヨタ自動車株式会社 | エンジン制御装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62240441A (ja) * | 1986-04-09 | 1987-10-21 | Hitachi Ltd | 燃料制御装置 |
JPH09198358A (ja) * | 1996-01-23 | 1997-07-31 | Hitachi Ltd | 問題領域分割・割り当て方式およびそれを用いた計算機ライブラリ |
JPH11191848A (ja) * | 1997-10-08 | 1999-07-13 | Seiko Epson Corp | 装置の制御方法および該方法により制御される画像処理装置 |
JPH11280519A (ja) * | 1998-03-30 | 1999-10-12 | Suzuki Motor Corp | 燃料噴射式エンジン |
JP2008197776A (ja) | 2007-02-09 | 2008-08-28 | Fujitsu Ltd | 3次元モデルの形状簡略化装置、3次元モデルの形状簡略化方法及び3次元モデルの形状簡略化プログラム |
JP2008269487A (ja) | 2007-04-24 | 2008-11-06 | Denso Corp | エンジン制御用電子制御装置およびマイクロコンピュータ |
JP2011053876A (ja) | 2009-09-01 | 2011-03-17 | Fujitsu Ltd | 並列計算システムおよび通信制御プログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06243113A (ja) * | 1993-02-19 | 1994-09-02 | Fujitsu Ltd | 並列計算機における計算モデルのマッピング法 |
SE509805C2 (sv) * | 1994-08-11 | 1999-03-08 | Mecel Ab | Metod och system för reglering av förbränningsmotorer |
US6304671B1 (en) * | 1997-10-08 | 2001-10-16 | Seiko Epson Corporation | Image processing apparatus using an offset correction table enabling interpolation to be performed without conditional jumps |
US6519553B1 (en) * | 1998-05-14 | 2003-02-11 | Sandia Corporation | Multiprocessor computer overset grid method and apparatus |
JP2009215944A (ja) * | 2008-03-10 | 2009-09-24 | Hitachi Ltd | 電子制御装置及びその運転方法 |
JP5321691B2 (ja) * | 2009-11-16 | 2013-10-23 | 富士通株式会社 | 並列計算装置、並列計算方法、および並列計算プログラム |
EP2341448A1 (en) * | 2009-12-29 | 2011-07-06 | Robert Bosch GmbH | An electronic control unit and a method of performing interpolation in the electronic control unit |
US8738860B1 (en) * | 2010-10-25 | 2014-05-27 | Tilera Corporation | Computing in parallel processing environments |
US8566002B2 (en) * | 2011-04-18 | 2013-10-22 | GM Global Technology Operations LLC | Engine control systems and methods |
-
2011
- 2011-12-12 CN CN201180075464.3A patent/CN103999073B/zh not_active Expired - Fee Related
- 2011-12-12 US US14/364,388 patent/US9442472B2/en not_active Expired - Fee Related
- 2011-12-12 EP EP11877581.6A patent/EP2793141B1/en not_active Not-in-force
- 2011-12-12 WO PCT/JP2011/078691 patent/WO2013088494A1/ja active Application Filing
- 2011-12-12 JP JP2013548971A patent/JP5704254B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62240441A (ja) * | 1986-04-09 | 1987-10-21 | Hitachi Ltd | 燃料制御装置 |
JPH09198358A (ja) * | 1996-01-23 | 1997-07-31 | Hitachi Ltd | 問題領域分割・割り当て方式およびそれを用いた計算機ライブラリ |
JPH11191848A (ja) * | 1997-10-08 | 1999-07-13 | Seiko Epson Corp | 装置の制御方法および該方法により制御される画像処理装置 |
JPH11280519A (ja) * | 1998-03-30 | 1999-10-12 | Suzuki Motor Corp | 燃料噴射式エンジン |
JP2008197776A (ja) | 2007-02-09 | 2008-08-28 | Fujitsu Ltd | 3次元モデルの形状簡略化装置、3次元モデルの形状簡略化方法及び3次元モデルの形状簡略化プログラム |
JP2008269487A (ja) | 2007-04-24 | 2008-11-06 | Denso Corp | エンジン制御用電子制御装置およびマイクロコンピュータ |
JP2011053876A (ja) | 2009-09-01 | 2011-03-17 | Fujitsu Ltd | 並列計算システムおよび通信制御プログラム |
Non-Patent Citations (2)
Title |
---|
See also references of EP2793141A4 |
TAKESHI HORIE; KENICHI HAYASHI: "Optimal All-to-All Communication Method in Torus Network", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 34, no. 4, 1993, pages 628 - 637 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015060454A1 (en) * | 2013-10-25 | 2015-04-30 | Toyota Jidosha Kabushiki Kaisha | Multi-core control device |
Also Published As
Publication number | Publication date |
---|---|
US9442472B2 (en) | 2016-09-13 |
CN103999073B (zh) | 2017-04-05 |
US20140343823A1 (en) | 2014-11-20 |
JPWO2013088494A1 (ja) | 2015-04-27 |
EP2793141A4 (en) | 2015-10-28 |
CN103999073A (zh) | 2014-08-20 |
EP2793141B1 (en) | 2018-02-28 |
JP5704254B2 (ja) | 2015-04-22 |
EP2793141A1 (en) | 2014-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5668864B2 (ja) | エンジン制御装置 | |
JP5817505B2 (ja) | 内燃機関の制御装置 | |
JP2009047102A (ja) | 車両駆動ユニットの制御装置 | |
JP5704254B2 (ja) | エンジン制御装置 | |
JP2013228859A (ja) | プラント制御装置 | |
EP2960728B1 (en) | Control device | |
EP2734721B1 (en) | Control device for internal combustion engine | |
JP6519515B2 (ja) | マイクロコンピュータ | |
WO2013051108A1 (ja) | 内燃機関の制御装置 | |
JP2019127100A (ja) | 車載用ソフトウェアの並列化方法及び車載用ソフトウェアの並列化システム | |
EP2757239B1 (en) | Internal combustion engine control apparatus | |
CN113239533A (zh) | 发动机排气系统温度模型构建方法、装置及存储介质 | |
JP5817578B2 (ja) | 内燃機関の制御装置 | |
WO2013072986A1 (ja) | パラメータ探索方法およびパラメータ探索システム | |
Hashchuk | Unambiguousness-ambiguity of Parametric Optimization of Motor-car Systems in the Conditions of Criterial Uncertainty | |
JP5742684B2 (ja) | エンジンの予測制御装置 | |
CN211343095U (zh) | 预测恒温控制系统 | |
JP2013167203A (ja) | 内燃機関の制御装置 | |
JP7221125B2 (ja) | 電子演算装置 | |
JP5614395B2 (ja) | 内燃機関の制御装置 | |
JP5696629B2 (ja) | 内燃機関の制御入力値演算方法 | |
CN118907060A (zh) | 动力电池的充放电功率的确定方法和车辆 | |
CN103150468B (zh) | 一种基于统一数学模型的发动机振动激励特性分析方法 | |
CN117094231A (zh) | 天然气发动机硬件参数确定方法、装置、设备及存储介质 | |
JP2013253563A (ja) | 内燃機関の制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11877581 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013548971 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14364388 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011877581 Country of ref document: EP |