Sunteți pe pagina 1din 58

J1939 Communication Training

Presented by Industrial ESI September, 2011


J1939 Training
Introduction
Wiring Basics
SAE Terminology
Message Interpretation
Specific J1939 Messages
Multiplexing
Tools
Reference Slides

2 One World – One Mission


J1939 Training
Datalink Communication is sending or receiving
of data among electronic modules using a
serial bus.
Devices that may use datalink communication
include:
– Cummins Engine Control Module (ECM)
– Vehicle Electronic Control Unit (VECU)
– Anti-skid, ABS, or traction control systems
– Dashboard displays (e.g. Murphy or Powerview)
– Vehicle cab devices: Multiplexing of switches,
throttle pedals, OEM sensors, etc.

3 One World – One Mission


J1939 Training
Applying a serial data bus datalink reduces the
number of wires by combining the signals on a
single pair of wiring on the vehicle.
For two electronic systems to “talk” with each
other, they must speak the same language (or
protocol).
– J1939 datalink: 250 kbaud (250,000 bits per
second); wire

4 One World – One Mission


J1939 Training – Signal I/O
The J1939 (Serial) datalink carries a series of 1’s and 0’s in
each message.
A 1 is a HIGH voltage differential between the J1939 high and the J1939 low.
A 0 is a LOW voltage differential between the J1939 high and the J1939 low.

At a Baud (data communication) Rate of 250k, it is possible for the voltages


on the J1939 high and low wires to change from a 0 to a 1, 250 thousand
times per second. Hence a high resolution oscilloscope is required to be
able to view these voltages.

5
J1939 Training – Output signal

What would you see on an oscilloscope?


Nominal Values
0 1 0
0 1
J1939 high 2.5 v 5.5v
J1939 low 2.5 v 1.5v
V differential 0v 4v

• Since the messages are sent by a voltage differential, it is essential


that all devices are on the same ground plane.
– If the grounds of two ECM’s are different, then a low voltage differential
of one ECM may appear to be a high voltage differential to another.
Hence messages may get corrupted and communication is lost.

6 One World – One Mission


J1939 Training
Wiring Basics

7
J1939 Topology - Backbone

Newer ECMs such as CM2250 and CM2150 do not provide a shield connection for
the J1939 datalink. The ECM may be connect to a shielded datalink backbone as
described in SAE Recommend Practice J1939-15.
8
Datalink Hardware
Reflections & Terminations
– Terminations are required to minimize reflections on
the datalink (when the transmitting pulse gets
reflected back onto the cable causing signal
degradation).

– J1939/11 requires two 120 Ohm terminations for the


datalink.

9 One World – One Mission


J1939 Training
SAE Terminology

10
Message format J1939
Information on the datalink is grouped into messages containing related
information. Each message contains a Header and the associated Data.

Message
Header Data

11 One World – One Mission


Header format J1939
The Header is made up of 3 main parts, the Priority, PGN
and Source Address.

Header
Priority ID# (PGN) Address
• The priority field indicates the priority of the message, where ‘0’
is the highest priority and ‘7’ the lowest.
• The J1939 ID consists of the parameter group number (PGN). A
parameter group (PGN) is composed of various parameters
defined in the J1939 standards, such as vehicle speed, oil
temperature, Oil Pressure, etc. Thus, a PGN identifies the
content of the data field that follows the Header.
• The source address has to be unique for every device in the
network and indicates from which device the message is being
transmitted.
One World – One Mission
J1939 Training - Terminology
PGN - Parameter Group Number
– Messages are broadcast in “groups” of information, i.e.
• PGN 61444 = Electronic Engine Controller #1 (EEC1)
• PGN 61443 = Electronic Engine Controller #2 (EEC2)
• PGN 64971 = Off Highway Engine Control Selection States (OHCSS)

SPN - Suspect Parameter Number


– A number given to a particular parameter, i.e.
• SPN 190 = Engine Speed
• SPN 513 = % Torque

