Logic probe for Can Bus

Papabravo

Joined Feb 24, 2006
21,228
Seems to me a CAN transceiver with the Tx input tied high to output a recessive level would make an ideal bus monitor. The Rx pin could trigger a oneshot to provide an LED indicator. This would not be too helpful on a bus that was idle most of the time.
 

Thread Starter

Mullins

Joined Dec 31, 2021
179
Seems to me a CAN transceiver with the Tx input tied high to output a recessive level would make an ideal bus monitor. The Rx pin could trigger a oneshot to provide an LED indicator. This would not be too helpful on a bus that was idle most of the time.
So, your idea will be more easy than the one on the mentioned post?
 

Ian0

Joined Aug 7, 2020
9,846
Seems to me a CAN transceiver with the Tx input tied high to output a recessive level would make an ideal bus monitor. The Rx pin could trigger a oneshot to provide an LED indicator. This would not be too helpful on a bus that was idle most of the time.
That is exactly what I’d use (in fact I built it into a product). It depends what you mean by “idle most of the time”. The CAN System I have built send data once a second, and it is perfect for that.
It is useful because it will indicate if the transmitter is continuously retransmitting because it is not receiving acknowledge pulses.
It is also handy to have an LED directly controlled by RXD as it shows if the bus is jammed in the “dominant” state (although it might be misleading in a bus that was in almost constant use)
 

Thread Starter

Mullins

Joined Dec 31, 2021
179
@Ian0
So, do you advise me to build this test probe in mentioned post? If you maked any changes in the schematic can you please share with us?
 

Ian0

Joined Aug 7, 2020
9,846
Further to post #5, my RXD LED was gated with the output of the monostable, so that it indicated a fault if RXD was still dominant after the edge-triggered monostable had timed out.
 

Ian0

Joined Aug 7, 2020
9,846
IDS0011.png
This is a real CAN waveform, twisted pair cable about 2 feet long, terminated both ends, from a Microchip MCP2551 transceiver.
Anyone hoping for 0.5V to 4.5V levels is going to be disappointed.
(By the way, you don't need to remind me how hopeless my scope's real-time clock is - it gained over a year whilst the company was shut for Covid lockdown)
 

LowQCab

Joined Nov 6, 2012
4,078
The Circuit I provided is nothing more than a stack of "Window-Comparitors".
The only unique things about it are the Voltage-Divider-Stack, ( Diodes replacing Resistors ),
and a simple Pulse-Extending R-C Filter for each LED-Output,
which is supposed to make the super-short-pulses easier to see.

Any "simulation" would require using it on several different actual Cars,
( or other CAN-Buss applications ),
and under varying conditions,
to see if any small adjustments/improvements would improve i's usefulness.

It will NOT tell You anything about the Data being transferred,
only Signal-Strength and Balance,
and it will NOT indicate any problems related to the SWR ( Standing-Wave-Ratio ), of the Signal.

I's a simple "Go/No-Go" indicator of Signal-Strength,
that simply shows that the system "should-be", or definitely is not, working.
.
.
.
 

Thread Starter

Mullins

Joined Dec 31, 2021
179
I already know it's not telling me what data is going in to the CAN-Buss. Bat, it will tell me if the can is working, correct?
When you will be reasonable sure, I can build the probe. I have many kind of car where I can test It. Even on bmw car with DCAN.
 

Ian0

Joined Aug 7, 2020
9,846
It's very difficult to tell whether it is working correctly unless you receive and decode the messages.
The usual fault is a damaged transceiver at one node, and that tends to jam the bus in one state. Very easy to spot with a scope.
 

Papabravo

Joined Feb 24, 2006
21,228
I already know it's not telling me what data is going in to the CAN-Buss. Bat, it will tell me if the can is working, correct?
When you will be reasonable sure, I can build the probe. I have many kind of car where I can test It. Even on bmw car with DCAN.
No this is not necessarily the case. Consider the case of a network with one lonely node. It sets up a frame for transmission, it does not receive a dominant bit in the ACK slot and the lonely node will retry the frame forever without any actual work going on.

Then consider the case where one node tries to transmit at the wrong bitrate. Every other node will throw error frames until the faulty node goes bus-off. The network may not recover if the busoff node is the one managing the traffic and responsible for most of the produced messages.

Then consider the case where two producers try to use the same identifier.
 

Ian0

Joined Aug 7, 2020
9,846
No this is not necessarily the case. Consider the case of a network with one lonely node. It sets up a frame for transmission, it does not receive a dominant bit in the ACK slot and the lonely node will retry the frame forever without any actual work going on.
That is also the behaviour of two-node network where the MCU on the receiving node has crashed. (The CAN module in the processor generates the acknowledge pulse not the CAN transceiver.)
 
Top