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.