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: -

            http://www.obd-2.com

            http://www.scantool.net

                       

 

 

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

            http://www.iso.ch

            http://www.sae.org

 

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