Sei sulla pagina 1di 102

An Introduction to Vehicle

Networks, Scan Tools, and


Multiplexing
Presented by: Paul
Baltusis
Powertrain Control System
Engineering
Diagnostic Systems
Department
OBD-II Technical
Specialist
September 28, 2002 Revised: September 28,
Page 1
2002
In-Vehicle Networks

In-vehicle networking, also known as


multiplexing, is a method for
transferring data between electronic
modules via a serial data bus.

September 28, 2002 Page 2


Benefits of Networking
Eliminates redundant sensors and dedicated
wires for each function (lower cost, lower
weight, better reliability)
Reduces number of wires and connectors
(lower cost, lower weight, better reliability,
easier-to-package wiring harness)
Allows more features and more flexibility
(modules share data, more flexible design
and vehicle option content)
Allows adding features via software
upgrades

September 28, 2002 Page 3


Benefits of Networking

September 28, 2002 Page 4


Networking Methods
Class A Generic UART (Universal
Asynchronous Receiver/Transmitter) or
other custom low speed device < 10
Kbps.
Class B Medium speed, for example
J1850, between 10 Kbps and 125 Kbps
(Ford DCL and SCP, GM Class 2)
Class C High Speed, for example CAN
2.0, between 125 Kbps and 1,000 Kbps
(Controller Area Network)

September 28, 2002 Page 5


OBD Communication Protocols
OBD-II and EOBD regulations define the
communication protocols that can be
used for diagnostics.
The intent was to reduce the
proliferation of manufacturer-specific
protocols used for diagnostics.
This would lead to more generic, less
expensive scan tools.

September 28, 2002 Page 6


OBD Communication Protocols

ISO 9141-2 (K-Line)


ISO 14230-4 (Keyword Protocol 2000)
J1850 41.6 Kbps Pulse Width Modulated
J1850 10.4 Kbps Variable Pulse Width
J2284/ISO 15765-4 (CAN)

September 28, 2002 Page 7


OBD Communication Protocols
Only one OBD-compliant link may be
brought out to the J1962 Data Link
Connector
OBD-II allows only 500 kbps CAN, EOBD
allows 250 and 500 kbps.
CARB will force all manufacturers to use
CAN for the 2008 MY
J2534 (pass through reprogramming)
must use a generic OBD link.

September 28, 2002 Page 8


Controller Area Network
CAN is a network protocol used to
interconnect a network of electronic
control modules or nodes.
Typically, a two wire, twisted pair cable
is used.
CAN has a stringent set of rules,
implemented in the CAN chip, that
supports the serial transfer of
information between two or more nodes.

September 28, 2002 Page 9


CAN Network

Where does CAN fit in the range of


networks?

Networks are usually based on size:


WAN Wide Area Network (Internet)
LAN Local Area Network (Ethernet)
SAN Small Area Network (CAN)

September 28, 2002 Page 10


CAN
CARB allows the use of CAN for 2003 MY
and beyond vehicles.
EOBD allows the use of CAN for 2001 CY
and beyond vehicles.
Some US manufacturers are planning to
start using CAN starting on some
vehicles in the 2003 MY.
CARB requires the use of CAN on all
vehicles for the 2008 MY and beyond.

September 28, 2002 Page 11


CAN
CAN messages have a specified structure
that is specified in CAN standards.
CAN networks have rules (bitwise
arbitration) for dealing with colliding
messages when two modules start
transmitting messages at the same time.
There are two formats for addressing
11 bit and 29 bit identifiers. 11-bit has a
2032 message limit, 29-bit allows for
millions of distinct messages.

September 28, 2002 Page 12


CAN Basic Message Structure

September 28, 2002 Page 13


CAN Message Arbitration

September 28, 2002 Page 14


J1850 41.6 PWM
J1850 41.6 PWM is used by Ford. Ford
internally calls this protocol Standard
Corporate Protocol (SCP)
SCP is a true network protocol that
incorporates bus arbitration.
SCP is used for both vehicle network
communication and diagnostic
communication.

September 28, 2002 Page 15


J1850 10.4 VPW

J1850 10.4 VPW is used by General


Motors. GM internally calls this protocol
Class 2.
Class 2 is a true network protocol that
incorporates bus arbitration.
Class 2 is used for both vehicle network
communication and diagnostic
communication.

September 28, 2002 Page 16


ISO 9141
ISO 9141 is used by many Japanese
manufacturers.
ISO 9141 is not a network protocol, it
can only be used for diagnostics.
There is no bus arbitration. It can be
used to connect one diagnostic tool to a
vehicle control module.
ISO 9141 is relatively slow 10.4 Kbps

September 28, 2002 Page 17


KWP 2000
KWP is used by many European
manufacturers. It uses an enhanced set
of diagnostic messages but retains the
ISO 9141 physical layer.
KWP is not a network protocol, it can
only be used for diagnostics.
There is no bus arbitration. It can be
used to connect one diagnostic tool to
one or more vehicle control modules.
KWP is relatively slow 10.4 Kbps

September 28, 2002 Page 18


Types of Network Messages
There are two types of network messages
Diagnostic messages
Normal Mode messages
Normal Mode messages are used to share
information between modules on the
network during normal vehicle operation,
e.g. instrument cluster sends fuel level info
(percent fill) to PCM.
Normal mode messages always use
physical addressing.

September 28, 2002 Page 19


Types of Network Messages
Diagnostic Mode messages are used to
communicate between a test tool and a
module on the network.
Diagnostic messages can use either
physical addressing or functional
addressing.
Manufacturer-specific tools normally use
physical addressing
Generic OBD tools use functional
addressing because the configuration of the
network and network addresses do not
have to be known for every specific vehicle

September 28, 2002 Page 20


SAE/ISO Diagnostic Specifications
Vehicle diagnostic communication
specifications have been written by the
Society of Automotive Engineers (SAE)
and by various International Standards
Organization (ISO) workgroups.
These standards are referenced by the
California, Federal and European OBD
regulations.
US regulations reference SAE standards,
European regulations reference
equivalent ISO standards.

September 28, 2002 Page 21


SAE/ISO Diagnostic Specifications
Legislated diagnostics
SAE J1930/ISO 15031-2 Electrical/Electronic Systems
Diagnostic Terms, Definitions, Abbreviations and Acronyms
SAE J1962/ISO 15031-3 Diagnostic Connector
SAE J1978/ISO 15031-4 OBD-II Scan Tool
SAE J1979/ISO 15031-5 E/E Diagnostic Test
Modes
SAE J2012/ISO 15031-6 Diagnostic Trouble Codes
SAE J2186/ISO 15031-7 E/E Data Link Security
Non legislated diagnostics
SAE J2190/ISO 14229 Enhanced E/E Diagnostic
Test Modes

September 28, 2002 Page 22


SAE/ISO Multiplex Specifications
Legislated multiplex standards
SAE J1850 (Class B Data Comm.
Network Interface)
ISO 9141-2 (K-Line)
ISO 14230-4 (Keyword Protocol 2000)
SAE J2284/ISO 15765-4 (CAN)
J2534 Recommended Practice for Pass-
Thru Vehicle Programming

September 28, 2002 Page 23


SAE J1930 Terms and Acronyms
J1930 attempts to limit the proliferation
of terms, abbreviations and acronyms
used in motor vehicle service literature.
Examples
Ford uses ECT (engine coolant temp sensor),
GM uses CTS (coolant temp sensor), J1930
uses ECT
Ford uses ISC (idle speed control), J1930 uses
IAC (idle air control)
Ford uses EEC-V, J1930 uses PCM (powertrain
control module)

September 28, 2002 Page 24


SAE J1930 Terms and Acronyms
J1930 describes a consistent methodology
for naming components and systems.

MODIFIERS BASE WORD


What is Where Which What does What
Purpose? Is it? Temp? it sense?Is it?
Sensor (most generic)
Temperature Sensor
Coolant Temperature Sensor
Engine Coolant Temperature Sensor
Instrumentation Engine Coolant Temperature Sensor (most specific)
Least <<<<<< SIGNIFICANCE >>>>>> Most

September 28, 2002 Page 25


SAE J1962 Data Link Connector
J1962 describes the functional
requirements for the vehicle and test
tool data link connector (DLC):
In-vehicle location/access
Connector design
Terminal assignments
Electrical interface requirements

September 28, 2002 Page 26


SAE J1962 Data Link Connector
The 16-pin DLC assignments are
specified in SAE J1962/ISO 15031-3
Pin 1 - Discretionary Pin 9 Discretionary
Pin 2 Bus + J1850 Pin 10 Bus J1850
Pin 3 Discretionary Pin 11 Discretionary
Pin 4 Chassis Ground Pin 12 Discretionary
Pin 5 Signal Ground Pin 13 - Discretionary
Pin 6 CAN High Pin 14 CAN Low
Pin 7 K-Line ISO9141/KWP Pin 15 L-Line ISO9141/KWP
Pin 8 Discretionary Pin 16 Unswitched Battery +

September 28, 2002 Page 27


SAE J1962 Data Link Connector
The general location of the DLC is specified
in J1962, however, CARB and EPA
regulations are more restrictive.
CARB specifies that DLC must be on drivers
side of vehicle centerline, not on center
console, or behind storage accessories.
A covered DLC must have label (e.g. OBD)
approved by CARB.
Pin 16 must have < 20 Volts (not 24 or 42
V)