13
J1939 Training – Terminology
PGN - Parameter Group Number
– Messages are broadcast in “groups” of information
• (So a PGN may have several SPNs associated with it)

The data is made up of 8 bytes i.e.


xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx

14 One World – One Mission


J1939 Training - PGN 61443

15 One World – One Mission


J1939 Training - PGN 64967

16 One World – One Mission


J1939 Training - Terminology

SPN - Suspect Parameter Number


– A number given to a particular parameter, i.e.
• SPN 190 = Engine Speed
• SPN 513 = % Torque

17
J1939 Training – SAE Standards
If you have access to the Cummins’ Library, then you have
access to the J1939 Standard documentation.
The standards can be ordered online at www.sae.org USD
for non-SAE members and Available at discounted rate for
SAE members.
The following layers are given specific documents in the
J1939 Standard:
– Layer 1 – J1939/11: physical medium, backbone design,
length, nodes, etc.
– Layer 3 – J1939/31: Network Layer Spec
– Layer 4 – J1939/21: how to breakdown a PGN message/
BAM/Transport Protocol.
– Layer 7 – J1939/71 Information Sharing
J1939/73: fault information

18 One World – One Mission


Specific J1939 Messages

pgn0 - TSC1
pgn65226 -DM1
pgn60160 & pgn60471 – TP.BAM

19
PGN0 – TSC1 –
Torque Speed Command
TSC1 allows three commands to be sent to the engine:
- Torque Command (0% -> 100%)
- Speed Command (min idle -> high idle)
- Torque/Speed Limit (which ever is lower)
The TSC1 command has been implemented in a variety of
ways in the Industrial products:
• Used as workhorse to perform speed control over complete
rpm range • Use by transmissions to limit torque/speed for
powertrain protection • Used by datalink throttle controllers to
produce the speed reference • Engine Brake control
(destination retarder)
20 One World – One Mission
TSC1- Torque command
(Is like a min/max governor)
Governor details: ISOCHRONOUS

•Engine speed is determined by LOW IDLE SPEED


MAX TORQUE CURVE

the load and is bounded by the


HIGH SPEED BREAK POINT
Low Speed Governor and high- 100% THROTTLE

speed governor.
TORQUE 60% THROTTLE

•The Automotive Governor NO LOAD CURVE

30% THROTTLE
translates accelerator position into 10% THROTTLE

fuel rate, approximating


accelerator position to engine ENGINE SPEED

torque. This governor responds


similarly to your car.

21 One World – One Mission


pgn0 – TSC1 – Torque Speed Command
pgn0 - Torque/Speed Control #1 - TSC1 -
Transmission Repetition Rate: when active; 10 ms to engine, 50ms to retarder
Data Length: 8 bytes
Data Page: 0
When using TSC1 for
PDU Format: 0
PDU Specific: DA Tier 4, byte 8 should
Default Priority: 3 be set to FF.
Parameter Group Number: 0 ( 00000016 )

Bit Start Position /Bytes Length SPN Description SPN


1.1 2 bits Override Control Mode 695
1.3 2 bits Requested Speed Control Conditions 696
1.5 2 bits Override Control Mode Priority 897
2-3 2 bytes Requested Speed/Speed Limit 898
4 1 byte Requested Torque/Torque Limit 518
Byte 1 Byte 2 Byte 3 Byte 4

0 0 4 0 3 8 9 6 …… Hex
0000 0000 0100 0000 0011 1000 1001 0110 ….. Binary

Priority Control Mode Speed Limit/ Command Torque Limit/ Command


SPN 897 SPN 695 SPN 898 SPN 518 World – One Mission
22 One
DM1 - Active Fault
Code Message

23 One World – One Mission


DM1 - ActiveJ1939 Fault Codes
J1939 has several different messages which contain
diagnostic (fault) code information.
– Diagnostic Message 1 - DM1 - Active Fault Codes
– Diagnostic Message 2 - DM2 - Inactive Fault Codes
– Diagnostic Message 3 - DM3 - Clear Inactive Fault Codes

