Skip to content

Comment on Raspberry Pi Enters Microcontroller Game with $4 Picoparent

Comments

This is not a required item. It is suggested that the termination is 120ohms, but depends entirely on the length of the bus and number of modules. You can have short runs of can with no transceiver and no termination.

CAN uses a dominant/recessive transmission method, similar to I2C. The termination resistors are absolutely required, as they are what drive the bus back to the recessive state.

Perhaps you were thinking of RS-485, which actively drives both bus states and therefore can get away with unterminated buses at low bitrates / short runs.

No, I was not thinking RJ485 where termination is optional.

You are forgetting that CAN can work at short distances without being a differential bus at all.

I mention this where I wrote “no transceiver AND no termination”.

In that case, it's not really CAN, it's more like CAN-tranceiver-control-signals. That may work, but would realistically be limited to only two devices, at which point it probably makes more sense to just use a protocol that's meant for short point-to-point links, like U[S]ART or SPI.

I think a better way to describe it that it’s CAN all the way up until the PHY. It’s still CAN protocol, you still need CAN modules, and really, nothing looks different at all to them.

You just lose out on the differential pair... but even that isn’t required when you look at fault tolerance CAN in single wire mode, or single wire CAN PHY transceiver options, as to the original point about termination, I can’t remember if Single Wire CAN is terminated in a loop or pulled up or down, but I promise it’s not 120ohm termination like differential CAN is.

Imo, safer to say that CAN is a protocol that can take many physical forms, and one of them is direct A to B modules with no termination.

Yes. You could do all-point-to-point CAN by or-ing all of the CAN-TX logic-level outputs, perhaps in an inverted tree, and then fanning out the global OR result to all CAN-TX logic-level inputs. Or, at short distances, just use wired-or at logic levels.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.