So much mis-information going on in this thread about fuel injection. This will be long, so please bear with me.
TPS
TPS works fine for calculating load. It's not as "sophisticated" as other systems, but that doesn't mean it's bad. The main drawback it has is that it requires the person tuning to do more work when setting it up to make it run good. A well-tuned TPS only system can easily outperform a poorly tuned MAF system.
RexLan. Your example about 6,000 RPM in your driveway actually proves TPS can be used for load. To hit 6,000 RPM with no load would only require a very small throttle opening. Try it on any engine and you'll see that if you open the throttle only 10% you can easily get very high RPM's. Since the throttle is only open 10%, then load is obviously very small. Since RPM is so high, the load is even smaller. The tables in the ECU would refelect this. 6,000 RPM at 10% throttle would require very little fuel. 2,000 RPM at 10% throttle (cruising) would require more fuel and different timing. These values are all determined through tuning and placed into the load table of the ECU.
TPS are used for more than determining closed/open loop (which is on the bottom of the list in importance). The primary uses of TPS are for determining load and for acceleration enrichment.
Load is striaghtforward - wherever the driver has the accelerator pedal is a good indication of how much "load" they are requesting. In modern vehicles, the throttle pedal is actually a "power pedal". If you press the pedal down to 50%, then the engine ECU will do whatever it can to develop 50% power (by adjusting fuel, ignition, boost and even throttle position for cars with drive-by-wire throttles) to achieve that 50% power target.
They are using this now on many race cars. Instead of requiring the driver to understand the engine power characteristics (especially for turbocharged engines which can have lag) they treat the throttle pedal as a power pedal. Now the driver only has to think "if I press the pedal this much, the engine produces this much" instead of having to "guess" the response of the engine to throttle inputs.
Acceleration enrichment is the main use of TPS. When the throttle is quickly opened, the engine takes a large "gulp" of air. Since there's so much more air than fuel, the engine leans out and hesitates for a split second. To compensate for this you add extra fuel by increasing injector pulse width higher than normal for a short time. You can't rely on a MAF (mass air flow) or MAP (manifold absolute pressure) sensor for this they are too slow. Not the sensors themselves (which are fast), but because of the reaction time to the airflow change based on their physical location. The TPS is the primary way to adjust acceleration enrichment, with MAF/MAP coming in second.
Engine ECU's monitor TPS over time to determine if throttle inputs are changing rapidly enough to require acceleration enrichment, and by how much.
The last use of TPS is for deceleration fuel shut off. If you are slowing down and have your foot off the throttle pedal, but the engine RPM's are high, then the injectors are shut off completely. This saves fuel and slightly improves economoy. On many new cars, this gets more advanced. Coasting down a long hill (mountain driving) you could have fuel shut off for an extended period of time. This will let the catalytic convertors cool off, which means they don't work as well. So new cars will add a little bit of fuel periodically when coasting to ensure the cats stay hot.
Injectors
For those who don't know, fully sequential injection is when the injector for each cylinder is independently fired. Further, the time when this injector is fired can also vary. Most people think that a fuel injector should only spray fuel when the intake valve is open and the fuel/air mixture is entering the cylinder. This is not correct. Usually the injector opens when the intake valve is closed, and finishes spraying fuel sometime while the valve is open. The timing is done such that the entire charge of fuel is drawn into the cylinder. Often, the time when the injector fires is actually varied at different load/RPM's as you can extract a little more power/torque by making small changes to injection timing.
Batch fire is when all injectors are fired at the same time. Obviously, when this happens some injectors could be spraying fuel when the intake valve is closed while other injectors are spraying when the intake valve is open. You would think that this would make the engine run poorly, but surprisingly it actually works very well for most engines. To help smooth fuel delivery out, batch fire rarely fires only once per engine cycle (two revolutions). Usually they fire two (or more) times with short pulse widths. This distributes the fuel more evenly to all cylinders.
On older mechanical injection systems, the injectors sprayed fuel 100% of the time. Obviously, fuel will collect on the back side of the intake valve and then be drawn into the cylinder only when the intake valve opens. Again, you might think this is a poor system and can't work well, but many engines used this (VW & Mercedes, for example) and they all ran great.
Group fire is somewhere in between. You might fire injectors in banks (for a V8 engine) or you might fire them in pairs. Firing injectors in banks is really no different than pure batch fire. Firing injectors in pairs is better than straight batch, but not as good as sequential.
So sequential is the best, but is is really sequential all the time? At lower RPM's when the intake valve is open for much longer than the pulse width of the injector you can have fully sequential injection. At higher RPM's, this changes. You often get to the point where the injector pulse width is much longer than the time the intake valve is open (high load/high RPM). In some engines, the fuel injector can be open for 60-80% of the cycle, which means the injector spends most of its time spraying fuel when the intake valve is
closed. Sounds a lot like batch, and it is. While sequential systems don't literally "switch" to batch fire mode at high RPM's, they function exactly the same. So when your fancy sequential system is developing maximum power, it's really just working like batch.
O2 Sensors
This is where things get complicated, even though it seems so simple. An O2 Sensor measures oxygen content and this is used to determine air/fuel ratio. There are basially two types of O2 Sensors: narrow band (most common by far) and wide band.
Narrow band sensors "switch". They can tell you if you are at stoich (14.7:1 air/fuel) but are very innacurate outside this range. Hence the name narrow band. They output about 0.45V for stoich and anything over or under represents a righ/lean mixture. It's important to note that 0.9V is not twice as rich as 0.45V. In fact, once you get over 0.5V or so, the sensor cannot determine how rich the engine is at all. As far as a narrow band sensor is, 12:1, 13:1 or 14:1 air fuel ratios would all output the same voltage (likely close to 1V).
Wide band sensors will tell you exactly what the air/fuel ratio is and will output a voltage or current (depending on type) that directly represents the air/fuel ratio.
So people are thinking "what good is a narrow band sensor if it can't tell me my air/fuel ratio?" Well, the truth is a narrow band sensor can give very accurate results. It's how you use it.
If you look at a typical car with a narrow band O2 sensor and put a voltmeter on it you'd see the voltage constantly switching from about 0.1V to 0.9V (constantly switching from rich to lean). But does this mean your engine is always running either rich or lean? No, of course not.
Let's say your engine needs an injector pulse width of 5.0ms to operate at 14.7:1 air/fuel ratio. The ECU might send out a pulse wdith of 4.8ms which causes the O2 sensor to read lean. Then the ECU could use a pulse width of 5.2ms which causes the O2 sensor to read rich. The average amount of fuel your engine is getting from rapidly switching between 4.8 and 5.2ms is the same as simply using a 5.0ms pulse width, which is exaclty what we want. So although the O2 sensor makes it appear the engine is always going lean/rich, the amount it's going from lean to rich is very small. The narrow band sensor "amplifies" the error by giving large voltage swings for very small changes in the air/fuel mixture.
Getting tired of typing - will post more later. Oh, and pics of the Lamborghini Countach that we're building right now.