Typically customers will use the DM1 message to detect


when a fault code has gone active.

The DM1 message is PGN 65226 or FECAh. Information


about this message is in J1939-73.

24 One World – One Mission


J1939 Fault Codes - DM1

DM1 – Byte1 – Lamp Status


Bits 1 – 2 Protection Lamp
Bits 3 – 4 Amber Warning Lamp
Bits 5 – 6 Red Stop Lamp
Bits 7 – 8 Malfunction Indicator Lamp

0000 0101 00 – lamp OFF


01 – lamp ON
Malfunction Protection
Hence in this case the
Indicator Red Stop Amber Lamp Protection Lamp and the
Lamp Warning Amber Lamp are ON.
Lamp
J1939 Fault Codes –
J1939 Transport Message
A message on the Datalink can contain no more
than 8 Bytes of data in a packet.

In the Fault Message, it takes:


– 1 byte to tell us what lamps are on
– 1 byte is reserved
– 4 bytes to transmit a single fault code

So what do we do if there is more than 1 fault


code?

26 One World – One Mission


TP.BAM Message
Transport Protocol – Broadcast Announcement Message
Allows a message to be broken up into smaller “packets” and sent onto the
datalink. Once the packets arrive at their destination they can be reassembled
and interpreted.

The TP.BAM is made up of two parts:

pgn60416 (EC00h) – Transport pgn60160 (EB00h) –


Protocol - Connection Transport Protocol -
Management (TP.CM) Contains Data Transfer (TP.DT)
information about the data which Transfers the packets
is about to follow of data

27
PGN 60416 – Management
Parameter Group Name: Transport Protocol Connection Management (TP.CM)
Used for the transfer of Parameter Groups that have 9 bytes
or more of data
Transmission repetition rate: Per the Parameter Group Number to be transferred
Data length: 8 bytes
Data Page: 0
PDU Format: 236
PDU Specific: Destination Address
Default priority: 7
Parameter Group Number: 60416 (EC0016)
Broadcast Announce Message (TP.CM_BAM): Global Destination
Byte: 1 Control byte = 32, Broadcast Announce Message
2,3 Total message size, number of bytes (9 to 1785)
4 Total number of packets (2 to 255)
5 Reserved (FF16)
6-8 Parameter Group Number (pgn) of the packeted message. The
message is byte swapped (in reverse)

CA FE 00 byte swapped is 00 FE CA or
pgn65226 – Active Diagnostic Trouble Codes
20 16 00 04 FF CA FE 00
0010 0000 0001 0110 000 0000 0000 0100 1111 1111 1100 1010 1111 1110 0000 0000

One World – One Mission


PGN 60160 – Data Transfer
Parameter Group Name: Transport Protocol Data Transfer (TP.DT)
Transmission repetition rate: Per the Parameter Group Number to be transferred
Data length: 8 bytes
Data Page: 0
PDU Format: 235
PDU specified field: Destination address
Default priority: 7
Parameter Group Number: 60160 (EB0016)

Data ranges for parameters used by this Group Function:


Byte: 1 Sequence Number 1 to 255 (1 byte)
2-8 Packetized Data (7 bytes).

Note the last packet of a multipacket Parameter Group may require less than 8 data bytes.
The extra bytes should be filled with FF16
Place holders
01 15 FF 00 4F 23 82 FF

0000 0001 0001 0101 1111 1111 0000 0000 0100 1111 0010 0011 1000 0010 1111 1111

Data

One World – One Mission


Request PGN PGN 65253 = FEE5 hex
Reference SAE 1939-21 Engine Hours, Revolutions HOURS
Transmission Repetition Rate: On
request

Source Source
Address of Address of
Requestor Engine

18EA0017x Tx d8 E5 FE 00 FF FF FF FF FF