September 28, 2002 Page 28


SAE J1978 Generic Scan Tool
J1978 defines the minimum functionality
required by an OBD-II Scan Tool
Automatic hands-off determination of the
communication interface
Displays status and results of on-board
diagnostic evaluations
Displays pending and confirmed DTCs
Displays current data, freeze frame data,
and vehicle information
Clears DTCs, test results and freeze frame
Provides a user manual/help facility

September 28, 2002 Page 29


SAE J2012 Diagnostic Trouble
Codes
J2012 defines a set of diagnostic trouble
codes (DTCs) where industry uniformity
has been achieved.
DTCs consist of an alpha character
followed by four characters
Pxxxx is reserved for powertrain DTCs
Bxxxx is reserved for body DTCs
Cxxxx is reserved for chassis DTCs
Uxxxx is reserved for network DTCs

September 28, 2002 Page 30


SAE J2012 Diagnostic Trouble
Codes
The second character designates whether
the DTCs and a generic SAE DTC or a
manufacturer-specific DTC.
P0xxx, P2xxx, P3400, and U0xxx are
generic DTCs
P1xxx, P30xx, P3100, P32xx and P33xx are
manufacturer-specific DTCs
The remaining characters designate the
system associated with the fault. The
characters are hex and can range from 0 F.

September 28, 2002 Page 31


SAE J2012 Diagnostic Trouble
Codes
The J2012 committee defines new DTCs
on a quarterly basis, based on
manufacturer requests.
The J2012 committee assigns DTCs in a
uniform manner using J1930
terminology.
Sample output:
P2632 Fuel Pump B Control Circuit / Open
P2633 Fuel Pump B Control Circuit Low
P2634 Fuel Pump B Control Circuit High
P2636 Fuel Pump B Low Flow/Performance

September 28, 2002 Page 32


SAE J2012 Diagnostic Trouble
Codes
Sample input:
P0A00 Motor Electronics Coolant Temp Sensor Circuit
P0A01 Motor Electr. Coolant Temp Sensor Circuit
Range / Performance
P0A02 Motor Electr. Coolant Temp Sensor Circuit Low
P0A03 Motor Electr. Coolant Temp Sensor Circuit High
P0A04 Motor Electr. Coolant Temp Sensor Circuit
Intermittent / Erratic
Sample network DTCs:
U0001 High Speed CAN Communication Bus
U0101 Lost Communication with TCM
U0302 Software Incompatibility with TCM
U0402 Invalid Data Received From TCM

September 28, 2002 Page 33


SAE J2186 Data Link Security
J2186 defines a method to access
secured vehicle controller functions.
Three parameters control security
access
the seed (sent by controller) and key
(sent by external device)
the delay time (minimum delay time
between attempts)
the number of false access attempts

September 28, 2002 Page 34


SAE J1979 Diagnostic Test Modes
SAE J1979/ISO 15031-5 defines standard
diagnostic test modes.
Diagnostic/emission critical control
modules must implement these
diagnostic test modes. They must be on
the OBD data link or must use another
module as a gateway.
CARB defines engine and transmission
control modules as emission-critical.

September 28, 2002 Page 35


SAE J1979 Diagnostic Test Modes
Any other control module that performs
a major OBD-II monitor or performs CCM
monitoring for more than two
components is considered to be
diagnostic critical.
If a diagnostic/emission critical control
module is reprogrammable, it must
respond with Mode $09 CALID and CVN.
It must be able to be reprogrammed
using a SAE J2534 interface.

September 28, 2002 Page 36


SAE J1979 Diagnostic Test Modes
J1979 specifies a set of standard messages
that can be used by scan tool to obtain
OBD-II data from a vehicle. (Modes $01 to
$09)
Functional addressing is used instead of
physical addressing for all messages
because the test tool does not know which
systems on the vehicle have the OBD
information that is requested.
Response times to messages are specified.
Message lengths are specified.

September 28, 2002 Page 37


SAE J1979 Diagnostic Test Modes
Messages must utilize a standard set of
header bytes specified for each
communication protocol.
The remainder of the message (the data
bytes) specify the type of message (test
mode) and specific data that is being
requested.
Header byte definitions are specified on
the next two slides.

September 28, 2002 Page 38


SAE J1979 Header Bytes
Header bytes (Hex) Data bytes
Priority/Type Target address (hex) Source address (hex) #1 #2 #3 #4 #5 #6 #7 ERR RESP

Diagnostic request at 10.4 kbit/s: SAE J1850 and ISO 9141-2


68 6A F1 Maximum 7 data bytes Yes No
Diagnostic response at 10.4 kbit/s: SAE J1850 and ISO 9141-2
48 6B ECU addr Maximum 7 data bytes Yes No

Diagnostic request at 10.4 kbit/s (ISO 14230-4)


11LL LLLLb 33 F1 Maximum 7 data bytes Yes No
Diagnostic response at 10.4 kbit/s (ISO14230-4)
10LL LLLLb F1 addr Maximum 7 data bytes Yes No

Diagnostic request at 41.6 kbit/s (SAE J1850)


61 6A F1 Maximum 7 data bytes Yes Yes
Diagnostic response at 41.6 kbit/s (SAE J1850)
41 6B addr Maximum 7 data bytes Yes Yes
Header bytes CAN frame data field
CAN Identifier (11 or 29 bit) #1 #2 #3 #4 #5 #6 #7 #8
PCI
Byte

September 28, 2002 Page 39


SAE J1979 CAN Header Bytes
CAN Id bit position: 28 24 23 16 15 8 7 0
functional CAN Id 18 hex DB hex Target Address (33) Source Address (F1)
physical CAN Id 18 hex DA hex Target Address (xx) Source Address (FI)

CAN identifier Description (11-bit addressing)


(hex)
7DF CAN identifier for functionally addressed request messages sent by the external test equipment.

7E0 Physical request CAN identifier from the external test equipment to ECU #1
7E8 Physical response CAN identifier from ECU #1 to the external test equipment

7E1 Physical request CAN identifier from the external test equipment to ECU #2
7E9 Physical response CAN identifier from ECU #2 to the external test equipment

7E2 Physical request CAN identifier from the external test equipment to ECU #3
7EA Physical response CAN identifier from ECU #3 to the external test equipment

7E3 Physical request CAN identifier from the external test equipment to ECU #4
7EB Physical response CAN identifier from ECU #4 to the external test equipment

7E4 Physical request CAN identifier from the external test equipment to ECU #5
7EC Physical response CAN identifier from ECU #5 to the external test equipment

7E5 Physical request CAN identifier from the external test equipment to ECU #6
7ED Physical response CAN identifier from ECU #6 to the external test equipment

7E6 Physical request CAN identifier from the external test equipment to ECU #7
7EE Physical response CAN identifier from ECU #7 to the external test equipment

7E7 Physical request CAN identifier from the external test equipment to ECU #8
7EF Physical response CAN identifier from ECU #8 to the external test equipment

September 28, 2002 Page 40


Ford Module Addresses
Module Phys Adr Func Adr Rec Adr Xmit Adr Func Rec Adr Func Xmit
Adr
(J1850) (J1850) (CAN) (CAN) (CAN) (CAN)
PCM $10 $6A $7E0 $7E8 $7DF $7E8
(Powertrain Control Module)
TCM $18 $6A $7E1 $7E9 $7DF $7E9
(Transmission Control Module)
ABS $28 $6A $7E2 $7EA $7DF non-OBD
(Anti-lock Brake System)
AHCM $0F $6A $7E3 $7EB $7DF non-OBD
(Auxiliary Heater Control Module)
TCCM $18 $6A $7E4 $7EC $7DF non-OBD
(Transfer Case Control Module)
AFCM $16 $6A $7E5 $7ED $7DF $7ED
(Alternative Fuel Control Module)
SPCM $11 $6A $7E6 $7EE $7DF $7EE
(Secondary PCM)

September 28, 2002 Page 41


Mode $01 Retrieve Diagnostic Data
Mode $01 provides diagnostic data,
commonly called PIDs (Parameter ID)
Service technicians can use the data to
troubleshoot sensors, check OBD monitor
completion, MIL status, etc.
Test tool specifies the requested data by
PID number ($00 through $FF)
PIDs are defined in J1979 (number, units,
conversion/scaling factor, acronym)
PIDs must show raw values not
substituted values if a sensor fails

September 28, 2002 Page 42


Mode $01 Retrieve Diagnostic Data

The message format used to make a PID


request is as follows:

Data Bytes (Hex)


#1 #2 #3 #4 #5 #6 #7

Request Current Powertrain Diagnostic Data


Request Powertrain 01 PID
Diagnostic Data

Report Current Powertrain Diagnostic Data


Report Powertrain 41 PID data data data data
Diagnostic Data A B C D
(opt) (opt) (opt)

September 28, 2002 Page 43


