I have attached some examples of CAN 500 capture with decoding, it is not J1939 as I do not come across commercial vehicles, however the scoping and decoding is not much different.
(This was captured with x10 300Mhz probes, but ordinary leads will be just fine)
I think it is good example to see and compare the good and bad one.
First waveform is captured at the state of vehicle fault (no communication to instrument cluster was the DTC present in most other nodes)
It is VW car, between Gateway and instrument cluster is a 500Mhz CAN, no other node is connected to this bus.
Pico is backpinned to this bus.
You can see there is only one frame ID 727 which does not have acknowledgement bit at the end (ACK 1), which means the other CM did not confirm receiving the frame.
Second waveform is captured when all works well (It was intermittent problem), we can see the ID 727 and many other IDs in the decoding table. Notice the voltage range of the ID 727 and other IDs, you can visually see there are two voltage levels as each node has own characteristic, noise, voltage range etc. The frames have acknowledgement bit OK, as other node confirm receiving the frame ACK 0. Zero means acknowledgement OK.
The question was what CM, Gateway or Instrument cluster ID was OFF the bus when the car had problem?
Simple simulation by pulling out fuse for gateway (easier to reach) has proven all ID has disappeared except ID 727, hence it has to belong to Instrument cluster.
So, the advantage of using scope and decoding in this simple example is not to replacing instrument cluster where all the DTC were pointing but gateway which is intermittently faulty.
I hope it helps with scope setting and also brings some ideas for bus troubleshooting.
Thank you for helping us with the J1939 and I must admit that I need to educate myself in the J1939 as well.
In the meanwhile, I share some info that may inspire others as well.
Last edited by Rfmotors1
on Wed Dec 06, 2023 10:05 am, edited 1 time in total.