From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

Testing Communication of Single Node with Oscilloscope

Hello,

 

I'm very new to CAN bus technology I hope I have a simple question:

 

There is a communication fault between the ABS module and PCM of my vehicle.  I have tested the physical layer and everything appears to be fine (good continuity, no shorts wire to wire or to ground or power).  I would like to see if the ABS module is sending any messages to the network.

 

Can I disconnect all other modules from the network and terminate the twisted pair with a 120ohm resistor at the PCM end (disconnected from the actual PCM of course)  and then view the signal of CAN-H and CAN-L on the scope?

 

With the reading I've done so far I see that the node will not transmit if it's seeing a dominate state from another module.  I'm unsure if having no voltage from a second node would be seen as a dominant or recessive state, or perhaps some fault in which case nothing is transmitted?

 

As a follow up question, is there any change I could damage the ABS module transceiver by terminating with a resistor only?

 

Your time is much appreciated.

0 Kudos
Message 1 of 6
(8,761 Views)

It is hard to say for several reasons.  CAN has acknologment built into the hardware.  So If a device sends out a CAN message, it looks to see if any device on the network got the message.  If none did then generally the device will retransmit it over and over again until someone on the bus sends the ack.  Now CAN doesn't have to work this way, tranceivers support a single shot transmit that sends it out and then never looks for the ack.  I doubt any automotive component would do this because there is no guarantee the message got to the node needed.

 

So my point with this is if you put a scope on the line you should see traffic.  But if there is no devices other than the scope on the bus, the ack will never go out, so the device will keep retransmitting the same message.

 

If you have a CAN device, like one of NI's cheap ones, you can put that on the bus and by default it will send the ack when a message is seen.  Again this can be disabled do no ack is sent, and this will again cause the device to keep sending out the same message over and over.

 

Oh and no you can't damage a device by only having the termination resistor.  You could potentially damage it if you had too low of resistance on the bus.  Say if you only had 10 ohms then the current would be more than the tranceiver expects.  But even in this case I'm betting the driver circuit just won't drive more than some expected amount of current.

Message 2 of 6
(8,753 Views)

Thanks for the reply Hooovah,

 

By way of update.  I had the scope on the trucks CAN bus today.  This is a CAN bus from a 2004 F-150 which has the PCM, ABS and Instrument Cluster on the network.  The problem is that my PCM is not seeing information from the ABS and I wanted to know which end the failure was on.

 

This is the bus with tested from the OBDII port with all node connected.

tPCM, ABS, IC.jpg

 

 

I disconnected the instrument cluster and PCM and put 120ohm resistors on to terminate then tested the ABS node only.  Resulting waveform:

ABS only.jpg

 

I then disconnected the ABS and reconnected the PCM.  Here's the resulting waveform:

PCM only.jpg

 

 

I now know that the ABS is at least sending information to the network and the waveform looks clean to me.  I could see some noise when looking at the PCM only but don't know if this could be my problem.  The same waveform could be seen on some of the data pulses when the network was connected in the truck as usual. 

 

Based on other Diagnostics it looks like I have a faulty PCM module... 

 

Not sure if this is of interest to anyone, but Again I appreciate the help.

0 Kudos
Message 3 of 6
(8,746 Views)

I generally don't look at CAN through a scope, but the PCM waveform doesn't look that bad.  Remember that CAN is meant to be hardy, and fairly resiliant towards noise on the bus.  Additionally, ECUs do have to pass pretty stringent electrical and EMC testing... you shouldn't be able to damage the ECU without _really_ trying.  

 

I'd approach this with a CAN tool instead of a scope.  With the CAN tool in listen only mode:

 

1) Are there any CAN error frames on the bus?

2) If you know the ID of a frame the PCM transmits, does it appear on the bus?

 

 

0 Kudos
Message 4 of 6
(8,742 Views)

One other thing we haven't discussed is the fact that the error code saying "Communication Fault" may mean many things.  Sure the physical wire could be damaged, but the module maybe looking for a single CAN message to identify that the PCM is there and for some reason that isn't getting out.  The logic behind what determines a communication fault is likely locked up in some OEM source that none of us are going to have access to.

 

And as (I assume) Justin said the signal looks fine, and CAN is very robust which is why it is used.  Lots of error correction, and as I mentioned before, hardware retransmit.

0 Kudos
Message 5 of 6
(8,730 Views)

Oh noes.  My identity has been revealed.

0 Kudos
Message 6 of 6
(8,721 Views)