Computer-implemented method for calculation and output of control pulses by a control unit

09869264 ยท 2018-01-16

Assignee

Inventors

Cpc classification

International classification

Abstract

A computer-implemented method for calculation and output of control pulses by a control unit having a first computing unit and a second computing unit, wherein the control pulses are output by the control unit to an internal combustion engine. The calculation of the control pulses is optimized in that the first computing unit calculates a control pulse pattern with triggering information for multiple future control pulses at a first sampling rate using prior state data of the engine, and transmits the calculated control pulse pattern to the second computing unit, that the second computing unit at a second sampling rate that is greater than the first sampling rate of the first computing unit corrects the triggering information of the control pulses that are currently to be output using current state data of the engine, and that control pulses are output to the engine based on the corrected triggering information.

Claims

1. A computer-implemented method for calculating and outputting control pulses by a control unit that has a first computing unit and a second computing unit, the control pulses being outputted by the control unit to an internal combustion engine, the method comprising: calculating, via the first computing unit using prior state data of the engine, a control pulse pattern with triggering information for multiple future control pulses at a first sampling rate; transmitting, via the first computing unit, the calculated control pulse pattern to the second computing unit; correcting the triggering information of the control pulses that are currently to be output using current state data of the engine via the second computing unit at a second sampling rate that is greater than the first sampling rate of the first computing unit; outputting the control pulses to the engine via the control unit based on the corrected triggering information; and control the engine using the corrected triggering information, wherein the first computing unit is implemented using at least one processor or microcontroller, and wherein the second computing unit is implemented using at least one programmable logic element or a field programmable gate array.

2. The computer-implemented method according to claim 1, wherein the second computing unit checks whether a control pulse having corrected triggering information conflicts with a subsequent control pulse, and wherein overlaps of triggering intervals defined by the triggering information of consecutive control pulses are detected.

3. The computer-implemented method according to claim 2, wherein control pulses having conflicting triggering information are combined into a single control pulse with averaged triggering information or all but one of the conflicting control pulses are discarded.

4. The computer-implemented method according to claim 1, wherein the control pulses are at least one of pulses for controlling the fuel injection or pulses for controlling the ignition of the injected fuel.

5. The computer-implemented method according to claim 1, wherein the second computing unit uses at least one of a current crankshaft angle, a time derivative of a current crankshaft angle, a current cylinder pressure, or a time derivative of the cylinder pressure, as current state data of the engine.

6. The computer-implemented method according to claim 1, wherein the first computing unit uses at least one of a last known crankshaft angle, a last known value for an air mass flow, a last known value for an injected fuel quantity, a last known value for a combustion air ratio, or a time derivative of the aforementioned variables as prior state data of the engine.

7. The computer-implemented method according to claim 1, wherein the first computing unit calculates, with no time limitations, control pulse patterns that are calculated using the prior state data so that even overlapping control pulse patterns are generated and transmitted to the second computing unit, and wherein the second computing unit uses the most current control pulse pattern received.

8. A control unit for calculating and outputting control pulses to an internal combustion engine, the control unit comprising: a first computing unit; and a second computing unit, wherein the first computing unit is implemented using at least one processor or microcontroller, and wherein the second computing unit is implemented using at least one programmable logic element or a field programmable gate array, wherein, in an operating state of the control unit, the first computing unit calculates a control pulse pattern with triggering information for multiple future control pulses at a first sampling rate using prior state data of the engine and transmits the calculated control pulse pattern to the second computing unit, wherein, in the operating state of the control unit, the second computing unit, at a second sampling rate that is greater than the first sampling rate of the first computing unit, corrects the triggering information of the control pulses that are currently to be output using current state data of the engine, and wherein the control pulses are output to the engine by the control unit based on the corrected triggering information so as to control the engine using the corrected triggering information.

9. The control unit according to claim 8, wherein the first computing unit and the second computing unit are configured by programming.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawings which are given by way of illustration only, and thus, are not limitive of the present invention, and wherein:

(2) FIG. 1 schematically shows a known method for calculation and output of control pulses by a control unit to an internal combustion engine as well as a corresponding control unit,

(3) FIG. 2 schematically shows a method according to an exemplary embodiment of the invention for calculation and output of control pulses as well as a control unit according to the invention,

(4) FIG. 3 shows the sequential calculation and output of control pulses by the second computing unit of the control unit,

(5) FIG. 4 shows conflicting control pulses and strategies for conflict resolution, and

(6) FIG. 5 shows different variants of the calculation of control pulse patterns on the first computing unit to illustrate the asynchronous performance of calculations on the first computing unit and the second computing unit.

DETAILED DESCRIPTION

