CAN bus extension

Aug 16, 2007 7 Replies

Hi there - I'm in early stages of a design that will use CAN as its backbone. However, I want to do something strange with it. Instead of having all the devices wired in a chain as you are supposed to with CAN - I'd like to put them in a T sort of configuration. Is there any way to make such a thing compliant with CAN? Maybe some sort of CAN bus buffer/extender sort of device?



Thanks!


-Michael



formatting link

Vladimir Vassilevsky DSP and Mixed Signal Design Consultant

formatting link

You could always do a bridge that buffers messages between two separate busses. You'd increase the latency for sure; whether that would cause problems depends on your application. Dig a bit -- this sort of thing may already be covered in one of the existing CAN protocols.

If your "T" is electrically short then you could just terminate each end and use regular CAN. I would hazard a guess that if the branches are no more than 1/20 of the wavelength of a bit on your wire you'd have no worries about problems caused by reflections.

Tim Wescott Control systems and communications consulting http://www.wescottdesign.com Need to learn how to apply control theory in your embedded system? "Applied Control Theory for Embedded Systems" by Tim Wescott Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html

I'm looking for a board level solution - those repeaters are much too large for this application.

-Michael

Un bel giorno Michael digitò:

Most of the CAN cablings I've seen were made that way (two, three or even more branches) and worked fine without any repeater. Maybe if you are close to the maximum bus length (it depends on the bitrate) you could have some additional problems, otherwise I wouldn't worry.

emboliaschizoide.splinder.com

se

All of the devices on the bus will be within about 40cm of each other. As in - the maximum length between any two nodes will be about 40cm. Maybe I don't need to worry at all?

-Michael

You don't need to worry at all. As long as you keep your t-joints moderately clear of impedance discontinuities and remember to plug in at least one terminator somewhere on the bus, that is.

OTOH, CAN may not be the optimal choice of communication layer for this kind of job. CAN goes to considerable lengths to make sure it can handle long-distance, electrically noisy connections. For connections between electronically coherent nodes, other types of communication layers, like I2C or SPI, are generally better suited.

The CAN documentation contains an example of a start topology with three branches with a 180 ohm termination resistance at the end of each branch.

Paul

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required