More thoughts on computers used in cars...
I'm not poo-poo-ing on technology in cars. Computers have contributed many wonderful things to the automotive industry. Digital FM tuning alone has probably saved lots of lives by letting people see more clearly what they're tuning at a quick glance, instead of a hard to read dial. (because you know for a fact that someone isn't going to be satisfied with leaving it on one station, even in the 1950s.)
And that's what this post is about. One of the most remarkable advancements of automotive industry starting mostly in the 80s is computer controlled fuel injection.
Before mechanical fuel injection, the only way a working engine would know how much fuel it needed from the gas tank to run was correctly tuning a mechanical device called a carburetor. By adjusting this device mechanically, it would change both how air and fuel was 'pulled' up into it before it was mixed and fed to the ignition chamber of the engine. It would be adjusted to account for weather changes, different fuel grades, performance, altitude, and other specific reasons, but sometimes setting it up for one condition was detrimental in other conditions. You could, for example, set a carb up to pull in lots of air and fuel because you're going to run the engine really hard racing.... but then the car won't start properly because it can't begin the combustion process with the fuel/air mix volume that high. (so in this example you'd adjust it after you already started it).
Anyways, the alternative to this was/is fuel injection in cars, and mechanical fuel injection has been around for a while before the 80s. The biggest advantage is that it can be far more precise than a carb, and therefore get more power and efficiency from the same amount of fuel. In fact, it was mostly used in fighter plane engines before the jet engine revolutions. But as far as cars, it saw very limited use because they weren't very flexible, tunable, or useful in the same way. It was an exotic car feature until the advancement of 'electronically controlled' fuel injection. Instead of being controlled by a computer, it was electronically controlled by voltage readings from an electrical element, or the behavior of an electromechanical sensor. These systems were used as far back as the 50s, but of course, electrical components were primitive, sensitive, expensive and not as flexible as hoped.
as computer processing power became cheaper, revisiting fuel injection made more sense. A computer takes readings from that sensor, digitizes them for analysis, and then decides how to control the operation of the engine combustion on some level.
These computers are super simple instruction chips that are physically robust (for weather conditions), run at low clock speeds for long term reliability, and are usually programmed in low level assembly- or even lower machine code.
In fact, these days, companies have been trying to reverse-engineer these computers in order to tune the engine in different ways. My car has been 'reprogrammed' by such a company to focus on performance and to adjust the engine for the parts I've added to it.
This is where worlds start colliding. Car manufacturers guard their code and engineering in the car computers as MS does with Windows code. This naturally infuriates proponents of 'open source,' who want to know exactly how the computer in their car works. In fact, there's a group of open-source tuners out there for some of the computers in cars that they believe they have cracked.
Why would you do this? Couldn't you just buy your own computer to control the car? The answer is yes, but not something like a PC. Purpose built vehicle computers that can be customised for any car start around $2000, and you program and install it yourself. These things are extremely powerful, but usually ignore emission controls because they are used mostly in racing cars off-the-road.
Besides, the car computer stores its instructions in a flashable ROM, and the computer in most cars since the 90s is actually very powerful and customisable. As long as you've reverse engineered it successfully. Good luck getting an API from a car manufacturer...
May 12 2010, 17:52:37 UTC 2 years ago
Minor nitpick
Machine code and assembly are two different ways of saying the exact same thing. An assembly language for a processor will have a 1-1 mapping of assembly instructions and machine code instructions.
A higher level language like C, Forth or Fortran will generally have one in-language instruction correspond to a sequence of machine code instructions.
This doesn't counter your point; it's probably only of interest to language geeks like me.
May 12 2010, 18:04:47 UTC 2 years ago
Re: Minor nitpick
the only reason i listed them exclusively is that they are seperate, even if functionally identical.Makes it easier to communicate to the non-computer people that it doesn't get any more hard-core. ;p
...feel like reverse engineering your car?
May 12 2010, 18:07:10 UTC 2 years ago
Re: Minor nitpick
Possibly. I've already committed to myself that I'll still be driving this car on its 25th anniversary, so it wouldn't be a bad thing to get to know it more intimately.As it stands, I already have an OBD key, and have watched a few of the readable parameters while tooling around.
May 12 2010, 18:09:31 UTC 2 years ago
Re: Minor nitpick
Incidentally, this is the one I have. I'm thinking more and more about replacing it with a USB version, though; I can attach that to a hub along with a GPS device, and avoid dealing with Bluetooth. (While potentially cool, bt is more of a pain than it really ought to be.)May 12 2010, 18:21:42 UTC 2 years ago
Re: Minor nitpick
you might find this interesting then, even if its only for Subarus and Mitsubishis.http://www.tactrix.com/
May 12 2010, 18:25:25 UTC 2 years ago
Re: Minor nitpick
basically, you're going to be hunting to figure out what actual silicon is used in your car's ECU. I sense an uphill battle.May 12 2010, 18:43:10 UTC 2 years ago
Re: Minor nitpick
in fact, poking around, i noticed that Subaru switched to a 32-bit ECU for the high performance STI models.an SH-2. And I thought, wait a minute, isnt that a hitachi? where have I heard that chip ID before?
I looked it up, and the Sega Saturn was based on a dual SH-2 archetecture. O_O
May 12 2010, 19:12:09 UTC 2 years ago
It's the basic trope of relying so heavily on a particular thing (in this case, the miracle that is computer processing) to the point were people are subject to its whims and failures, perhaps fatally. (Twilight Zone, anyone? Clearly an exaggeration for entertainment purposes but the point is there and (arguably) to be taken seriously.)
May 12 2010, 19:38:57 UTC 2 years ago
but there's also a case to be made for the openness of exposing whats in that ECU.
I can look at a brake caliper, and I can tell you if it works, how it works, etc.
yet there is a part on my car that i'm not "allowed" to know how it works. Understandably that doesn't sit well with some. ;p
May 12 2010, 23:23:18 UTC 2 years ago
May 13 2010, 01:45:23 UTC 2 years ago
current generation V8 fuel injected engines in the Mustang, Camaro, Corvette, and Hemi-type engines all have after-market options to replace the fuel injection system with carburetors! This type of tuning is still very much in demand by enough home mechanics (and racing pros too) that its still (after)marketable to offer these.
May 13 2010, 02:08:39 UTC 2 years ago