CAN bus serial decoding

The purpose of this test is to view and evaluate Controller Area Network (CAN) bus messages in their number, rather than their voltage, form.

How to perform the test

View connection guidance notes.

  1. Locate the Diagnostic Link Connector (DLC).
  2. Connect PicoScope Channel A to terminal 6 (CAN-H) and chassis earth.
  3. Connect PicoScope Channel B to terminal 14 (CAN-L) and chassis earth.
  4. Minimize the help page. You will see that PicoScope has displayed an example waveform and is preset to capture your waveform.
  5. PicoScope has also tabularized the Serial Decoding data for each message in the preset waveform. These are replaced with your data when you start your capture.
  6. Start the scope to see live data.
  7. Turn on the ignition and/or start the engine.
  8. With your live waveforms on screen stop the scope.
  9. Turn off the ignition.
  10. Use the Waveform Buffer, Zoom and Measurements tools to examine your waveform.
  11. Double-click on a row within the Serial Decoding table to zoom in to a message’s specific waveform in PicoScope.

Notes

If waveforms do not appear on the screen, the DLC may not provide direct access to a CAN bus. Use manufacturer data to identify appropriate access at other locations.

If the Serial Decoding function does not decode your CAN bus data, check its speed and enter the correct Baud Rate in the tool’s Settings (with these signals the baud rate = the number of bits per second).

Example waveform

Waveform notes

These known good waveforms have the following characteristics:

The CAN-L and CAN-H waveforms mirror each other about 2.5 V and have a 1 V peak to peak amplitude.

The CAN-L waveform switches from 2.5 V down to 1.5 V and the CAN-H waveform switches from 2.5 V up to 3.5 V.

CAN-L and CAN-H remain at 2.5 V in the periods between messages.

The low and high voltages are relatively uniform without significant noise or distortion.

A third channel, A – B, shows the voltage difference between CAN-H and CAN-L and represents the bus’s logical state.

Many messages are captured across the screen (Buffer). Serial Decoding assigns each a row in the data table.

Each message’s identifier (ID), payload (Data), and related properties are displayed across the table’s columns.

The message data in each row are coloured black. Where they occur, invalid or error message data are coloured red.

Waveform Library

Go to the drop-down menu bar at the lower left corner of the Waveform Library window and select CAN bus H or CAN bus L.

Further guidance

A CAN bus provides serial communication between control units. For example, a powertrain CAN bus allows an ABS control unit to broadcast a message containing wheel speed data simultaneously to the Engine Control Module (ECM), Transmission Control Module (TCM), Instrument Cluster (IC), and Supplementary Restraint System (SRS).

CAN messages are transmitted digitally as a series of low or high values within a fixed structure known as a frame. The smallest data unit within these binary encoded messages is a bit, logically representing either 0 or 1. A message identifier follows the start of the frame. The identifier assists message arbitration when two or more control units try to broadcast a message at the same time; the lower the identifier’s value, the higher the message’s priority. Various values, including the data payload, and a checksum follow the identifier.

When a control unit receives a message, it calculates a checksum from the data payload and compares it to the value broadcast within the message. If the two are equal, the message is valid. The receiving control unit confirms this by transmitting an acknowledgement during the penultimate bit of the message broadcast. Therefore, the broadcaster will know if a control unit has received an invalid message.

CAN buses are either low or high speed; low speed buses communicate at a fixed rate up to 125 kbit/s, whereas high speed buses communicate at a fixed rate up to 1 Mbit/s. A variant, CAN FD, communicates at variable rates up to 12 Mbit/s. The application determines the bus speed. For example, safety critical powertrain CAN buses require real time communication and are always high speed, typically operating at a rate of 500 kbit/s.

CAN gateways connect buses of different speeds or types. For example, an IC might act as an interface between the powertrain and convenience CAN buses to provide, amongst other things, automatic door locking functionality; e.g. a vehicle speed message from the ABS control unit on the higher speed bus can be transmitted to the convenience control unit on the lower speed bus via the IC. The convenience control module would then know to lock the doors once a certain speed has been reached.

Gateways can also control diagnostic access. When present, diagnostic testers must establish communication with the gateway via the DLC. The gateway then passes diagnostic messages between the tester and the other control units. The tester does not have direct access to the other CAN buses or their messages. Furthermore, it will not be possible to use the DLC as an access point to test CAN bus integrity. Alternative test locations must be identified.

The voltage difference between the CAN-L and CAN-H lines represents the bus’s logical state. Therefore, the lines are referenced to each other rather than to an external potential, such as the chassis ground. This differential arrangement improves noise rejection as interference affects the lines equally and their voltage difference is maintained. Typically, the lines are configured as twisted pairs to reduce interference effects.

On some CAN buses, where the attached control units share a common reference potential (e.g. the chassis ground), the CAN controllers can switch to single line operation to provide fault tolerance in the event of an open circuit on either the CAN-L or CAN-H lines.

High speed CAN buses use terminating resistors to remove transmission reflections within the bus; without the resistors, transmissions can bounce back from the end points and distort the messages. Typically, a 120 ohm resistor is used to connect the CAN-L and CAN-H lines within the two control units at each end of the bus. In this parallel configuration, the total resistance between the CAN-L and CAN-H lines is around 60 ohms. Therefore, measurement of this resistance will indicate the bus’s integrity. Resistance measurements must not be performed on buses without termination resistors, unless all the attached control units have been previously disconnected.

CAN bus faults can cause many symptoms. Typically, they are characterized by a partial or total loss of vehicle or system functionality or a visual or audible warning to the vehicle operator.

CAN buses can be prone to circuit faults, such as:

  • Shorts of either the CAN-L or CAN-H lines to B-, B+, or each other;
  • Open circuits within the CAN-L and CAN-H lines, termination resistors, or connections;
  • Interference from untwisted CAN lines or a degradation in their shielding, as might arise from previous repairs, the use of puncture probes, abrasion, or general wear and tear; and
  • Interference from other electrically noisy components.

Similarly, the connected control units can be susceptible to faults with their:

  • Power supply or ground circuits;
  • CAN controllers and transceivers; or
  • Software, as might arise from memory corruption, incorrect programming or coding errors.

GT874-EN

Disclaimer
This help topic is subject to changes without notification. The information within is carefully checked and considered to be correct. This information is an example of our investigations and findings and is not a definitive procedure. Pico Technology accepts no responsibility for inaccuracies. Each vehicle may be different and require unique test settings.

Suitable accessories

  • CAN Test Box

    £269.00

  • Shrouded to Unshrouded Adaptor

    £2.75

Help us improve our tests

We know that our PicoScope users are clever and creative and we’d love to receive your ideas for improvement on this test. Click the Add comment button to leave your feedback.

Add comment

Your email address will not be published. Required fields are marked *

Guided test: CAN bus serial decoding