PID $01 I/M Readiness
PID Description Data Scaling/bit External test equipment
(hex) byte SI (Metric) / English display
01 Monitor status since DTCs cleared A
(bit)
# of DTCs stored in this ECU 0-6 Hexadecimal DTC_CNT: xxxx
Malfunction Indicator Lamp (MIL) 7 0 = MIL OFF; 1 = MIL ON MIL: OFF or ON
Status
Supported tests which are continuous B byte 2 of 4 (Low Nibble) Support status of continuous monitors:
(bit)
Misfire monitoring 0 0 = monitor not MIS_SUP: NO or YES
supported (NO)
Fuel system monitoring 1 0 = monitor not FUEL_SUP: NO or YES
supported (NO)
Comprehensive component 2 0 = monitor not CCM_SUP: NO or YES
monitoring supported (NO)
reserved (bit shall be reported as 0) 3 ---
Misfire monitoring 4 0 = monitor complete, or MIS_RDY: YES or NO
not applicable (YES)
Fuel system monitoring 5 0 = monitor complete, or FUEL_RDY: YES or NO
not applicable (YES)
Comprehensive component 6 0 = monitor complete, or CCM_RDY: YES or NO
monitoring not applicable (YES)
reserved (bit shall be reported as 0) 7 ---
Supported tests run at least once per C byte 3 of 4 Support status of non-continuous monitors:
trip (bit)
Catalyst monitoring 0 CAT_SUP: NO or YES
Heated catalyst monitoring 1 HCAT_SUP: NO or YES
Evaporative system monitoring 2 0 = monitor not EVAP_SUP: NO or YES
supported (NO)
Secondary air system monitoring 3 1 = monitor supported AIR_SUP: NO or YES
A/C system refrigerant monitoring 4 (YES) ACRF_SUP: NO or YES
Oxygen sensor monitoring 5 O2S_SUP: NO or YES
Oxygen sensor heater monitoring 6 HTR_SUP: NO or YES
EGR system monitoring 7 EGR_SUP: NO or YES
Status of tests run at least once per D byte 4 of 4 Completion status of non-continuous
trip (bit) monitors since DTCs cleared:
Catalyst monitoring 0 CAT_RDY: YES or NO
Heated catalyst monitoring 1 HCAT_RDY: YES or NO
Evaporative system monitoring 2 0 = monitor complete, or EVAP_RDY: YES or NO
not applicable (YES)
Secondary air system monitoring 3 1 = monitor not complete AIR_RDY: YES or NO
A/C system refrigerant monitoring 4 (NO) ACRF_RDY: YES or NO
Oxygen sensor monitoring 5 O2S_RDY: YES or NO
Oxygen sensor heater monitoring 6 HTR_RDY: YES or NO
EGR system monitoring 7 EGR_RDY: YES or NO

September 28, 2002 Page 44


PID $02 and $03
PID Description Data Scaling/bit External test equipment
(hex) byte SI (Metric) / English display
01 Monitor status since DTCs cleared A
(bit)
# of DTCs stored in this ECU 0-6 Hexadecimal DTC_CNT: xxxx
Malfunction Indicator Lamp (MIL) 7 0 = MIL OFF; 1 = MIL ON MIL: OFF or ON
Status
Supported tests which are continuous B byte 2 of 4 (Low Nibble) Support status of continuous monitors:
(bit)
Misfire monitoring 0 0 = monitor not MIS_SUP: NO or YES
supported (NO)
Fuel system monitoring 1 0 = monitor not FUEL_SUP: NO or YES
supported (NO)
Comprehensive component 2 0 = monitor not CCM_SUP: NO or YES
monitoring supported (NO)
reserved (bit shall be reported as 0) 3 ---
Misfire monitoring 4 0 = monitor complete, or MIS_RDY: YES or NO
not applicable (YES)
Fuel system monitoring 5 0 = monitor complete, or FUEL_RDY: YES or NO
not applicable (YES)
Comprehensive component 6 0 = monitor complete, or CCM_RDY: YES or NO
monitoring not applicable (YES)
reserved (bit shall be reported as 0) 7 ---
Supported tests run at least once per C byte 3 of 4 Support status of non-continuous monitors:
trip (bit)
Catalyst monitoring 0 CAT_SUP: NO or YES
Heated catalyst monitoring 1 HCAT_SUP: NO or YES
Evaporative system monitoring 2 0 = monitor not EVAP_SUP: NO or YES
supported (NO)
Secondary air system monitoring 3 1 = monitor supported AIR_SUP: NO or YES
A/C system refrigerant monitoring 4 (YES) ACRF_SUP: NO or YES
Oxygen sensor monitoring 5 O2S_SUP: NO or YES
Oxygen sensor heater monitoring 6 HTR_SUP: NO or YES
EGR system monitoring 7 EGR_SUP: NO or YES
Status of tests run at least once per D byte 4 of 4 Completion status of non-continuous
trip (bit) monitors since DTCs cleared:
Catalyst monitoring 0 CAT_RDY: YES or NO
Heated catalyst monitoring 1 HCAT_RDY: YES or NO
Evaporative system monitoring 2 0 = monitor complete, or EVAP_RDY: YES or NO
not applicable (YES)
Secondary air system monitoring 3 1 = monitor not complete AIR_RDY: YES or NO
A/C system refrigerant monitoring 4 (NO) ACRF_RDY: YES or NO
Oxygen sensor monitoring 5 O2S_RDY: YES or NO
Oxygen sensor heater monitoring 6 HTR_RDY: YES or NO
EGR system monitoring 7 EGR_RDY: YES or NO

September 28, 2002 Page 45


PIDs $04 - $11
04 Calculated LOAD Value! A 0% 100 % 100/255 % LOAD_PCT: xxx.x %
LOAD_PCT = [current airflow] / [(peak airflow at WOT@STP as a function of rpm) * (BARO/29.92) *
SQRT(298/(AAT+273))]
Characteristics of LOAD_PCT are:
Reaches 1.0 at WOT at any altitude, temperature or rpm for both naturally aspirated and boosted engines.
Indicates percent of peak available torque.
Linearly correlated with engine vacuum
Often used to schedule power enrichment.
Compression ignition engines (diesels) shall support this PID using fuel flow in place of airflow for the
above calculations.
05 Engine Coolant Temperature A -40 C +215 C 1 C with ECT: xxx C (xxx F)
-40 C offset
06 Short Term Fuel Trim - Bank 1 A -100 % +99.22 % 100/128 % SHRTFT1: xxx.x %
(lean) (rich) (0 % at 128) SHRTFT3: xxx.x %
07 Long Term Fuel Trim - Bank 1 A -100 % +99.22 % 100/128 % LONGFT1: xxx.x %
(lean) (rich) (0 % at 128) LONGFT3: xxx.x %
08 Short Term Fuel Trim - Bank 2 A -100 % +99.22 % 100/128 % SHRTFT2: xxx.x %
(lean) (rich) (0 % at 128) SHRTFT4: xxx.x %
09 Long Term Fuel Trim Bank 2 A -100 % +99.22 % 100/128 % LONGFT2: xxx.x %
(lean) (rich) (0 % at 128) LONGFT4: xxx.x %
0A Fuel Rail Pressure (gauge) A 0 kPa 765 kPa 3 kPa per bit FRP: xxx kPa (xx.x psi)
(gauge) (gauge) (gauge)
0B Intake Manifold Absolute A 0 kPa 255 kPa 1 kPa per bit MAP: xxx kPa (xx.x inHg)
Pressure (absolute) (absolute)
-1 -1
0C Engine RPM A, 0 min 16383.75 rpm per bit RPM: xxxxx min
-1
B min
0D Vehicle Speed Sensor A 0 km/h 255 km/h 1 km/h per bit VSS: xxx km/h (xxx mph)
0E Ignition Timing Advance for #1 A -64 63.5 with SPARKADV: xx
Cylinder 0 at 128
0F Intake Air Temperature A -40 C +215 C 1 C with IAT: xxx C (xxx F)
-40 C offset
10 Air Flow Rate from Mass Air A, 0 g/s 655.35 0.01 g/s MAF: xxx.xx g/s (xxxx.x lb/min)
Flow Sensor B g/s
11 Absolute Throttle Position A 0% 100 % 100/255 % TP: xxx.x %

September 28, 2002 Page 46


PIDs $12 - $1B
12 Commanded Secondary Air A byte 1 of 1 AIR_STAT:
Status (bit)
(if supported, one, and only 0 1 = upstream of first catalytic converter AIR_STAT: UPS
one bit at a time can be set 1 1 = downstream of first catalytic converter inlet AIR_STAT: DNS
to a 1) 2 1 = atmosphere / off AIR_STAT: OFF
3-7 reserved (bits shall be reported as 0) ---
13 Location of Oxygen Sensors A byte 1 of 4 O2SLOC:
(bit)
(where sensor 1 is closest 0 1 = Bank 1 - Sensor 1 present at that location O2S11
to the engine. Each bit 1 1 = Bank 1 - Sensor 2 present at that location O2S12
indicates the presence or 2 1 = Bank 1 - Sensor 3 present at that location O2S13
absence of an oxygen 3 1 = Bank 1 - Sensor 4 present at that location O2S14
sensor at the following 4 1 = Bank 2 - Sensor 1 present at that location O2S21
location) 5 1 = Bank 2 - Sensor 2 present at that location O2S22
6 1 = Bank 2 - Sensor 3 present at that location O2S23
7 1 = Bank 2 - Sensor 4 present at that location O2S24
14 Bank 1 Sensor 1 These PIDs shall be used for a
15 Bank 1 Sensor 2 conventional, 0 to 1 Volt oxygen
16 Bank 1 Sensor 3 sensor. Any sensor with a different full
17 Bank 1 Sensor 4 scale value shall be normalized to
18 Bank 2 Sensor 1 provide nominal full scale at $C8 (200
19 Bank 2 Sensor 2 decimal). Wide-range/linear oxygen
1A Bank 2 Sensor 3 sensors shall use PIDs $24 to $2B or
1B Bank 2 Sensor 4 PIDs $34 to $3B.
Oxygen Sensor Output Voltage A 0V 1.275 V 0.005 V O2Sxy: x.xxx V
(Bx-Sy)
Short Term Fuel Trim (Bx-Sy) B -100.00 % 99.22 % 100/128 % SHRTFTxy: xxx.x %
(lean) (rich) (0 % at 128)

