Ignition Coil Drivers

ECU Output: Ignition Coil Drivers

The ignition coil drivers are typical transistor driver circuits. A driver circuit is required since the transistors in the processor output pins are very small and are incapable of driving the ignition coils directly. The circuit below shows that driving the output transistor is a three-step process:

Switching Transistor Theory

To understand how the processor can control the big T403 transistor in the diagram above, it is necessary to understand a small amount of transistor theory, which is fortunate since I only know a small amount.

For the purposes of this circuitry, the transistors act like amplifying switches. In the diagram above, all three transistors are of the NPN variety. For NPN transistors, all you need to know is that if you inject a small amount of current into the base (the horizontal pin in the center), the transistor will automatically allow a correspondingly larger amount of current to flow from the collector (the upper pin) out of the emitter (the lower pin with the arrow on it). In the diagram above, the base of transistor T411 is the horizontal input connecting to PA7/OC1. The collector connects to Vcc, and the emitter drives the base of transistor T412.

If there is no current flowing into the base, the transistor will not allow any current to flow from the collector to the emitter. For the purposes of this circuit, imagine that a small amount of current going into the base causes a larger amount of current to go from the collector out of the emitter.

If the processor drives the signal "PA7/OC1" output 'high', it means that a small amount of current will flow from the Vcc power supply through resistor R401 into the base of transistor T401, and the transistor will switch 'on'. This means that current from the 5 Volt Vcc supply will flow through T401 from collector to emitter and end up at the base of T402. As before, current arriving at the base of T402 will cause T402 to switch 'on'. When T402 turns on, it will take all of the current from the 12 volt battery supply that is flowing out of resistor R402 and send it out of its emitter, effectively shorting the resistor output to ground. This means that the base of T403 will see no current flowing into it because T402 is diverting it all. With no current flowing into its base, T403 will turn 'off'. The signal "IG11" is connected to one side of the ignition coil. The other side of the coil is connected to the +12 battery voltage. If T403 is off, no current will flow through the coil.

If the processor drives the signal "PA7/OC1" output "low", the transistor in the processor output pin will divert all of the current coming out of R401 to ground. This means that no current will flow into the base of T401, so T401 will not drive any current from its collector out of its emitter. The net result is that no current will flow into the base of T402. Because of this, T402 will not divert the current coming out of R402 through its collector to ground. This means that the +12 volts coming out of R402 will appear as a small current at the base of T403, turning the transistor 'on'. When the transistor is on, it will let current flow from the collector to the emitter. Since the ignition coil is connected to the collector, current will flow from the battery through the coil, from the coil through the transistor, and the coil will start charging as the dwell period begins.

So why are there three transistors? The simple answer is that it takes current to control current. The tiny transistors inside the CPU that connect to the outside world are only capable of dealing with about 20 milliamps of current (20/1000 of an Amp). In addition, those same transistors can only tolerate about 7 volts before they become permanently damaged. Since an ignition coil needs to flow roughly 4 Amps of current at about 14 volts in order to charge, there is no way that the CPU transistors can directly control an ignition coil. One last problem is that if the 14 Volts was not enough to damage the CPU, when the coil fires, a voltage spike of a few hundred volts will appear on the collector of the transistor that is driving the coil. Those voltage levels will destroy pretty much anything that is not specifically designed to handle it. The solution is to have a sequence of transistors, where each transistor drives the next, and each transistor in the sequence is a larger, more robust transistor. The final output transistor is large enough to do what needs to be done while tolerating the abusive electrical environment involved in driving high voltage coils.

Ignition Drivers

The ignition drivers are mapped to the processor output pins as in the following table:

Driving CPU output PA7 to '0' will start charging the front two ignition coils. Driving PA7 back to '1' will fire a charged coil. PA6 does the same for the rear plugs.

Note that even though the Aprilia is dual-plugged, the circuitry to control the pair of plugs is shared. Both plugs fire at the same time, all the time. It is not possible to modify the software to fire the plugs independently.

Resistor R401 serves another purpose by making sure that the ignition coils are not being charged when the processor is first booted. When the processor powers up, its outputs are not actually configured as outputs yet. It takes the processor a bit of time to get around to configuring the I/O pins to be outputs. During that time, the pins 'float', since they are not being driven by the processor. R401 makes sure that if the processor is not driving the input, T401 will be turned 'on', thus making sure that the ignition coil is not being charged. If this were not the case, and the ignition coils started charging as the processor booted, a spark would be generated as soon as the processor configured its IO pins, thus turning off the unintended request to charge the coil. Depending on the circumstances, an unexpected spark could have serious consequences, for example, if you accidentally hit the kill switch while buzzing down the road and then flipped it back on while the engine was spinning. If a spurious spark was generated during the compression stroke, it would be a very bad thing for the engine. The resistor ensures that this will not happen.