(7) Shown in FIG. 1 is a known computer-implemented method 1 for calculation and output of control pulses 2 by a control unit 3, and a commensurate control unit 3, wherein the control unit 3 has a first computing unit 4 and a second computing unit 5, and wherein the control pulses 2 are output by the control unit 3 to an internal combustion engine 6.

(8) In the exemplary embodiment shown, the control unit 3 is an engine control unit with an I/O interface that is not shown in detail and through which the control unit 3 not only outputs signals to influence the internal combustion engine 6and if applicable other components of a vehiclebut also reads in signals to obtain information about the process to be influenced. The signals may be analog voltages, switching signals, signal patterns (for example, pulse-width modulated signals), or even complex binary data in the form of messages in the protocol of a bus communication. The state data Z.sub.E of the engine 6, in particular, are of interest for the engine control shown. Typical state data Z.sub.E of the internal combustion engine 6 include the crankshaft angle, the air mass flow, the injected fuel quantity, the combustion air ratio, the pedal position, etc.

(9) The first computing unit 4 and the second computing unit 5 of the control unit 3 in FIG. 1 are microcontrollers, each of which is equipped with a real-time operating system. The details of which calculations are performed on the first computing unit 4 and which are performed on the second computing unit 5 are of no interest here. The state variables Z.sub.E of the internal combustion engine 6 have very different dynamics, in part because the state variables change at very different speeds due to prevailing physical conditions, but in part also because different state variables are sensed at very different sampling intervals, which is to say at different sampling rates. Thus, for example, the cylinder pressureif it is in fact being acquiredis a state variable that changes extremely rapidly, and whose time resolution requires sampling in the range of less than a microsecond, whereas the combustion air ratio is only updated at significantly longer time intervals. The differences over which different state variables Z.sub.E of an internal combustion engine can vary over time can easily extend to more than three powers of ten; from a system theory perspective, an internal combustion engine is a very stiff system.

(10) In the prior art, it is customary for multiple control pulses to be calculated by way of a feed-forward control, for example for a complete engine cycle, and then, once determined, to be output to the internal combustion engine 6 without taking into consideration a speed that may have already changed during the engine cycleor any other state variable that may have changed in the meantime.

(11) This problem can be addressed using the method 1 for calculation and output of control pulses 2 illustrated in FIGS. 2 to 5.

(12) The method 1 for calculation and output of control pulses 2 shown in FIG. 2 is distinguished in that the first computing unit 4 calculates a control pulse pattern S with triggering information s.sub.r, s.sub.f for multiple future control pulses at a first sampling rate using prior state data Z.sub.E,old of the engine 6 and transmits the calculated control pulse pattern S to the second computing unit 5. The control pulse pattern S is again represented in the first computing unit 4 with a vector of triggering information s.sub.r, s.sub.f, where this vector contains n items of triggering information s.sub.r, s.sub.f. In the present case, the items of triggering information s.sub.r, s.sub.f are the starting angle and the ending angle of an ignition pulse. The control pulse pattern S calculated in the first computing unit 4 is based entirely on prior state data Z.sub.E,old of the engine 6. The control pulse pattern S can thus be considered consistent with regard to the underlying data base of prior state data Z.sub.E,old. The second computing unit 5 receives the control pulse pattern S in full.

(13) In addition, provision is made that the second computing unit 5, at a second sampling rate that is greater than the first sampling rate of the first computing unit 4, corrects the triggering information s.sub.r, s.sub.f of the control pulses 2 that are currently to be output using current state data Z.sub.E,new of the engine 6. The second computing unit 5 is thus capable of performing the corrections at a faster speed and acquiring current state data Z.sub.E,new of the engine 6 [faster] than is possible for the first computing unit 4. This measure makes it possible to react to state changes of the engine 6, namely within the time range that is covered by the control pulse pattern S calculated by the first computing unit 4. The second computing unit 5 can thus adjust each individual future control pulse to new state data Z.sub.E new of the engine 6, thus resulting in corrected triggering information s.sub.r, s.sub.f. Lastly, control pulses 2 are output to the engine 6 by the control unit 3 on the basis of the corrected triggering information s.sub.r, s.sub.f.

(14) FIG. 3 illustrates this process once again. It is particularly clear from FIG. 3 that the second computing unit 5 calculates corrected triggering information s.sub.r, s.sub.f, sequentially and outputs it as control pulses 2 to the engine 6, while the computing unit 5 receives the control pulse pattern S more or less as an information packetall at once.

(15) The control unit 3 shown in FIG. 2 is configured such that the second computing unit 5 checks whether a control pulse 2 having corrected triggering information s.sub.r, s.sub.f conflicts with a subsequent control pulse 2. For the purpose of illustrating a potential conflict of control pulses 2 that could occur, FIG. 4a first shows two control pulses 2 with the triggering information s.sub.r,2, s.sub.f,2, s.sub.r,3, s.sub.f,3. The triggering information in FIG. 4a was calculated by the first computing unit 4, and defines the two triggering intervals shown. These triggering intervals of the control pulses 2 are considered sufficiently far apart from one another; what is involved here is triggering information s.sub.r, s.sub.f of a control pulse pattern S.

