The present invention relates to a control system of an internal combustion engine. The control system detects change history of a state quantity of the engine from an initial value and calculates the actual value of the state quantity based on the initial value and the change history.
A control system disclosed in Patent Document 1 sets a target value of a maximum lift of an engine valve based on an engine operating state in such a manner as to improve the fuel efficiency and output. The control system performs a feedback control so that the actual value of the maximum lift becomes equal to the target value. Typically, the control system is configured as described below.
The control system includes an actuator changing the maximum lift and an encoder outputting a pulse signal based on operation of the actuator. A counter circuit detects the change history of the maximum lift by selectively increasing and decreasing a count value based on the pulse signal output by the encoder. The counter circuit is powered by a backup power source. When the power supply from the backup power source is suspended, for example, when the internal combustion engine stops operating, the count value is reset to 0 regardless of how long such suspension of the power supply lasts, and the change history is cleared.
After the engine is started, a microcomputer selectively charges and discharges a memory cell of a volatile memory of the microcomputer through the backup power source, thereby storing the count value of the count circuit, or the change history of the maximum lift from the initial value at the time when the engine was started. When the engine is stopped, the final value of the maximum lift is stored in a rewritable nonvolatile memory and used as the initial value of the maximum lift after the engine is restarted. The microcomputer calculates the actual value of the maximum lift based on the change history and the initial value of the maximum lift stored in the volatile memory. The microcomputer changes the maximum lift of the engine valve through the actuator in such a manner as to reduce the difference between the actual value and a target value that is set based on the operating state of the engine.
However, vibration of the vehicle body or the engine may cause a contact failure in a feeder circuit between the backup power source and the microcomputer. Specifically, temporary suspension of the power supply from the backup power source, that is, a temporary blackout, may occur. Despite the temporary power blackout, the data of the change history stored in the volatile memory remains until a certain period of time elapses after the suspension of the power supply. The remaining data is usable after the power supply is restored if the content of the data remains unchanged. However, since the state of the power supply becomes unstable before and after the temporary power blackout, the content of the data may change. Also, when vibration of the vehicle body or the engine occurs successively, temporary power blackout may reoccur in a short period of time.
Accordingly, it is an objective of the present invention to provide a control system of an internal combustion engine that accurately calculates the actual value of a state quantity of the engine even when a temporary blackout of power supply from a backup power source reoccurs in a short period of time.
In accordance with one aspect of the present invention, a control system of an internal combustion engine is provided. The control system includes an actuator operating in an operating range in order to change a state quantity of the engine. The operating range has a limit position. A value of the state quantity that corresponds to the limit position is referred to as a reference value. The control system includes a backup power source and a history detecting section powered by the backup power source. A value of the state quantity at the time when power supply to the history detecting section is started is referred to as an initial value of the state quantity. The history detecting section in a powered state detects a change history of the state quantity from the initial value. A volatile memory is powered by the backup power source. The volatile memory in a powered state stores data of the change history. A control section calculates the actual value of the state quantity based on the initial value and the change history. The control section includes a remaining data determining section, an initial value setting section, and a reference value learning section. After power supply from the backup power source to the volatile memory is restored from temporary suspension, the remaining data determining section that determines whether the data of the change history remaining in the volatile memory is data that has been stored immediately before the suspension of the power supply. When the remaining data determining section determines that the data remaining in the volatile memory is the data that has been stored immediately before the suspension of the power supply, the initial value setting section assigns the actual value of the state quantity calculated based on the remaining data to the initial value. When the remaining data determining section determines that the data remaining in the volatile memory is not the data that has been stored immediately before the suspension of the power supply. The reference value learning section performs a reference value learning in which the reference value learning section moves the actuator to the limit position, assigns the reference value to the initial value, and clears the change history. When temporary suspension of the power supply from the backup power source reoccurs before completion of the reference value learning, the control section invalidates determination of the remaining data determining section and causes the reference value learning section to carry out the reference value learning, after restoration of the power supply.
a) to 5(h) are timing charts representing output waveforms of sensors illustrated in
a) is a table representing output signals and electric angle count values of electric angle sensors D1 to D3 illustrated in
b) is a table representing output signals and position count values of position sensors S1 and S2 illustrated in
a) and 8(b) are diagrams representing bit data of a specific example of
As shown in
As shown in
With reference to
As shown in
As shown in
With reference to
As shown in the right end of
As shown in
A cylindrical slider gear 55 is arranged in the space formed in the input portion 51 and the output portions 52. The outer circumferential surface of the slider gear 55 includes a first helical spline portion 55a and a pair of second helical spline portions 55b. The first helical spline portion 55a is arranged between the two second helical spline portions 55b. The first helical spline portion 55a is meshed with the input helical spline portion 51h. The second helical spline portions 55b are engaged with the corresponding output helical spline portions 52h.
A circumferentially extending groove 55c is formed in the inner wall of the slider gear 55. A bush 56 is engaged with the groove 55c. The bush 56 is allowed to move along the groove 55c and to slide circumferentially with respect to the slider gear 55. The relative displacement in the axial direction of the bush 56 relative to the slider gear 55 is restricted by the wall of the groove 55c.
The support pipe 53 is inserted in the space in the slider gear 55. The control shaft 54 is passed through the support pipe 53. An axially extending elongated bore 53a is formed in the tubular wall of the support pipe 53. An engagement pin 57 is provided between the slider gear 55 and the control shaft 54. The engagement pin 57 connects the slider gear 55 to the control shaft 54 through the elongated bore 53a. An end of the engagement pin 57 is received in a recess (not shown) formed in the control shaft 54 and the other end of the engagement pin 57 is passed through a through hole 56a formed in the bush 56.
When the control shaft 54 is axially displaced, the slider gear 55 is axially displaced together with the control shaft 54. Meshing between the first helical spline portion 55a and the input helical spline portion 51h and between the second helical spline portions 55b and the output helical spline portions 52h causes the input portion 51 and each output portion 52 to rotate in the mutually opposite directions. As a result, the relative phase difference between the input portion 51 and each output portion 52 is changed. This alters the maximum lift of the associated intake valve 20.
With reference to
As shown in
The brushless motor 60 has electric angle sensors D1, D2, D3. A multipole magnet (not shown) with eight poles is arranged in the output shaft 60a in such a manner that the multipole magnet is rotatable integrally with the output shaft 60a. The electric angle sensors D1 to D3 output pulse signals represented in
The brushless motor 60 has two position sensors S1, S2 each serving as a rotary encoder and a multipole magnet (not shown) with 48 poles, which rotates integrally with the output shaft 60a in correspondence with the position sensors S1, S2. The position sensors S1 and S2 output pulse signals represented in
The edges of the combined pulse signal of the electric angle sensors D1 to D3 are spaced at intervals of 15°. Contrastingly, the edges of the combined pulse signals of the position sensors S1, S2 are spaced at intervals of 3.75°. Accordingly, four edges are generated in the combined pulse signals of the position sensors S1, S2 in the period from one edge to a subsequent edge of the combined pulse signals of the electric angle sensors D1 to D3.
The pulse signals output by the electric angle sensors D1 to D3 and the position sensors S1, S2 are received by the microcomputer 70. The microcomputer 70 includes a CPU 71, a ROM 72a, a DRAM 72b, and an EEPROM 72c. The CPU 71, which serves as a control section, is a central processing unit that performs calculation and information processing in accordance with programs. The ROM 72a is a nonvolatile memory storing programs and data necessary for various types of control. The DRAM 72b is a volatile memory temporarily storing input data and calculation results. The DRAM 72b has a first address ADP1 and a second address ADP2. The EEPROM 72c is a rewritable nonvolatile memory storing initial values obtained through learning control.
The CPU 71, the ROM 72a, the DRAM 72b, and the EEPROM 72c are powered by the backup power source 80. The DRAM 72b has the first address ADP1 and the second address ADP2, which are represented in
When the CPU 71 stores data in the DRAM 72b, the 0th to 3rd bits are set to the bit data values 1 or 0. Specifically, the bit data value of a memory cell in which charges are accumulated by the CPU 71 is 1. The bit data value of a memory cell in which the charges are not accumulated is 0. The first address ADP1 shown in
Sensors detecting the engine operating state such as an acceleration sensor 81 detecting the depression amount of the accelerator pedal of the vehicle and a crank angle sensor 82 detecting the rotational phase of a crankshaft of the internal combustion engine. The CPU 71 sets a control target value of the maximum lift of the intake valve 20 based on the engine operating state. The CPU 71 detects the rotational phase of the brushless motor 60, in other words, the actual value of the maximum lift of the intake valve 20, based on the pulse signals output by the electric angle sensors D1 to D3 and the position sensors S1 and S2.
The CPU 71 has an electric angle counter circuit 73 and a position counter circuit 74. The electric angle counter circuit 73 selectively increases and decreases an electric angle count value E based on the pulse signals of the electric angle sensors D1 to D3. The position counter circuit 74 selectively increases and decreases a position count value P based on the pulse signals of the position sensors S1, S2. The electric angle counter circuit 73 and the position counter circuit 74 are powered by the backup power source 80. The CPU 71 detects the actual value of the rotational phase of the brushless motor 60, which is the maximum lift of the intake valve 20, based on the electric angle count value E and the position count value P. Position count data PD as data of the position count value P is stored in the DRAM 72b. While held in a powered state, the position counter 74 is a history detecting section detecting the position count value P.
With reference to
a) to 5(e) represent the waveforms of the pulse signals output by the electric angle sensors D1 to D3 and the position sensors S1, S2 when the output shaft 60a of the brushless motor 60 rotates as has been described.
The respective count values will now be explained. The position count value P corresponds to the change history of the maximum lift from the initial value at the time when power supply is started. The actual value of the position count value P corresponds to the actual value of the maximum lift calculated based on the change history.
The electric angle count value E is set by the electric angle counter circuit 73 based on the pulse signals of the electric angle sensors D1 to D3 and represents the rotational phase of the brushless motor 60. Specifically, as shown in
The CPU 71 detects the rotational phase of the brushless motor 60 based on the electric angle count value E stored in the DRAM 72b. The CPU 71 then operates to rotate the brushless motor 60 in a forward direction or a reverse direction by switching the current supply phases of the brushless motor 60. When the brushless motor 60 rotates in the forward direction, the electric angle count value E is switched in the ascending order of 0→1→2→3→4→5→0. In contrast, when the brushless motor 60 rotates in the reverse direction, the electric angle count value E is switched in the descending order of 5→4→3→2→1→0→5.
When the power supply from the backup power source 80 is suspended, such as when operation of the engine is stopped, the position count value P, which is selectively increased and decreased by the electric angle counter circuit 73, is reset to 0 regardless of how long suspension of the power supply lasts. When the power supply from the backup power source 80 is started, the CPU 71 sets the initial value of the electric angle count value E to the count value corresponding to the current combination of the pulse signals, with reference to the correspondence relationship between the combinations of the pulse signals of the electric angle sensors D1 to D3 and the electric angle count value E, which is stored in the ROM 72a.
The position count value P is counted by the position counter circuit 74 based on the pulse signals of the position sensors S1, S2. The position count value P represents the amount of displacement of the rotational angle of the output shaft 60a with respect to the initial value of this rotational angle at the time when the engine is started. In other words, the position count value P represents the change history of the maximum lift of the intake valve 20 from the initial value. With reference to
When the brushless motor 60 rotates in the forward direction, 1 is added to the position count value P for every edge of the pulse signals of the position sensors S1, S2, which are represented in
When the power supply from the backup power source 80 is suspended, such as when the engine stops operating, the position count value P is reset to 0 regardless of how long such suspension lasts. When the power supply from the backup power source 80 is started, the position count value P is increased or decreased from 0 based on the pulse signals of the position sensors S1, S2. Accordingly, the position count value P is the change history representing how much the rotational position of the output shaft 60a of the brushless motor 60 has changed from the initial position at the time when the power supply from the backup power source 80 was started. In other words, the position count value P represents change of the maximum lift of the intake valve 20 while the engine is operating with respect to the maximum lift at the time when the engine was started.
The stroke count value S represents the rotational angle of the brushless motor 60 when the rotational angle of the output shaft 60a at the time when the control shaft 54 is displaced to the Hi end is defined as a reference value (0 degrees). Specifically, in the present embodiment, the reference value S0 of the stroke count value S is 0. In other words, the CPU 71 sets the stroke count value S to 0 when the control shaft 54 is displaced to the Hi end. In this manner, the initial setting, or reference value setting, of the stroke count value S is performed. The reference value S0 is stored in the ROM 72a. The CPU 71 updates the stroke count value S by adding the position count value P to the stroke count value S. When the engine is completely stopped and the operation of the intake valve train 100 is stopped, the final value of the stroke count value S is stored in the EEPROM 72c as an operation initial value Sg for the next time the engine is started. In other words, the operation initial value Sg represents the initial value of the stroke count value S at the time when the engine is restarted. Accordingly, the operation initial value Sg represents the stroke count value S at the time when the power supply to the DRAM 72b is started.
The CPU 71 calculates the stroke count value S based on the operation initial value Sg stored in the EEPROM 72c and the position count value P stored in the DRAM 72b. The CPU 71 calculates the actual value of the maximum lift of the intake valve 20 based on the stroke count value S. The CPU 71 controls the brushless motor 60 in such a manner as to reduce the difference between the actual value and the control target value set based on the engine operating state. Accordingly, the maximum lift of the intake valve 20 is changed to a value suitable for the engine operating state, and the fuel efficiency and output of the internal combustion engine are improved.
The problems of the control system and the solutions brought about by the present embodiment will hereafter be explained.
For example, vibration of the vehicle body or the engine may cause a contact failure in the feeder circuit extending from the backup power source 80 to the microcomputer 70. That is, temporary suspension of the power supply from the backup power source 80 to the microcomputer 70, or temporary power blackout, may occur. In this case, the position count value P is reset to 0. The position count data PD stored in the DRAM 72b remains for a short while after the power supply is cut. However, since the state of the power supply from the backup power source 80 to the microcomputer 70 is unstable before and after the temporary power blackout, the charges accumulated in the memory cells of the DRAM 72b may be discharged. Also, an inrush current flowing into a memory cell may unexpectedly charge the memory cell. Accordingly, even when the position count data PD remains after the power supply is restored from the temporary power blackout, the content of the data may have been changed. If such changed position count data PD is employed, the maximum lift cannot be accurately controlled.
The CPU 71 suppresses adverse influences of the temporary power blackout through the following procedure. Specifically, in normal operation, the CPU 71 stores the position count data PD in the first address ADP1 of the DRAM 72b. The CPU 71 stores comparative data, which is set in such a manner as to represent a certain correspondence relationship with the position count data PD, in the second address ADP2. In the present embodiment, mirrored data MD with respect to the position count data PD is stored in the second address ADP2. After the power supply is restored from the temporary power blackout with respect to the data in the first address ADP1, it is determined whether the correspondence relationship is saved between the data remaining in the first address ADP1 and the data remaining in the second address ADP2. If it is determined that the correspondence relationship is saved, it is determined whether the remaining data represents the content that has been stored immediately before the temporary power blackout. The CPU 71 calculates the stroke count value S based on the operation initial value Sg and the position count value P represented by the remaining data.
Due to the temporary power blackout, the position count value P is reset to 0. Correspondingly, the current stroke count value S is assigned to the operation initial value Sg. The operation initial value Sg is used for subsequent calculation of the stroke count value S. Accordingly, the calculation of the stroke count value S is resumed based on the position count value P and the operation initial value Sg. Thus, eve if temporary power blackout occurs, the control of the maximum lift is resumed immediately after the power supply from the backup power source 80 is restored.
However, when it is determined that the correspondence relationship between the remaining data has not been saved, it is determined that the content of the data stored in at least one of the addresses has been changed by the temporary power blackout. Normal control of the maximum lift is then suspended, and learning of the reference value of the maximum lift is carried out. Specifically, the control shaft 54 is moved to the Hi end and the reference value S0 is assigned to the operation initial value Sg. Further, the position count value P is reset to 0. Accordingly, based on the position count value P and the operation initial value Sg, the calculation of the stroke count value S is resumed. When the reference value learning is performed after the temporary power blackout as in this case, the position count value P has first been reset to 0 due to the temporary power blackout. Afterwards, when the control shaft 54 is displaced, the position count value P is updated and stored in the DRAM 72b. The reference value learning does not necessarily have to be performed by moving the control shaft 54 to the Hi end but may be carried out by moving the control shaft 54 to the Lo end.
In the above-described manner, the reference value learning of the maximum lift is accomplished. As a result, even when the position count data PD is lost in the temporary power blackout of the backup power source 80, control of the maximum lift is resumed when the power supply is restored after the temporary power blackout.
However, when vibration of the vehicle body or the internal combustion engine occurs successively, the temporary power blackout of the backup power source 80 may reoccur before completion of the reference value learning. In this case, when the power supply is restored after the temporary blackout, it is determined whether the correspondence relationship has been saved between the position count data PD remaining in the first address ADP1 and the mirrored data MD remaining in the second address ADP2. When the correspondence relationship has not been saved, in other words, when the position count data PD in the DRAM 72b has been changed due to the temporary power blackout that has reoccurred, the reference value learning is performed again. In contrast, when the correspondence relationship has been saved, in other words, when the position count data PD stored in the DRAM 72b has not been changed, the stroke count value S is calculated based on the position count value P represented by the remaining data and the operation initial value Sg. Further, by assigning the stroke count value S to the operation initial value Sg, the CPU 71 resumes control of the maximum lift. The operation initial value Sg is used for the subsequent calculation of the stroke count value S.
However, when the power supply is restored after the temporary blackout that has reoccurred, the position count data PD remaining in the DRAM 72b does not represent the change history of the position count value P from the operation initial value Sg at the time when the engine was started. The position count data PD remaining in the DRAM 72b is the data that has been stored in the DRAM 72b while the reference value learning was being carried out. Accordingly, at the restoration of the power supply after the reoccurred temporary blackout, an accurate stroke count value S cannot be obtained using the position count data PD remaining in the DRAM 72b.
The control system of the present embodiment avoids such disadvantage by performing the procedure represented by the flowchart of
In step S10, the CPU 71 determines whether the current control cycle is a first control cycle after the power supply from the backup power source 80 has been started.
When the determination in step S10 is negative, specifically, when the current control cycle is not the first control cycle after the power supply has been started, the CPU 71 determines that there has been no temporary power blackout and performs steps S11 and S12. In step S11, the CPU 71 stores the position count data PD in the first address ADP1 of the DRAM 72b. The CPU 71 also stores, as comparative data, the mirrored data MD obtained by inverting the logic level of the position count data PD bit by bit in the second address ADP2 of the DRAM 72b.
In step S12, the CPU 71 calculates the actual value of the maximum lift of the intake valve 20 based on the position count value P stored in the first address ADP1 and the operation initial value Sg stored in the EEPROM 72c. The CPU 71 feedback-controls the brushless motor 60 in such a manner as to reduce the difference between the actual value and the control target value of the intake valve 20, which is set based on the engine operating state. The CPU 71 then suspends the procedure.
If the determination of step S10 is positive, in other words, if the current control cycle is the first control cycle after the power supply has been started, the CPU 71 determines that there has been a temporary power blackout and carries out step S20. In step S20, the CPU 71 determines whether an operation flag Fk is ON. The operation flag Fk represents a started/stopped state of the engine. The CPU 71 sets the operation flag Fk based on manipulation of the ignition switch of the engine and stores the operation flag Fk in the EEPROM 72c. The CPU 71 sets the operation flag Fk to ON when the ignition switch is turned on and to OFF when the ignition switch is turned off. When the ignition switch is turned off, the CPU 71 suspends the power supply from the backup power source 80 by setting the operation flag at OFF and then blocking the relay. Accordingly, in the control cycle immediately after the power restoration from a temporary power blackout, the operation flag Fk remains ON.
When the determination of step S20 is negative, specifically, when the operation flag Fk is OFF, the CPU 71 determines that the current control cycle is not a control cycle after power restoration from a temporary power blackout, but a normal control cycle after the power supply has been started. The CPU 71 then performs steps S11 and S12. In other words, the CPU 71 performs the normal feedback control on the maximum lift and suspends the procedure.
If the determination of step S20 is positive, in other words, if the operation flag Fk is ON, the CPU 71 determines that the current control cycle is a control cycle immediately after power restoration from a temporary power blackout, and carries out step S30. In step S30, the CPU 71 determines whether a learning flag Fg is OFF. The learning flag Fg is stored in the EEPROM 72c. The learning flag Fg is an information value indicating whether the reference value learning of the maximum lift was performed in the control cycle immediately before the temporary power blackout. The learning flag Fg is set to OFF after the engine is started. The learning flag Fg is set to ON when the reference value learning is started and to OFF when the reference value learning is ended.
If the determination in step S30 is positive, specifically, if the leaning flag Fg is OFF, the CPU 71 determines that the control cycle immediately before the temporary power blackout was a normal control cycle, and performs step S40. In step S40, the CPU 71 determines whether the exclusive OR of at least one of corresponding pairs of bits of the data remaining in the first address ADP1 and the data remaining in the second address ADP2 is 0. When performing step S40, the CPU 71 functions as a remaining data determining section.
If the determination of step S40 is negative, in other words, if all of the exclusive ORs of the mutually corresponding bit data of the data remaining in the first address ADP1 and the data remaining in the second address ADP2 are 1, it is determined that the data remaining in the first address ADP1 and the data remaining in the second address ADP2 are the data that have been stored in the DRAM 72b in the control cycle immediately before the temporary power blackout. In this case, in step S41, the CPU 71 calculates a current stroke count value S based on the position count value P represented by the data remaining in the first address ADP1 and the operation initial value Sg stored in the EEPROM 72c. In step S42, the CPU 71 assigns the obtained stroke count value S to the operation initial value Sg and stores the operation initial value Sg in the EEPROM 72c. When performing step S42, the CPU 71 functions as an initial value setting section.
If the determination of step S40 is positive, specifically, if at least one of the exclusive ORs of the mutually corresponding bit data of the data remaining in the first address ADP1 and the data remaining in the second address ADP2 is 0, the CPU 71 determines that at least one of the data of the first address ADP1 and the data of the second address ADP2 has been changed due to the temporary power blackout of the backup power source 80. In this case, the CPU 71 sets the learning flag Fg to ON in step 50 and carries out the reference value learning of the maximum lift. Specifically, in step S60, the CPU 71 moves the control shaft 54 to the Hi end and assigns the reference value S0 to the operation initial value Sg. In other words, the CPU 71 sets the operation initial value Sg to the reference value S0. When carrying out step S60, the CPU 71 functions as a reference value learning section. Further, in step S70, the CPU 71 resets the position count value P to 0.
In the reference value learning after the temporary power blackout, the position counter circuit 74 first clears the position count value P due to the temporary power blackout. The position count value P is updated through actuation of the brushless motor 60 and stored in the DRAM 72b. In the period from when the reference value learning is started to when the control shaft 54 is moved to the Hi end, the position count value P is updated based on the pulse signals of the position sensors S1, S2 and stored in the DRAM 72b. After the reference value learning is complete, the CPU 71 sets the learning flag Fg to OFF in step S80 and suspends the procedure.
When negative determination is made in step S30, in other words, when the learning flag Fg is ON, the CPU 71 determines that the control cycle immediately before the temporary power blackout was the control cycle performed while the reference value learning of the maximum lift was being performed. The CPU 71 then skips step S40 and carries out step S60. In other words, the CPU 71 invalidates the procedure of step S40 and performs steps S60 and S70. That is, the CPU 71 carries out the reference value learning of the maximum lift without performing determination about the data remaining in the first address ADP1 and the second address ADP2. After the reference value learning is complete, the CPU 71 sets the learning flag Fg to OFF in strep S80 and suspends the procedure.
a) represents a case in which the current control cycle is a normal control cycle immediately before a temporary power blackout of the backup power source 80, in other words, the determination of step S10 is negative and the position count value P is 13. In step S11, the CPU 71 stores the data 1101 corresponding to the count value 13 in the 0th to 3rd bits of the first address ADP1. The CPU 71 then stores the mirrored data MD 0011, which is obtained by inverting the logic level of 1101 bit by bit, in the 0th to 3rd bits of the second address ADP2.
When a temporary power blackout occurs in a normal control cycle and the power is restored, the learning flag Fg is OFF in the control cycle immediately after the power restoration. The determination of step S30 is thus positive and step S40 is performed. In step S40, the CPU 71 determines whether at least one of the exclusive ORs of the mutually corresponding bit data of the data remaining in the first address ADP1 and the data remaining in the second address ADP2 is 0.
If negative determination is made in step S40, specifically, if the exclusive ORs of the 0th to 3rd bits are all 1, the CPU 71 determines that the data remaining in the first address ADP1 and the data remaining in the second address ADP2 are the data that have been stored in the DRAM 72b in the control cycle immediately before the temporary power blackout. In this case, in step S41, the CPU 71 calculates the current stroke count value S based on the position count value P, which is 13, represented by the remaining data of the first address ADP1 and the operation initial value Sg stored in the EEPROM 72c. In step S42, the CPU 71 updates the operation initial value Sg by assigning the obtained stroke count value S to the operation initial value Sg. The CPU 71 stores the operation initial value Sg in the EEPROM 72c.
The broken lines of
In the period from when the reference value learning is started to when the control shaft 54 is moved to the Hi end, in other words, during the procedure of step S60, the position counter circuit 74 increases the position count value P from 0 based on the pulse signals of the position sensors S1, S2. The position count value P output by the position counter circuit 74 is stored in the DRAM 72b.
A case in which the temporary power blackout of the backup power source 80 reoccurs after the reference value learning of the maximum lift has started but not yet ended will be explained. By way of example, assume that the temporary power blackout reoccurs when the procedure of step S60 is being carried out and the position count value P is increasing from 0 to 5. In this case, since the temporary power blackout has reoccurred before completion of the reference value learning, the learning flag Fg remains ON until the power is restored from the temporary blackout. Accordingly, the CPU 71 makes negative determination in step S30. As a result, the CPU 71 skips step S40 and carries out steps S60 and S70. In other words, the CPU 71 invalidates the determination of step S40 and performs the reference value learning of the maximum lift.
When data 0101 remains in the first address ADP1 and data 1010 remains in the second address ADP2 in the control cycle immediately after the power restoration from the temporary blackout before completion of the reference value learning, the CPU 71 operates as below. In this case, the exclusive ORs of the bit data are all 1. However, the CPU 71 does not use the position count value P 5 represented by the data 0101 remaining in the first address ADP1 for calculation of the stroke count value S and re-performs the reference value learning of the maximum lift. The CPU 71 does not use the operation initial value Sg stored in the EEPROM 72c for the calculation of the stroke count value S either and assigns the reference value S0 to the operation initial value Sg through the reference value learning of step S70. After the reference value learning is ended, the CPU 71 sets the learning flag Fg to OFF in step S80.
The present embodiment has the following advantages.
(1) When a temporary power blackout of the backup power source 80 occurs before the control shaft 54 reaches the Hi end in the reference value learning of the maximum lift, the CPU 71 operates as follows. Specifically, the CPU 71 carries out the reference value learning of the maximum lift, regardless of whether the position count data PD remaining in the DRAM 72b is the data that has been stored in the control cycle immediately before the temporary power blackout. In this manner, the CPU 71 avoids erroneous calculation of the stroke count value S when the power is restored from the temporary power blackout that has reoccurred. In other words, the operation initial value Sg, which is used for subsequent calculation of the stroke count value S, is prevented from being set to a value different from the current stroke count value S. Accordingly, the CPU 71 accurately determines the actual value of the maximum lift even when a temporary power blackout of the backup power source 80 reoccurs before completion of the reference value learning of the maximum lift.
Specifically, after the power is restored from the temporary power blackout that has reoccurred, the position count data PD remaining in the DRAM 72b may be the data that was stored immediately before the temporary power blackout reoccurred. The CPU 71 solves the problem that may be caused in this case. Specifically, the position count data PD remaining in the DRAM 72b represents the change history of the stroke count value S that has been tracked after the power restoration from the previous temporary power blackout. If the stroke count value S is calculated based on the position count value P represented by such change history and the operation initial value Sg that has been set before the previous temporary power blackout, an accurate stroke count value S cannot be obtained. However, this problem is avoided by the CPU 71 of the present embodiment.
The present embodiment may be modified as follows.
The comparative data related to the position count data PD is not restricted to the mirrored data MD. As long as the comparative data stored in the DRAM 72b has a certain correspondence relationship with the position count data PD, the comparative data may be any suitable type of data.
The volatile memory is not restricted to the DRAM 72b, but may be an SRAM.
The rewritable nonvolatile memory that stores the operation initial value Sg is not restricted to the EEPROM 72c but may be an MRAM (Magnetic RAM) or an FeRAM (Ferroelectric RAM).
The control system according to the present invention does not necessarily have to calculate the actual value of the maximum lift of the intake valve 20 based on the change amount and the initial value of the maximum lift. The control system may, for example, detect the rotational angle of the crankshaft. The control system of the internal combustion engine may calculate an actual value of an engine state quantity in any suitable manner as long as the control system obtains the actual value based on a change amount and an initial value of the engine state quantity. The state quantity of an engine valve includes the opening timing, the closing timing, the maximum lift, the opening period, the lift profile of the engine valve, and combination of these quantities.
Number | Date | Country | Kind |
---|---|---|---|
2007-108093 | Apr 2007 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP08/57278 | 4/14/2008 | WO | 00 | 10/15/2009 |