CAN Bus - Auto detecting CAN Hi short to Lo

Ask any questions about using PicoScope Automotive software here.
Post Reply
Posts: 22
Joined: Tue Jul 25, 2017 11:52 am

CAN Bus - Auto detecting CAN Hi short to Lo

Post by ashtray1987 » Wed Jul 11, 2018 8:13 am

Hello gentleman,

I would like to share my experience but also ask for support regarding detecting CAN bus errors.

Currently I use a math channel (Ch A + B) to get CAN HI + Lo and produce a stable 5V line.

I would then put a mask around this math channel, roughly 1V tolerance. Then set an alarm to trigger when there is a mask fail.

This setup is able to detect, short to ground, short to positive and loose contact pins.

What I noticed however is that it cannot detect CAN Hi shorted to CAN Lo, as the math channel still outputs a stable 5V line.

Also what was interesting in the observations is that when I manually shorted CAN Hi, CAN Lo is also shorted, likewise the same for CAN Lo. I was expecting to see only one channel drop to ground and the CAN bus run on single wire mode.

Regarding the above, does anyone have any suggestions for a method to trace CAN HI short to CAN Lo using a trigger or math channel?

Appreciate any advice you have.

Thank you.

Posts: 149
Joined: Sat Mar 19, 2016 8:23 am
Location: Netherlands

Re: CAN Bus - Auto detecting CAN Hi short to Lo

Post by liviu2004 » Wed Jul 11, 2018 10:26 am

In your case, there is only one 5V regulator in the can transceiver. So if you short can hi to ground, it is logical that can lo goes to ground as well.

If you want to health check can, use can decoder and watch, I find the can math too complex to bother.

Posts: 22
Joined: Tue Jul 25, 2017 11:52 am

Re: CAN Bus - Auto detecting CAN Hi short to Lo

Post by ashtray1987 » Thu Jul 12, 2018 3:50 am

thank you for your comments.

I ask about a trigger or math channel for example if the complaint only occurs whilst driving or on rough roads, the math channel and mask is able to capture the event without any input from the technician. Meaning that only 1 person is required, wait for the beep and the error is found.

What I'm hoping for is a method that works for CAN short to each other.

Thanks again

Steve Smith
Pico Staff Member
Pico Staff Member
Posts: 646
Joined: Sun Aug 25, 2013 7:22 am

Re: CAN Bus - Auto detecting CAN Hi short to Lo

Post by Steve Smith » Mon Aug 13, 2018 12:51 pm

Hello and thank you for the posts.

This is certainly a challenge to detect CAN Hi and Lo shorted together (hands free)

With VAG Convenience CAN it’s not so bad as CAN Hi shorted to CAN Lo results in normal communication but in single wire mode. (Remember there are no termination resisters within the VAG Convenience CAN Bus)
However given the different voltage thresholds with VAG Convenience CAN, the math channel A+B still works in conjunction with a Mask and Alarm if CAN Hi is shorted to CAN Lo
VAG Convenience CAN Bus voltages
The image below highlights the behaviour of the VAG Convenience CAN when momentarily shorted together using a MASK.
Convenience CAN Mask Fail
Notice how CAN Hi + CAN Lo (A+B) no longer adds up to a fixed 5 V but instead switches between zero and 8 V which intrudes into the Mask where we can use this event to trigger an Alarm.

There is an exceptional VW Self-Study Program (SSP269) on this exact subject and well worth a read

Moving onto more conventional CAN with termination resisters and Bus voltages from 2.5 to 3.5 V (CAN Hi) and 2.5 to 1.5 V (CAN Lo) this is more challenging.
In the example below I have connected to a BMW F31 PT-CAN (500 kbps) and deliberately shorted both CAN wires
Powertrain CAN shorted together
During the short circuit the Bus level voltage remains around 2.5 V approx. and this is the problem!
If we use math channel A+B (which will be a constant 5 V with normal CAN traffic) when CAN Hi shorts to CAN Lo we have 2.5 V on both CAN wires.
2.5 V + 2.5 V is 5 V, therefore any Mask drawn around our A+B math channel will not be intruded upon during the short circuit!
Having discussed this issue with colleagues we have the option to use a “Level Dropout Trigger”
Level Dropout
The trigger above will wait for the bus voltage to remain at 2.5 V for a maximum of 10 ms (after an “edge”) where it will then capture our signal. The 3% Hysteresis setting allows for a proportion of noise to be present at the trigger point in order to prevent pre or false triggering.
Level Dropout in action
The image above demonstrates how the scope captured the short between CAN Hi and CAN Lo once the bus level voltage remained at 2.5 V for >10 ms. Once the momentary short between these wires was removed, the CAN communication was restored.

This trigger is by no means the definitive answer as it is fundamentally floored where CAN traffic is low with prolonged idle states (2.5 V) on the Bus.

With the Powertrain CAN I found that 9 ms trigger settings would often false trigger due to normal idle bus periods (2.5 V) where there was the occasional interval > 9ms between messages

This will be a case of adapting the trigger to suit the bus under test and the utilisation rate of the bus. (How busy the bus maybe with CAN traffic)

A small video covering the set-up of the Level Dropout Trigger can be found here where we capture a short between CAN Hi and CAN Lo ... sp=sharing

In addition, to make this a “Hands Free” process the use of Alarm’s with a sound bite certainly brings home how the scope can grab your attention during such glitches. (Please watch to the end)

The psdata file example using this trigger is below
10 MS LEVEL DROP OUT CAN HI LO SC test 4 .psdata
PSdata file example
(1.32 MiB) Downloaded 91 times
A word to the wise, in the example above shorting CAN Hi to CAN Lo resulted in a bus level voltage of 2.5 V and this revealed how to set up the Level Dropout Trigger voltage threshold.

Not all CAN Networks have the same characteristics when shorted together and so it is worth momentarily shorting your suspected CAN lines together prior to road-testing in order to understand how your CAN Network will respond.

I hope this helps take care……Steve

Posts: 22
Joined: Tue Jul 25, 2017 11:52 am

Re: CAN Bus - Auto detecting CAN Hi short to Lo

Post by ashtray1987 » Tue Aug 21, 2018 9:40 am

Thank you very much Steve!

Exceptionally well written feedback, and perfectly answered my needs!


Post Reply