9.2 In this section, we are implementing a 4-inline engine control unit which can implement variable valve timing on both the intake and exhaust. It can also implement spark advance/retard. Similarly, we can also advance/retard fuel injection; it means that we can fuel at any point during the intake stroke or compression stroke. The details of the integrated engine control unit (IECU), is shown in Figure 9.2. At the top of the Figure is the valve advance calculator (VAC). This section has been extensively discussed in Chapter 8. The VAC basically creates virtual angles (in steps of 10) on the trigger wheel. The RPM-LUT contains advance angles corresponding to each RPM. For example, suppose we want to implement VVT advance of 150 and retard of 100. These angles are with reference to TDC. Using the 10 clock, we can operate a 3600 down counter, starting at BDC. For and advance of 150, the counter will have down counted to 3600-1800+150 = 1850 (i.e., 185 10-clock pulses). 100 retard means 10 10-clock pulses after TDC, which is 3600 – (1800-100) = 1700. These values of 185 and 170 will be stored in the RPM LUT against the appropriate values of RPM, which acts as the LUT address. At BDC, the advance value corresponding to a specific RPM will be downloaded to IVO counter, which after down counting to zero, will operate a valve solenoid for a time period determined by VRTT. Thereafter, power to the valve will be cut off, waiting for the next change of state. The IVC counter determines how long the valve stays in the open position. This is analogous to lift duration in the conventional cam system. Note that after triggering the IVC, IVO can be preset at BDC with the IVC continuing with its down count, unaffected by this action. The Injector Timing, IT counter determines the time when the injector starts firing. This could be in intake stroke or compression stroke, the position on the chosen stroke can be programmed. The Injector Pulse Width, IPW counter stores number of pulses the injector should stay on. Note that IPW and IVC counters are fed with throttle position data. A higher throttle data position will make the engine rev higher. All the variables IVO, IVC, EVO, EVC, IT, IPW, ST are obtained from their respective RPM LUTs and loaded to their respective counters. The advance/retard ECU generates these variables in the first place, [57], [126]. Figure 9.2b shows the Otto cycle for a 4-inline engine with firing order 1-3-4-2. In Figure 9.2a, it is the advance/retard ECU which generates the signals IVO, EVO, Spark, Fuel. It is similar to Figure 6.12, but with the addition of valve events equations for the 4 cylinders. The Otto cycle states are labled as P1, P2, P3 and P4. In P1, only piston number 1 is in the power stroke. Using the indicated firing order, piston 3 will be in the compression stroke, waiting to go to power stroke. Pistons 4 and 2 will be in the intake and exhaust strokes respectively, [11], [33]. To implement advance, the action to be done in the next state, must start at the current state. For example, in state P1, piston 2 will be in the exhaust stroke. Since piston 2 will go to intake stroke next, to implement IVO advance, we assert and output trigger, IVO2, to initiate a down counter so that it reaches the desired down count value before TDC, as corresponding to the advance angle. Similarly, piston 1 is in power stroke, going to exhaust stroke, so we need to assert EVO1 at this time so that the exhaust advance can be archived. A similar argument holds when asserting Fuel4 for piston 4. Figure 9.2a. The IECU showing variable valve timing. Following the Otto cycle and firing order, in state p2, piston 1 will now go into the exhaust state (following a power stroke in p1), followed by intake stroke in p4 and compression stroke in p2, before the cycle repeats again. The advance outputs for each piston in each state are determined in the same way. There are a total of 16 advance outputs. (Valve Equations for piston 1 are given for referencing when using non-vvt approach and for number 1 piston only, see Figure 6.1b). The step sensor output changes value each time the stepping valve changes state. The time it takes the sensor to change value is the reaction time of the stepping valve. The VRTT contains this ideal, real time period, and therefore is operated with a real time clock. The valve is supplied with power until when the step sensor changes value, at which time power is switched off until the next state change. So if the step sensor does not change value, the system will time out and uses VRTT instead. If the cylinder in question fires well, the system continues using VRTT and reports faulty sensor, otherwise the cylinder in questions enters into a deactivation mode. Figure 9.2b. Otto Cycle for a 4-inline engine with firing order 1-3-4-2.