(16) FIG. 4b shows the situation after a correction of the triggering information s.sub.r,2, s.sub.f,2, to the corrected triggering information s.sub.r,2, s.sub.f,2. The corrected control pulse 2 here is very closely approaching the subsequent control pulse 2 that was calculated from the feed-forward control with the triggering information s.sub.r,3, s.sub.f,3. In the present case, the distance between the two control pulses 2 in FIG. 4b is detected as conflicting, for example because a minimum spacing for control pulses 2 is predefined, and this limit is violated here.

(17) FIGS. 4c and 4d illustrate two possible ways for the control unit 3 or the computing unit 5 of the control unit 3 to handle such a conflict. In the case of FIG. 4c, the situation is resolved by the means that the control pulses 2 having conflicting triggering information s.sub.r,2, s.sub.f,2 and s.sub.r,3, s.sub.f,3 are combined into a single control pulse 2 with averaged triggering information S.sub.r,m, s.sub.f,m.

(18) The solution shown in FIG. 4d alternatively provides that all but one of the conflicting control pulses 2 are discarded, in the present case the control pulse 2 with the triggering information s.sub.r,2, s.sub.f,2, is retained, while the control pulse 2 with the triggering information s.sub.r,3, s.sub.f,3 is discarded.

(19) Finally, FIG. 5 shows that the first computing unit 4 calculates the control pulse patterns S that are calculated with the prior state data Z.sub.E,old with no time limitations, so that even overlapping control pulse patterns S are generated and transmitted to the second computing unit 5, wherein the second computing unit 5 in the present case uses the most current control pulse pattern S received, which is to say uses it in particular for the correction. Shown in FIG. 5a, firstly, are two control pulse patterns S.sub.1, S.sub.2 of equal length. The time extent of the triggering information that is contained in the control pulse patterns S.sub.1, S.sub.2 but not shown in detail is illustrated by the width of the associated brackets in each case. The vertical arrows on the opening brackets indicate the point in time when the relevant control pulse pattern S must be fully transmitted from the first computing unit 4 to the second computing unit 5. It is obvious that the control pulse patterns S must be available to the second computing unit 5 no later than the start of the earliest triggering interval, since these patterns of course contain future control pulses 2, so that said computing unit can undertake corresponding corrections. The control pulse patterns S.sub.1, S.sub.2, S.sub.3 are calculated with no overlap by the first computing unit 4 and made available to the second computing unit 5.

(20) It can be seen in FIG. 5b that the control pulse patterns S.sub.1, S.sub.2, S.sub.3 calculated by the computing unit 4 on the basis of the prior state data Z.sub.E,old of the engine 6 cover future time periods that are of different lengths. In the present case, the ascertained rate of change of interesting state data Z.sub.E of the engine 6 enters into the decision of how far control pulse patterns S with future triggering information are calculated.

(21) Lastly, FIG. 5c illustrates that the control pulse patterns S.sub.1, S.sub.2, S.sub.3 are calculated by the first computing unit 4 in such a way that overlapping control pulse patterns S.sub.1, S.sub.2, S.sub.3 are produced. For example, once the control pulse pattern S.sub.2 has been calculated by the first computing unit 4 and made available to the computing unit 5, the computing unit 5 discards the control pulse pattern S.sub.1 and performs further correction of the triggering information on the basis of the triggering information contained in the control pulse pattern S.sub.2. It is especially clearly evident in this example that the calculations performed on the first computing unit 4 and the second computing unit 5 are decoupled from one another and the first computing unit 4 and the second computing unit 5 can work asynchronously from one another.

(22) In the case of the control unit 3 from FIG. 2, the first computing unit 4 is implemented using a microcontroller, and the second computing unit 5 is implemented using a programmable logic element, in the present case using a field programmable gate array (FPGA). As a result, it is possible for the second computing unit 5 to realize sampling times significantly under the microsecond range, by which means even cylinder pressure curves, for example, can be evaluated in real time and utilized for closed-loop control within a feed-forward cycle.

(23) The second computing unit 5 uses the current crankshaft angle and the prevailing current cylinder pressure as the current state data Z.sub.E,new of the engine 6.

(24) The first computing unit 4, in contrast, uses the last known crankshaft angle, the last known value for the air mass flow, and the last known value for the combustion air ratio, as the prior state data Z.sub.E,old of the engine 6.

(25) The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are to be included within the scope of the following claims.