MAKING MODERN LIVING POSSIBLE
Technical Information
Steering
PVED-CL Communication Protocol, version 1.38
powersolutions.danfoss.com
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
|
|
Revision history |
Table of revisions |
|
|
|
|
|
|
|
Date |
Changed |
Rev |
|
|
|
|
|
July 2014 |
Danfoss layout. |
BA |
|
|
|
|
|
07 September, 2010 |
New standard backpage. |
AD |
|
|
|
|
|
10 February, 2010 |
Two new positions 11176,77 in the table - minor change. |
AC |
|
|
|
|
|
08 February, 2010 |
Position 11152 in the table - minor change. |
AB |
|
|
|
|
|
28 January, 2010 |
First edition. For PVED-CL software release version 1.38 |
AA |
|
|
|
|
2 |
11079551 • Rev BA • July 2014 |
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
|
Contents |
|
|
Introduction |
|
|
|
Purpose of the document ............................................................................................................................................................. |
5 |
|
Conventions ...................................................................................................................................................................................... |
5 |
|
Reference documents..................................................................................................................................................................... |
5 |
|
Definitions and abbreviations...................................................................................................................................................... |
5 |
Communications |
|
|
|
J1939/ISOBUS compliance............................................................................................................................................................ |
6 |
|
Network Management Protocol (NMP)............................................................................................................................... |
6 |
|
Identification................................................................................................................................................................................. |
6 |
|
Application layer......................................................................................................................................................................... |
6 |
|
Diagnostics.................................................................................................................................................................................... |
6 |
|
Proprietary messages ............................................................................................................................................................... |
7 |
|
11bit ID messages....................................................................................................................................................................... |
8 |
|
Proprietary protocol........................................................................................................................................................................ |
9 |
|
General............................................................................................................................................................................................ |
9 |
|
Communication with sensors and steering devices....................................................................................................... |
9 |
|
Configuration............................................................................................................................................................................... |
9 |
|
Secondary configuration device......................................................................................................................................... |
10 |
|
Status............................................................................................................................................................................................. |
10 |
|
Control.......................................................................................................................................................................................... |
10 |
|
Guidance...................................................................................................................................................................................... |
11 |
|
Diagnostics.................................................................................................................................................................................. |
13 |
Communication with sensors and steering devices |
|
|
|
Steering wheel absolute angle and speed........................................................................................................................... |
14 |
|
High priority steering device position.................................................................................................................................... |
14 |
|
Low priority steering device position..................................................................................................................................... |
14 |
|
Primary steered wheel angle/position................................................................................................................................... |
15 |
|
Redundant steered wheel angle/position............................................................................................................................ |
15 |
|
High priority external set-point controller............................................................................................................................ |
15 |
|
Vehicle speed.................................................................................................................................................................................. |
15 |
Configuration |
|
|
|
GetParameter ................................................................................................................................................................................. |
17 |
|
GetParameterResponse............................................................................................................................................................... |
17 |
|
SetParameter................................................................................................................................................................................... |
17 |
|
SetParameterResponse................................................................................................................................................................ |
18 |
|
RestoreDefaults.............................................................................................................................................................................. |
18 |
|
RestoreDefaultsResponse........................................................................................................................................................... |
19 |
|
CommitData..................................................................................................................................................................................... |
19 |
|
CommitDataResponse ................................................................................................................................................................ |
20 |
|
EnterCalibrationMode.................................................................................................................................................................. |
20 |
Status |
|
|
|
GetCurrentMode............................................................................................................................................................................ |
22 |
|
GetCurrentModeResponse......................................................................................................................................................... |
22 |
|
StartStopStatus............................................................................................................................................................................... |
22 |
|
Status.................................................................................................................................................................................................. |
23 |
|
StartStopOperationStatus........................................................................................................................................................... |
24 |
|
OperationStatus ............................................................................................................................................................................ |
25 |
|
TimeReport....................................................................................................................................................................................... |
26 |
Control |
|
|
|
SetSpoolPosition ........................................................................................................................................................................... |
27 |
|
SetFlow ............................................................................................................................................................................................. |
27 |
|
StartValveAutoCalibration.......................................................................................................................................................... |
28 |
|
ValveAutoCalibrationStatus....................................................................................................................................................... |
29 |
|
SelectProgram................................................................................................................................................................................. |
30 |
|
SelectProgramResponse............................................................................................................................................................. |
31 |
|
DisableSteeringDevice................................................................................................................................................................. |
31 |
11079551 • Rev BA • July 2014 |
3 |
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
|
|
Contents |
|
DisableSteeringDevice Response............................................................................................................................................. |
32 |
Guidance |
|
GuidanceSystemCommand....................................................................................................................................................... |
33 |
GuidanceMachineStatus............................................................................................................................................................. |
33 |
Diagnostics (proprietary) |
|
GetErrorEntry................................................................................................................................................................................... |
35 |
GetErrorEntryResponse ............................................................................................................................................................... |
35 |
ClearErrorEntries............................................................................................................................................................................. |
36 |
Commit Error Code........................................................................................................................................................................ |
37 |
4 |
11079551 • Rev BA • July 2014 |
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
|
|
This document has been created in order to present the communication protocol implemented in PVEDCL – a controller in the Electro-hydraulic Power Steering system. The document describes the CAN messages which enables the PVED-CL and relevant sensor to be connected to a J1939 network.
•As suggested in J1939 protocol documentation, the little-endian layout applies to all multi-byte numerical values, any exception requires an explicit note.
•Unless otherwise mentioned, all signed numerical values are encoded in two’s complement format. The CAN Data field byte numbers start from 1.
Refering to literature:
Reference |
Title/author |
|
|
[PVED] |
Controller for Electro-Hydraulic Steering PVED, User Manual, 11079550. |
|
|
[J1939] |
SAE J1939 Top Level |
|
|
[J1939-21] |
SAE J1939 Data Link Layer |
|
|
[J1939-71] |
SAE J1939 Application Layer |
|
|
[J1939-73] |
SAE J1939 Diagnostic Layer |
|
|
[J1939-81] |
SAE J1939 Network Management |
|
|
Definitions and abbreviations
Term |
Description |
|
|
DTC |
Diagnostic Trouble Code |
|
|
EHPS |
Electro-Hydraulic Power Steering |
|
|
MMI |
Man-Machine Interface |
|
|
XID |
Extended Message Identifier |
|
|
PVED-CL |
Proportional Valve Digital – Closed Loop – here the valve controller |
|
|
SPN |
Suspect Parameter Number |
|
|
11079551 • Rev BA • July 2014 |
5 |
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
|
|
To make PVED-CL able to work in CAN J1939 networks, the following parts of NMP have been implemented:
•Address Claimed
•Request for Address Claimed response
PVED-CL claims it address on power-on, after any won address arbitration and when requested to do so. However, please note that because of some platform and software architecture constraints, PVED-CL may claim its address even when it’s not needed. This is triggered by a RequestParameterGroup message – no matter which node has sent it and which one the message is addressed to – as illustrated on figure below.
There are 2 items which identify PVED-CL:
•Source Address – available in all 29bit ID messages sent by PVED-CL
•NAME – broadcast while claiming the address
Apart from this, the protocol supports the following proprietary identification:
•PVED Serial Number available as a read-only parameter at index 65001
•Sales Order Number at index 65002
•Software Version Number at index 65003
•Parameter Definition File at index 65004
SoftwareID (pgn65242) and ComponentID (pgn65259) defined by [J1939-71] are not available.
Some steering functionality requires the Wheel Based Vehicle Speed signal (spn84) available in pgn65265 – for more detailed information see Vehicle speed on page 15. The standardized guidance messages are available in pgn44288 (Guidance System Command) and pgn44032 (Guidance Machine Status). Further details see GuidanceSystemCommand on page 33.
PVED-CL supports Request PG message, but recognizes only requests for Address Claimed (pgn60928), DM1 (pgn65226), DM2 (pgn65227) and DM3 (pgn65228). All other requests, if addressed explicitly to PVED-CL, are answered with NACK (pgn59392).
Please note the following limitations:
•Only 4 ACK/NACK messages can be buffered for transmission. Other requests will be ignored
•If Request PG messages are sent too fast (with an interval less than 20 ms), some messages may be lost.
PVED-CL supports the following items defined by the J1939 diagnostic protocol [J1939-73]:
•DM1 – Active Diagnostic Trouble Codes
•DM2 – Previously Active Diagnostic Trouble Codes
•DM3 – Diagnostic Data Clear/Reset for Previously Active DTCs
A request for DM3 results in resetting the Occurrence Counts for Previously Active DTCs.
6 |
11079551 • Rev BA • July 2014 |
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
|
|
Communications
Reception of request parameter group message
|
START |
|
Request PG? |
|
Yes |
No |
Request to |
|
global destinatio |
|
or PVED-CL? |
|
Yes |
Request for
Address Claimed?
|
|
|
|
No |
|
No |
Process the request
Timer marked |
|
Timer marked |
No |
as active? |
|
as active? |
|
Yes |
Yes |
Yes |
Reset timer`s value |
|
|||
Yes |
|
||
Timer’s value |
|
Timer`s value |
Mark timer active |
|
|
||
exceeds limit? |
|
exceeds limit? |
|
Yes |
|
Yes |
|
|
|
No |
|
|
|
|
|
|
|
Signal that Address |
|
|
|
Claimed message |
|
|
|
has to be sent out |
|
No |
|
Mark timer inactive |
|
|
|
|
STOP
Due to software architectural limitations, the following deviations apply:
•If DM1 message (expected to be sent every 1s) is a long message and a long upon-the-request DM1/DM2 is being sent out, the transmission of the cyclic message will be skipped
•If DM2 is a long message – more than one CAN message is needed – it will always be transmitted to the global destination (preceded with the Broadcast Announce Message)
Proprietary error codes are available for deep diagnostics. Further details can be found in Diagnostics (proprietary) on page 35.
Both proprietary A and B messages are in use. PDU1 proprietary messages (pgn61184) are used for configuration and control commands as well as GetCurrentMode and GetCurrentModeResponse messages, whereas PDU2 format is used for broadcast status messages.
PVED-CL uses a separate CAN buffer for receiving data from each node it can communicate with. This means there’s no dependency between messages with pgn61184 sent from different nodes.
As three different status messages can be broadcast, three proprietary PDU2 parameter group numbers are needed.
These numbers are as follows:
•(65280 + offset_base)
•(65280 + offset_base + 1)
•(65280 + offset_base + 2)
11079551 • Rev BA • July 2014 |
7 |
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
|
|
Communications
where the offset_base is any value within the range [0…253] and can be selected with the configuration tool. It’s OEM’s responsibility to make sure that offset_base is not programmed to a value that results in pgns other nodes may use for different purposes.
Due to a relatively high number of exchanged messages, it’s recommended to implement a separate CAN bus for the EHPS system only.
Most of the communication between PVED-CL and sensors/steering devices is performed with 11bit ID messages. This makes the sensors simpler and allows them to be used in networks with other protocols.
8 |
11079551 • Rev BA • July 2014 |
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
|
|
Communications
Because J1939 documents do not define a standard communication protocol for systems like EHPS, a proprietary one has been defined on top of the existing common mechanisms described in previous section. The proprietary protocol covers issues related to the communication with sensors, configuration, status information, etc. Detailed information is available in the following sections.
The following general rules apply:
•the time delay between messages marked as “when needed” shall not be less than 100 ms
•PVED-CL shall respond within 200 ms, with exception for CommitDataResponse – 5000 ms
•a response timeout shall be 500 ms (does not apply to CommitDataResponse message)
•a not allowed command is ignored what results in no response sent back. Timeout policy shall apply
•as a proprietary protocol is in use, default message priority shall be set to 6
PVED-CL’s can receive messages from selected nodes only. The source addresses of the vehicle speed sensor, the MMI controller, the high priority external set-point controller as well as the configuration tool and PVED-CL itself are configurable.
The default factory programmed values
Node |
Default Source Address |
|
|
PVED-CL |
19 |
|
|
High priority external set-point controller |
28 |
|
|
Vehicle speed sensor |
251 |
|
|
MMI controller |
252 |
|
|
Configuration/diagnostic tool |
253 |
|
|
In general, most of this type communication is performed with 11bit ID messages. More details about message formats can be found in chapter Communication with sensors and steering devices on page 9.
A sensor is expected to periodically broadcast the data. A lack of data from the mapped sensor (with exception for high priority set-point controller) causes PVED-CL to fail silent or enter the reduced mode, depending on the configuration data. The timeouts are as follows:
The timeouts
Sensor or Steering Device: |
Timeout [ms] |
|
|
Steering wheel sensor |
100 |
|
|
High priority steering device |
100 |
|
|
Low priority steering device |
100 |
|
|
Primary steered wheel angle/position sensor |
60 |
|
|
Redundant steered wheel angle/position sensor |
60 |
|
|
Vehicle speed sensor |
160 |
|
|
PVED-CL’s configuration memory contain parameters which identify the system components and control the device’s behaviour. These parameters can be set up with a configuration tool.
The following operations are available:
11079551 • Rev BA • July 2014 |
9 |
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
|
|
Communications
•retrieving a parameter value
•setting a parameter value
•committing data to non-volatile memory
•entering the calibration mode
•restoring factory defaults
Beside the configuration tool, the high priority external set-point controller has an access to the parameter data, too. However, this device’s rights are limited to only reading the configuration settings.
The information about control and sensor variables as well as PVED-CL’s current time and mode can be found in periodically broadcast status messages. For further details see chapter Status on page 22.
Control messages have been implemented to make the operator able to enable/disable steering devices dynamically. This is especially useful when e.g. a joystick is mounted on the armrest and can be unintentionally activated while getting on/off the machine. Disabling a steering device prevents the controller from using the device set-points for steering. Default power-on state can be configured with proper parameters stored in non-volatile memory.
The figure below shows the steering device disabling/enabling procedure. State transitions are receptions of disable steering device commands and/or message timeouts which are set to 200 ms. For further details see Control on page 27.
The numbers in octagons show where a response is sent back (DisableSteeringDeviceResponse message):
1.Response data: enabling armed
2.Response data: device enabled
3.Response data: device disabling armed
4.Response data: device disabled
The current state of the device will be reported back if a command does not follow what’s on the figure. Note that there are independent state machines implemented for each steering device which can be disabled.
10 |
11079551 • Rev BA • July 2014 |
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
||||
|
|
|
|
|
|
Communications |
|
|
|
|
|
|
Device enable/disable state transitions |
|
|
||
|
|
|
Device |
|
|
|
|
|
disabled |
|
|
|
|
|
4 |
|
|
|
|
Command data: |
4 |
Command data: |
|
|
|
disable device |
arm enabling |
|
|
(Command data !- |
|
|
enable device) |
1 |
|
or |
|
|
(enabling timeout) |
|
Disabling |
|
Enabling |
armed |
|
armed |
|
(Command data !- |
|
3 |
disable device) |
|
or |
|
|
|
(disabling timeout) |
|
Command data: |
2 |
Command data: |
arm disabling |
|
enable device |
2
Device enabled
The high priority external set-point controller does not communicate with the PVED-CL the same way as other steering devices do. The set-point controller is expected to provide PVED-CL with ISOBUS curvature commands. This approach needs a special group of messages described in Guidance on page 33 and
the state machine shown on the figure Guidance Engage and Disengage State Machine below. Please note that the state machine is executed only when PVED-CL is in the operational mode, or reduced mode and the high priority external set-point controller is mapped.
11079551 • Rev BA • July 2014 |
11 |
Technical Information |
PVED-CL Communication Protocol, version 1.38 Technical Information |
|
|
Communications
Guidance engage and disengage state machine
1
A
2
not (A or B) |
|
|
(not A) and B |
A |
|
|
|
|
|
not (A or B) |
|
A |
|
(not A) and B |
(not A) and B |
3 |
6 |
|
not (A or B) |
|
(not A) and B and C |
|
not (A or B) |
|
E |
|
|
|
|
|
|
not (A or B) |
A |
|
E |
|
|
|
|
4 |
(not A) and B and C |
A |
5 |
|
|
|
(not A) and B and D |
and F
Please note that no active transaction means no state change happens.
State definitions
1 |
Initialization |
|
|
2 |
High priority set-point controller disabled (device disable functionality available in PVED-CL). If other |
|
steering device is selected, PVED-CL follows set-points from this device |
3 |
PVED-CL requests the high priority set-point controller for a message reset. It waits for at least one |
|
GuidanceSystemCommand message not intended for steering |
4 |
PVED-CL waits for curvature requests intended for steering |
|
|
5 |
PVED-CL follows curvature requests |
|
|
6 |
PVED-CL follows set-points from other steering device |
|
|
Conditions
A |
High priority set-point controller disabled (device disable functionality available in PVED-CL) |
|
|
B |
No other steering device selected or set-points (from other steering device) below threshold |
|
|
C |
New curvature request received, but not intended for steering |
|
|
D |
New curvature request received, intended for steering |
|
|
E |
Timeout – no new curvature request has been received for 200 ms |
|
|
F |
Steering wheel disengage ability check has been passed or is disabled |
|
|
12 |
11079551 • Rev BA • July 2014 |