Vehicle Diagnostics and Programming.
Version 1.1 Initial Version
Cars are now full of computers, modern cars have computers to control the engine – most never cars have computers for just about everything, and many have computer networks so that all the computers can communicate with each other.
Why is this useful? Now that is a good question – computers mean specialist servicing tools, expense and sometimes hastle. However, they do have some uses: -
Controlling the engine properly means reduced emissions
Monitoring the vehicle reduces diagnosis time when servicing
Computers make driving easier (such as turning on lights when it gets dark)
Now that we accept that vehicles are full of computers, it seems that they must be configurable to change the behaviour of the systems in the vehicle – well this is true, but the actual configurations of what can be done have typically been closely guarded secrets.
Luckily for the rest of the world, we have the USA. The USA has passed legislation a long time ago that certain information must be standardised and/or made available so that non-franchised vehicle repairers can still repair vehicles, and a number of people sell tools that can do what the franchised dealerÕs own diagnosis machines can do.
OBD-II
OBD-II was the first major standardisation, (well OBD was,
but OBD-II works) in the US for monitoring and testing emissions. From 1996 all
vehicles had to have OBD-II compatibility – and a light called MIL (or
Check Engine) that lit up should there be any problems. Any workshop could then
purchase a (relatively cheap) OBD-II diagnostic unit, plug it into the vehicle,
and find out why the MIL light was on, and thus quickly repair the vehicle.
The standards body that defined this is the SAE (See www.sae.org) along with ISO (see www.iso.ch)
EOBD
Us Europeans followed suite a few years later, and from 1st
January 2001 all petrol engine vehicles in Europe had to support EOBD, and from
more recently all Diesel vehicles must also have EOBD support.
Luckily for us, EOBD and OBD-II are basically the same, so the test equipment is the
same.
What does OBD-II/EOBD mandate?
OBDII/EOBD define a number of interfaces, physical,
electrical and software for interrogating a vehicleÕs engine management system
and running tests on it.
Physical: -
The standard 16 pin OBD connector
must be in the passenger compartment, in the area bounded by the driverÕs end
of the instrument panel to 300mm beyond the vehicle centreline, attached to the
instrument panel and accessible from the driverÕs seat. The preferred location
is between the steering column and the vehicle centreline.
The size/shape/location of this
connector is defined in a document called SAE J1962 written in February 1998.
Here is a picture of the
connector.
<TBA>
Pin out is
|
Pin |
Usage |
Pin |
Usage |
|
1 |
Discretionary |
9 |
Discretionary |
|
2 |
J1850 + |
10 |
J1850 - |
|
3 |
Discretionary |
11 |
Discretionary |
|
4 |
Chassis Ground |
12 |
Discretionary |
|
5 |
Signal Ground |
13 |
Discretionary |
|
6 |
J2284 (CAN) High |
14 |
J2284 (CAN) Low |
|
7 |
ISO9141 K Line |
15 |
ISO9141 L Line |
|
8 |
Discretionary |
16 |
Battery Power |
Electrical: -
There
are 3 electrical protocols used for OBD-II/EOBD diagnostics
a)
ISO9141 (Mainly European and Asian vehicles)
b)
SAE J1850 VPW (Mainly
GM)
c)
SAEJ1850 PWM
(Mainly Ford)
ISO9141 uses pins 7, and
occasionally pin 8 for communication with the vehicle. SAEJ1850VPW uses pin 2,
and SAEJ1850PWM uses 2 and 10.
Note that the ISO14230 standard
is essentially the same as the ISO9141 at the electrical level (I believe the voltage
tolerances are higher on ISO14230 to ISO9141)
Software: -
There are 3 software protocols
used to communicate with the control unit(s) (i.e to establish a link between
an external system and the control unit) – known as data link protocols.
a)
ISO9141-2 (used on ISO9141
interface)
b)
ISO14230 -2
c)
SAE J1850
SAE-J1979 details how to request
or reset data and to run specific tests on a vehicle. J1979 protocol is used to send the requests vial the
ISO9141-2/ISO14230/SAE-J1850 data link protocols.
Applications: -
OBD-II/EOBD
defines what a ÒstandardÓ emissions tester must be able to support
SAE-J1978
defines what a OBD-II Scan tool must be able to do
ISO14230-4
defines which sections of ISO14230-2 must be supported for a scan-tool
application to use.
SAE-J2012 is a document that
defines the trouble codes (DTCs) that have been standardised, which
includes the emissions
related codes defined in OBDII/EOBD
What is CAN ?
As you can see above, there is also J-2884 (CAN) connections
specified on the OBD-II plug. It
has not (so far) been an available interface for use for OBDII/EOBD emissions
related diagnostics, but is used more and more often in vehicles.
CAN is a 2 wire network (Ground and +12 volts are also
needed), where information is passed around the car. Either wire can become
detached, shorted to ground or +12 volts and the network will still continue to
function.
Basically all control units have a unique (vehicle
manufacturer defined) ID. They send messages using that ID when something
interesting happens, and any control units interested in information from that
ID pick it up and react accordingly.
For instance: -
User
selects reverse. Gear stick
controller sends message on CANbus telling everyone.
Rear
lights controller picks up message turns on reverse lights
Passenger
door mirror controller picks up message and points mirror to ground
Parking
sensor controller turns rear parking sensors on
Interior
mirror un-dips if it was dipped.
As you can imagine, CAN vastly reduced the amount of wiring
needed in the vehicle.
CAN has more recently been used for configuring behaviour of
control units, and for updating the software in the control units as-well.
What is J2534 Passthru
Again, luckily for us Europeans, the USA mandated that other
workshops should be able to diagnose and update firmware in vehicles. So from
model year 2004, manufacturers must make diagnostic hardware available (i.e.
cables etc) to reprogram vehicles. They must not mandate use of their specific
scan-tool in order to receive this
hardware, and must make the software programming information available to tool
and equipment companies so they can develop their own reprogramming software. This primarily applies to
the emissions and transmission systems, not everything else.
In fact what has happened, is that a number of electronics
manufacturers such as I+ME Actia (see www.actia.com)
have made interfaces (such as the PassThru + XS) that the vehicle manufacturers
have verified as correct, and will supply software applications to use those
products.
And, from a brief look around, manufacturers like Mercedes
(go see http://www.starekinfo.com) have
released cut-down versions of their normal workshop tools that use passthru
adapters to configure/re-program the control units.
What does ISO14230 give you
ISO14230-2 defines a standard mechanism to talk to the
various control units in a vehicle, and to get and set parameters, and to run tests.
As mentioned before, what each of the parameters does is kept secret by
manufacturers and licensed to the developers of alternative diagnosis systems.
What other protocols are used to talk to other
computers in the car ?
Many vehicles use ISO14230 since it allows easy address of
multiple control units – different control units have different ISO14230
addresses, or are connected to the various ÒdiscretionaryÓ pins on the OBDII
connector.
Other manufacturers have used ÒprivateÓ software protocols ,
using standard ISO9141 interface as the electrical interface to the vehicle
– Volkswagen Audi group (for instance) use their own protocol –
although man European manufacturers are moving to ISO9141.
How do I connect my car to my computer
You need an interface box. Interfaces that use ISO9141 are
very cheap, because they are very simple electrical level converters. There are
circuits etc published on the web.
Interfaces that support the SAE J1850 protocols are more
expensive, and CAN support is even more costly.
You should work out what software you want to use, and
purchase an interface supported by the software.
What free software is there to interrogate my car?
I wrote a simple scantool for LINUX systems, the source code
is freely available – please see
http://freediag.sourceforge.net
There are many windows applications such as: -
Where can I get more information
The freediag project can be found at
http://freediag.sourceforge.net
All the ISO and SAE protocol information is available (to
purchase) from ISO or SAE. These sites can be found at
A book with most of the important vehicle related documents
in it is available, itÕs a lot cheaper than downloading the individual
documents (but its still not cheap).
:w
Part of the ISO1420 standard was re-published by the
Swedish, if you search for SSF14230 you can find some of the information for
free.
CAN was developed by Bosch – see
http://www.semiconductors.bosch.de/en/20/can/1-about.asp