PGN in Hex byte swapped,


Request PGN ie. PGN 65253 equals FEE5
EA00 hex hex
hence swapped is E5 FE

30 One World – One Mission


Multiplexing – What is it?
At Cummins, multiplexing is sending information to
the ECM over the J1939 datalink that could be done
by wiring the signal directly into the ECM connector.
– An example could be the primary throttle. Instead of wiring this to
the input pins 41, 42 and 51 of the OEM connector for the
CM2250, we would recognize that this signal is being sent to the
ECM by the PGN # 61443. The signal being received is defined
by the SPN 91, which gives us the % throttle directly.
– A second example could be Alternate Droop Switch. Instead of
wiring the 3 position switch into pin 14 and 20 of the 24 Pin OEM
connector for the CM2250, we would recognize that the Alternate
Droop signal is being sent to the ECM by the PGN # 64971. The
signal being received is defined by the SPN 2881, which gives us
which alternate droop to select (1 thru 10).

31 One World – One Mission


J1939 Multiplexing – Common Faults
A fault code will occur if the Engine ECM does
not receive an expected multiplexed signal.
– FC 285 (ECM timed out due not receiving expected
multiplexed PGN/parameter)
– FC 286 (The ECM expected info from a multiplexed
device but only received a portion of the necessary
information OR received invalid info)

32 One World – One Mission


J1939 Data Link watch-out for Core 1
All datalink communication to the engine must
stop at keyoff as indicated in AEB 15.43.

J1939 traffic on the datalink after keyswitch is


off will slow down the write process into
memory.
– This may lead to corrupted data in the ECM memory.
– Possible nuisance fault codes may show up after the
ECM is Keyed-On.

33 One World – One Mission


J1939 Training
Tools

34
J1939 Tools - PCAN USB
– PCAN USB
» USB connection, need one USB port
» Hardware shelf
» USA: (630) 245-1445 or (206) 780-9047
» Outside North America: +49 (0) 61 51 / 81 73 20
» Approximate costs: $200
» http://www.peak-system.com/index_gb.html

35 One World – One Mission


PCAN Explore Screen

36 One World – One Mission


PCAN Receive Screen A lot of useful information
on this screen.

37 One World – One Mission


PCAN – Variable data Information

SPN VALUE

38 One World – One Mission


PCAN – Provides Identification

Symbol ID, Source, Rate, etc.

39 One World – One Mission


PCAN Data Trace

Interprets the Hex data


for you
Shows a lot of information that you may
need .
40 One World – One Mission
41 Industrial Electronics Training One World – One Mission
42 One World – One Mission
J1939 Training
Numbering Systems

43
Numbering Systems

Decimal (Base10 or 0 – 9):


– The decimal numbering system has 10 digits

x10 x10

Example: number 137


X 1000 X 100 X 10 X1
1 X 100 = 100
3 X 10 = 30
0 1 3 7
7X1=7
100+30+7 = 137

44 One World – One Mission


Numbering Systems
Binary (Base 2 or 0 - 1):
– Binary has 2 digits.
– “0” represents the absence of an electrical charge, or ‘OFF’.
– “1” represents the presence of an electrical charge, or ‘ON’.
x2 x2 x2

x 128 x 64 x 32 x 16 x8 x4 x2 x1

1 0 0 0 1 0 0 1
1 X 128 = 128 128 + 8 + 1 = 137
1X8=8 Thus, the binary number 1000 1001
1X1=1 is equal to 137 decimal

45 One World – One Mission


Numbering Systems
Hexadecimal (Base16 or 0 - 16):
– The hexadecimal numbering system consists of 16 digits.
The digits, from smallest to largest are: 0, 1, 2, 3, 4, 5, 6,
7, 8, 9, A, B, C, D, E, F.
x16 x16
Example: number 137
x256 X 16 X1
8 X 16 = 128
9X1=9
0 8 9 128+9 = 137dec

