Older technical information on the 160 baud ALDL format and newer information is available here, as well as hardware and software for a 160 baud ALDL emulator.
The first Holden V6 Commodore to have an ALDL connector was the VN model introduced in late 1988. This model used a part number 1277808 engine control unit (this is also known as an '808 ECU). Note that the '808 was used also in the LD Holden Astra, Nissan Pulsar and the JD/JE Holden Camira.
The ALDL connector is located underneath the glove compartment (left hand side on LHD vehicles). It is generally just tucked into the trim where service personnel can reach it easily. These service personnel use a commercial diagnostic device called a Tech-1 that plugs into the ALDL connector. Tech-1 can decode and display the data sent out from the ECU through the ALDL connector.
The VN's ALDL connector is a 6 point female socket arranged as shown in the diagram (when viewed from the mating conncor side). The rows of pins are at 4.0 mm centres (approx. 1/6 inch) so that distance G to B is 12 mm (3 x 4 mm). The rows of pins are at 6.0 mm centres (approx. 1/4 inch) so that distance D to C is 6 mm.
The GM Tech-1 mating connector is part number TA02329A (the Tech-1 is a diagnostic device used by GM technicians).
Note: Gregory's Service and Repair manual No. 249 shows a different lettering for the pins. We have used the lettering shown here because it corresponds to the alternative 12 pin ALDL connector (on the JE, LD) lettering found on later GM vehicles.
The function of each pin is described below. The points that the ALDL connector go to are shown along with the wiring loom colors.
6 Pin Holden VN ALDL Connector Pinouts Function Tech-1 pin ECU/vehicle, loom colour ---------------------------------------------------------------- Earth A ECU A12, D1/3/6/10 (Black) Diagnostic test terminal B ECU A9 (White/Black) Torque converter clutch F ECU A7, TCC (Grey/Red) Check engine light (CEL) E ECU A5, CEL lamp (Brown/white) Fuel pump test G Oil pressure/fuel pump (Violet) +12 volts H ECU A6 (Pink)
Nothing is normally connected to the ALDL connector, and the ECU runs in normal mode. There are three other modes that are available. Two are diagnostic modes and a third is a limp home mode that may be used when some sensor information is unavailable. One of the diagnostic modes (flashing error mode) generates a simple human readable diagnostic (or error) code, the other (vehicle service mode) generates a computer readable dump of a fixed set of parameters maintained by the ECU.
To place the ECU in a particular mode a resistor is placed between pins A and B. The value of this resistor, as shown below, determines the mode. In the two diagnostic modes the data is output by the ECU to pin E on the ALDL connector. The data is also displayed on the check engine lamp (CEL), which is the dashboard lamp showing an icon of a motor with an exclamation mark.
ALDL Mode Selection ECU-A9 Resistor Voltage Mode -------------------------------------------------------------------- none 5.0 V Normal operation 10 k 2.5 V Vehicle service mode (Tech-1 mode) described below 3.9 k 1.5 V Backup mode (limp home mode) short 0 V flashing error code (CEL) mode
Note that the flashing error code mode is usually selected by shorting pins A and B with a paper clip or other suitable device.
The ECU actually uses the resistance value noted above to create a voltage drop that it detects. The voltage that should be measured at (Tech-1) pin B (or ECU A-9), for each mode selected, is shown above in the Voltage column above.
The data on pin E, when the check engine lamp is functioning correctly, varies between 0 and 12 Volts. The ECU actually pulls ECU pin A5 (connected to ALDL pin E) low (ie. to 0 Volts) to turn the Check Engine Lamp on. When the lamp is OFF, ALDL pin E is at 12 Volts.
In the Vehicle Service Mode the data stream is at 160 bits per second (or BPS, also called baud). The check engine light should dimly and irregularly flicker in this mode.
GM has used at least two different diagnostic data streams from their ECU. The P4 ECU, as found on the VN Commodore, uses an unconventional 160 baud data stream (sometimes called a Pulse Width Modulation, or PWM, scheme). It is unconventional in that it does not correspond to any existing PC standard.
The GM P4 ECUs with the SXR UART driver chip, uses a conventional data stream that a normal serial port (using a UART) has a chance of reading. The data rate, at 8,192 baud is unconventional, (but a standard PC can be set to a close enough rate), and the Tx and Rx data streams are multiplexed (ie. share the same I/O wire). This 8,192 baud data stream is described in this document.
The message size for the VN V6 Automatic Commodore is 20 bytes long at a refresh rate of about 1.2 seconds (20 bytes data + SYNC character = 21 bytes, (21 x 9) / 160 = 1.18 seconds)
The technical details of GM's 160 baud ALDL data stream is further described here. The content of the VN Commodores data stream is described in the table below showing the contents of the 20 data bytes.
Byte Name Description --------------------------------------------------- 1 MW2 Mode Word B2=EST mode, B6=Hi. batt. ind., B3/4/5=MODE, B3=BACKUP, B4=DIAGNOSTIC, B5=ALDL 2 PROMIDA PROM ID (MSB) 3 PROMIDB PROM ID (LSB) 4 ISSPMP IAC motor's current position 5 COOLDEGA Coolant temperature, temp in degrees C = (n x 0.75) - 40. 6 FILTMPH Vehicle Speed 7 ?? MAP sensor voltage (255 is 5.00 Volts) 8 NTRPMX Engine speed, RPM = n x 25 9 ADTHROT TPS (Throttle Position Sensor) voltage (255 is 5.00 Volts) 10 ?? Injector flow rate (100 = 8.3 g/h) 11 MAT Manifold air temperature, temp in degrees C is (n x 0.75) - 40. 12 MALFFLG1 Malfunction flag word 1 13 MALFFLG2 Malfunction flag word 2 14 MALFFLG3 Malfunction flag word 3 15 BLM Block Learn Multiplier 16 ADO2AF Oxygen sensor voltage 17 MCUINST MCU input status word, B0=*park/neutral, B1=*trans. O/T, B7=A/C req. 18 ADBAT Battery Voltage times 10 19 ?? Integrator 20 ?? Output word, B0=Fan relay, B1=A/C clutch, B2=Torque Conv. Clutch, B4=closed loop status * indicates that value is NOT checked ----------------------------------------------------
The above information was calculated with the aid of the DIACOM hardware and software program and an ALDL data stream emulator I wrote for just this purpose. Some of the information has been researched from http://www.isthq.com/~dan/aldl_35.htm where I initially assumed the VN information was similar to a Chevrolet Multiport Fuel Injection System (1985 - 1986). The names for some of the data bytes is also derived from these sources.
CEL (Check engine Lamp) or flashing error code mode, displays a fault code as a series of quick flashes of the check engine lamp. Count the number of flashes to get a digit. Each fault code is made up of two digits separated by a 1.2 second pause. There is a 3.2 second pause between digit groups (ie. fault codes).
For example, a fault code of 12 (which is actually a null, or NO fault, fault code!) is made up of one flash, a pause of 1.2 seconds, then two flashes, followed by a pause of 3.2 seconds. this sequence repeats.
Trouble codes listed numerically
Code Explanation 12 No spark pulses at CPU or else good system, no codes 13 Oxygen sensor output remained at .35-.55 volts for more than one minute after warmup. Possible open circuit. 14 Coolant sensor indicated a temperature above 130C for 3 seconds after engine ran for 20 seconds. Probably a short 15 Coolant sensor indicated a temperature below -30C for 3 seconds when MAT > - 13 or engine running over 1 minute. Probably open circuit 21 Throttle pos sensor above 2.5 volts for 2 seconds when engine speed below 1600 rpm 22 Throttle pos sensor below .2 volt for 2 seconds while engine running 23 MAT sensor shows < -30 degrees C for 3 seconds after engine running 1 minute or coolant > 30C. Probably an open circuit. 24 No speed sensor pulses when engine between 2000-4000 rpm, throttle closed, high vacuum, not in neutral and all for 5 seconds 25 MAT sensor showed above 145 degrees C for 2 seconds after engine ran for over 1 minute. Possible short circuit. 31 Unknown Error Code 32 Unknown Error Code 33 MAP sensor voltage too high (> 4.00 v). Possible vacuum leak to sensor or faulty sensor. 34 MAP sensor voltage too low (< 0.25 v) with ignition on or engine running >1200 rpm and throttle open >20% 35 Closed throttle idle speed is more than 75 rpm above or below correct value for more than 45 seconds 41 No Crankshaft reference pulses. Ignition voltage < 11 volts etc. 42 Open or short on EST or BYPASS line to ignition module. 43 Engine Knock Sensor open or shorted. 44 O2 sensor showed < 0.250 volt for over 20 seconds while operating closed loop 45 O2 sensor showed > 0.550 volt for over 50 seconds while in closed loop with engine running over 1 minute and throttle open more than 2% 51 Check insertion of MEMCAL in socket and bent pins. 52 Check that CALPAK is in place, fully inserted, and no bent pins 53 Car's alternator has produced >17.1 volts for over 2 seconds. Check charging system 54 Unknown error code 55 ECU A to D error. Check ECU grounds, or excessive input voltage
Trouble codes by fault type
Problem Code(s) NO problem 12 Oxygen Sensor 13, 44, 45 Coolant Sensor 14, 15 TPS (Throttle) 21, 22 MAT (Temperature) 23, 25 MAP (Pressure) 33, 34 Speed Sensor 24 Crankshaft Sensor 41 Spark timing 42 Knock Sensor 43 Memcal problem 51, 52 Alternator overvoltage 53 Control unit input 55