You are on page 1of 24

A Comparison of J1939 & ISO15031

Jeff Craig Vector CANtech, Inc.

Agenda
DiagnosticStandards PhysicalInterface Connectors Terminology ProtocolOverview FaultCodes

HistoryLesson
Whatisthis??

1980sAutomotiveDiagnostic Tool

MajorDifferences
J1939(MD&HDTruck)
AllstandardsdefinedinSAEJ1939parts 29bitidentifiers Usedfornormalcommunications&diagnostics Faultstatusbroadcastregularly(e.g.DM1) PrimaryfunctionalitydefinedusingDiagnostic Messages(DMs) 3bytefaultcodes+occurrencecounter Fourwarninglampsdefined 250Kbpsbusspeed Ninepindiagconnectorstandard (J193913)

ISO15031(PassCar&LDVehicles)
ISO15031isharmonizedwithseveralSAEstds. 11bitidentifiers Usedonlyfordiagnostics Nobroadcastmessages Primaryfunctionalitydefinedusingunique communicationServiceIDs(SIDs) 3bytefaultcodes Onewarninglampdefined 500Kbpsbusspeed Sixteenpindiag connectorstandard(ISO150313 /J1962)

DiagnosticStandards

DiagnosticStandards:Car/Truck SAE/ISO
SAE J1930 terms&defns J1962 connector J1978 scantool J1979 diagservices J2012 faultcodes J2186 linksecurity J2534 passthru J1699 OBDconformance J1939(Multipleparts) J2403 terms&defns ISO ISO11898(5parts) CAN ISO15765(4parts) DiagnosticsonCAN ISO15031(7parts) LegislatedOBDonCAN

PassCar&LDVeh

MD&HDVeh

N/A

In some cases multiple standards will be mixed on the same vehicle

Apples to Apples
OSI Layer N/A 7 6 5 4 3 2 1 Diagnostic Connector Application Presentation Session Transport Protocol Network Layer DataLink PhysicalLayer SAEJ193921 SAEJ193931 SAEJ193921
(ISO118981)

MD&HDStandards&OBD Legislated SAEJ193913 SAEJ193971/73 SAEJ193981

PassCar&LDOBD Legislated ISO150313 ISO150315


(SAEJ1979)

ISO150315
(SAEJ1979)

ISO157654 ISO157652 ISO157654 ISO157654


(ISO118981)

SAEJ193911/15

ISO157654
(ISO118982)

ISO15031MappingtoSAEStandards
ISO 15031 2 3 4 5 6 7

H A R M
J1930
Terms & Definitions

O N

I Z

E D
J2186
Data Link Security

J1962
Diagnostic Connector

J1978
Diag Tool Reqmnts

J1979
Diagnostic Services

J2012
Fault Code Definitions

SAE Recommended Practice

PhysicalInterface

PhysicalInterface
J1939 11or15
250Kbps TwistedShieldedPair(11) TwistedUnshieldedPair(15) Max30ECUs(11) Max10ECUs(15) 40mTotalNWLength 1mStubLength(11) 3mStubLength(15)

ISO150313,ISO118982 &ISO157654
500Kbps TwistedPair noshield NoMaxDefined 40m@1Mbps Longerallowed atlowerspeeds .3m@1Mbps Longerallowedat lowerspeeds

Connectors

Connectors
ISO 15031 3 (J1962)
1 9 2 10 3 11 4 12 5 13 6 14 7 15 8 16

D C E A F J H G B

J1939 - 13

Terminology

Terminology JustaFew
J1939
ACL=AddressClaiming BAM=BroadcastAnnounceMessage DM=DiagnosticMessage DP=DataPage DTC=DiagnosticTroubleCode ECU=ElectronicControlUnit EDP=ExtendedDataPage FMI=FailureModeIdentifier NACK=NegativeAcknowledgement PDU=ProtocolDataUnit PG=ParameterGroup PGN=ParameterGroupNumber SLOT=Scaling,Limit,Offset&Transfer SPN=SuspectParameterNumber

ISO15031
DLC=DataLengthCode DTC=DiagnosticTroubleCode ECM=EngineControlModule ECU=ElectronicControlModule FTB=FailureTypeByte KWP=KeyWordProtocol(ISO14230) MIL=MalfunctionIndicatorLamp NRC=NegativeResponseCode PCI=ProtocolControlInformation PID=ParameterID(similartoDIDorLID) SID=ServiceID

ProtocolOverview

CANMessageStructure

11 bit or 29 bit

StandardCANFormat:11BitIdentifier

UsageforOBD:ECUIdentification
FunctionalRequestIDforOBDdiagnosticrequests(sourceaddress notrequiredsinceonlyonediagnostictesterisallowedonthebus atonetime) SourceECUIDfordiagnosticresponses MostOEMshavetheirownIDassignmentstandards

J1939ExtendedCANFormat:29BitIdentifier

ThreeComponents asdefinedbyJ1939:
MessagePriority ParameterGroupNumber(DefinesthedataintheDATAarea SAEstandardized&proprietaryPGNspossible) SourceAddress

J193929BitIdentifierDefined
Interpretation of 29 Bit CAN Extended Identifier in J1939

Priority (3 Bit)
Bit 28

EDP (1 Bit)

DP PDU Format PDU Specific Source Address (1 Bit) (8 Bit) (8 Bit) (8 Bit)
Bit 0 PGN

PDU Format < 0xF0 defines message as Peer-to-Peer. PDU Specific will be a Destination Address PDU Format => 0xF0 identifies message as broadcast. PDU Specific will be a Group Extension

DiagnosticMessageStructureComparison
J1939
Cyclic Diagnostic Messages (e.g. DM1) - or -

Tester

[[Prio + Request PGN + Dest Addr + Src Addr] [Requested PGN]] [[Prio + Requested PGN + Dest Addr + Src Addr] [PGN Data]]

ECU

ISO 15031
[[Target ID] [Requested Service + Requested Data]]

Tester

[[Source ID] [Requested Service ID + Requested Data]]


(Services can be data requests, fault code requests, output control, special test requests, security access, reprogramming requests, etc.)

ECU

FaultCodes

J1939DiagnosticTroubleCode
DTC
Byte 1 Low Byte SPN
MSB

Byte 2 Mid Byte SPN


LSB

Byte 3 3 MSB of SPN + FMI

Byte 4 Conversion Method + Occurance Count C M

LSB MSB

SPN

FMI

OC

8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1

Conversion Method Bit Affects the Interpretation of the Byte Ordering of the SPN (0 since 1996)

ISO15031DiagnosticTroubleCode
DTC
Byte 1 Byte 2 Byte 3

SAE Code Number

FTB

8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1

5th Character of SAE Code (0-F) 4th Character of SAE Code (0-F) 3rd Character of SAE Code (0-F) 2nd Character of SAE Code (0,1,2,3) 1st Character of SAE Code (P,C,B,U)

ThankYou
JeffCraig
VectorCANtech jeff.craig@vector.com

You might also like