September 28, 2002 Page 47


PIDs $1C - $1E
1C OBD requirements to which A byte 1 of 1 OBDSUP:
vehicle is designed (hex) (State Encoded Variable)
01 OBD II (California ARB) OBD II
02 OBD (Federal EPA) OBD
03 OBD and OBD II OBD and OBD II
04 OBD I OBD I
05 Not OBD compliant NO OBD
06 EOBD EOBD
07 EOBD and OBD II EOBD and OBD II
08 EOBD and OBD EOBD and OBD
09 EOBD, OBD and OBD II EOBD, OBD and OBD II
0A JOBD JOBD
0B JOBD and OBD II JOBD and OBD II
0C JOBD and EOBD JOBD and EOBD
0D JOBD, EOBD, and OBD II JOBD, EOBD, and OBD II
0E - FF reserved by document ---
1D Location of oxygen sensors A byte 1 of 1 O2SLOC:
(bit)
(where sensor 1 is closest to 0 1 = Bank 1 - Sensor 1 present at that location O2S11
the engine. Each bit 1 1 = Bank 1 - Sensor 2 present at that location O2S12
indicates the presence or 2 1 = Bank 2 - Sensor 1 present at that location O2S21
absence of an oxygen sensor 3 1 = Bank 2 - Sensor 2 present at that location O2S22
at the following location) 4 1 = Bank 3 - Sensor 1 present at that location O2S31
5 1 = Bank 3 - Sensor 2 present at that location O2S32
6 1 = Bank 4 - Sensor 1 present at that location O2S41
7 1 = Bank 4 - Sensor 2 present at that location O2S42
1E Auxiliary Input Status A byte 1 of 1 Auxiliary Input Status
(bit)
Power Take Off (PTO) Status 0 0 = PTO not active (OFF); PTO_STAT: OFF or ON
1 = PTO active (ON)
1-7 reserved (bits shall be reported as 0) ---

September 28, 2002 Page 48


PIDs $1F - $2B

1F Time Since Engine Start A, B 0 sec. 65,535 1 second per RUNTM: xxxxx sec.
sec. count
21 Distance Traveled While MIL is A, B 0 km 65535 km 1 km per MIL_DIST: xxxxx km (xxxxx
Activated count miles)
22 Fuel Rail Pressure relative to manifold A, B 0 kPa 5177.27 0.079 kPa per FRP: xxxx.xxx kPa (xxx.x PSI)
vacuum kPa bit unsigned
23 Fuel Rail Pressure A, B 0 kPa 655350 10 kPa per bit FRP: xxxxxx kPa (xxxxx.x PSI)
kPa unsigned
24 Bank 1 Sensor 1 (wide range O2S) PIDs $24 to $2B shall be
25 Bank 1 Sensor 2 (wide range O2S) used for linear or wide-ratio
26 Bank 1 Sensor 3 (wide range O2S) Oxygen Sensors when
27 Bank 1 Sensor 4 (wide range O2S) equivalence ratio and voltage
28 Bank 2 Sensor 1 (wide range O2S) are displayed
29 Bank 2 Sensor 2 (wide range O2S)
2A Bank 2 Sensor 3 (wide range O2S)
2B Bank 2 Sensor 4 (wide range O2S)
Equivalence Ratio (lambda) (Bx-Sy) A, B 0 1.999 0.0000305 EQ_RATxy: x.xxx
Oxygen Sensor Voltage (Bx-Sy) C, D 0V 7.999 V 0.000122 V O2Sxy: x.xxx V

September 28, 2002 Page 49


PIDs $2C - $33

2C Commanded EGR A 0% 100% 100/255 % EGR_PCT: xxx.x%


(no flow) (max. flow)
2D EGR Error = (EGR actual EGR A -100 % +99.22 % 100/128 % EGR_ERR: xxx.x%
commanded) / EGR (less than (more than (0 % at 128)
commanded * 100% commanded) commanded)
2E Commanded Evaporative Purge A 0% 100% 100/255 % EVAP_PCT: xxx.x %
no flow max. flow
2F Fuel Level Input A 0% 100% 100/255 % FLI: xxx.x %
no fuel max. fuel
capacity
30 Number of warm-ups since A 0 255 1 warm-up WARM_UPS: xxx
diagnostic trouble codes cleared per count
31 Distance since diagnostic A, B 0 km 65,535 km 1 km per CLR_DIST: xxxxx km (xxxxx
trouble codes cleared count miles)
32 Evap System Vapor Pressure A, B ($8000) ($7FFF) 0.25 Pa per EVAP_VP: xxxx.xx Pa (xx.xxx
-8192 Pa 8191 Pa bit signed in H2O)
(-32.8878 (32.8838
inH2O) inH2O)
33 Barometric Pressure A 0 kPa 255 kPa 1 kPa per bit BARO: xxx kPa (xx.x inHg)
(absolute) (absolute) (absolute)

September 28, 2002 Page 50


PIDs $34 - $3F

34 Bank 1 - Sensor 1 (wide range O2S) PIDs $34 to $3B shall be


35 Bank 1 - Sensor 2 (wide range O2S) used for linear or wide-ratio
36 Bank 1 - Sensor 3 (wide range O2S) Oxygen Sensors when
37 Bank 1 - Sensor 4 (wide range O2S) equivalence ratio and current
38 Bank 2 - Sensor 1 (wide range O2S) are displayed
39 Bank 2 - Sensor 2 (wide range O2S)
3A Bank 2 - Sensor 3 (wide range O2S)
3B Bank 2 - Sensor 4 (wide range O2S)
Equivalence Ratio (lambda) (Bx-Sy) A, B 0 1.999 0.0000305 EQ_RATxy: x.xxx
Oxygen Sensor Current (Bx-Sy) C, D -128 127.996 0.00390625 mA O2Sxy: x.xxx mA
mA mA ($8000 = 0 mA)
3C Catalyst Temperature Bank 1, A, B -40 C +6513.5 C 0.1 C / bit with CATEMP11: xxxx.x C (xxxx.x
Sensor 1 -40 C offset F)
3D Catalyst Temperature Bank 2, A, B -40 C +6513.5 C 0.1 C / bit with - CATEMP21: xxxx.x C (xxxx.x
Sensor 1 40 C offset F)
3E Catalyst Temperature Bank 1, A, B -40 C +6513.5 C 0.1 C / bit with - CATEMP12: xxxx.x C (xxxx.x
Sensor 2 40 C offset F)
3F Catalyst Temperature Bank 2, A, B -40 C +6513.5 C 0.1 C / bit with - CATEMP22: xxxx.x C (xxxx.x
Sensor 2 40 C offset F)

September 28, 2002 Page 51


PID $41
41 Monitor status this driving cycle A
Reserved - shall be reported as $00 0-7 ---
Enable status of continuous monitors B byte 2 of 4 (Low Nibble) Enable status of continuous monitors this
this monitoring cycle: (bit) monitoring cycle: NO means disabled for
rest of this monitoring cycle or not supported
Misfire monitoring 0 0 = monitor disabled for MIS_ENA: NO or YES
Fuel system monitoring 1 rest of this monitoring FUEL_ENA: NO or YES
Comprehensive component 2 cycle or not CCM_ENA: YES
monitoring supported (NO)

reserved (bit shall be reported as 0) 3


