ISO 15765-2 Window
This window is created by doing Window… New ISO Diagnostics (Ctrl-I).
For automotive ECUs, on-board diagnostic (OBD) access over the CAN bus is the main purpose for this feature. Several standards are involved:
- ISO 15765-2 defines how to split long messages into CAN packets.
- ISO 15754-4 defines specific requirements for tool/ECU interaction in OBD systems.
- ISO 15031-5/SAE J1979 defines low-numbered OBD services such as $01 for PID requests and $04 to clear DTCs.
- ISO 14230-3/Keyword Protocol 2000-3 defines services such as $22 to request manufacturer-specific PIDs.
- ISO 14229-1/Unified Diagnostic Services (UDS) is a newer version of KW2000-3.
- Worldwide Harmonized (WWH) diagnostics proposals supersede UDS (initially over CAN still).
All of these protocols send a string of bytes to the ECU in which the first byte or service ID (SID) indicates what the tool wants, and the ECU replies.
OpenECU Calibrator simply allows you to send any string of bytes over the ISO15765-2 protocol, so you can use it to send messages according to any of the above standards.
The transmit (tx) bytes are in hexadecimal. You can type in values by hand, copy and paste from another program, or use a previously saved message from the right-hand pane of this window (see below).
If ‘Func’ is selected then the functional request CAN ID is used for transmission; if ‘Phys’ is selected, then the physical request ID is used.
Optionally, you can define some notes (e.g. a name) for a message and click ‘Save’ to store it in the right-hand pane of the window.
Automotive ECUs typically revert to default diagnostic behaviour if they have received no requests for 5 seconds. If you tick “Send TP ping”, a Tester Present request will be sent every few seconds to prevent this timeout. “Show TP ping” controls whether that request and any response is shown in the “Protocol” log beneath.
Recent transmit and receive data are shown here. Transmitted messages from OpenECU Calibrator are shown in green, and received data from the ECU in blue. Errors are shown in red. You may copy and paste from the message logs.
Protocol shows the string of bytes that form a complete ISO 15765-2 message, which may actually be composed of many CAN packets.
Packets shows the actual CAN packets transmitted or received.
CAN message IDs
For OBD use, there are two ways of sending messages as defined in ISO 15765-4:
- Functional requests use one of two standard IDs (0x7DF or 0x18DB33F1) like a “hailing frequency” to send a request to all ECUs on the bus. Any ECU that has the requested data is intended to respond.
- Physical requests are made to a specific CAN ID assigned to an individual ECU on the bus. These are always used for manufacturer-specific data.
In both cases the ECU responds using its own specific physical response ID. ISO15765-4 defines a list of 11-bit and 29-bit identifiers for this purpose. If Any OBD Resp ID is selected, OpenECU Calibrator automatically receives data from any of those standard IDs. Otherwise it listens only on the specific physical response ID you specify.
Some non-powertrain ECUs may use ISO 15765-2 Extended or Mixed addressing modes, in which the first CAN data byte is a Target Address or Network Address Extension. Use the Use Extd TAs in such cases. Any OBD Resp ID cannot be used if extended addressing is in use, but the Any resp TA option can be used to accept any message from the correct physical response ID regardless of its target address.
Note: OpenECU Calibrator supports the reception of ISO 15765-2 messages from multiple bus nodes simultaneously, which you would expect to receive on a vehicle with more than one OBD ECU if you send a functional request for which more than one ECU has relevant data.
This area can be used to save request messages for re-use. Its contents are saved with the other settings for this window in the workspace file.
Use copies the data for the selected row to the transmit controls where the bytes can if necessary be edited before use.
The Tx button next to each message can be clicked directly to immediately send a saved message.
Clone makes a copy of the currently selected row. You can then edit the contents to make it different from the original.
The up/down/delete buttons operate on the selected row.
Del All button removes all saved messages.
You may sort the rows by clicking on the column headings.
The hardware channel used for the ISO 15765-2 data is specified here. It must be a CAN channel.
The same CAN channel may be shared by other ECU, ISO 15765-2 or J1939 windows.
See also Hardware Interface Window help.
Seed-key security access is supported. You may configure up to three different types of security (e.g. if one algorithm is required to enter an extended session, and another to enter a programming session).
The UDS/KP2000-3 SecurityAccess protocol is automatically run using your selected seed-key algorithm if the corresponding 1, 2 or 3 button is clicked.
If this window is closed, all of the settings and saved messages are lost. You can do this by clicking Delete All and Close.
To temporarily free up screen space without losing the settings for this window, use Minimise.
The window can be scaled or maximised to make it easier to read long messages. The divider between the left and right-hand panes can also be adjusted.