The Engine Position input

The engine position input is derived from an inductive pickup. This pickup is positioned to monitor a 48 toothed wheel spinning at half the speed of the crankshaft. There are two consecutive teeth missing from the wheel and this gap is what tells the ECU exactly what the position of the motor is. The speed of the motor is calculated from the time between the individual pulses. The waveform is basically sinusoidal and looks like the figure below.



The circuitry on the ECU to handle this signal is show in the following figure. The engine position signal is AC coupled so that it can be centered  within the microcontroller's supply voltage. It is then clamped by the two diodes to be within 0.6V of the supply voltage at all times. Further attenuation is provided by the resistive divider to fully keep the signal within the supply voltage. The signal is then passed to the microcontroller on input ADC7 - a analog to digital conversion channel, and also AC+ - an input to an on chip  voltage comparator. The other input to the voltage comparator AC- is generated from another resistive divider set just above the middle of the supply voltage. The upshot of all this is to generate an interrupt in the microcontroller every time the above waveform rises above the centre. This approaches 10 thousand interrupts per second at engine speeds approaching red line.