Completion status of continuous B byte 2 of 4 (High Nibble) Completion status of continuous monitors
monitors this monitoring cycle: (bit) this monitoring cycle:
Misfire monitoring 4 See PID $01 to determine MIS_CMPL: YES or NO
Fuel system monitoring 5 which monitors are FUELCMPL: YES or NO
supported CCM_CMPL: YES or NO
Comprehensive component 6
0 = monitor complete this
monitoring monitoring cycle, or
reserved (bit shall be reported as 0) 7 not supported (YES)
41 Monitor status this driving cycle
Enable status of non-continuous C byte 3 of 4 Enable status of non-continuous monitors
monitors this monitoring cycle: (bit) this monitoring cycle:
Catalyst monitoring 0 CAT_ENA: YES or NO
Heated catalyst monitoring 1 0 = monitor disabled for HCAT_ENA: YES or NO
Evaporative system monitoring 2 rest of this monitoring EVAP_ENA: YES or NO
cycle (NO) AIR_ENA: YES or NO
Secondary air system monitoring 3
1 = monitor enabled for ACRF_ENA: YES or NO
A/C system refrigerant monitoring 4 this monitoring cycle O2S_ENA: YES or NO
Oxygen sensor monitoring 5 (YES) HTR_ENA: YES or NO
Oxygen sensor heater monitoring 6 EGR_ENA: YES or NO
EGR system monitoring 7
Completion status of non-continuous D byte 4 of 4 Completion status of non-continuous
monitors this monitoring cycle: (bit) monitors this monitoring cycle:
Catalyst monitoring 0 See PID $01 to determine CAT_CMPL: YES or NO
Heated catalyst monitoring 1 which monitors are HCATCMPL: YES or NO
Evaporative system monitoring 2 supported. EVAPCMPL: YES or NO
0 = monitor complete this AIR_CMPL: YES or NO
Secondary air system monitoring 3
monitoring cycle, or ACRFCMPL: YES or NO
A/C system refrigerant monitoring 4 not supported (YES) O2S_CMPL: YES or NO
Oxygen sensor monitoring 5 1 = monitor not complete HTR_CMPL: YES or NO
Oxygen sensor heater monitoring 6 this monitoring cycle EGR_CMPL: YES or NO
EGR system monitoring 7 (NO)

September 28, 2002 Page 52


PIDs $42 - $4E
42 Control module voltage A, B 0V 65.535 V 0.001 V per bit VPWR: xx.xxx V

43 Absolute Load Value A, B 0% 25700 % 100/255 % LOAD_ABS: xxx.x%


LOAD_ABS = [air mass (g / intake stroke)] / [1.184 (g / intake stroke) * cylinder displacement in litres]
Characteristics of LOAD_ABS are:
Ranges from 0 to approximately 0.95 for naturally aspirated engines, 0 4 for boosted engines,
Linearly correlated with engine indicated and brake torque, Often used to schedule spark and EGR rates,
Peak value of LOAD_ABS correlates with volumetric efficiency at WOT.,
Indicates the pumping efficiency of the engine for diagnostic purposes.
44 Commanded Equivalence Ratio A, B 0 1.999 0.0000305 EQ_RAT: x.xxx
Fuel systems that utilize conventional oxygen sensor shall display the commanded open loop equivalence ratio while
the fuel control system is in open loop. EQ_RAT shall indicate 1.0 while in closed loop fuel.
Fuel systems that utilize wide-range/linear oxygen sensors shall display the commanded equivalence ratio in both open
loop and closed loop operation.
To obtain the actual A/F ratio being commanded, multiply the stoichiometric A/F ratio by the equivalence ratio. For
example, for gasoline, stoichiometric is 14.64:1 ratio. If the fuel control system was commanding an 0.95 EQ_RAT, the
commanded A/F ratio to the engine would be 14.64 * 0.95 = 13.9 A/F
45 Relative Throttle Position A 0% 100 % 100/255 % TP_R: xxx.x %
46 Ambient air temperature A -40 C +215 C 1 C with AAT: xxx C / xxx F
(same scaling as IAT - $0F) -40 C offset
47 Absolute Throttle Position B A 0% 100 % 100/255 % TP_B: xxx.x %
48 Absolute Throttle Position C A 0% 100 % 100/255 % TP_C: xxx.x %
49 Accelerator Pedal Position D A 0% 100 % 100/255 % APP_D: xxx.x %
4A Accelerator Pedal Position E A 0% 100 % 100/255 % APP_E: xxx.x %
4B Accelerator Pedal Position F A 0% 100 % 100/255 % APP_F: xxx.x %
4C Commanded Throttle Actuator A 0% 100% 100/255 % TAC_PCT: xxx.x%
Control (closed (wide open
throttle) throttle)
4D Minutes run by the engine while A, B 0 min 65535 min 1 min per MIL_TIME: xxxx hrs, xx min
MIL activated count
4E Time since diagnostic trouble A, B 0 min 65535 min 1 min per CLR_TIME: xxxx hrs, xx min
codes cleared count

September 28, 2002 Page 53


Mode $02 Freeze Frame
Mode $02 stores Mode $01 PID data at the
time a pending or confirmed DTC is stored.
Fuel system and misfire DTCs have a
higher priority and overwrite any existing
data.
Service technicians can use the data to
understand the conditions at the time the
malfunction occurred.
Only one frame ($00) is required to be
stored.

September 28, 2002 Page 54


Mode $02 Freeze Frame
Freeze frame can be useful, however,
there are some caveats.
Freeze frame is stored when the DTC is
stored, not when the problem began.
For circuit faults, it usually takes 5
seconds to store a DTC.
Misfire is evaluated every 1,000 revs. A
misfire DTC may be stored 60-90
seconds after the misfire initially
occurred, at substantially different rpm
and load conditions.

September 28, 2002 Page 55


Mode $02 Freeze Frame

The message format used to retrieve freeze


frame is as follows:
Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

Request Powertrain Freeze Frame Data


Request Powertrain 02 PID frame
Freeze Frame Data no.

Report Powertrain Freeze Frame Data


(only valid if Mode $02 PID $02 DTC is not $00 00)
Report Powertrain 42 PID frame data data data data
Freeze Frame Data no. A B C D
(opt) (opt) (opt)

September 28, 2002 Page 56


Mode $03 Retrieve emission-related
DTCs
Mode $03 reports confirmed, emission-
related DTCs.
Service technicians and I/M test stations
use this mode to determine what
malfunction turned on the MIL.
Mode $03 reports history codes for 40
warm-ups after the MIL is extinguished.

September 28, 2002 Page 57


Mode $03 Retrieve emission-related
DTCs
The message format used to retrieve
emission-related DTCs is as follows:
Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

Request number of codes from all modules


Request number of 01 01
Powertrain DTC

Report number of codes (each module)


Report number of stored 41 01 # DTC Eval. Eval. Eval.
powertrain DTC & Supp. Supp. Status
MIL #1 #2

Request codes from all modules


Request Powertrain DTC 03

Report codes (each module)


Report Powertrain DTC 43 Code #1 Code #2 Code #3
or 00 00 or 00 00 or 00 00

September 28, 2002 Page 58


Mode $04 Clear DTCs and Diagnostic
Information
Mode $04 clears/erases DTCs and resets
diagnostic data at the time a pending or
confirmed DTC was stored. Diagnostic
data includes freeze frame, I/M
readiness, monitor status, PIDs for
MIL_DIST, WARM_UPS, CLR_DIST, Mode
$06 data.
Service technicians can use this mode
to turn off the MIL after a repair and to
validate a repair.

September 28, 2002 Page 59


Mode $04 Clear DTCs and Diagnostic
Information
The message format used to clear DTCs is as
follows:

Data Bytes (Hex)


#1 #2 #3 #4 #5 #6 #7

Request to Clear/Reset Emission-Related Diagnostic Information


Clear Powertrain DTC 04

Report when Emission-Related Diagnostic Information is Reset


Powertrain DTC cleared 44

September 28, 2002 Page 60


Mode $05 Retrieve Oxygen Sensor Data
Mode $05 provides test results for
oxygen sensors.
This mode is no longer used for CAN
applications. All data is still available
using Mode $06.

September 28, 2002 Page 61


Mode $05 Retrieve Oxygen Sensor Data
The message format used to retrieve oxygen
sensor data is as follows:
Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

Request Oxygen Sensor Test Results


Request Oxygen Sensor 05 Test ID 02S #
Test Results

Report Oxygen Sensor Test ID Support - Optional


(Test IDs $00, $20, $40, $60, $80, $A0, $C0, $E0)
Report Oxygen Sensor 45 Test 02S # Support for the next 32 test IDs
Test ID Support ID following the requested ID is
indicated in data bytes #4 through #7

Report Oxygen Sensor Test Results


(All Test IDs That Dont Indicate Test ID Support
Data is only valid if Mode $01 PID $01 indicates Oxygen sensor
monitoring is supported and the test is complete)
Report Oxygen Sensor 45 Test 02S # test value min max
Test Results ID limit limit
(opt)* (opt)*

September 28, 2002 Page 62


Mode $05 Retrieve Oxygen Sensor Data

Data Description
Byte
2 Which Test ID:
$00 - Test IDs supported - optional ($01 to $20)
$01 - Rich to lean sensor threshold voltage (constant)
$02 - Lean to rich sensor threshold voltage (constant)
$03 - Low sensor voltage for switch time calculation (constant)
$04 - High sensor voltage for switch time calculation (constant)
$05 - Rich to lean sensor switch time (calculated)
$06 - Lean to rich sensor switch time (calculated)
$07 - Minimum sensor voltage for test cycle (calculated)
$08 - Maximum sensor voltage for test cycle (calculated)
$09 - Time between sensor transitions (calculated)
$0A - $1F - reserved
$20 - Test IDs supported - optional ($21 to $40)

September 28, 2002 Page 63


Mode $06 Retrieve OBD test results and
malfunction limits
Mode $06 provides monitoring test
values and malfunction limits for
various OBD monitors.
Service technicians can use the data to
see which monitors failed and by how
much, or to validate repairs.
Parts manufacturers can use this data to
ensure replacement part compatibility.

September 28, 2002 Page 64


