1
\$\begingroup\$

I'm currently working on a project of analyzing the latency of a CAN bus network with transceivers and without transceivers. The latency parameter here will be analyzed with the effect of bus line length variations (2 m, 5 m, 8 m, 10 m, and so on). I'm trying to figure out the maximum bus length that a "non-transceiver" CAN bus network can work with.

The "non-transceiver" CAN bus network requires a single wire bus line. I'm using this application note as my reference to build the "non-transceiver" network, the figure of a CAN bus without a transceiver will describe what I meant by "single wire". mikrocontroller.net/attachment/28831/siemens_AP2921.pdf

As you can see from the document, it is stated that the "non-transceiver" CAN bus can only work for only << 1 m bus length, but I've found someone has used this "non transceiver" network for a 4 m bus line, and it worked. So there's no scientific proof of the statement of "it is only usable for << 1 m". My goal here is to find the maximum bus length for the "non-transceiver" bus length.

(I've tried the "non-transceiver" network and it worked. The CAN nodes can communicate to each other.)

I'm having a problem with making the equivalent circuit (model) of single wire bus for a certain bus length (let's say 10 m for an example). What is the resistance and the inductance for the model? How do I make the calculations? Can somebody help me with this?

\$\endgroup\$
  • \$\begingroup\$ I really hope you mean "single pair" rather than "single wire". Do you? If not, the statement "equires a Single Wire bus line for its physical layer" is going to get you into a lot of trouble. And, of course, even a "non-transceiver" setup (one transmitting, one receiving) will need exactly the same wiring as a "regular" configuration. So, I'm having a bit of trouble taking this one seriously. Data transmission on CANBus assumes a controlled impedance in the physical layer, and you won't get that with a single wire. \$\endgroup\$ – WhatRoughBeast Sep 20 '18 at 13:08
  • \$\begingroup\$ I'm using this application note as my reference to build the "non-transceiver" network, the figure of CAN Bus without transceiver there will describe what I meant by "single wire". mikrocontroller.net/attachment/28831/siemens_AP2921.pdf thanks for responding \$\endgroup\$ – 123satria Sep 20 '18 at 13:29
  • \$\begingroup\$ The document describes it as usable only for lengths < 1m. I guess it has a reason \$\endgroup\$ – Alexander von Wernherr Sep 20 '18 at 14:01
  • \$\begingroup\$ it does described as it is usable for only < 1m bus length, but I've found that someone has used the "non-transceiver" CAN Bus for 4 m long and it worked. so there is no scientific proof to the statement of "usable for only << 1m" \$\endgroup\$ – 123satria Sep 20 '18 at 14:04
  • 1
    \$\begingroup\$ Similarly, there's no scientific proof that it works reliably at 4 meters. \$\endgroup\$ – Lundin Sep 20 '18 at 15:03
2
\$\begingroup\$

I don't think the actual cable latency will be the issue. It's more likely to be the speed of the rising edges you get as the cable length increases. The capacitance of the cable will be of the order of 100 pF/m for coax. I'm neglecting the resistance of the cable.

So, the RC time constant will be ~330 ns at 1 m and ~1300 ns at 4 m. Assuming that it takes maybe three RC time constants to reach the threshold voltage of the receiver, that's about 1 µs/m.

So, even at 1 m cable length, I think it'll struggle to work at 1 Mbit/s (as the time to settle is approaching the bit-time). At 10 kbit/s I can't see why it wouldn't work over longer cables.

-- Update --

I should also mention there are proper single-wire CAN physical layers available for use at low bit rates, for example the NXP NCV7356

\$\endgroup\$
0
\$\begingroup\$

The application note specifically states that the intended use is on a single printed circuit board. Unless you are suggesting the use of, let's say, a pc board "2 m, 5 m, 8 m, 10 m, and so on" long, this is simply not a valid use. If you have multiple boards located at these distances, you would be insane not to use the standard twisted pair.

If you really are hell-bent on trying to communicate over these distances via a single wire, the first thing you need to understand is that you cannot - at least, not as you seem to think. The reason is that the circuit shown is incomplete - it ignores the need for the ground to be connected to all of the units. This ground connection forms the second wire needed.

The geometry between the ground wire and the signal wire determines the effective impedance of the line, just as it does in the normal twisted pair. I suggest you Google "capacitance between two wires" and "inductance between two wires". The two can be combined to find the impedance of the pair. Just as with the two previous, Google "impedance between two wires".

Note that the actual impedance is only a factor for transitions to zero (which are, in CAN terms, transitions to logical 1), since any ringing on the other transitions will be clipped by the diodes.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.