46 One World – One Mission


Reference Information - J1939
Training
Message Interpretation

47
J1939 Data Message Interpretation
Looking at data messages on the CANalyzer.

FF is just a place holder


and not real information

0.1360 1 18FEDF00x Rx d8 7D E0 2E 7D FF FF FF FF

time CAN Rx # of
Serial
Input #
or
TX
Data
Bytes
8 bytes of data represented
29 bit header in hexadecimal

48 One World – One Mission


J1939 Header Breakdown
The Header defines the information that follows.

Header
Priority ID# (PGN) Address
1 8 F E D F 0 0

1 1000
PGN
Parameter Source Address
Group
Number

Priority = 110bin or 6dec


3 bits
Priority PGN = FEDF or 65247dec
Number
(Electronic Controller #3 ref Standard)
Source Address = 00h (Engine ECM - Master)

49 One World – One Mission


J1939 Data Message Interpretation
Below is an example of what you will
see if you look in the J1939-71 Standard

An actual J1939 Message using CANalyzer


0.1000 1 OCF00300x Rx d8 7D C3 C0 2D FF FF FF FF

The ECM will


attempt to send this
pgn61443 – Electronic Engine Controller #2 – EEC2 – message every 50ms
Transmission Repetition Rate: 50ms
Data Length: 8 Bytes
Data Page: 0
The data is made up of 8 bytes i.e.
PDU Format: 240 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
PDU Specific: 3 xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
Default Priority: 3
Parameter Group Number: 61443 (00F00316) 00F003 in Hex is 61443 decimal
Bit Start Position / Byte Length SPN Description SPN
1.1 2 bits Accelerator Pedal Low Idle Switch 558
1.3 2 bits Accelerator Pedal Kickdown Switch 559
1.5 2 bits Road Speed Limit 1437
2 1 byte Accelerator Pedal Position 91
3 1 byte Percent Load at Current Speed 92
4 1 byte Remote Accelerator 974

50 One World – One Mission


J1939 Data Message Interpretation
pgn61443 – Electronic Engine Controller #2 – EEC2 –
Transmission Repetition Rate: 50ms
Data Length: 8 Bytes
Data Page: 0
PDU Format: 240
PDU Specific: 3
Default Priority: 3
Parameter Group Number: 61443 (00F00316)

Bit Start Position / Byte Length SPN Description SPN


1.1 2 bits Accelerator Pedal Low Idle Switch 558
1.3 References Bit 2 bits Accelerator Pedal Kickdown Switch 559
1.5 2 bits Road Speed Limit 1437
Field 1.5 i.e.
2 1 byte Accelerator Pedal Position 91
3 Byte 1, Bit 5 1 byte Percent Load at Current Speed 92
4 1 byte Remote Accelerator 974
References
Byte 2
Tells you how long that References the SPN which gives you
message is; i.e. the further information on how to interpret
Accelerator Pedal Position the message. Let’s look at SPN 91.
is made up of 1 Byte
(XXXX XXXX)

51 One World – One Mission


J1939 Data Message Interpretation
spn91 – Accelerator Pedal Position – The ratio of actual accelerator pedal position to
maximum pedal position. Although it is used as an input to determine transmission and ASR
algorithms about driver’s actions.

Data Length: 1 Bytes 1 Byte in length


Resolution: 0.4% / bit, 0 offset i.e. xxxx xxxx
Data Range: 0 to 100%
Type: Measured How to convert the Byte into
Suspect Parameter Number: 91 useful information. See Below

Parameter Group Number: [61443] PGN No from previous slide

An actual J1939 Message using CANalyzer

0.1000 1 OCF00300x Rx d8 7D C3 C0 2D FF FF FF FF

To convert information Example: C3


•Convert Hex to Decimal Convert to Dec: C3 Hex = 195 dec
•Multiply by Resolution Multiply by 0.4: 195 x 0.4 = 78
•Add Offset Add 0: 78 + 0 = 78
Result: 78% Throttle
52 One World – One Mission
TP.BAM Datalog
TIMESTAMP FRAME PRI DP PDUF PDUS SA DATA
2B5F28 9 6 0 FE F2 00 36 0C FF FF FF FF FF FF
2B5F32 9 3 0 F0 04 00 F9 7D 7D 79 30 FF FF FF
2B5F33 9 6 0 EC FF 00 20 0E 00 02 FF CA FE 00
2B5F3C 9 3 0 F0 03 00 FD 00 00 FF FF FF FF FF
2B5F45 9 6 0 FE F6 F1 FF FF FF FF FF E2 44 FF
2B5F46 9 3 0 F0 04 00 F9 7D 7D 79 30 FF FF FF
2B5F50 9 6 0 FE DF 00 7D E0 2E 7D FF FF FF FF
2B5F5A 9 3 0 F0 04 00 F9 7D 7D 79 30 FF FF FF
2B5F64 9 6 0 FE F0 00 FF FF FF 00 00 FF FF FF
2B5F68 9 6 0 EB FF 00 01 10 FF 00 4F 27 81 00
2B5F6A 9 6 0 FE A0 F1 50 45 28 45 88 44 D8 44
2B5F6E 9 3 0 F0 04 00 F9 7D 7D 79 30 FF FF The
Note: FF Data
2B5F6F 9 3 0 F0 03 00 FD 00 00 FF FF Packets
FF FF FF may not
2B5F82 9 3 0 F0 04 00 F9 7D 7D 79 30follow
FF FFimmediately
FF
2B5F8C 9 6 0 FE F2 00 39 0C FF FF FFafter the FF
FF FF Broadcast
2B5F97 9 3 0 F0 04 00 F9 7D 7D 79 30 FF FFmessage
FF
2B5FA0 9 3 0 F0 03 00 FD 00 00 FF FF FF FF FF
2B5FA4 9 6 0 EB FF 00 02 4F 67 81 00 0D A1 81
2B5FAA 9 3 0 F0 04 00 F9 7D 7D 79 30 FF FF FF
2B5FB4 9 6 0 FE EF 00 FF FF 00 71 FF FF 0A FF

One World – One Mission


Interpreting TP.BAM messages
EC 00 20 0E 00 02 FF CA FE 00

20 = 32 (dec) indicates that it is a BAM message

0E 00 = 00 0E when it is byte swapped


= 15 (dec) bytes of data transmitted

02 = 2 (dec) packets of data to follow

CA FE 00 = 00 FE CA when it is byte swapped


= pgn65226 – Active Trouble Codes

One World – One Mission


Interpreting TP.BAM messages
EB 00 01 10 FF 00 4F 27 81 00
EB 00 02 4F 67 81 00 0D A1 81
Indicates the Order the Data Interpret data as per pgn65226
Packets should be reassembled

10 FF 00 4F 27 81 00 4F 67 81 00 0D A1 81
10 = 0001 0000 = Red Lamp On
FF = Reserved
00 4F 27 81 = 0000 0000 0100 1111 0010 0111 1000 0001
= SPN 633, FMI 7, Conv Bit 1, Occ 1
= Fault Code 514
00 4F 67 81 = SPN 635, FMI 7, Conv Bit 1, Occ 1 (Fault Code 112)
00 0D A1 81 = SPN 109, FMI 1, Conv Bit 1, Occ 1 (Fault Code 233)

One World – One Mission


J1939 Tools - Canalyzer

– CANalyzer
» In North America contact: Vector CANtech Inc.
(248) 449-9290 Matt Palmer
» Outside America contact:
49-711-80670-505 Lother Felbinger
» Approximate Cost:
Software: $2,700
Hardware: $1,185
– http://www.vector-cantech.com/

56 One World – One Mission


Canalyzer Data Trace

57
Canalyzer Message

58

S-ar putea să vă placă și