Mode $06 Retrieve OBD test results and
malfunction limits
Mode $06 test values and limits are un-
scaled, decimal numbers in J1850, ISO
9141-2 and ISO 1423-4. Manufacturers
need to provide conversion factors for
technicians to utilize this data.
ISO 15765-4 messages provide units and
scaling as part of the message. Generic
scan tools will be able to convert these to
engineering units

September 28, 2002 Page 65


Mode $06 Retrieve OBD test results and
malfunction limits
The message format used to retrieve OBD test results is as
follows: Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

Request Test Results


Request Test Results 06 Test
ID

Report Test ID Support


(Test IDs $00, $20, $40, $60, $80, $A0, $C0, $E0)
Report Test ID Support 46 Test FF Support for the next 32 test
ID IDs following the requested
ID for any component is
indicated in data bytes #4
through #7

Report Test Results - Multiple Responses may be Transmitted


(Test IDs other than $00, $20, $40, $60, $80, $A0, $C0, $E0
Data is only valid if Mode $01 PID $01 indicates
the monitoring test is supported and the test is complete)
Report Test Results 46 Test Test Limit
ID Type & test value test limit
Component
ID
MSB LSB MSB LSB

September 28, 2002 Page 66


Mode $06 Retrieve OBD test results and limits
J1979 CATALYST MONITOR MODE $06 DATA
Test ID Comp ID Description for J1850 Units
$10 $11 Bank 1 switch-ratio and max. limit unitless
$10 $21 Bank 2 switch-ratio and max. limit unitless
$10 $10 Bank 1 index-ratio and max. limit unitless
$10 $20 Bank 2 index-ratio and max. limit unitless
Monitor ID Test ID Description for CAN
$21 $80 Bank 1 index-ratio and max. limit unitless
$22 $80 Bank 2 index-ratio and max. limit unitless
Conversion for J1850 Test ID $10: multiply by 0.0156 to get a value from 0 to 1.0

J1979 Secondary Air Mode $06 Data


Test ID Comp ID Description for J1850 Units
$30 $11 HO2S11 voltage for upstream flow test and rich limit volts
$30 $21 HO2S21 voltage for upstream flow test and rich limit volts
$31 $00 HO2S lean time for upstream flow test and time limit seconds
Monitor ID Test ID Description for CAN Units
$71 $80 HO2S11 voltage for upstream flow test and rich limit volts
$71 $81 HO2S21 voltage for upstream flow test and rich limit volts
$71 $82 HO2S lean time for upstream flow test and time limit seconds
Conversion for Test ID $30: multiply by 0.00098 to get volts
Conversion for Test ID $31: multiply by 0.125 to get seconds

September 28, 2002 Page 67


Mode $06 Retrieve OBD test results limits
J1979 Misfire Mode $06 Data
Test ID Comp ID Description for J1850 Units
$50 $00 Total engine misfire and emission threshold misfire rate (updated percent
every 1,000 revolutions)
$53 $00 - $0A Cylinder-specific misfire and catalyst damage threshold misfire rate percent
(either cat damage or emission threshold) (updated when DTC set or
clears)
$54 $00 Highest catalyst-damage misfire and catalyst damage threshold misfire percent
rate (updated when DTC set or clears)
$55 $00 Highest emission-threshold misfire and emission threshold misfire rate percent
(updated when DTC set or clears)
$56 $00 Cylinder events tested and number of events required for a 1000 rev events
test
Monitor ID Test ID Description for CAN
A1 $80 Total engine misfire and catalyst damage misfire rate (updated every percent
200 revolutions)
A1 $81 Total engine misfire and emission threshold misfire rate (updated percent
every 1,000 revolutions)
A1 $82 Highest catalyst-damage misfire and catalyst damage threshold misfire percent
rate (updated when DTC set or clears)
A1 $83 Highest emission-threshold misfire and emission threshold misfire rate percent
(updated when DTC set or clears)
o
A1 $84 Inferred catalyst mid-bed temperature C
A2 AD $0B EWMA misfire counts for last 10 driving cycles events
A2 AD $0C Misfire counts for last/current driving cycle events
A2 AD $80 Cylinder X misfire rate and catalyst damage misfire rate (updated percent
every 200 revolutions)
A2 AD $81 Cylinder X misfire rate and emission threshold misfire rate (updated percent
every 1,000 revolutions)
Conversion for Test IDs $50 through $55: multiply by 0.000015 to get percent
Conversion for Test ID $56: multiply by 1 to get ignition events

September 28, 2002 Page 68


Mode $06 Retrieve OBD test results limits
J1979 Evaporative System Mode $06 Data
Test ID Comp ID Description for J1850 Units
$26 $00 Phase 0 Initial tank vacuum and minimum limit in H20
$26 $00 Phase 0 Initial tank vacuum and maximum limit in H20
$27 $00 Phase 2 0.040 cruise leak check vacuum bleed-up and in H20
maximum 0.040 leak threshold
$28 $00 Phase 2 0.020 cruise leak check vacuum bleed-up and max in H20
leak threshold
$2A $00 Phase 4 Vapor generation maximum change in pressure and in H20
max threshold
$2B $00 Phase 4 Vapor generation maximum absolute pressure rise and in H20
max threshold
$2C $00 Phase 2 0.020 idle leak check vacuum bleed-up and maximum in H20
leak threshold
$2D $00 Phase 2 0.020 idle leak check vacuum bleed-up and max no- in H20
leak threshold
Conversion for Test IDs $26 through $2D: Take value, subtract 32,768, and then multiply result by 0.00195 to
get inches of H20. The result can be positive or negative.
Note: Default values (-64 in H20) will be display for all the above TIDs if the evap monitor has never
completed. If all or some phases of the monitor have completed on the current or last driving cycle, default
values will be displayed for any phases that had not completed.

September 28, 2002 Page 69


Mode $06 Retrieve OBD test results limits
Test ID Comp ID Description for J1850 (new 2003 MY strategies) Units
$61 $00 Phase 0 Initial tank vacuum and minimum vacuum limit (data for in H20
P1450 excessive vacuum)
$62 $00 Phase 4 Vapor generation minimum change in pressure and in H20
minimum vacuum limit (data for P1450, VMV stuck open)
$63 $00 Phase 0 Initial tank vacuum and gross leak maximum vacuum in H20
limit (data for P0455/P0457 gross leak/cap off)
$64 $00 Phase 2 0.040 cruise leak check vacuum bleed-up and in H20
maximum vacuum limit (data for P0442 0.040" leak)
$65 $00 Phase 2 0.020 idle leak check vacuum bleed-up and maximum in H20
vacuum limit (data for P0456 0.020" leak)
Conversion for Test IDs $61 through $65: Take value, subtract 32,768, and then multiply result by 0.00195 to
get inches of H20. The result can be positive or negative.
Note: Default values (0.0 in H20) will be displayed for all the above TIDs if the evap monitor has never
completed. Each TID is associated with a particular DTC. The TID for the appropriate DTC will be updated
based on the current or last driving cycle, default values will be displayed for any phases that have not
completed.
Monitor ID Test ID Description for CAN (new 2003 MY strategies) Units
$3A $80 Phase 0 Initial tank vacuum and minimum vacuum limit (data for Pascals
P1450 excessive vacuum)
$3A $81 Phase 4 Vapor generation minimum change in pressure and Pascals
minimum vacuum limit (data for P1450, VMV stuck open)
$3A $82 Phase 0 Initial tank vacuum and gross leak maximum vacuum Pascals
limit (data for P0455/P0457 gross leak/cap off)
$3B $80 Phase 2 0.040 cruise leak check vacuum bleed-up and Pascals
maximum vacuum limit (data for P0442 0.040" leak)
$3C $80 Phase 2 0.020 idle leak check vacuum bleed-up and maximum Pascals
vacuum limit (data for P0456 0.020" leak)
Note: Default values (0.0 in H20) will be displayed for all the above TIDs if the evap monitor has never
completed. Each TID is associated with a particular DTC. The TID for the appropriate DTC will be updated
based on the current or last driving cycle, default values will be displayed for any phases that have not
completed.

September 28, 2002 Page 70


Mode $06 Retrieve OBD test results limits

J1979 Front HO2S Mode $06 Data


Test ID Comp ID Description for J1850 Units
$01 $11 HO2S11 voltage amplitude and voltage threshold Volts
$01 $21 HO2S21 voltage amplitude and voltage threshold Volts
$03 $01 Upstream O2 sensor switch-point voltage Volts
Monitor ID Test ID Description for CAN
$01 $80 HO2S11 voltage amplitude and voltage threshold Volts
$01 $01 H02S11 sensor switch-point voltage Volts
$05 $80 HO2S21 voltage amplitude and voltage threshold Volts
$05 $01 H02S21 sensor switch-point voltage Volts
Conversion for Test IDs $01 through $03: multiply by 0.00098 to get volts

September 28, 2002 Page 71


Mode $06 Retrieve OBD test results limits

J1979 Rear HO2S Mode $06 Data


Test ID Comp ID Description for J1850 Units
$03 $02 Downstream O2 sensor switch-point voltage volts
Conversion for Test ID $03: multiply by 0.00098 to get volts
Monitor ID Test ID Description for CAN
$02 $01 HO2S12 sensor switch-point voltage volts
$06 $01 HO2S22 sensor switch-point voltage volts
$03 $01 HO2S13 sensor switch-point voltage volts
$07 $01 HO2S23 sensor switch-point voltage volts

September 28, 2002 Page 72


Mode $06 Retrieve OBD test results limits

J1979 HO2S Heater Mode $06 Data


Test ID Comp ID Description for J1850 Units
$04 $11 Maximum HO2S11 Heater Current Amps
$04 $11 Minimum HO2S11 Heater Current Amps
$04 $21 Maximum HO2S21 Heater Current Amps
$04 $21 Minimum HO2S21 Heater Current Amps
$04 $12 Maximum HO2S12 Heater Current Amps
$04 $12 Minimum HO2S12 Heater Current Amps
$04 $22 Maximum HO2S22 Heater Current Amps
$04 $22 Minimum HO2S22 Heater Current Amps
Conversion for Test IDs $04: multiply by 0.003906 to get amps
Monitor ID Test ID Description for CAN Units
$01 $81 HO2S11 Heater Current Amps
$05 $81 HO2S21 Heater Current Amps
$02 $81 HO2S12 Heater Current Amps
$06 $81 HO2S22 Heater Current Amps
$03 $81 HO2S13 Heater Current Amps
$07 $81 HO2S23 Heater Current Amps

September 28, 2002 Page 73


Mode $06 Retrieve OBD test results limits
J1979 DPFE EGR Stuck Open Mode $06 Data
Test ID Comp ID Description for J1850 Units
$45 $20 Delta pressure for stuck open test and threshold volts
Conversion for Test ID $45: Multiply by 0.0156 to get A/D counts (0-1024) or 0.0000763 to get voltage
Monitor ID Test ID Description for CAN Conventional DPFE Units
$31 $84 Delta pressure for stuck open test and threshold kPa

J1979 DPFE EGR Hose Check Mode $06 Data


Test ID Comp ID Description for J1850 Units
$42 $11 Delta pressure for upstream hose test and threshold in. H20
$42 $12 Delta pressure for downstream hose test and threshold in. H20
Conversion for Test ID $42: Take value, subtract 32,768, and then multiply result by 0.0078 to get inches of
H20. The result can be positive or negative.
Monitor ID Test ID Description for CAN Conventional DPFE
$31 $80 Delta pressure for upstream hose test and threshold kPa
$31 $81 Delta pressure for downstream hose test and threshold kPa

J1979 EGR Flow Check Mode $06 Data


Test ID Comp ID Description for J1850 Units
$49 $30 Delta pressure for flow test and threshold in. H20
$4B $30 EVR dutycycle for flow test and threshold percent
Conversion for Test ID $4B: multiply by 0.0000305 to get percent dutycycle.
Conversion for Test ID $49: Take value, subtract 32,768, then multiply result by 0.0078 to get inches of H20.
The result can be positive or negative.
Monitor ID Test ID Description for CAN Conventional DPFE Units
$31 $85 Delta pressure for flow test and threshold kPa

September 28, 2002 Page 74


Mode $06 Retrieve OBD test results and
malfunction limits
Example of Mode $06:
TestID CompIDTest Value Min Max
$10 $11 Cat monitor switch ratio 45 0 48
Bank 1
$10 $21 Cat monitor Switch ratio 42 0 48
Bank 2

Conversion: multiply by 0.0156 to get a value from 0 to 1.0


Bank 1 = 45 * 0.0156 = 0.702
Bank 2 = 42 * 0.0156 = 0.655
Threshold = 48 * 0.0156 = 0.749

This catalyst is about to fail. A normal 100K catalyst should have a


0 to 0.1 switch ratio!

September 28, 2002 Page 75


Mode $07 Retrieve pending DTCs
Mode $07 reports pending, emission-
related DTCs.
Starting in the 2005 MY, all pending
DTCs must be reported, not just
continuous pending DTCs.
Staring in the 2005 MY, a pending DTC
must be reported if the last monitoring
cycle had a malfunction.
Service technicians can use pending
codes for faster validation or a repair.

September 28, 2002 Page 76


Mode $07 Retrieve pending DTCs

The message format used to retrieve


pending, emission-related DTCs is as follows:

Data Bytes (Hex)


#1 #2 #3 #4 #5 #6 #7

Request test results for continuously monitored systems


Request test results 07

Report test results for continuously monitored systems


Report test results 47 Code #1 Code #2 Code #3
or 00 00 or 00 00 or 00 00

September 28, 2002 Page 77


Mode $08 Request on-board device
control
Mode $08 allows a service technician to
invoke an on-board test mode.
Only one test mode (Test ID $01) is
currently defined. It allows a service or
an I/M technician to seal the
evaporative system for a pressure test.
On Ford systems, this closes the
canister vent solenoid for a 10 minute
time duration.

September 28, 2002 Page 78


Mode $08 Request on-board device
control
The message format used to request on-
board device control is as follows:
Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

Request control of on-board device


Request control of 08 Test ID Data A Data B Data C Data D Data E
on-board device or or or or or
$00 $00 $00 $00 $00

Report control of on-board device


Report control of on- 48 Test ID Data A Data B Data C Data D Data E
board device or or or or or
$00 $00 $00 $00 $00

September 28, 2002 Page 79


Mode $09 Retrieve vehicle information
Mode $09 allows a service tech or I/M
test technician to obtain vehicle VIN,
module calibration number (CALID),
Calibration Verification Number (CVN).
VIN is required for 2005 MY, the vehicle
can only report one VIN.
CALID is required for 2005 MY.
A unique CALID is required for each
emission-related calibration on the
vehicle. A unique CALID is required even
if only a bit if data changes.

September 28, 2002 Page 80


Mode $09 Retrieve vehicle information
(continued)
A CVN must be supplied for each CALID
In 2005 MY, CVN must be calculated
every driving cycle and stored in Keep
Alive Memory so that it can be retrieved
with the engine off or engine running.
CVN must not be erased by Mode $04.
CARB must approve CVN algorithm.
Manufacturers must provide CALID and
CVN information to facilitate I/M testing.

September 28, 2002 Page 81


Mode $09 Retrieve vehicle information
(continued)
Starting in the 2005 MY, CARB will
require industry-standard counters that
display how often OBD monitors run
during real-world driving conditions as
compared to a CARB-specified driving
cycle.
In-use performance counters will be
required for catalyst, O2 sensor, EGR,
secondary air, and evaporative system
monitors.

September 28, 2002 Page 82


Mode $09 Retrieve vehicle information
The message format used to retrieve vehicle
information is as follows:
Info Type $02 is VIN, $04 is CALID(s), $06 is
CVN(s), $08 is in-use performance counters

Data Bytes (Hex)


#1 #2 #3 #4 #5 #6 #7

Request Vehicle Information


Request Vehicle 09 Info.
Information Type

Report Vehicle Information


Report Vehicle 49 Info. message data data data data
Information Type count A B C D

September 28, 2002 Page 83


Inspection/Maintenance Readiness

Many I/M test facilities will soon (Jan


1, 2002) be using OBD-II diagnostic
information in place of tailpipe
emissions tests.
They will check MIL lamp, MIL status
bit (PID 01, Data A, bit 7) and OBD
monitor readiness (PID 01).
For 2005 MY, they may check VIN,
CALIDs and CVNs

September 28, 2002 Page 84


Inspection/Maintenance Readiness
(continued)
CALIDs ensure that the correct (not
recalled) software is on the vehicle.
CVNs ensure that the module software
was not tampered with.
MIL status must not indicate MIL on
during bulb prove out unless the MIL is
being commanded on by a confirmed
DTC.
Monitor readiness bits must be in Keep
Alive Memory

September 28, 2002 Page 85


Inspection/Maintenance Readiness
(continued)
I/M readiness status may be displayed
to the customer using the MIL.
After 15-20 seconds of MIL prove out,
the MIL can blink for 5-10 seconds if the
vehicle is not ready for I/M testing.
For the 2005 MY, CARB will require a
scan tool communication validation of
every production calibration using a
J1699-3 tool.

September 28, 2002 Page 86


SAE/ISO Diagnostic Specifications
Non-legislated diagnostic messages are
defined by SAE J2190 and ISO 14229
These are commonly referred to
manufacturer-specific test modes.
Manufacturers can use these messages
to perform manufacturer-specific tests
and obtain manufacturer-specific data
from any control module.
Almost all manufacturers provide this
info to the Equipment and Tool Institute
(ETI), the consortium of scan tool
manufacturers.

September 28, 2002 Page 87


SAE/ISO Diagnostic Specifications
Common uses for these messages are:
Obtain manufacturer-specific PIDs
Initiate on-board self-test
Obtain packets of PID data (rapid data)
Control module outputs
Reprogram flash memory
Configure modules
The J2190 messages are very similar to the
J1979 messages in structure and content.
Only physical addresses are used,
responses are required.

September 28, 2002 Page 88


J2190 Mode $13
Mode $13 reports all DTCs (emission
and non-emission, confirmed and
pending.)
Very similar Data
toBytes
Mode(Hex) $03
#1 #2 #3 #4 #5 #6 #7

Request all codes


Request all powertrain 13
DTCs (MIL, non-MIL,
pending)

Report all codes


Report all powertrain DTCs 53 Code #1 Code #2 Code #3
(MIL, non-MIL, pending) or 00 00 or 00 00 or 00 00

No codes to report, exit normally without results


General Response 7F 13 00 00 00 62

September 28, 2002 Page 89


J2190 Mode $14
Mode $14 clears all DTCs.
Very similar to Mode $04

Data Bytes (Hex)


#1 #2 #3 #4 #5 #6 #7

Request clear codes


Request clear all codes, 14
(MIL, non-MIL, pending)

Confirm codes clear


Confirm all codes were 54
cleared (individual clearing
of codes not supported)

No codes to report, exit normally without results


General Response 7F 14 data data 00 12
byte #2 byte #3

September 28, 2002 Page 90


J2190 Mode $22
Mode $22 is used to get PIDs. PID numbers,
scaling and units are defined by manufacturer
and are specific to their individual systems.
Very similar to Mode $01
Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

Request data by PID


Request PID Access 22 PID PID
(high (low
byte) byte)

Report data by PID


Report PID Data 62 PID PID data 1 data 2 data 3 data 4
(high (low (opt) (opt) (opt) (opt)
byte) byte)

Invalid PID requested, request not supported


General Response 7F 22 data data 00 12
byte #2 byte #3

September 28, 2002 Page 91


J2190 Mode $23
Mode $23 is used to download data by direct
memory address.
Test tool gets raw data.
Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

Request data by DMR


Request DMR Access 23 address address address
EEC-V (high (mid (low
byte) byte) byte)

Report data by DMR


Report DMR Data 63 address address data 1 data 2 data 3 data 4
EEC-V (high (low (opt) (opt) (opt) (opt)
byte) byte)

Invalid DMR requested, request not supported


General Response 7F 23 address address 00 12
(high (mid
byte or byte or
high high
word word
MSB) LSB)

September 28, 2002 Page 92


J2190 Mode $2A
Mode $2A is used to get a string of PIDs in one
message; a rapid packet.
Used with Mode $2C to define rapid packet.
Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

Request diagnostic data by packets


Request Rapid Packet 2A Data DPID DPID DPID DPID DPID
rate #1 #2 #3 #4 #5
(opt) (opt) (opt) (opt)
Data rate value: 00 - stop sending packet
04 - repeat at fast rate, type A

Report diagnostic data by packets


Report Rapid Packet 6A DPID data 1 data 2 data 3 data 4 data 5
#1 (opt) (opt) (opt) (opt)

Report diagnostic data by packet number n


Report Rapid Packet 6A DPID data 1 data 2 data 3 data 4 data 5
#n (opt) (opt) (opt) (opt)

Invalid DPID or invalid data rate requested


General Response 7F 2A data DPID DPID 12
rate #1 #2 or
00

September 28, 2002 Page 93


J2190 Mode $30
Mode $30 is used to directly control module
outputs like shift solenoids, IAC, AIR pump,
EGR, etc. (requires Mode $27 security access)
Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

Perform parameter substitution


Parameter Substitution 30 Chann. Subst. Subst.
ID Value Value
high low
byte byte

Confirm diagnostic routine entered


General Response 7F 30 Chann. Subst. Subst. 00
ID Value Value
high low
byte byte

Invalid conditions, test running, or test not supported


General Response 7F 31 Test # 00 00 31, 22,
33, or
12

September 28, 2002 Page 94


J2190 Mode $31
Mode $31 is used to request an on-board test,
based on test number.
Test Number On-demand Self Test Mode
$81 Key On Engine Off (gas and diesel)
$82 Key on Engine Running (gas and diesel)
$84 Output Test Mode (gas and diesel)
$88 Key On Engine Running Glow Plug Test (diesel)
$91 Key On Engine Off Injector Buzz Test (diesel)
$92 Key On Engine Running Cylinder Contribution Test
(diesel)
$95 Key OnBytes
Data Engine
(Hex) Running Switch Test (diesel)
#1 #2 #3 #4 #5 #6 #7

Perform diagnostic routine by test number


Diagnostic Routine Entry 31 Test #

Confirm diagnostic routine entered


General Response 7F 31 Test # 00 00 00

Invalid conditions, test running, or test not supported


General Response 7F 31 Test # 00 00 22, or
12

September 28, 2002 Page 95


J2190 Mode $36
Mode $36 is used for reprogramming.
(requires Mode $27 security access and
Mode $34 Download Entry request)
Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

Request to enter download mode


Download Block Data 36 data 1 data 2 data 3 data 4 data 5 data 6
or 00 or 00 or 00 or 00 or 00

Not in download mode


General Response 7F 36 data 1 data 2 data 3 22

September 28, 2002 Page 96


J2190 Mode $3F
Mode $3F is used to indicate that the
test tool is still online and prevent a
diagnostic session time-out.

Data Bytes (Hex)


#1 #2 #3 #4 #5 #6 #7

Tester Present
Tester Present 3F

Acknowledge tester
General Response 7F 3F 00 00 00 00

September 28, 2002 Page 97


J2190 Mode $7F
Mode $7F is used by the control module to
respond to a test tool request.
Data Bytes (Hex)
#1 #2 #3 #4 #5 #6 #7

General acknowledge
General Response 7F Data Data Data Data Ackn
byte #1 byte #2 byte #3 byte #4 or
of of of of Reject
request request request request code
Acknowledge or Reject Code:

$00 - General affirmative


$10 - General reject
$11 - Mode not supported
$12 - Invalid format, sub-function not supported
$21 - Busy, repeat request
$22 - Condition not correct, sequence error
$23 - Routine not complete
$31 - Request out of range
$33 - Access denied, device secured
$34 - Access granted
$50 - Upload not accepted
$61 - Normal exit with results
$62 - Normal exit without results
$63 - Abnormal exit with results
$64 - Abnormal exit without results

September 28, 2002 Page 98


J1979 Message Traffic Example
Clear DTCs (Mode 04)
TX MSG: J1850PWM 61 6A F1 04
RX MSG: J1850PWM 01 6B 10 44

Request PIDs (Mode 01) [PID $00 defines which PIDs are
supported ]
TX MSG: J1850PWM 61 6A F1 01 00
RX MSG: J1850PWM 01 6B 10 41 00 BF 9F B9 10
Request PID 04 (LOAD_PCT)
TX MSG: J1850PWM 61 6A F1 01 04
RX MSG: J1850PWM 01 6B 10 41 04 00 [LOAD_PCT = 0%]
Request PID 05 (ECT)
TX MSG: J1850PWM 61 6A F1 01 05
RX MSG: J1850[PWM 01 6B 10 41 05 4A [ECT = 74 deg F]
Request PID 11 (TP)
TX MSG: J1850PWM 61 6A F1 01 11
RX MSG: J1850PWM 01 6B 10 41 11 32 [TP = 19%]
Request PID 1C (OBD Type)
TX MSG: J1850PWM 61 6A F1 01 1C
RX MSG: J1850PWM 01 6B 10 41 1C 01 [OBD_TYPE = 1 = OBD-II]

September 28, 2002 Page 99


J1979 Message Traffic Example
Request Mode 09 info
TX MSG: J1850PWM 61 6A F1 09 00 [request Mode 09 items
supported]
RX MSG: J1850PWM 01 6B 10 49 00 01 FC 00 00 00

TX MSG: J1850PWM 61 6A F1 09 01
RX MSG: J1850PWM 01 6B 10 49 01 05 [number of VIN messages = 5]

TX MSG: J1850PWM 61 6A F1 09 02 [item 02 = VIN]


RX MSG: J1850PWM 01 6B 10 49 02 01 00 00 00 31
RX MSG: J1850PWM 01 6B 10 49 02 02 46 54 59 52
RX MSG: J1850PWM 01 6B 10 49 02 03 34 34 45 37
RX MSG: J1850PWM 01 6B 10 49 02 04 32 54 41 33
RX MSG: J1850PWM 01 6B 10 49 02 05 31 39 37 38 [VIN = 1FTYR44E72TA31978]

Request Pending DTCs (Mode 07)


TX MSG: J1850PWM 61 6A F1 07
RX MSG: J1850PWM 01 6B 10 47 01 13 01 02 00 00 [Pending DTC P0113, P0102
detected]

September 28, 2002 Page 100


J1979 Message Traffic Example
Request Freeze Frame Support (Mode 02) [PID $00 defines which PIDs are
supported ]
TX MSG: J1850PWM 61 6A F1 02 00 00
RX MSG: J1850PWM 01 6B 10 42 00 00 7F 98 00 00

Request Freeze Frame PID 02


TX MSG: J1850PWM 61 6A F1 02 02 00
RX MSG: J1850PWM 01 6B 10 42 02 00 01 13 [DTC that stored frame =
P0113]

Request DTCs (mode 03)


TX MSG: J1850PWM 61 6A F1 03 [No response to OBD request, no
DTCs]

Request DTCs (Mode 03)


TX MSG: J1850PWM 61 6A F1 03
RX MSG: J1850PWM 01 6B 10 43 01 13 00 00 00 00 [Stored DTC P0113
detected]

September 28, 2002 Page 101


The End
I hope this presentation took some
of the mystery out of diagnostic
scan tool communication.
Thank you for your interest and
attention!

September 28, 2002 Page 102

Potrebbero piacerti anche